Слайд 2План лекции
Структура модели процессора
Регистры
Ассемблер
АЛУ
Микропрограммы
Цикл команды
Примеры
Слайд 5Структура
Процессор включает:
регистры (микропроцессорная память)
УУ (устройство управления)
память микропрограмм
таблица адресов микропрограмм
АЛУ (арифметико-логическое
устройство)
Слайд 7Регистры
Счетчик команд
Регистр команд
Регистр адреса
Регистр данных
Регистры общего назначения:
AX, BX, CX, DX
Слайд 8Регистры
Все регистры 8-разрядные
Регистры делятся на группы:
управляющие регистры
счетчик команд и регистр
команд
регистры работы с оперативной памятью
регистр адреса и регистр данных
регистры общего
назначения
AX, BX, CX, DX
Слайд 9Регистры
Счетчик команд – регистр, в котором хранится адрес выполняемой команды
Счетчик
– потому что есть специальный сигнал – увеличения значения
регистра на
1
Слайд 10Регистры
Регистр команд – регистр, в котором хранится код операции выполняемой
команды
Слайд 11Регистры
Машинная команда состоит из двух частей – код операции и
операнды
Код операции говорит о том, что нужно сделать с операндами
Операндами
могут быть:
регистры
константы
адреса ячеек памяти (переменные)
Слайд 13Обозначения на Ассемблере
Загрузка: MOV (move)
Сложение: ADD (addition)
Сложение с переносом: ADC
Вычитание:
SUB (subtract)
Вычитание с переносом: SBB
Слайд 14Обозначения на Ассемблере
Сдвиг влево: SHL (shift left)
Сдвиг вправо: SHR (shift
right)
Переход: JMP (jump – прыжок)
Вычитание без изменения операндов:
CMP (compare –
сравнить)
используется в командах условного перехода
Слайд 15Примеры машинных команд, записанных на Ассемблере
MOV AX, BX AX := BX
ADD
AX, DX AX := AX + DX
ADC AX, BX AX := AX
+ BX + CF
SUB CX, BX CX := CX – BX
SBB DX, AX DX := DX – AX – CF
SHL AX сдвиг AX влево на 1 бит
SHR BX сдвиг BX вправо на 1 бит
Слайд 16Обозначения на Ассемблере
Константы обозначаются числами:
ADD AX, 5 AX := AX +
5
Содержимое ячейки памяти указывается в квадратных скобках:
SUB BX, [89] вычесть из
ВХ содержимое ячейки памяти по адресу 8916
MOV CX, [AX] загрузить в СХ содержимое ячейки памяти, адрес которой хранится в АХ
Слайд 17Регистры
Регистр адреса (ADDR) содержит адрес ячейки оперативной памяти,
с которой сейчас
будем работать
(читать или писать)
Слайд 18Регистры
Регистр данных (DATA):
в случае записи в ОЗУ содержит то,
что будем
записывать
в случае чтения из ОЗУ туда придут данные из ячейки
памяти
Слайд 19Регистры
Регистры общего назначения
(AX, BX, CX, DX) нужны для временного хранения
данных, с которыми сейчас работаем
Слайд 20Арифметико-логическое устройство
Слайд 21АЛУ
Все данные проходят в процессоре через арифметико-логическое устройство:
пересылка данных
арифметические операции
логические
операции
Слайд 25АЛУ
Результат выполненной операции влияет на флаги
Флаг – это бит в
специальном регистре процессора, отвечающего за результат последней выполненной в АЛУ
операции
Слайд 26Флаги
CF (Carry Flag) – флаг переноса
OF (Overflow Flag) – флаг
переполнения
ZF (Zero Flag) – флаг нуля
SF (Signum Flag) – флаг
знака
PF (Parity Flag) – флаг четности
Слайд 27Флаги
CF = 1, если получился бит переноса
OF = 1, если
есть переполнение
ZF = 1, если результат равен нулю
SF = 1,
если знаковый бит равен 1
PF = 1, если количество единиц четно
Слайд 28Флаги
Флаги учитываются при выполнении команд условных переходов:
JZ N – переход
на адрес N, если ZF = 1
JNZ N – переход
на адрес N, если ZF = 0
JS N – переход на адрес N, если SF = 1
JNS N – переход на адрес N, если SF = 0
Слайд 29Флаги
Пример:
Если AX = BX перейти на адрес N
CMP AX, BX AX
– BX, флаги
JZ N Проверка флага ZF
Слайд 31Микропрограммы
Все компоненты процессора работают
в соответствии с сигналами управления (Y1-Y30)
Набор
конкретных значений всех сигналов Y1-Y30 называется микрокомандой
Одна микрокоманда определяет поведение
процессора в одном такте
Слайд 32Микропрограммы
Машинная команда обычно реализуется несколькими микрокомандами
Для каждой машинной команды нужна
своя последовательность микрокоманд
Такая последовательность называется микропрограммой
Слайд 34Микропрограммы
Кроме того, нужна общая последовательность микрокоманд, отвечающая за постоянное считывание
машинных команд из памяти
Совокупность действий процессора, происходящих при чтении и
исполнении машинной команды, называется циклом команды
Слайд 35Цикл команды
Цикл команды включает:
Выборка команды
Декодирование команды
Выполнение команды
Запись результата
Слайд 36Цикл команды
1. Выборка команды – это чтение
из ОЗУ очередной машинной
команды
Как процессор узнает, откуда брать следующую команду?
Слайд 37Цикл команды
1. Выборка команды
Адрес команды находится в счетчике команд
Первый байт
команды (код операции) считывается в регистр команды
Слайд 38Цикл команды
2. Декодирование команды
– определение по коду операции адреса в
памяти микропрограмм,
где располагается соответствующая коду операции микропрограмма
Слайд 39Цикл команды
3. Выполнение команды – осуществление необходимых для данной машинной
команды действий:
настройка АЛУ на нужную операцию
подготовка входов А и В
выполнение
операции
Слайд 40Цикл команды
4. Запись результата – пересылка результата операции в нужный
регистр или ячейку памяти
Слайд 42Цикл команды
В цикле команды необходимо также предусмотреть формирование адреса следующей
команды
Как это делать?
Слайд 43Цикл команды
Обычно это делается путем увеличения счетчика команд на 1
В
том случае, если выполняются команды перехода, в счетчик команд
из памяти
заносится адрес перехода
Слайд 44Микропрограммы
Сигналы управления делятся на группы:
Y1-Y6 – управляющие регистры
и регистры работы
с ОЗУ
Y7-Y18 – АЛУ
Y19-Y30 – переход на следующую команду в
памяти микропрограмм
Слайд 45Микропрограммы
Y19-Y22 определяют условие перехода
Y23-Y30 кодируют адрес безусловного перехода
Слайд 47Пример 1
Написать микропрограмму реализации машинной команды
MOV AX, const
Слайд 48Пример 2
Написать микропрограмму реализации машинной команды
MOV BX, AX