- •Глава 1. Основные понятия 9
- •Глава 8. Организация виртуальной памяти 227
- •Глава 9. Организация кэш-памяти 246
- •Глава1. Основные понятия
- •1.1. Система программно-аппаратных средств обработки информации
- •1.2.Традиционная классификация эвм
- •1.3. Структуры эвм
- •1.4. Многомашинные комплексы и многопроцессорные системы
- •1.5. Эволюция режимов работы эвм
- •1.5. Особенности построения и эксплуатации современных многопроцессорные и многомашинных комплексов.
- •Глава 2. Программная модель процессора
- •2.1. Общие понятия
- •2.2. Виды используемых структур памяти по принципам размещения и поиска информации
- •2.3. Организация оперативной памяти
- •2.3.1. Оперативная память и адресные пространства процессора
- •2.3.2. Адресация многобайтовых объектов в оперативной памяти
- •2.3.3. Структура и типы команд
- •2.4. Режимы адресации
- •2.5. Типы машинных арифметик
- •2.6. Управление потоком команд.
- •2.7. Контекст программы
- •2.8. Команды cisc- и risc-архитектуры
- •Глава 3. Программная модель мп Intel
- •3.1. Режимы работы
- •3.2. Программная модель 16-ти битового микропроцессора мп ia-16
- •3.2.1. Модель памяти
- •3.2.2. Порты ввода/вывода
- •2.2.3. Регистровый файл
- •3.2.4. Структура команд
- •3.3. Программная модель 32-битового микропроцессора
- •3.3.1. Основные особенности организации
- •3.3.2. Модель памяти
- •3.3.3. Регистровый файл
- •3.3.4. Структура команд и режимы адресации
- •3.3.5. Структура данных
- •Глава 4. Программные модели мп корпорации dec
- •4.1. Программная модель процессоров семейства pdp-11
- •4.2. Программная модель процессоров эвм vax-11 (см 1700)
- •Глава 5. Система прерывания
- •5.1.Функции системы прерывания и общие решения по реализации
- •5.2. Система прерывания в мп intel
- •5.2.1. Система прерывания в мп ia-16
- •5.2.2. Особенности системы прерывания в мп ia-32
- •5.2.3. Организация системы прерывания в pdp 11
- •Глава 6. Организация ввода-вывода
- •6.1. Система ввод/вывода
- •6.2.Теоретические основы операций ввода/вывода
- •6.3. Синхронизация передачи данных при вводе/выводе
- •6.3.1. Ввод/вывод с проверкой готовности
- •6.3.2. Ввод/вывод с использованием системы прерывания
- •6.3.3. Ввод/вывод с использованием устройств прямого доступа к памяти
- •Глава 7. Шинные интерфейсы
- •7.1. Общие положения
- •7.2. Асинхронный системный интерфейс "Общая шина"
- •7.3. Системные интерфейсы мп ia
- •7.4. Локальный интерфейс микропроцессора i80386
- •7.4.1. Особенности локального интерфейса i80386
- •7.4.2. Диаграммы работы локального интерфейса мп i80386
- •7.4.3. Модель функционирования локального интерфейса мп i80386. (интерфейс с конвейерной передачей данных)
- •7.4.4. Специальные циклы
- •7.5. Локальный интерфейс микропроцессора i486 (интерфейс с пакетной передачей данных)
- •7.5.1. Особенности локального интерфейса i486
- •7.5.2. Диаграммы работы локального интерфейса мп i486
- •7.5.3. Модель функционирования локального интерфейса мп i486
- •7.6. Локальный интерфейс мп Pentium (интерфейс с пакетной передачей данных и конвейеризацией передачи адреса)
- •7.7. Интерфейсы с расщепленными транзакциями
- •Глава 8. Организация виртуальной памяти
- •8.2. Основные задачи виртуальной памяти
- •8.3. Страничная организации виртуальной памяти
- •8.3.1. Страничная организация памяти
- •8.3.2. Виртуальная память на основе таблицы математических страниц
- •8.3.3. Упрощенная схема виртуальной памяти на основе таблицы физических страниц
- •8.3.4. Схема виртуальной памяти на основе таблицы физических страниц.
- •Глава 9. Организация кэш-памяти
- •9.1. Назначение и общая схема подключения кэш-памяти
- •9.2. Системы адресации кэш-памяти
- •9.3. Режимы работы кэш-памяти
- •9.4. Иерархическая структура кэш-памяти и средства управления кэш-памятью
- •9.5. Организация когерентности системы кэш-памяти в многопроцессорных системах с общей оперативной памятью.
- •Основные переходы. При запросах на чтение (r):
- •Чтение (sr2):e в s. При запросах на запись (w):
- •Глава 10. Организация системы памяти на жестких дисках
- •10.1.Дисковые массивы и уровни raid
- •125Стр. Из 292
2.6. Управление потоком команд.
Исключение из структуры команд адреса следующей команды предполагает исполнение (выборку) команд в порядке их расположения в программе. Такая выборка – в "естественном порядке" – производится при помощи счетчика команд, путем прибавления к содержимому счетчика команд количества байт в текущей команде.
Но в ряде случаев необходимо изменение естественного порядка выборки команд. Для этого в систему команд вводятся команды управления программой. Это команды переходов, реализующие соответствующие процедуры передачи управления. Для этих же целей в архитектуру ЭВМ вводят специальную систему, называемую системой прерывания.
К командам управления программой относятся команды:
безусловного перехода,
условного перехода,
управления циклами,
вызова (подпрограмм),
условного вызова (подпрограмм).
Команды безусловного перехода
Команды безусловного перехода содержат поле кода операции, обычно – JMP (JUMP), и адрес перехода:
JMP mem_A,
где mem_А – адрес перехода.
Команды условного перехода
Это команды ветвлений. При помощи этих команд организуется выбор альтернативных процедур. В командах условного перехода наряду с адресом перехода указывается условие, при выполнении которого осуществляется переход на новый адрес.
Адрес перехода может задаваться прямым адресом или относительным (относительно содержимого счетчика команд). Условие перехода задается или кодом команды, или указывается в поле адреса перехода.
В качестве кода операции для команд ветвления на языке ассемблера используются мнемоника Jcc (Jump condition code) или Bсс (Branch condition code), где сс (condition code) – код условия, например, JNS – передать управление, если знак результата (по коду условий в регистре состояния) неотрицателен.
Команды управления циклами
Это команды условного перехода, которые проверяют содержимое счетчика циклов и передают управление на начало цикла по условию, заданному кодом операции.
Для ЭВМ моделей PDP-11 – это команда SOB R1, M. По этой команде производится декремент счетчика циклов (R1) и переход на метку М, пока содержимое R1 отлично от нуля.
Для МП Intel - это команда LOOP М. По этой команде содержимое регистра ecx уменьшается на 1, и выполняется переход на метку М, пока ecx не равно нулю.
Команды вызова
Это команды условного или безусловного перехода на подпрограммы (вызов функции или процедуры).
В случае вызова функции в подпрограмму передаются параметры (аргументы функции) с указанием их числа.
В ассемблере МП Intel для кода операции команд вызова используется мнемоника CALL, в ассемблере ЭВМ PDP-11 – JSR. По командам вызова производится переход на подпрограмму с возможностью возврата в основную программу. Для возможности возврата при выполнении перехода сохраняется адрес возврата.
Возврат в основную программу делается по команде возврата в вызываемой программе. Это безадресные команды RET и RET n, где n – количество переданных аргументов (используется для восстановления стека).
Для реализации передачи управления или вызова могут использоваться два механизма перехода:
передачи управления,
переключения задач.
Механизм передачи управления
Механизм передачи управления заключается в сохранении адреса возврата (для большинства архитектур МП) в стеке и занесении в счетчик команд адреса перехода.
Термин "задача" в описаниях МПIA(Intel-архитектур) означает – «программа, находящаяся на стадии выполнения в режиме разделения времени".
Механизм переключения задач используется в МП Intel только в защищенном режиме. При переключении задач сохраняется содержимое всех программно-доступных регистров процессора в специальных сегментах памяти.
Вопросы для самопроверки:
Действие команд безусловного перехода.
Мнемоника команд безусловного перехода.
Действие команд условного перехода.
Мнемоника команд условного перехода.
Действие команд управления циклами.
Задание числа повторений циклов в командах управления циклами.
Действие команд вызова (подпрограмм).
Мнемоника команд вызова (подпрограмм).
Действие команд условного вызова (подпрограмм).
Мнемоника команд условного вызова (подпрограмм).