- •Глава 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
1.3. Структуры эвм
ЭВМ определяется как программно-управляемое устройство обработки данных в числовой форме. Кроме устройств обработки данных в числовой форме (ЦВМ) существуют устройства обработки информации и в аналоговой форме. Это сеточные интеграторы и машины непрерывного действия. В данном пособии рассматриваются только цифровые ЭВМ. Устройства обработки информации в числовой форме использовались человечеством с древних времен. Но если говорить только о программной обработке данных, то первой ЦВМ следует считать процессор аналитической машины английского математика Чарльза Бебиджа (1936 г.).
Механические устройства для цифровой обработки данных были хорошо известны и до Ч. Бебиджа, например арифмометр Блеза Паскаля (Blaise Pascal, 1623-1663).
Были хорошо известны и устройства программного управления, например программно-управляемый ткацкий станок Жозефа-Мари Жаккара (Joseph-Marie Jacquard, 1752-1834) (программировался рисунок на монохромной ткани).
Ч. Бебидж удачно соединил эти идеи.
Классическая концепция вычислительных машин фон Неймана
Это концепция первых вычислительных машин, начиная с проекта машины Ч. Бебиджа, вернее, машин принстонской архитектуры, основные архитектурные особенности которой были сформулированы Джоном фон Нейманом.
Это архитектура ЭВМ, поддерживающая следующие принципы:
двоичного кодирования,
программного управления,
однородности памяти,
адресуемой памяти.
Классический вариант этой машины (рис.1.1.) по концепции фон Неймана должен содержать следующие блоки:
оперативную память,
арифметико-логическое устройство,
устройство управления,
устройства ввода-вывода,
внешние запоминающие устройства.
Оперативная память
Оперативная память предназначена для хранения как команд программы, так и данных. По концепции фон Неймана принципиально важно, чтобы команды и данные в оперативной памяти были неразличимы. При этом, если код из оперативной памяти поступал на сумматор, то он интерпретировался как данные, а если на регистр команд, то он интерпретировался как команда. Это было важно для возможности переадресации команд в цикле изменением команд на сумматоре.
Но в современных ЭВМ коды программ и данных в оперативной памяти стараются различать, например, при помощи специальных битов в структурных объектах, называемых дескрипторами сегментов.
Блок устройства управления предназначен для формирования сигналов управления (микроопераций) для выполнения команд программы. Основными блоками устройства управления являются: регистр указателя адреса очередной команды (счетчик команд), регистр команд, блок дешифрации команды, блоки формирования микроопераций, регистр состояния (программы).
Команды поступают из оперативной памяти на регистр команд устройства управления по шинам передачи команд (на рис. 1.1. обозначены двойным пунктиром). Циклы выборки команд управляются не командами, а наборами микроопераций, реализованных аппаратно (прошитых в памяти микропрограмм).
Управление АЛУ и другими устройствами осуществляется передачей сигналов управления (серий микроопераций) согласно командам на все программно управляемые устройства (память, АЛУ, устройства ввода/вывода и т.д.). На рис. 1.1 линии передачи сигналов управления (микроопераций) обозначены одиночными пунктирными линиями.
После выполнения каждой команды признаки результатов посылаются от АЛУ на регистр состояния устройства управления. Коды условий используются для реализаций ветвлений, включая циклы. В современных ЭВМ из АЛУ на устройство управления могут посылаться и сигналы прерываний. На рис.1.1 линии передачи кодов условий и сигналов прерывания обозначены, как и микрооперации, одиночной пунктирной линией.
По концепции фон Неймана команды должны поступать из памяти в устройство управления и выполняться строго по их порядку в программе для обеспечения корректности выполнения программ.
В современных ЭВМ допускается не только одновременное, но и внеочередное выполнение множества команд, но при этом не нарушается корректность их выполнения.
Кроме этого, в современных ЭВМ используются не только арифметические, но и логические операции.
Для непосредственной связи с человеком устройство управления содержало пульт управления и панель сигнализации. Но в такой конфигурации это блок- схема скорее калькулятора, а не полноценной ЭВМ. В классической схеме ЭВМ предусмотрены устройства ввода и вывода. Это устройства ЭВМ, предназначенные для ввода и вывода массивов информации в формах, удобных для использования человеком, например в виде печатного текста. Кроме этого, к устройствам ввода/вывода относятся устройства хранения информации вне ЭВМ и переноса на другие ЭВМ. Это накопители на внешних носителях: перфокартах, магнитных лентах, дисках и т.д. Все эти устройства традиционно относят к внешним устройствам.
Внешними устройствами могут быть устройства:
внешней памяти,
ввода,
вывода,
связи с внешним объектом.
Устройства внешней памяти – это устройства энергонезависимой памяти, обычно на основе записи на магнитную поверхность или на электронных схемах с использованием МДП-транзисторов с плавающим затвором (флэш-память) для хранения и/или передачи данных на другие цифровые устройства.
Устройство ввода – это любое устройство ввода данных и программ в оперативную память ЭВМ (клавиатура, перфокарты, магнитные ленты, магнитные диски и т.д.).
Устройство вывода – это любое устройство вывода данных и программ из оперативной памяти (принтер, магнитная лента, магнитные диски и т.д.). В большинстве современных ЭВМ оперативная память энергозависимая. По этой причине операции ввода/выводы необходимы при включении и выключении ЭВМ.
Устройство связи с внешним объектом – это любое устройство, подключенное к ЭВМ, включая сетевые объекты.
Операция ввода/вывода – это операция передачи информации между оперативной памятью и внешним устройством. Для её реализации требуется задать адрес источника, например адрес на магнитном диске, адрес приемника (начальный адрес в оперативной памяти) и количество передаваемых данных. Затем следует подать серию команд чтения каждой единицы информации из источника и записи в приемник, т.е. операция ввода/вывода требует программы управления (драйвера).
В дальнейшем, по мере развития ЭВМ устройства УУ и АЛУ стали рассматриваться как одно устройство программной обработки данных под названием процессор.
В первых ЭВМ использовали чисто программные методы организации процедуры ввода/вывода. По этой причине на рис.1 устройства ввода/вывода соединены с оперативной памятью не напрямую, а через процессор. Процессор осуществлял операции ввода/вывода, выбирая каждую единицу передаваемых данных на свои регистры по одной команде программы драйвера, а затем, по другой команде, пересылал ее по адресу приемника, подсчитывая количество передаваемых данных и модифицируя адреса источника и приемника.
В более поздних моделях для организации процедур ввода/вывода стали использовать дополнительные специализированные процессоры ввода/вывода. Примером могут служить модели семейства ЭВМ IBM/360.
Структура моделей семейства ЭВМ IBM/360
Это первое семейство программно-совместимых моделей с явно выделенными процессорами ввода/вывода (канальными процессорами или просто каналами). Блок схема моделей ЭВМ IBM/360 представлена на рис. 1.2.
Каждая модель семейства IBM/360 является системой с изменяемой конфигурацией. Она содержит ядро и систему ввода/вывода с изменяемой конфигурацией.
В свою очередь ядро системы предусматривает наращивание блоков оперативной памяти и процессоров.
Система ввода/вывода содержит ряд специализированных процессоров ввода/вывода (каналов) с возможностью адресации до 31 канала. К одному каналу может быть подключено до 256 устройств ввода/вывода (абонентов). Абоненты (или группа однотипных абонентов) подключаются к интерфейсу ввода/вывода через индивидуальные устройства управления для каждого типа абонента.
Операции ввода/вывода задаются программой канала. Команда программы канала определяет единичную операцию. Операция канала – это запись или чтение массива чисел или операция управления. Операции управления задают адреса данных в устройствах ввода/вывода, например номер дорожки диска и т.д.
Каждая процедура ввода/вывода задается набором команд канала (программой канала). Каждая команда определяет единичную операцию. Это может быть команда записи или чтения массива чисел, команда управления (например, задание адреса дорожки диска) и т.д.
Устройства ввода/вывода связаны с каналами ядра ЭВМ при помощи стандартных интерфейсов ввода/вывода.
Процессор и канал не различают тип конкретных устройств, подсоединенных к интерфейсу ввода/вывода через соответствующий контроллер.
Управление вводом/выводом производится со стороны канала на логическом уровне командами стандартного интерфейса, общими для всех типов подключаемых устройств. Но, в зависимости от физической основы конкретного устройства ввода/вывода, эти команды интерпретируются контроллерами индивидуально в зависимости от физики работы периферийного устройства.
Применение стандартного интерфейса позволило очень просто изменять конфигурацию периферийного окружения ядра ЭВМ с использованием общего для всех моделей семейства парка периферийных устройств.
Программа канала начинается по команде процессора SIO – (старт в/в).
Эта команда передает каналам через ячейку оперативной памяти адрес начала программы канала. Каналы проверяют возможность выполнения первой команды и сообщают процессору о начале выполнения программы или отказе кодом условия (КУ). По завершении выполнения программы ввода/вывода канал сохраняет в 64 ячейке памяти результаты выполнения программы в виде "слова состояния канала" и посылает в процессор сигнал прерывания. В процедуре прерывания определяется корректность выполнения операции ввода/вывода.
В качестве сервисной подсистемы в современных моделях системы IBM/370 применяется ЭВМ класса PC, которая используется как средство управления системным инженером (например, для управления операциями тестирования) и системным оператором (например, для управления последовательностью включения питания, настройки операционной системы).
До перестройки в содружестве социалистических стран самыми массовыми моделями ЭВМ собственной разработки и производства были модели семейства ЕС ЭВМ. Программно они были идентичны моделям семейства IBM/360. Но по физической структуре это были оригинальные изделия, часто патентоспособные, но уступающие зарубежным образцам по тем или иным показателям. В настоящее время выпуск их прекратился, как неконкурентных изделий. Но фирменные модели последующих поколений семейства IBM успешно эксплуатируются и сейчас (в меньшей степени и в России). В настоящее время это ЭВМ Z-архитектуры 64-разрядных моделей на основе моделей IBM/370.
Структура моделей семейства мини-ЭВМ PDP-11 корпорации DEC
Семейство мини-ЭВМ PDP-11 корпорации DEC – это первое семейство программно-совместимых моделей ЭВМ от мини до супермини. Блок-схема моделей ЭВМ PDP-11 корпорации DEC представлена на рис. 1.3.
Это семейство мини-ЭВМ является знаковым по следующим причинам:
это первое семейство ЭВМ с системным интерфейсом,
это программная модель процессора с очень эффективными режимами адресации,
это программная модель процессора, в которой, за счет использования новых режимов адресации, части оперативной памяти можно использовать в качестве отдельных стеков.
ЭВМ этого семейства прошли стадии 16-ти битовой (семейство PDP-11), 32-битовой (семейство VAX-11) и 64-битовой (семейство Alpha) архитектур.
Более подробно программные модели семейства ЭВМ PDP-11 и VAX-11 рассматриваются в разделе 3. (Программные модели МП корпорации DEC).
Вопросы для самопроверки:
1. Структура вычислительной машины Ч. Бебиджа.
2. Назначение блока оперативной памяти.
3. Причины постулата о неразличимости в ячейках памяти команд и данных.
4. Основные блоки устройства управления.
5. Сигналы, поступающие из АЛУ на устройство управления.
6. Назначение кодов условия.
7. Концепция фон Неймана относительно порядка выполнения команд в программе.
8. Понятие внешнего устройства.
9. Понятие операции ввода-вывода.
10. Понятие драйвера.
11. Организация ввода/вывода в ЭВМ.
12. Состав ядра процессора.
13. Сервисная подсистема IBM-360.
14. Назначение каналов ввода/вывода.
15. Назначение контролера устройств ввода-вывода.