- •Глава 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. Программная модель процессора
2.1. Общие понятия
Программная модель процессора – это базовая совокупность систем и характеристик процессора, видимая программистам, работающим на нижних, "машинных" уровнях программирования, например на языке ассемблера.
Обычно к программной модели процессора относят:
виды используемых структур памяти по принципам размещения и поиска информации,
организацию оперативной памяти,
структуру и типы команд,
состав программно-доступных регистров,
режимы адресации,
структуру и типы данных,
наборы реализованных операций.
Кроме этого в программную модель включают ряд схемно-программных систем, видимых программистам, работающим на нижних уровнях программирования.
Это:
система прерывания,
организация ввода/вывода,
организация памяти.
Вопросы для самопроверки:
Понятие "программная модель процессора".
Компоненты "программной модели процессора".
2.2. Виды используемых структур памяти по принципам размещения и поиска информации
В традиционных ЭВМ используется иерархическая система памяти. Непосредственно в процессоре могут быть интегрированы регистры общего назначения (РОНы), первые ступени кэш-памяти, дополнительные устройства памяти, иногда – программно недоступные. Это устройства сохранения адресов возврата, аппаратные таблицы переадресации, буферы предсказаний ветвлений и т.д.
Основной памятью, на работу с которой ориентирован процессор, является оперативная память. Остальные системы памяти для процессора, как правило, являются внешними устройствами.
Особый статус имеют уровни кэш-памяти. Это элементы системы "оперативная память – процессор"
По принципам размещения и поиска информации устройства оперативной памяти разделяются на:
адресные,
ассоциативные,
стековые.
Адресная память
В адресных устройствах памяти массив элементов хранения информации разбивается на отдельные нумерованные последовательности. Номер конкретной последовательности является ее адресом, по которому происходит обращение для записи или чтения информации. Это модель плоской (двухкоординатной) памяти. Иногда используются наборы плоских устройств памяти для получения структурированных систем памяти.
Обычно для хранения информации в ЭВМ используются двоичные элементы (хранимые значения – биты), а минимально адресуемой последовательностью бит является байт.
Байт – это количество бит, необходимое для кодирования символов в используемых стандартных кодах. В настоящее время байт – это 8 бит.
Байты укрупняются в слова. Для РС и мини-ЭВМ слово – это два байта, для полноразрядныхЭВМ корпорации IBM – четыре байта. В качестве программных объектов могут использоваться биты, байты, слова и более крупные объекты, кратные двоичной степени байта.
Ассоциативная память
В ассоциативных системах памяти массив элементов хранения информации, как и в адресных системах, разбивается на отдельные последовательности, но нумерация последовательности необязательна.
Кроме функций записи и хранения, в таких системах памяти аппаратно реализуются функции ассоциативного поиска информации. В простейшем случае – это поиск информации по совпадению входного "эталона" –ключа с частью последовательности хранимой информации. Результаты ассоциативного поиска используются в операциях чтения или записи для поиска искомых строк данных.
Ассоциативный поиск реализуется сравнением входной информации со всеми хранимыми объектами (байтами, словами и т.д.).
Ассоциативный поиск может быть реализован чисто программно последовательным перебором ячеек в обычной адресной памяти с последовательным сравнением ключа с хранимой в памяти информацией.
В ассоциативной памяти поиск реализуется аппаратно путем параллельного сравнения слова-ключа со всеми записанными словами. Для этого каждый набор элементов хранения программных объектов дополняется схемами сравнения.
Части хранимой информации, по которым производится ассоциативный поиск, могут быть выделены в отдельный блок (блок тегов) или задаваться схемами маскирования в блоке хранения информации.
Стековая память
Стековая память –это список со стратегией работы "последний вошел – первый вышел". Стековая память обычно реализуется на основе обычной линейной адресной памяти с использованием специального регистра – указателя стека (SP). Для стековой памяти определены две операции: занесение единицы данных в стек и удаление единицы данных из стека. При занесении в стек объекта, например слова, содержимое указателя стека уменьшают на длину объекта и результат используют в качестве адреса записи. При удалении объекта из стека производят чтение из вершины стека, а затем производят корректировку указателя стека: увеличивают содержимоеSPна длину удаляемого объекта. Это вариант стека с распространением (при заполнении) в сторону уменьшения адресов. Возможен симметричный вариант стека с распространением в сторону увеличения адресов.
Стек может использоваться в аппаратных процедурах, например для сохранения контекста программ в процедурах передачи управления на подпрограммы (включая программы обработки прерываний) и возврата из подпрограмм.
Для программной работы со стеком используются или специальные команды, или режимы адресации.
Использование специальных команд для организации стека
Многие процессоры имеют наборы команд работы со стеком. Наиболее общими из них являются команды:
PUCHА – поместить в стек А, где А – непосредственный операнд, регистр или ячейка памяти;
POPA– восстановить (выбрать) данные из стека в А,где А – регистр или ячейка памяти.
Построение стека на основе обычной адресной памяти позволяет производить чтение и модификацию данных и по произвольному адресу внутри стека.
В МП Intel для обращения по произвольному адресу внутри стека используется регистр EBP – указатель базы (кадра) стека. Перед началом использования стека, для возможности доступа к данным стека по произвольным адресам, в этом регистре должно быть скопировано содержимое указателя стека (ESP – адрес вершины стека).
В МП Intel для работы со стеком предусмотрены: стековый сегмент (определяемый сегментным регистром ЕSS), регистр указателя вершины стека (ЕSP) и регистр базового адреса кадра стека (EBP).
Использование режимов адресации
В процессорах корпорации DECнет специальных команд (кодов операций) для работы со стеком. Для создания стека может использоваться любая область единой адресной памяти. Одна из областей памяти выделена для аппаратного стека. Аппаратный стек предназначен для использования аппаратурой или операционной системой. Аппаратура использует стек для сохранения данных в процедурах передачи управления подпрограммам, включая подпрограммы обработки прерываний. Программы пользователей также могут использовать множество стеков.
Для работы со стеками используются не специальные команды, а режимы адресации: автоинкрементный и автодекрементный. В качестве указателя стека может использоваться любой регистр общего назначения (РОН).
В современных ЭВМ используются все три типа памяти. Как правило, в качестве оперативной памяти используется адресная память.
Вопросы для самопроверки:
Адресная память.
Ассоциативный поиск информации в памяти.
Ассоциативная память.
Стековая память.
Минимальный формат адресуемых данных.
Размер формата данных – "слово".
Процедура поиска информации в ассоциативной памяти.
Понятие "стековая память".
Команды работы со стеком в МП IA.
Использование РОНа EBP при работе со стеком в МП IA.
Использования РОНа ESP при работе со стеком в МП IA.
Особенности работы со стеком в МП PDP-11.
Работа со стеком в МП PDP-11.