Отличия процессора R1 от P1 » History » Version 4
krufter_multiclet, 07/11/2014 12:43 PM
1 | 1 | krufter_multiclet | h1. Отличия процессора R1 от P1 |
---|---|---|---|
2 | 1 | krufter_multiclet | |
3 | 2 | krufter_multiclet | Перечень основных отличий процессоров R1 от P1: |
4 | 2 | krufter_multiclet | |
5 | 2 | krufter_multiclet | 1)В процессоре R1 появился доступ к внешней памяти: |
6 | 2 | krufter_multiclet | можно управлять 2-мя банками PROM, одним банком I/O, |
7 | 2 | krufter_multiclet | 4-мя банками SRAM, двумя банками SDRAM. |
8 | 2 | krufter_multiclet | Теперь ПЗУ – любая внешняя FLASH, тогда как в первом процессоре |
9 | 2 | krufter_multiclet | внешнее FLASH ПЗУ - XCF04S, XCF08P, XCF16P, XCF32P. Но и в процессор Р1 |
10 | 2 | krufter_multiclet | можно, например, грузить прошивку по spi реализовав простой протокол. |
11 | 2 | krufter_multiclet | Внутренняя память данных и программ процессора R1 увеличилась до 256 Кбайт каждая. |
12 | 2 | krufter_multiclet | |
13 | 3 | krufter_multiclet | 2)Поддержка +реконфигурации+ клеток. Поддержка косвенной адресации. |
14 | 2 | krufter_multiclet | |
15 | 2 | krufter_multiclet | 2)Обновлены(добавлены новые) системные регистры. |
16 | 2 | krufter_multiclet | Появился блок работы с памятью DTC. |
17 | 2 | krufter_multiclet | |
18 | 2 | krufter_multiclet | 3)Работают прерывания от всех блоков периферии. |
19 | 2 | krufter_multiclet | |
20 | 2 | krufter_multiclet | 4)Плавающая запятая в R1 теперь поддерживает двойную точность. |
21 | 2 | krufter_multiclet | |
22 | 2 | krufter_multiclet | 5)Периферия: |
23 | 2 | krufter_multiclet | - PLL (входная частота 8 - 16 МГц) |
24 | 2 | krufter_multiclet | - АЦП (16 бит, 48 KSPS, 8 каналов) |
25 | 2 | krufter_multiclet | - ЦАП (12 бит, 125 KSPS, 2 канала) |
26 | 2 | krufter_multiclet | - USB 2.0 (девайс, DMA) |
27 | 2 | krufter_multiclet | - RTC с календарем |
28 | 2 | krufter_multiclet | - I2S ведущий |
29 | 2 | krufter_multiclet | |
30 | 1 | krufter_multiclet | 6)Отличия в системе команд: |
31 | 4 | krufter_multiclet | |
32 | 3 | krufter_multiclet | |*система команд*|*P1*|*R1*| |
33 | 3 | krufter_multiclet | |@N, @M|ARG1=@N; ARG2=@M|ARG1=@N; ARG2=@M| |
34 | 3 | krufter_multiclet | |@N, #R|ARG1=@N; ARG2=#GPR или #CR или [#IR]|ARG1=@N; ARG2=#GPR или #CR или #IR| |
35 | 3 | krufter_multiclet | |@N, @M + V|ARG1=@N; ARG2=V (@M=@0, не исп.)|ARG1=@N; ARG2=@M+V(@M=@0=0, сложение 32 разр. целочисл. беззнак.)| |
36 | 3 | krufter_multiclet | |@N, #R + V|ARG1=@N; ARG2=[#IR+V] (32 сложение разр. целочисл. беззнак.)|ARG1=@N; ARG2=#GPR+V или #CR+V или #IR+V(сложение 32 разр. целочисл. беззнак.)| |
37 | 3 | krufter_multiclet | |@N, [@M]|нет|ARG1=@N; ARG2=[@M]| |
38 | 3 | krufter_multiclet | |@N, [#R]|нет|ARG1=@N; ARG2=[#GPR] или [#CR] или [#IR]| |
39 | 3 | krufter_multiclet | |@N, [@M + V]|нет|ARG1=@N; ARG2=[@M+V](@M=@0=0, сложение 32 разр. целочисл. беззнак.)| |
40 | 3 | krufter_multiclet | |@N, [#R + V]|нет|ARG1=@N; ARG2=[#GPR+V] или [#CR+V] или [#IR+V](сложение 32 разр. целочисл. беззнак.)| |
41 | 3 | krufter_multiclet | |
42 | 3 | krufter_multiclet | |
43 | 3 | krufter_multiclet | @M - значение из коммутатора |
44 | 3 | krufter_multiclet | #R - регистр |
45 | 3 | krufter_multiclet | GPR - регистр общего назначения |
46 | 3 | krufter_multiclet | CR - системный регистр |
47 | 3 | krufter_multiclet | IR - индексный регистр |
48 | 3 | krufter_multiclet | V - константа |
49 | 3 | krufter_multiclet | [x] - значение берется из памяти по адресу заданному в скобках |
50 | 3 | krufter_multiclet | ARG1 - первый аргумент команды |
51 | 3 | krufter_multiclet | ARG2 - второй аргумент команды |