Similar presentations:
2023 Набор команд
1. Набор команд микропроцессора
2. Набор команд Архитектуры CISC и RISC
• Две основные архитектуры набора команд - CISC и RISC• CISC – Complete Instruction Set Computer
Архитектура с полным набором команд
Микропроцессоры Intel
• RISC – Reduced Instruction Set Computer
Архитектура с сокращенным набором команд
Популярны во всем мире, т.к. на такой архитектуре работают рабочие
станции и серверы под управлением ОС Unix
Разработанf первоначально компанией IBM
2
3. Принципы RISC-архитектуры
• Каждая команда выполняется за один такт (долженбыть максимально коротким)
• Все команды имеют одинаковую длину и формат
(упрощение логики управления процессором)
• Обработка данных происходит только в регистрах
процессора, обращение к памяти только при
операциях чтения и записи
• Система команд должна обеспечивать поддержку языка
высокого уровня
50 инструкций в архитектурах 1 поколения
Около 150 инструкций в современных RISC-процессорах
3
4. Особенности СISC-архитектуры
• В систему команд добавлены «удобные» дляпрограммиста команды (маленькие подпрограммы)
Ускорение разработки программ
Команды CISC-процессора имеют разную длину и
время выполнения
Некоторые команды выполняются за несколько тактов
Производительность ниже
4
5.
CISC и RISC – принципы и технологии.
• «Архитектура каждого конкретного процессора
представляет собой результат множества компромиссов»
(Хамахер и др.)
• CISC-процессоры – персональные компьютеры
• RISC-процессоры – высокопроизводительные серверы и
рабочие станции
5
6. Длина и формат машинной команды
ДЛИНА И ФОРМАТМАШИННОЙ КОМАНДЫ
Команда (код операции, КОП) <операнд1>, <операнд2>
КОП -1 байт, Оп1 – 1-2 б, Оп2 – 1-2 б
Итого?
add операнд1,операнд2 —
команда сложения
mov ax, 3
с принципом действия:
оп1 = оп1 + оп2
mov bx, 2
add ax, bx
Команда перехода (КОП) <адрес>
Прямой переход – указан адрес (метка)
Косвенный переход – указан регистр, где хранится адрес
jmp Label N
6
jmp eax
7.
Команды условного переходаJxx <адрес (метка)> (хх заменяется требуемой буквой)
ПРИМЕРЫ:
JE <адрес> переход, если равны операнды в предыдущей команде
JNE <адрес> переход, если не равны
7
8.
Команды условного переходаJxx <адрес (метка)> (хх заменяется требуемой буквой)
ПРИМЕРЫ:
JE <адрес> переход, если равны операнды в предыдущей команде
JNE <адрес> переход, если не равны
Взлом изменением 1 байта!
A:= Введите код (пароль, …)
If A= ‘эталонный код’
then ДОСТУПНО;
else НЕТ ДОСТУПА
8
9.
Команды условного переходаJxx <адрес (метка)> (хх заменяется требуемой буквой)
ПРИМЕРЫ:
JE <адрес> переход, если равны операнды в предыдущей команде
JNE <адрес> переход, если не равны
Взлом изменением 1 байта!
A:= Введите код (пароль, …)
If A= ‘эталонный код’
then ДОСТУПНО;
else НЕТ ДОСТУПА
сmp A, ax
JE <метка ДА>
«Нет ДОСТУПА»
……
ДА: ------……{команды}
……
9