- •Понятие встроенной системы
- •Системы на кристалле. Реконфигурируемые системы
- •Проектирование систем на кристалле. Ip-компоненты
- •Типы вычислительных ядер. Эксплуатационная и проектная гибкость
- •4. Типы вычислительных ядер. Эксплуатационная и проектная гибкость (продолжение)
- •5. Принципы Фон Неймана. Достоинства и недостатки
- •Cisc и risc архитектуры вычислительных ядер
- •Классические вычислительные архитектуры. Стековая архитектура
- •Классические вычислительные архитектуры. Аккумуляторная архитектура
- •Классические вычислительные архитектуры. Gpr-архитектура
- •Принципы конвейерной обработки инструкций
- •Конвейерные конфликты и способы их минимизации
- •Конвейерные конфликты и способы их минимизации (продолжение)
- •Микроконтроллеры. Основные понятия. Структура pic16f84
- •Pic16f84. Структура памяти исполняемых инструкций
- •Pic16f84. Структура памяти данных. Способы адресации
- •Pic16f84. Счётчик инструкций. Способы управления
- •Pic16f84. Встроенная память eeprom. Структура и программное управление
- •16. Pic16f84. Встроенная память eeprom. Структура и программное управление (продолжение)
- •Pic16f84. Порты ввода-вывода. Структура порта a
- •Pic16f84. Порт а. Структура разряда ra4
- •Pic16f84. Порт а. Структура разрядов ra0-ra3
- •Pic16f84. Подключение простейших устройств ввода информации к портам
- •Pic16f84. Порты ввода-вывода. Структура порта b
- •Pic16f84. Источники прерываний и механизм обработки
- •Pic16f84. Проектирование обработчиков прерываний
- •23. Pic16f84. Проектирование обработчиков прерываний (продолжение)
- •Pic16f84. Внутренняя структура и функционирование таймера
- •Pic16f84. Проектирование обработчика прерываний от таймера
- •Pic16f84. Простейшие устройства вывода информации. Семисегментные индикаторы
- •Pic16f84. Подключение и использование сдвиговых регистров
- •Pic16f84. Структура и программирование матричных клавиатур
- •Жидкокристаллические дисплеи (lcd). Основные понятия. Внутренняя организация и способы подключения
- •Внутренняя организация и функционирование контроллеров lcd
- •Программное управление lcd со стороны микроконтроллеров
- •31. Программное управление lcd со стороны микроконтроллеров (продолжение)
- •31. Программное управление lcd со стороны микроконтроллеров (продолжение)
- •Интерфейсы встроенных систем. Основные понятия и классификация
- •Интерфейс i2c. Основные понятия. Внутренняя структура портов i2c
- •Интерфейс i2c. Протокол передачи данных. Взаимодействие i2c устройств. Арбитраж мультимастерного режима
Классические вычислительные архитектуры. Стековая архитектура
Классические ISA:
Стековая арх-ра (Stack ISA)
Аккумуляторная арх-ра (Accumulator ISA)
GPR-архра (General Purpose Registers, регистры общего назначения)
СТР-РА СТЕКОВОЙ АРХ-РЫ:
TOS – Top of Stack
Push a:
RAM[a] TOS
Pop f:
TOS RAM[f]
Пересылка данных между стеком и осн. памятью в стек. арх-ре осущ. путём 2 операций: push и pop.
MUL [TOS]*[TOS-1] TOS
Пример: f=a*x+b
1 push a
2 push x
3 mul
4 push b
5 add
6 pop f
Достоинства:
Простота формата и аппаратуры декодирования инструкций
Недостатки:
Все данные, к-рые подлежат обработке либо запис. в пам., проходят через один регистр – вершину стека TOS последовательная обработка
Запись алг-мов не совсем читабельная
Классические вычислительные архитектуры. Аккумуляторная архитектура
Классические ISA:
Стековая арх-ра (Stack ISA)
Аккумуляторная арх-ра (Accumulator ISA)
GPR-архра (General Purpose Registers, регистры общего назначения)
СТР-РА АККУМУЛЯТОРНОЙ АРХ-РЫ:
Инструкция загрузки аккумулятора:
load a a – адрес
RAM[a] Accum.
Инструкция, к-рая сохр. значение аккумулятора в пам.:
store f
[Accum.] RAM[f]
mul x
[Accum.]*RAM[x] Accum.
Пример: f=a*x+b
1 load a
2 mul x
3 add b
4 store f
Достоинства:
Код более-менее читабелен
Немногооперандность инструкций
Недостатки:
Всё проходит через аккумулятор.
Классические вычислительные архитектуры. Gpr-архитектура
Классические ISA:
Стековая арх-ра (Stack ISA)
Аккумуляторная арх-ра (Accumulator ISA)
GPR-архра (General Purpose Registers, регистры общего назначения)
С ТР-РА GPR-АРХ-РЫ:
Можно одновременно писать и читать
One-Port: нельзя –‘’ –
RegFile
ai Write
aj Read
ak Read
i м. б. = j и м. б. = k
Пример: f=a*x+b
Регистровый 3хпортовый файл
1 mul f,a,x
2 add f,f,b
Принципы конвейерной обработки инструкций
Пример: add r0, r1, r2
F: Code ROM, IR: add
D: 1) Decode add
2) read r1, r2
По операционному коду инструкции осущ. распознавание типа (с типом связан соответствующий уник. формат). r1, r2 заносятся в теневые регистры ALU, к-рые программно недоступны. Они предназначены для фиксации значений рез-та и арг-тов, к-рая нужна для корректного выполнения соотв. операций, иначе временное перемежевание арг-тов вызовет некорректность рез-та на выходе.
E:
1) У-во управления из регистра инструкций IR берёт значение операц. кода инструкции и использует его в качестве управляющего слова для указания ALU, какую операцию необходимо исполнить.
2) Рез-т выполнения фиксируется в теневом регистре ALU RS.
W:
1) Обращение к IR и чтение адреса результирующего регистра r0.
2) Запись RS в r0.
Как только 1я стадия конвейера закончена, можно исп. её для 2й инструкции.
Т.к. на стадии выборки исп. текущее значение Program Counter, то выборка из памяти кода Code ROM осущ. на осн. знач. PC. Как только инструкция выбрана, есть необходимость авт-ки инкрементировать PC. Как только PC++, запускается новая стадия F, но с обновлённым значением счётчика команд.