Структуры вычислительных систем
Рисунок 3.1 – Классическая структура вычислительной системы
Рисунок 3.2 – Магистральная структура вычислительной системы
Рисунок 3.3 – Упрощенная структура блока микропрограммного управления
ПРИНЦИПЫ ОРГАНИЗАЦИИ ОДНОКРИСТАЛЬНЫХ МИКРОПРОЦЕССОРОВ И МИКРОПРОЦЕССОРНЫХ СИСТЕМ
Рисунок 3.4 – Типовая структурная схема МПС
Рисунок 3.5 – Мультиплексирование шины адреса/данных
Рисунок 3.6 – Структура простого микропроцессора
Рисунок 3.7 – Структурная схема блока дешифрации команд и формирования машинных циклов
КЦ | b1 | N – 2 | ||||||||||
М1 | М2 | М3 | b2 | N – 1 | ||||||||
Т1 | Т2 | Т3 | Т4 | Т1 | Т2 | Т3 | Т1 | Т2 | Т3 | b3 | N | |
а) | б) | |||||||||||
Рисунок 3.8 – Циклы и такты МП (а) и пример размещения команды в памяти МПС(б)
Рисунок 3.9 – Временные диаграммы цикла чтения МП
Рисунок 3.10 – Аппаратная реализация пересылки байта вектора прерывания при выполнении операции рестра RST
N-1 0 | 0000 h |
RG 0 | |
RG 1 | 0001 h |
RG 2 | 0002 h |
. . . | . . . |
RG M-2 | FFFE h |
RG M-1 | FFFF h |
Рисунок 3.11 – Условное представление линейной организации памяти для 16-разрядной шины адреса
б) |
Рисунок 3.12 – Форматы команд простого микропроцессора
Таблица 3.1 – Система команд простого микропроцессора
Мнемокод | Код | Флажки | Число | Содержание | ||
байтов | тактов | циклов | ||||
Команды пересылки | ||||||
MOV r1, r2 | 01ПППИИИ | – | Пересылка из регистра r2 в регистр r1 | |||
MOV M, r | 01110ИИИ | – | Пересылка из регистра в память | |||
MOV r, M | 01ППП110 | – | Пересылка из памяти в регистр | |||
MVI r, b2 | 00ППП110 | – | Пересылка непосредственных данных в регистр | |||
Продолжение таблицы 3.1 | ||||||
Команды пересылки | ||||||
MVI M, b2 | – | Пересылка непосредственных данных в память | ||||
LXI rp,b3b2 | 00ПР0001 | – | Загрузка непосредственных данных в пару регистров | |||
LDA b3b2 | 3A | – | Прямая загрузка аккумулятора | |||
STA b3b2 | – | Прямая запись аккумулятора в память | ||||
LHLD b3b2 | 2A | – | Прямая загрузка пары регистров H | |||
SHLD b3b2 | – | Прямая загрузка пары регистров H в память | ||||
LDAX rp | 00ПР1010 | – | Косвенная загрузка аккумулятора посредством пары регистров B или D | |||
STAX rp | 00ПР0010 | – | Косвенная запись аккумулятора в память посредством пары регистров B или D | |||
XCHG | EB | – | Обмен между парами регистров H и D | |||
Команды арифметических и логических операций | ||||||
ADD r | 10000ИИИ | + | Сложение регистра и аккумулятора | |||
ADD M | + | Сложение памяти и аккумулятора | ||||
ADI b2 | C6 | + | Сложение непосредственных данных и аккумулятора | |||
ADC r | 10001ИИИ | + | Сложение регистра и аккумулятора с переносом | |||
Продолжение таблицы 3.1 | ||||||
Команды арифметических и логических операций | ||||||
ADC M | 8E | + | Сложение памяти и аккумулятора с переносом | |||
ACI b2 | CE | + | Сложение непосредственных данных и аккумулятора с переносом | |||
SUB r | 10010ИИИ | + | Вычитание регистра из аккумулятора | |||
SUB M | + | Вычитание памяти из аккумулятора | ||||
SUI b2 | D6 | + | Вычитание непосредственных данных из аккумулятора | |||
SBB r | 10011ИИИ | + | Вычитание регистра из аккумулятора с заемом | |||
SBB M | 9E | + | Вычитание памяти из аккумулятора с заемом | |||
SBI b2 | DE | + | Вычитание непосредственных данных из аккумулятора с заемом | |||
INR r | 00ППП100 | (+) | Инкремент регистра | |||
INR M | (+) | Инкремент памяти | ||||
DCR r | 00ППП101 | (+) | Декремент регистра | |||
DCR M | (+) | Декремент памяти | ||||
INX rp | 00ПР0011 | – | Инкремент пары регистров | |||
DCX rp | 00ПР1011 | – | Декремент пары регистров | |||
DAD rp | 00ПР1001 | C | Сложение регистровой пары H с регистровой парой | |||
Продолжение таблицы 3.1 | ||||||
Команды арифметических и логических операций | ||||||
DAA | + | Преобразование аккумулятора в двоично-десятичный код | ||||
ANA r | 10100ИИИ | + | Логическое И регистра и аккумулятора | |||
ANA M | A6 | + | Логическое И памяти и аккумулятора | |||
ANI b2 | E6 | + | Логическое И непосредственных данных и аккумулятора | |||
XRA r | 10101ИИИ | + | Исключающее ИЛИ регистра и аккумулятора | |||
XRA M | AE | + | Исключающее ИЛИ памяти и аккумулятора | |||
XRI b2 | EE | + | Исключающее ИЛИ непосредственных данных и аккумулятора | |||
ORA r | 10110ИИИ | + | Логическое ИЛИ регистра и аккумулятора | |||
ORA M | B6 | + | Логическое ИЛИ памяти и аккумулятора | |||
ORI b2 | F6 | + | Логическое ИЛИ непосредственных данных и аккумулятора | |||
CMP r | 10111ИИИ | + | Сравнение регистра и аккумулятора | |||
CMP M | BE | + | Сравнение памяти и аккумулятора | |||
Продолжение таблицы 3.1 | ||||||
Команды арифметических и логических операций | ||||||
CPI b2 | FE | + | Сравнение непосредственных данных и аккумулятора | |||
CMA | 2F | – | Инвертирование аккумулятора | |||
STC | C | Установка флажка переноса | ||||
CMC | 3F | C | Инвертирование флажка переноса | |||
RLC | C | Циклический сдвиг аккумулятора влево | ||||
RRC | 0F | C | Циклический сдвиг аккумулятора вправо | |||
RAL | C | Циклический сдвиг аккумулятора влево через разряд переноса | ||||
RAR | 1F | C | Циклический сдвиг аккумулятора вправо через разряд переноса | |||
Команды управления | ||||||
JMP b3b2 | C3 | – | Безусловный переход | |||
Jусл b3b2 | 11УУУ010 | – | Условный переход | |||
CALL b3b2 | CD | – | Безусловный вызов подпрограммы | |||
Cусл b3b2 | 11УУУ100 | – | 11/18 | 3/5 | Условный вызов подпрограммы | |
RET | C9 | – | Возврат | |||
Rусл | 11УУУ000 | – | 5/11 | 1/3 | Возврат при условии | |
RST n | 11nnn111 | – | Повторный запуск | |||
SPHL | F9 | – | Пересылка пары регистров H в SP | |||
Окончание таблицы 3.1 | ||||||
Специальные команды | ||||||
PUSH rp | 11РП0101 | – | Пересылка пары регистров в стек | |||
PUSH PSW | F5 | – | Пересылка аккумулятора и регистра флажков в стек | |||
POP rp | 11РП0001 | – | Загрузка регистровой пары из стека | |||
POP PSW | F1 | + | Загрузка аккумулятора и регистра флажков из стека | |||
XTHL | E3 | – | Обмен между регистровой парой H и стеком | |||
PCHL | E9 | – | Пересылка регистровой пары H в PC | |||
IN port | DB | – | Ввод | |||
OUT port | D3 | – | Вывод | |||
EI | FB | – | Разрешение прерывания | |||
DI | F3 | – | Запрещение прерывания | |||
HLT | – | Останов | ||||
NOP | – | Нет операции | ||||
RIM | – | Чтение маски прерывания | ||||
SIM | – | Запись маски прерывания |
Таблица 3.2 – Адреса регистров и регистровых пар микропроцессора
Регистры | Пары регистров | |||||||||
B | C | D | E | H | L | A | B | D | H | SP |
Таблица 3.3 – Коды условий для команд управления
УУУ | Мнемокод | Условия |
NZ | Неравенство нулю | |
Z | Равенство нулю | |
NC | Отсутствие переноса | |
C | Наличие переноса | |
PO | Нечетность | |
PE | Четность | |
P | Плюс | |
M | Минус |
S | Z | AC | P | C | |||
бит 7 | бит 0 |
Рисунок 3.13 – Формат регистра флажков
Рисунок 3.14 – Схемы, поясняющие выполнение сдвигов микропроцессором