2. Основные элементы архитектуры микропроцессора. Отличительные особенности CISC- и RISC- архитектуры. Типовые форматы данных.

ОСНОВНЫЕ ЭЛЕМЕНТЫ АРХИТЕКТУРЫ МИКРОПРОЦЕССОРА

  • Типы и форматы данных (представление чисел в формате с плавающей., фиксированной. точкой.) Организация памяти

  • Состояния и назначения программно-доступных регистров

  • Способы адресации памяти и способы адресации ПУ

  • Состав системы команд; типы и форматы команд

  • Структура процессорного цикла

  • Организация системы прерываний

Принципы взаимодействия ядра процессора с периферийными устройствами

Практически все микропроцессоры содержат по меньшей мере следующие элементы: АЛУ, несколько регистров, счетчик команд, систему декодирования команд, секцию управления и синхронизации, буферы и защелки, внутренние шины цепей управления, несколько входов и выходов управления.

Кроме того кристалл микропроцессора может также содержать функциональные устройства: ПЗУ, ОЗУ, ряд портов ВВ, внутренние цепи ГТИ – часов, программируемый таймер, систему выбора приоритета прерываний, логическое управление прямым доступом к памяти(ПДП).

К основным относят группы CISC и RISC.

RISC – архитектура процессора, в которой быстродействие увеличивается за счёт упрощения команд, чтобы их декодирование было проще, а время выполнения - короче.

4 основных принципа RISC:

  1. Любая операция должна выполняться за один такт, вне зависимости от ее типа.

  2. Система команд должна содержать минимальное количество наиболее часто используемых простейших инструкций одинаковой длины.

  3. Операции обработки данных реализуются только в формате “регистр - регистр“

  4. Состав системы команд должен быть “ удобен “ для компиляции операторов языков высокого уровня

СISC – процессорная архитектура, основанная на усложнённом наборе команд, которая характеризуется следующим набором свойств:

  • нефиксированное значение длины команды;

  • арифметические действия кодируются в одной команде;

  • небольшое число регистров, каждый из которых выполняет строго определённую функцию.

ТИПОВЫЕ ФОРМАТЫ ДАННЫХ

  • целые числа с фиксированной точкой, точка зафиксирована после младшего разряда

  • Отрицательные числа

  • С плавающей точкой: 0,13e6. (Плавающая запятая - форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени.)

  • представление чисел с фиксированной точкой.

ОСНОВНЫЕ СПОСОБЫ АДРЕСАЦИИ:

  1. подразумеваемая адресация (Программа сама подразумевает что о один из операндов берется из аккумулятора: Push R0, POP R0)

  2. непосредственная адресация

  3. абсолютная адресация (указывается hex адрес операнда): JMP $3FF: jump к команде по адресу 3FFh

  4. относительная адресация

  5. прямая регистровая адресация

косвенная регистровая адресация (Когда указано на адрес первой команды, а затем путем прибавления числа к данному он условно указывает на др.)

ТИПОВЫЕ ФОРМАТЫ И СОСТАВ КОМАНД МК ОБЩЕГО НАЗНАЧЕНИЯ.

  1. Ввод/Вывод: IN R3, $16; OUT $16, R12

  2. Арифметические команды

  • Сложение: ADD R0,R1, суммирование с учетом переноса: ADC R0,R1 (R0R0+R1+C)

  • Вычитание: SUB R0,R1; вычитание с учетом переноса: SBC R0,R1 (R0 R0-R1-C)

  • Произведение: MUL – беззнаковое, MULS – знаковое

  • Деление: DIV – беззнаковое, IDIV – знаковое

  1. PUSH - загрузит в стек, POPвыгрузить из стека

  2. Сдвиги: циклический сдвиг: ROL, RON;

  3. Логические операции: AND, OR, IOR-исключающее ИЛИ, NAND, NOR; операция сравнения – CP

  4. Вызов: RCALL – относительный вызов, ICALL – косвенный вызов, CALL – абсолютный вызов

  5. Переходы: относительный безусловный переход – RJMP, косвенный переход – IJMP, абсолютный безусловный переход – JMP; условные переходы: Skip, Branch

  6. Служебные и спец команды: NOP, SLEEP

Вычитание осуществляется через сложение в дополнительном коде (например: R3+(-R5)). Основной смысл использования дополнительного кода - это одинаковость операций сложения и вычитания с положительными и отрицательными числами, что упрощает аппаратную реализацию и программирование ЭВМ. Более того, использование дополнительного кода также делает и сами операции сложения и вычитания одинаковыми.

Пример представления отрицательного числа в дополнительном коде:

Возьмем число 15:

1

1

1

1

0

0

0

1

  1. Инвертируем:

    0

    0

    0

    0

    1

    1

    1

    0

  2. Инкрементируем:

0

0

0

0

1

1

1

1

Получили число 15

Соседние файлы в папке 5.3.3 Микропроцессоры в электронно-вычислительных средствах