Организация ЭВМ

Содержание
1. ОБЩИЕ СВЕДЕНИЯ О ЭВМ
1.1 Этапы развития ЭВМ
1.2 Характеристики ЭВМ
1.3 Классификация средств ЭВТ
1.4 Структуры ЭВМ
1.4.1 Обобщенная структура ЭВМ
1.4.2 Структура ЭВМ на основе общей шины
1.5 Контрольные вопросы…
2. АРХИТЕКТУРА КЛАССИЧЕСКОЙ ЭВМ
2.1 Принцип программного управления
2.2 Принцип хранимой в памяти программы
2.3 Обобщенный формат команд
2.4 Способы адресации команд
2.4.1 Процессоры с принудительной адресацией
2.4.2 Естественная адресация команд
2.5 Способы адресации операндов
2.5.1 Прямая адресация
2.5.2 Косвенная адресация
2.5.3 Регистровая адресация
2.5.4 Непосредственная адресация
2.5.5 Неявная адресация
2.5.6 Относительная адресация
2.5.7 Индексная (автоинкрементная и автодекрементная) адресация
3. ЗАПОРМИНАЮЩИЕ УСТРОЙСТВА ЭВМ
3.1 Классификация ЗУ
3.2 Основные характеристики ЗУ
3.3 Структура ОЗУ с произвольной выборкой
3.4 3.4 Особенности организации динамической памяти
3.5 ОЗУ магазинного типа
3.6 Ассоциативные ЗУ
3.7 Контрольные вопросы
4. ПРИНЦИПЫ ОРГАНИЗАЦИИ ПРОЦЕССОРОВ
4.1 Обобщенные структуры процессоров с непосредственными и магистральными связями
4.2 Декомпозиция процессора на УА и ОУ
4.3 Классификация УУ
4.4 Микропрограммные УУ
4.4.1 Принцип микропрограммного управления Уилкса
4.4.2 Структура блока микропрограммного управления
4.5 Развернутая структура процессора и его функционирование
4.5.1 Обобщенная структура процессора с микропрограммным управлением
4.5.2 Рабочий цикл процессора
4.5.3 Понятие о слове состояния процессора (PSW)
4.5.4 Процедура выполнения команд перехода (условного и безусловного)
4.5.5 Процедура выполнения команд вызова подпрограмм
4.6 Контрольные вопросы
5. СИСТЕМЫ ПРЕРЫВАНИЯ ПРОГРАММ
5.1 Общие сведения…
5.2 Характеристики систем прерываний
5.3 Схема выполнения процедуры прерывания
5.4 Способы реализации систем прерываний
5.4.1 Схема прерывания с опросом по вектору
5.4.2 Прерывания с программно – управляемым приоритетом
5.5 Контрольные вопросы
6. ОРГАНИЗАЦИЯ ВВОДА – ВЫВОДА
6.1 Общие сведения о вводе-выводе в ЭВМ
6.2 Основные способы ввода-вывода
6.3 Ввод – вывод с прерыванием программы
6.4 Ввод – вывод в режиме ПДП
6.5 Интерфейсы
6.6 Шины интерфейсов ввода-вывода
6.6.1 Синхронные шины
6.6.2 Асинхронные шины
7. ОРГАНИЗАЦИЯ ПАМЯТИ ЭВМ С МАГИСТРАЛЬНОЙ СТРУКТУРОЙ
7.1. Типовая структура ЭВМ с магистральной архитектурой
7.2. Организация адресных шин в ЭВМ с магистральной структурой
7.2.1. Изолированная система адресных шин
7.2.2. Совмещенная система адресных шин
7.3 Организация ПЗУ.Проектирование памяти ЭВМ
7.3.1. Построение постоянной памяти
7.4 Построение оперативной памяти
7.5 Регенерация динамической памяти
7.6 КЭШ-память
7.6.1 КЭШ прямого отображения
7.6.2 Наборно- ассоциативный КЭШ
7.7 Контрольные вопросы
8. ОРГАНИЗАЦИЯ ПК
8.1 Структурная схема системной платы ЭВМ IBM PC/AT 286
8.1.1 Система шин системной платы ЭВМ IBM PC/AT 286
8.1.2 Состав и назначение основных устройств системной платы ЭВМ IBM PC/AT 286
8.1.2.1 Назначение и характеристики процессора и сопроцессора
8.1.2.3 Назначение шинных формирователей…
8.1.2.4 Формирование управляющих сигналов и работа подсистемы памяти
8.1.2.5 Назначение и характеристики периферийных устройств системной платы
8.1.2.6 Назначение ПЗУ BIOS
8.1.3 Шина ISA
8.1.3.1 Особенности шины ISA
8.1.3.2 Основные сигналы шины ISA
8.1.3.3 Шинные циклы магистрали ISA
8.1.3.4 Электрические и конструктивные характеристики шины ISA
8.2 Структурная схема системной платы ЭВМ IBM PC/AT Pentium 8.2.1 Локальные шины ввода –вывода
8.2.2 Состав и назначение основных устройств системной платы ЭВМ IBM PC/AT Pentium
8.3 Контрольные вопросы
1. общие сведения о ЭВМ
1.1 Этапы развития ЭВМ
Идея использования программного управления для по­строения устройств, автоматически выполняющих ифмети­ческие вычисления, была впервые высказана английским мате­матиком Ч. Бэббиджем в 1833 г. Однако его попытки построить механическое вычислительное устройство с про­граммным управлением не увенчались успехом.
Фактически эта идея была реализована спустя более чем 100 лет, когда в 1942 г. К. Цюзе в Германии и в 1944 г. Г. Айкен в США построили на электромагнитных реле вычислительные машины с управлением от перфоленты, на которую записывалась программа вычислений.
Идея программного управления вычислительным процес­сом была существенно развита американским математиком Дж. фон Нейманом, который в 1945 г. сформулировал принцип хранимой в памяти программы. Первые ЭВМ с программным управлением и с хранимой в памяти программой появились практически одновременно в Англии, США и СССР.
На протяжении более шести десятилетий электронная вычис­лительная техника бурно развивается. Появи­лись, сменяя друг друга, несколько поколений ЭВМ. Появление новых поколений ЭВМ вызывалось расширением областей и развитием методов их применения, требовавших более производительных, более дешевых и более надежных машин.
Поколение ЭВМ определяется совокупностью взаимосвя­занных и взаимообусловленных существенных особенностей и характеристик, используемых при построении машин, кон­структивно-технологической (в первую очередь элементной) базы и реализуемой в машине архитектуры.
Первое поколение образовали ламповые ЭВМ, промыш­ленный выпуск которых начался в начале 50-х гг. В качестве компонентов логических элементов использовались элек­тронные лампы. ЭВМ этого поколения характеризовались низкой надежностью и высокой стоимостью. Их быстродействие составляло всего 5 ¸ 8 тыс. опер/с.
Второе поколение ЭВМ появилось в конце 50-х годов. Элементной базой второго поколения ЭВМ были полупроводниковые приборы, благодаря чему повысилась их надежность, а производительность возросла до 30 тыс. опер/с (Минск-2, Минск-22, Минск-32, Урал-10, БЭСМ-4, М-220).
В рамках ЭВМ 2-го поколения академик. Лебедев С.А. создал ЭВМ БЭСМ-6 с производительностью до 1 млн. опер/с.
С середины 60-х годов отсчитывается начало появления ЭВМ 3-го поколения. Их элементной базой стали ИМС. В рамках этого поколения фирма IBM создала систему машин IBM-386. В г. Пензе была разработана ЭВМ Урал-16. Однако в это время стало заметно отставание СССР в области элементной базы, что не могло не сказаться и на характеристиках отечественных ЭВМ. Поэтому правительством было принято решение о переходе на производство техники, разработанной фирмой IBM. В СССР она выпускалась под названием Единая Система ЭВМ (EC ЭВМ). Наиболее быстродействующая ЭВМ ряда ЕС ЭВМ выпускалась заводом ВЭМ (г. Пенза). Она выполняла до 5 млн. опер/с.
Конструктивно-технологической основой ЭВМ четвертого поколения являются большие (БИС) и сверхбольшие (СБИС) ИМС.
К четвертому поколению относятся реализованные на СБИС такие новые средства вычислительной техники, как ми­кропроцессоры и создаваемые на их основе микро-ЭВМ. Ми­кропроцессоры и микро-ЭВМ нашли широкое применение в устройствах и системах автоматизации измерений, обработки данных и управления технологическими процессами, при по­строении различных специализированных цифровых устройств и машин.
Вычислительные возможности микро-ЭВМ оказались доста­точными для создания на их основе в рамках ЭВМ четвертого поколения, нового по ряду эксплуатационных характеристик и способу использования типа вычислительных устройств – персональных ЭВМ , получивших в настоящее время широкое распространение.
В ЭВМ четвертого поколения достигается дальнейшее упро­щение контактов человека с ЭВМ путем повышения уровня ма­шинного языка, значительного расширения функций устройств (терминалов), ис­пользуемых человеком для связи с ЭВМ, начинается практиче­ская реализация голосовой связи с ЭВМ. Использование БИС позволяет аппаратурными средствами реализовывать неко­торые функции программ операционных систем (аппаратурная реализация трансляторов с алгоритмических языков высокого уровня и др.), что способствует увеличению производительно­сти машин.
Характерным для крупных ЭВМ четвертого поколения является наличие нескольких процессоров, ориентированных на выполнение определенных операций, процедур или на решение некоторых классов задач. В рамках этого поколения создаются многопроцессорные вычислительные системы с быстродей­ствием в несколько десятков и даже сотен миллионов операций в секунду. К этому же поколению относятся и многопроцессорные управляющие комплексы по­вышенной надежности с автоматическим изменением струк­туры (автоматической реконфигурацией).
Примером крупных вычислительных систем, которые сле­дует отнести к четвертому поколению, является многопроцес­сорный комплекс «Эльбрус-2» с суммарным быстродействием до 100 млн. опер/с, с системой команд, приближенной к языкам высокого уровня, стековой организацией обращений к памяти.
В 90-е годы прошлого века определились контуры нового, пятого поколения ЭВМ. В значительной степени этому способствовали публикации сведений о проекте ЭВМ пятого поколения, разра­батываемом ведущими японскими фирмами и научными орга­низациями, поставившими перед собой цель захвата в 90-х го­дах японской промышленностью мирового лидерства в обла­сти вычислительной техники. Поэтому этот проект часто называют “японским вызовом”. Согласно этому проекту ЭВМ и вычислительные системы пятого поколения, помимо более высокой производительности и надежности при более низкой стоимости должны, обладать качественно новыми свойствами. В первую очередь к ним относятся возможность взаимодействия с ЭВМ при помощи языка, чело­веческой речи и графических изображений, способность си­стемы обучаться, производить ассоциативную обработку ин­формации, делать логические суждения, вести “разумную” беседу с человеком в форме вопросов и ответов. Вычислительные системы пятого поколения должны также “понимать” содержимое базы данных, которая при этом превращается в “базу знаний”, и использовать эти “зна­ния” при решении задач. В настоящее время исследования по подобным проблемам ведутся и в России.
1.2 Характеристики ЭВМ
Электронная вычислительная машина — это комплекс технических и программных средств, предназначенный для автоматизации подготовки и решения задач пользователей. Выбирая ЭВМ для решения своих задач, пользователь интересуется функциональными возможностями технических и программных средств, начиная со следующих характеристик ЭВМ:
– технические и эксплуатационные характеристики ЭВМ (быстродействие и производительность, показатели надежности, достоверности, точности, емкость оперативной и внешней памяти, габаритные размеры, стоимость технических и программных средств, особенности эксплуатации и др.);
– характеристики и состав функциональных модулей базовой конфигурации ЭВМ; возможность расширения состава технических и программных средств; возможность изменения структуры;
– состав программного обеспечения ЭВМ и сервисных услуг (операционная система или среда, пакеты прикладных программ, средства автоматизации программирования).
Важнейшими характеристиками ЭВМ являются быстродействие и производительность. Эти характеристики тесно связаны. Быстродействие характеризуется числом определенного типа команд, выполняемых ЭВМ за одну секунду. Производительность — это объем работ (например, число стандартных программ), выполняемый ЭВМ в единицу времени.
Определение характеристик быстродействия и производительности представляет собой очень сложную задачу, не имеющую единых подходов и методов решения.
Одной из единиц измерения быстродействия была и остается величина, измеряемая в MIPS (Million Instructions Per Second — миллион операций в секунду). В качестве операций здесь обычно рассматриваются наиболее короткие операции типа сложения. MIPS широко использовалась для оценки больших машин второго и третьего поколений, но для оценки современных ЭВМ применяется достаточно редко по следующим причинам:
– набор команд современных микропроцессоров может включать сотни команд, значительно отличающихся друг от друга длительностью выполнения;
– значение, выраженное в MIPS, меняется в зависимости от особенностей программ;
– значение MIPS и значение производительности могут противоречить друг другу, когда оцениваются разнотипные вычислители (например, ЭВМ, содержащие сопроцессор для чисел с плавающей точкой и без такового).
При решении научно-технических задач в программах резко увеличивается удельный вес операций с плавающей точкой. Опять же для больших однопроцессорных машин в этом случае использовалась и продолжает использоваться характеристика быстродействия, выраженная в MFLOPS (Million Floating Point Operations Per Second — миллион операций с плавающей точкой в секунду). Для персональных ЭВМ этот показатель практически не применяется из-за особенностей решаемых на них задач и структурных характеристик ЭВМ.
Для более точных комплексных оценок существуют тестовые наборы, которые можно разделить на три группы:
– наборы тестов фирм-изготовителей для оценивания качества собственных изделий (например, компания Intel для своих микропроцессоров ввела показатель iCOMP-Intel Comparative Microprocessor Performance);
– стандартные универсальные тесты для ЭВМ, предназначенных для крупномасштабных вычислений (например, пакет математических задач Linpack, по которому ведется список ТОР 500, включающий 500 самых производительных компьютерных установок в мире);
– специализированные тесты для конкретных областей применения компьютеров (например, для тестирования ПК по критериям офисной группы приложений используется тест Winstone97-Business,для группы «домашних компьютеров» — WinBench97-CPUMark32, а для группы ПК для профессиональной работы — 3DWinBench97-UserScene).
Результаты оценивания ЭВМ по различным тестам несопоставимы. Наборы тестов и области применения компьютеров должны быть адекватны.
Другой важнейшей характеристикой ЭВМ является емкость запоминающих устройств. Она измеряется количеством структурных единиц информации, которые одновременно можно разместить в памяти. Этот показатель позволяет определить, какой набор программ и данных может быть одновременно размещен в памяти.
Обычно отдельно характеризуют емкость оперативной памяти и емкость внешней памяти. Современные персональные ЭВМ могут иметь емкость оперативной памяти, равную 64 — 256 Мбайтам и даже больше. Этот показатель очень важен для определения, какие программные пакеты и их приложения могут одновременно обрабатываться в машине.
Емкость внешней памяти зависит от типа носителя. Так, емкость одной дискеты составляет 1,2; 1,4; 2,88 Мбайта в зависимости от типа дисковода и характеристик дискет. Емкость жесткого диска и дисков DVD может достигать нескольких десятков Гбайтов, емкость компакт-диска (CD-ROM) — сотни Мбайтов (640 Мбайт и выше) и т.д. Емкость внешней памяти характеризует объем программного обеспечения и отдельных программных продуктов, которые могут устанавливаться в ЭВМ. Например, для установки операционной среды Windows 2000 требуется объем памяти жесткого диска более 600 Мбайт и не менее 64 Мбайт оперативной памяти ЭВМ.
Надежность — это способность ЭВМ при определенных условиях выполнять требуемые функции в течение заданного времени (стандарт ISO ( Международная организация стандартов )-2382/14-78).
Точность — возможность различать почти равные значения (стандарт ISO — 2382/2-76). Точность получения результатов обработки в основном определяется разрядностью ЭВМ, которая в зависимости от класса ЭВМ может составлять 32, 64 и 128 двоичных разрядов.
Во многих применениях ЭВМ не требуется большой точности, например при обработке текстов и документов, при управлении технологическими процессами. В этом случае достаточно воспользоваться 8- и 16-разрядными двоичными кодами. При выполнении же сложных математических расчетов следует использовать высокую разрядность (32, 64 и даже более). Программными способами диапазон представления и обработки данных может быть увеличен в несколько раз, что позволяет достигать очень высокой точности.
Достоверность — свойство информации быть правильно воспринятой. Достоверность характеризуется вероятностью получения безошибочных результатов. Заданный уровень достоверности обеспечивается аппаратно-программными средствами контроля самой ЭВМ. Возможны методы контроля достоверности путем решения эталонных задач и повторных расчетов. В особо ответственных случаях проводятся контрольные решения на других ЭВМ и сравнение результатов.
1.3 Классификация средств ЭВТ
По виду представления обрабатываемой информации электронная вычислительная техника разделяется на аналоговую и цифровую.
В аналоговых вычислительных машинах (АВМ) обрабатываемая информация представляется соответствующими значениями аналоговых величин: тока, напряжения, угла поворота какого-то механизма и т.п. АВМ обеспечивают приемлемое быстродействие, но не очень высокую точность вычислений (0,001 — 0,01). Подобные машины мало распространены. Они используются в основном в проектных и научно-исследовательских учреждениях в составе стендов по отработке новых образцов техники. По назначению их можно рассматривать как специализированные вычислительные машины.
В настоящее время под словом ЭВМ обычно понимают цифровые вычислительные машины, в которых информация кодируется двоичными кодами чисел. Именно эти машины из-за их универсальности являются самой массовой вычислительной техникой.
По быстродействию ЭВМ можно разделить на:
– суперЭВМ для решения крупномасштабных вычислительных задач, для обслуживания крупнейших информационных банков данных;
– большие ЭВМ для комплектования ведомственных, территориальных и региональных вычислительных центров;
– средние ЭВМ широкого назначения для управления сложными технологическими производственными процессами. ЭВМ этого типа могут использоваться и для управления распределенной обработкой информации в качестве сетевых серверов;
– персональные и профессиональные ЭВМ, позволяющие удовлетворять индивидуальные потребности пользователей. На базе этого класса ЭВМ строятся автоматизированные рабочие места (АРМ) для специалистов различного уровня;
– встраиваемые микропроцессоры (микропроцессорные системы), осуществляющие автоматизацию управления отдельными устройствами и механизмами.
С развитием сетевых технологий все больше начинает использоваться другой классификационный признак, отражающий место и роль ЭВМ в сети, а именно:
– мощные машины и вычислительные системы для управления сетевыми хранилищами информации;
– кластерные структуры;
– серверы;
– рабочие станции;
– сетевые компьютеры.
Мощные машины и вычислительные системы предназначаются для обслуживания крупных сетевых банков данных и банков знаний. По своим характеристикам их можно отнести к классу суперЭВМ, но в отличие от них они являются более специализированными и ориентированными на обслуживание мощных потоков информации.
Кластерные структуры представляют собой многомашинные распределенные вычислительные системы, объединяющие несколько серверов. Это позволяет гибко управлять ресурсами сети, обеспечивая необходимую производительность, надежность, готовность и другие характеристики.
Серверы — это вычислительные машины и системы, управляющие определенным видом ресурсов сети. Различают файл-серверы, серверы приложений, факс-серверы, почтовые, коммуникационные, Web-серверы и др.
Термин “рабочая станция” отражает факт наличия в сетях абонентских пунктов, ориентированных на работу профессиональных пользователей с сетевыми ресурсами. Этот термин как бы отделяет их от ПЭВМ, обеспечивающих работу основной массы непрофессиональных пользователей, работающих обычно в автономном режиме.
Сетевые компьютеры представляют собой упрощенные персональные компьютеры, вплоть до карманных ПК. Их основным назначением является обеспечение доступа к сетевым информационным ресурсам. Вычислительные возможности у них достаточно низкие.
Высокие скорости вычислений, обеспечиваемые ЭВМ различных классов, позволяют перерабатывать и выдавать все большее количество информации, что, в свою очередь, порождает потребности в создании связей между отдельно используемыми ЭВМ. Поэтому все современные ЭВМ в настоящее время имеют средства подключения к сетям связи и объединения в системы.
1.4 Структуры ЭВМ
1.4.1 Обобщенная структура ЭВМ
Простейшая структура ЭВМ с локальными шинами между ее устройствами, приведена на рисунке 1.4.1.
Рисунок 1.4.1-Обобщенная структура ЭВМ
В состав ЭВМ входят:
– оперативное запоминающее устройство (ОЗУ, более короткое обозначение- оперативная память ОП);
– процессор;
– устройство ввода- вывода (УВВ, другое обозначение- периферийное устройство ПУ);
– пульт контроля и управления (ПКУ).
Процессор предназначен для обработки информации. Он состоит из 2-х частей: УУ – устройство управления (управляющий автомат), и АЛУ – арифметико-логическое устройство.
Обработку информации процессор осуществляет под управлением программы, хранящейся в ОЗУ. В ОЗУ наряду с программой также хранятся и данные, подлежащие обработке. Программа и данные поступают из ОЗУ в процессор по каналу связи между ОЗУ и процессором, называемым в вычислительной технике шиной. Такие же шины соединяют процессор и с другими устройствами ЭВМ.
УВВ предназначено для ввода программ и данных в ОЗУ, то есть они сначала подготавливаются либо в виде перфокарт (ПФК), перфолент (ПФЛ), либо в виде магнитных лент, магнитных дисков и т.п., а затем вводятся в ОП машины. После этого программа запускается на обработку. В современных машинах диалогового режима данные в ОП могут заноситься и непосредственно с клавиатуры.
ПКУ предназначен для ручного пуска различного рода тестовых программ, контроля хода вычислительного процесса или функционирования устройств ЭВМ.
1.4.2 Структура ЭВМ на основе общей шины
При организации ЭВМ на основе общей шины (ОШ) взаимодействие между ее устройствами осуществляется через общую шину, к которой подключены все устройства, входящие в состав ЭВМ.
Рисунок 1.4.2- Структура ЭВМ на основе ОШ
Взаимодействие между всеми устройствами ЭВМ осуществляется в режиме разделения времени общей шины (т.е. поочередно). Такой способ не обеспечивает (принципиально) высокой пропускной способности, ввиду чего производительность ЭВМ ниже, чем при наличии локальных шин между различными устройствами ЭВМ. Однако простота реализации и возможность построения ОШ с высокой пропускной способностью обеспечили широкое использования такой структуры в персональных ЭВМ (ПК) и микропроцессорных системах (МПС).
1.5 Контрольные вопросы
По каким признакам классифицируются ЭВМ?
В чем различие структур ЭВМ на основе локальных шин и общей шины?
Каково назначение процессора в ЭВМ?
Назначение ОП и УВВ?

2 Архитектура классической ЭВМ
2.1 Принцип программного управления
Принцип программного управления впервые был реализован в ЭВМ “Марк-1”. Он заключается в том, что алгоритм вычислений (например, вычисление некоторого выражения) преобразуется в упорядоченную последовательность команд, преобразующих исходные данные (операнды) в результат. Таким образом действия, предписанные алгоритмами, закладываются в команды (например действия по сложению, вычитанию, умножению и делению чисел, логическим операциям над ними и т.д.). Последовательность команд называется программой. Программа управляет ходом вычислительного процесса.
Пусть, например, необходимо вычислить выражение: .
Возможная программа его вычисления содержит следующие команды:
1-я команда: умножить операнд a на b;
2-я команда: сохранить результат умножения (a*b) в ОП;
3-я команда: сложитьоперанды a и b ;
4-я команда: умножить результат (a+b) на c;
5-я команда: считать из ОП (a*b);
6-я команда: разделить результат (a*b) на результат (a+b)* c.
Если числа представлены в двоичной системе счисления, и команды также закодированы двоичным кодом, то для реализации программы можно ввести следующую систему команд:

КОП
1-й операнд
2-й операнд
где КОП-код операции, или закодированные в двоичной системе счисления операции (+,-, /, * и т.д.), выполняемые процессором.
Такой подход к реализации команд приводил к очень длинным программам, так как в перфоленточных устройствах, используемых в первых ЭВМ для ввода программ, отсутствовала возможность возврата к ранее выполненным участкам программ. Пусть, например, нам необходимо вычислить выражение:

Программа вычислений в предложенной системе команд будет следующей:
1-я команда: умножить a0 на b0;
2-я команда: умножить a1 на b1;
3-я команда: сложить результат 1-й команды с результатом 2-й команды;
4-я команда: умножить a2 наb2;
5-я команда: сложить результат 3-й команды с результатом 4-й команды:
6-я команда: умножить a3 наb3;
7-я команда: сложить результат 3-й команды с результатом 4-й команды и т.д.
При использовании предложенной системы команд программа будет состоять из n- команд умножения и n – команд сложения, всего – из 2n-команд. Большое количество команд обусловлено тем, что нет возможности оперативного возврата к некоторым участкам программы, которые могли бы выполняться многократно.
2.2 Принцип хранимой в памяти программы
Принцип хранимой в памяти программы был предложен фон Нейманом в 1945 году. Этот принцип стал основой современных машин. В соответствии с этим принципом команды хранятся в памяти, также как и данные. При этом под программу отводится одна отдельная область памяти, под данные – другая область. В командах указываются не операнды, а их адреса, то есть номера ячеек памяти ОЗУ, где они помещаются. Для вызова команд из ОП также надо указывать их адреса в ОП. При такой организации можно многократно вызывать из памяти одну и ту же команду или последовательность из нескольких команд (подпрограмму) и одни и те же данные. Кроме этого, над командами и над данными можно производить операции, так как они с точки зрения обработки становятся равноценными. Структура команды для ЭВМ, организованной в соответствии с принципом фон Неймана (фон Неймановская машина), будет следующей:

КОП
Адрес операнда
Такой тип команды оказался намного более универсальным и напряду с ранее приведенным он широко используется в современной вычислительной технике.
Программа вычисления выражения: при использовании команд последнего типа намного сокращается.
1-я команда:i=0;
2-я команда: умножение ai*bi=Xi;
3-я команда: сложение Yi+Xi=Yi;
4-я команда: i:=i+1;
5-я команда: i>n?. Если нет, то переход на 2-ю команду;
6-я команда: Конец.
2.3 Обобщенный формат команд
Команды в ЦВМ могут быть одноадресными, двухадресными и трехадресными (в машинах с так называемой естественной адресацией команд).
Одноадресная команда:
КОП
А -Адрес операнда
Двухадресная команда:
КОП
А1-Адрес 1-го операнда
А2- Адрес 2-го операнда
Трехадресная команда:

КОП
А1-Адрес 1-го операнда
А2-Адрес 2-го операнда
А3-Адрес 3-го операнда

Команда состоит из операционной части- кода операции (КОП) и адресной части. В операционной части указывается тип выполняемой операции в виде двоичного числа. В адресной части указывается адрес ячейки памяти, в которой размещается операнд (одноадресная команда). Если в команде указывается адреса 1-го и 2-го операнда, то такая команда называется двухадресной. В трехадресной машине указывается еще и адрес результата, то есть ячейка ОП, куда помещается результат.
Какая из систем лучше? В современных машинах большого класса могут сочетаться все типы. Приведенные типы команд относятся к так называемым машинам с естественной адресацией, когда команды из программы выбираются последовательно одна за другой. Адресация производится с помощью счетчика команд СчК (PC- Program Count). Однако существовали машины и с принудительной адресацией, в которых очередная команда выбиралась по адресу, указанному в предыдущей команде (такой способ адресации сохранен в настоящее время только в так называемых микропрограммных устройствах управления).
Структура команд такой машины:

КОП
А1
А2
Ар
Аск
где Ар- адрес результата;
Аск -адрес следующей команды .
Если операндов два, и еще существует поле адреса результата, то команда становится четырехадресной:
2.4 Способы адресации команд
Процессоры в зависимости от реализации УУ бывает двух видов: с принудительным порядком выполнения команд (принудительной адресацией команд) и с естественным порядком выполнения команд (естественной адресацией команд).
2.4.1 Процессоры с принудительным порядком выполнения команд
Структура процессора с принудительной адресацией команд приведена на рисунке 2.4.1.
Рисунок 2.4.1- Структура процессора с принудительной адресацией
Процесс выполнения команд процессором следующий: в начальный момент в регистр команд (РК) заносится адрес первой выполняемой команды (по сигналу “Сброс” или “Пуск” или каким либо иным способом). По этому адресу считываются команда, которая содержат код операции (КОП), адрес операнда (Аоп), а так же адрес следующей команды (Аск). Поле КОП команды поступает на схему формирования управляющих сигналов (ДшКОП- дешифратор КОП) которая вырабатывает нужную последовательность управляющих сигналов y1 .yn, необходимых для выполнения команды в процессоре.
Адрес операнда через РА задает номер ячейки ОП, в которой он хранится. Операнд, считанный из ячейки памяти с заданным адресом, поступает на обработку в АЛУ.
Рассмотрим следующий пример. Положим, что процессор имеет следующую систему команд в машинных кодах (для более краткой записи представим ее в шестнадцатеричной системе счисления):
01H- вызов операнда из ОЗУ в аккумулятор;
02H- запись содержимого А в ОЗУ;
1АH – команда сложения;
00H – остановка выполнения программы.
Пусть необходимо составить программу сложения 2-х чисел, находящихся в ячейках ОЗУ с адресами 0841H и 0842H и записать результат в ячейку 0843H. Программа хранится в ячейках памяти с начальным адресом 1300H. Ширина выборки команд и данных из ОЗУ – 1 байт.

№ яч
КОП
Аоп
Аск
Комментарий
1300
01
0841
1305
Вызов 1-го операнда из ОЗУ и переход к считыванию следующей команды из ячейки ОП с номером 1305H.
1305

0842
130А
Вызов 2-го операнда, сложение и переход к считыванию следующей команды из ячейки ОП с номером 130АH.
130А
02
0843
130F
Запись результата в ОЗУ и переход к ячейке 130FH.
130F
00
0000
0000
Остановка.
Нетрудно подсчитать, что при использовании принудительной адресации команд длина программы составляет 20 байт.
2.4.2 Процессоры с естественной адресацией команд
Структура процессора с естественной адресацией команд
приведена на рисунке 2.4.2.

Рисунок 2.4.2- Структура процессора с естественной адресацией команд
В таких процессорах РК не имеет поля с адресом команд. Адрес следующей команды образуется путем добавления единицы к адресу выполняемой команды. Для этой цели служит счетчик команд СчК (PC- Program Counter) , который предварительно загружают начальным адресом, по которому выбирается первая команда. По окончании выполнения команды в СчК автоматически добавляется число единиц равное количеству байт выполняемой команды, затем выбирается следующая команда и т.д.
Предыдущая программа для этого типа процессора будет иметь вид:

№ яч.
памяти
КОП
Аоп
Комментарий
1300:
01
08 41
Вызов 1-го операнда из ОЗУ в аккумулятор и переход к считыванию следующей команды из ячейки ОП с номером 1303H.
1303:

08 42
Вызов 2-операнда, сложение его с 1- м операндом и переход к считыванию следующей команды из ячейки ОП с номером 1306H.
1306:
02
08 43
Запись вычисленного результата в ячейку ОП с адресом 0843H и переход к считыванию следующей команды.
1309:
00
00 00
Остановка.

Нетрудно подсчитать, что длина этой программы составляет 12 байт.
В процессорах с естественной адресацией длина программы и требуемый под нее объем памяти сокращается, однако система команд усложняется, так как для организации ветвления программ требуется специальные команды – условных и безусловных переходов. Первое обстоятельство оказалось сильнее и традиционные машины выполняются по второму способу.
2.5 Способы адресации операндов
В современных ЭВМ используется большое число способов адресации операндов. Рассмотрим наиболее часто используемые.
2.5.1 Прямая адресация
При прямой адресации адрес операнда указывается в адресной части команды. Поле адреса может быть одно, двух и трехадресным. Длина адресного поля nА должна быть такой, чтобы перекрывать все адресное пространство – nА=log2 M, где M-емкость памяти в байтах. Рисунок 2.5.1- Порядок выборки операнда при прямой адресации
Формат одноадресной команды следующий:

КОП
Адрес операнда
Формат двухадресной команды:

КОП
А1
А2

nA1
nA2
Формат трехадресной команды:

КОП
А1
А2
Ap

nA1
nA2
np
где Aр- адрес результата.
Размер команд, использующих прямую адресацию – большой, поэтому выполняется они достаточно медленно.
2.5.2 Косвенная адресация
При косвенной адресации в адресной части команды указывается адрес ячейки памяти (ОЗУ или СОЗУ) в которой находится адрес операнда (косвенная адресация – это адресация адреса).

Рисунок 2.5.2- Порядок выборки операнда при косвенной адресации: а- при адресации через ОП; б- при адресации через СОЗУ
Такая адресация используется в машинах, имеющих малую разрядность, то есть в мини и микро- ЭВМ. Для адресации операнда требуется как минимум два шинных цикла: 1-й для выборки адреса, второй – для выборки операнда по этому адресу. Часто косвенный адрес хранится во внутренней памяти процессора, состоящей из регистров двойной длины.
2.5.3 Регистровая адресация
Регистровая адресация является укороченной. В поле адреса указываются адреса ячеек сверхоперативной памяти (СОЗУ), число которых невелико. Такой способ адресации позволяет сократить длину команды и увеличить скорость выполнения операции, так как СОЗУ является быстродействующей памятью, выполняемой на быстрых регистрах. Эти регистры являются частью процессора и называются регистрами общего назначения (РОН). Следующий рисунок поясняет порядок выборки операндов при использовании 2- х адресной команды: R1- адрес первого операнда, R2- – адрес второго операнда.

Рисунок 2.5.3- Порядок выборки операндов при регистровой адресации: R1- адрес 1-го операнда, R2- адрес второго операнда
2.5.4 Непосредственная адресация
В поле адреса команд находится не адрес, а сам операнд. В этом случае нет необходимости обращаться за операндом в память. Используется для хранения констант.
Непосредственный операнд может иметь любую длину (байт, слово, 2-е слово). Этим определяется длина команды. Формат команды при непосредственной адресации следующий:
КОП
Непосредственный операнд
2.5.5 Неявная адресация
Неявная (подразумеваемая) адресация. В команде нет явных указаний об адресе операнда, они подразумеваются, но фактически их адреса указаны в КОП команды. Это самая короткая адресация. Используется в микроЭВМ.
2.5.6 Относительная адресация
Адрес операнда определяется как сумма содержимого адресного поля команды и некоторого числа, называемого базовым адресом. Для этого в команде предусмотрено поле В для указания адреса базового регистра. Поле команды, в котором находится адрес операнда называют смещением.

Рисунок 2.5.6-Формирование адреса операнда при относительной адресации
Полученный адрес EA=[B]+D называется эффективным или исполнительным адресом. Прямые скобки при B ([B]) – означают, что первое слагаемое EA берется по адресу В. При выборке некоторого участка данных базовый адрес является неизменным. Адресация ячеек памяти относительно базового адреса осуществляется полем смещения.
Относительная адресация обеспечивает перемещаемость программ, то есть возможность передвижения программ в памяти без изменений внутри самой программы, что не требует перетрансляции программы. Для назначения новых адресов, изменяется только значение В
2.5.7 Индексная (автоинкрементная и автодекрементная ) адресация
При обработке больших массивов данных, выбираемых последовательно друг за другом, нет смысла каждый раз обращаться в память за новым адресом. Для этого достаточно автоматически менять содержимое специального регистра, называемого индексным, чтобы выбирать последовательно размещенные данные. Индексный регистр является косвенным. Его загружают начальным адресом массива (специальной командой). Дальнейшая адресация осуществляется путем автоматического добавления или вычитания единицы или шага адреса из его содержимого.

Рисунок 2.5.7- Формирование адреса операнда при индексной адресации
В некоторых процессорах применяют более сложную адресацию, которая сочетает индексную адресацию с базовым смещением.
Часто в команду с индексной адресацией включают признак, определяющий шаг индексации Т (Т=1,2,4 и т.д.), что позволяет осуществлять адресацию массивов через байт, слово, двойное слово и т.д.
В современных процессорах (например в Intel 80386 и выше ) применяют все возможные сочетания из базового адреса, индексного адреса, относительного адреса и шага. Например:
– Индексная адресация с шагом. Содержимое индексного регистра умножается на шаг и суммируется со смещением- EA=[X]×T+D,гдеТ- величина шага;
– Базово- индексная адресация EA=[В]+[X];
– Базово- индексная адресация с шагом EA=[В]+[X]×Т;
– Базово- индексная адресация со смещением EA=[В]+[X]+D:
– Базово- индексная адресация со смещением и шагом EA=[В]+[X]×Т+D.
2.6Контрольные вопросы
Какова структура команды? Какие поля включает команда? Чем определяется длина команды?
В чем заключается естественная адресация команд в ЦВМ?
В чем заключается принудительная адресация команд в ЦВМ?
Перечислите достоинства и недостатки естественной адресации?
Перечислите достоинства и недостатки принудительной адресации?
Какие существуют способы адресации операндов?
Достоинства неявной и регистровой адресации?
В чем заключается непосредственная адресация?
В чем заключается прямая адресация?
Какие преимущества косвенной адресации?
Каково назначение относительной адресации?
Каково назначение индексной адресации?

3. Запоминающие устройства ЭВМ
3.1 Классификация ЗУ
Запоминающие устройства (ЗУ) предназначены для хранения информации, а именно – программ и данных.
ЗУ подразделяются на:
– сверхоперативные;
– оперативные;
– внешние.
Оперативной память – это основная память машины. В соответствии с принципом фон Неймана она предназначена для хранения программы (программ в многозадачном режиме), выполняемой ЭВМ в данный момент времени и необходимых для нее данных.
Назначение внешнего ЗУ -хранение массивов информации.
Сверхоперативное ЗУ (СОЗУ)обеспечиваетувеличение быстродействия ЭВМ, благодаря использованию команд меньшей (сокращенной) длины и более быстрой элементной базы ее регистров.

Рисунок 3.1- Иерархическая структура ЗУ
Внешние запоминающие устройства (ВЗУ) чаще всего выполняются на барабанах, магнитных и оптических дисках, ленточных накопителях.
Первые два типа ВЗУ называют устройствами прямого доступа (циклического доступа). Магнитные и оптические поверхности этих устройств непрерывно вращаются, чем обеспечивается быстрый доступ к хранимой информации (время доступа этих устройств составляет от нескольких мс до десятка мс). Накопители на магнитных лентах (МЛ) называют устройствами последовательного доступа, из-за последовательного просмотра участков носителя информации (время доступа этих устройств составляет от нескольких секунд до нескольких минут).
Оперативная память делится на:
-оперативные ЗУ (ОЗУ) (Оперативные ЗУ с произвольной выборкой ЗУПВ);
-постоянные ЗУ (ПЗУ).
Назначение и функции оперативных ЗУ: запись и чтение информации.
Назначение и функции ПЗУ – только чтение информации.
Выполняются на ферритовых сердечниках, полупроводниковых микросхемах, магнитных доменах (тонких пленках) и др. Время обращения к памяти составляет от нескольких нс до нескольких мкс.
Сверхоперативная память выполняется на элементной базе процессора, входит в структуру процессора и позволяет значительно повысить его производительность.
3.2 Основные характеристики ЗУ
1. Основная характеристика ЗУ (любого типа) – емкость памяти. Определяет максимальное количество информации, которое может в ней храниться. Емкость может измеряться в битах, байтах или машинных словах. Наиболее распространенной единицей измерения является байт. При большом размере памяти ее емкость выражают в килобайтах (Кбайт) – 1024 байт, в мегобайтах (Мбайт) – миллион байт (точнее 1024*1024 байт), в гигобайтах (Гбайт) – миллиард байт.
2. Время обращения к памяти. Время обращения при чтении:
, где
tд- время доступа (подготовительное время) – промежуток времени между началом операции обращения и моментом начала процесса чтения;
tчт – продолжительность физического процесса считывания;
tрег – время регенерации (восстановления), если в процессе чтения информации произошло ее разрушение.
Время обращения при записи:
, где
tп – время подготовки, расходуемое на приведение запоминающих элементов в исходном состоянии, если это необходимо;
tзп – время, необходимое для физического изменения состояния запоминающих элементов при записи информации.
3. Цикл памяти. Принимается равным минимальному допустимому интервалу между двумя обращениями в память:
.
Положим, что процессы чтенияи записи имеют следующие временные диаграммы:

Рисунок 3.2 – Выбор значения цикла памяти tц
3.3 Структура ОЗУ с произвольной выборкой (ЗУПВ)
В оперативных ЗУ с произвольной выборкой (ЗУПВ) запись или чтение в/из памяти осуществляется по адресу, указанному регистром адреса (РА). Чтение или запись слова осуществляется за один цикл. Информация, необходимая для осуществления процесса записи- чтения поступает из процессора, а именно: адрес, данные и управляющие сигналы.
Адресная часть с процессора сначала поступает на регистр адреса (РА), а с него- на дешифратор адреса ДшА, который выбирает строку запоминающего массива (номер ячейки памяти). По сигналу запись (Зп) производится запись данных в заданную ячейку памяти.
Структура ОЗУ имеет следующий вид:
Рисунок 3.3- Структура ЗУПВ
Запоминающий массив содержит множество одинаковых запоминающих элементов В памяти статического типа в их качестве используются электронные триггеры, в динамической памяти- полевые транзисторы, работающие на принципе накопления заряда в области затвор-исток.
3.4 Особенности организации динамической памяти
Структура микросхем динамической памяти (DRAM) в целом близка к структуре статической памяти. Для уменьшения количества выводов (а следовательно, габаритов и стоимости), в микросхемах динамической памяти (DRAM) используется мультиплексированная ША. Полное количество разрядов ША, подаваемое на микросхему DRAM делится на две части- адрес строки и адрес столбца. При адресации ячеек DRAM эти части адреса, последовательно во времени, подаются на адресные входы микросхемы в сопровождении соответственно стробов адреса строки (RAS) и столбца (CAS) (см. рисунок 3.4.1).

Рисунок 3.4.1- УГО микросхемы DRAM 64*4
Временные диаграммы ввода адреса запоминающего элемента микросхемы DRAM приведены на рисунке 3.4.2.
Рисунок 3.4.2 – Временные диаграммы сигналов ввода адреса в микросхему DRAM
Разделение полного адреса запоминающего элемента и последовательную выдачу его на микросхему осуществляет мультиплексор, являющийся частью контроллера динамической памяти.
Матрица элементов памяти (МЭП) микросхемы DRAM разбита на строки, количество которых равно 2n, где n- количество разрядов адреса строки или столбца. При вводе адреса строки выбранная строка МЭП считывается в регистр-защелку статического типа, входящего в состав микросхемы DRAM. При считывании строки ее содержимое разрушается, но копия содержимого строки оказывается записанной в регистр- защелку.
Подача адреса столбца в сопровождении строба CAS выбирает в регистре- защелке, в зависимости от организации микросхемы DRAM, бит, тетраду, байт и т.д. При появлении сигнала чтения выбранная информация выдается на ШД после чего записывается на прежнее место в строку МЭП.
При записи информация, поступившая на микросхему DRAM с ШД, записывается сначала в соответствующие разряды регистра- защелки, после чего его содержимое переписывается в прежнюю строку микросхемы DRAM.
3.5 ОЗУ магазинного типа (стековая память)
Магазинная (стековая) память организуется по принципу “последний пришел, первый вышел” (LIFO), или “первый пришел, первый вышел” (FIFO). Такая организация памяти является фактически безадресной. Однако регистр адреса в такой памяти имеется и называется указателем стека (УС) (SP-Steak Pointer). Принцип организации стековой памяти показан на рисунке 3.5.1.

Рисунок 3.5.1-. Принцип организации стековой памяти
В первом типе памяти новое слово заносится в верхнюю ячейку, ранее занесенные данные проталкиваются вниз. При считывании наоборот, последнее слово выталкивается вверх первым.
В случае организации типа FIFO новое слово заносится в верхнюю ячейку, ранее записанные слова выталкиваются вниз.
Чаще используют память типа “последний пришел, первый вышел”. Организуется следующим образом:

Рисунок 3.5.2- Адресация стека типа LIFO с помощью УС
Перед началом работы в указатель стека занося начальный адрес. Дальнейшая адресация осуществляется автоматически при выполнении операции записи- чтения путем увеличения- уменьшения адреса на единицу. Физический процесс записи и считывания данных происходит точно так же, как в обычной памяти с произвольным обращением.
Возможные изменения состояния УС стековой памяти типа LIFO при записи- чтении показаны на следующих рисунках:

Рисунок 3.5.3- Изменение состояния УС при записи и чтении стековой памяти типа LIFO

Рисунок 3.5.4- Изменение состояния УС стековой памяти микропроцессорной системы на основе МП Intel 8080
Если число слов, записанных в стек и считанных из стека равно, то стек приходит в исходное состояние.
3.6 Ассоциативные ЗУ
Выборка информации в ассоциативных ЗУ (АЗУ) осуществляется по содержанию. Пусть, например, в АЗУ хранятся данные на студентов: год рождения, место работы, стаж работы, № группы и т.д., при этом необходимо выбрать фамилии всех студентов 1980 года рождения и работающих. Эта информация является ключом для поиска. Ассоциативная память позволяет выбрать эту информацию за один или несколько циклов памяти. Обычные (программные) средства поиска и сортировки будут работать очень долго.
Каждая ячейка такого АЗУ должна содержать (см. рисунок 3.6.1) регистр для хранения слова данных (как в обычных ОЗУ) и специальные комбинационные логические схемы для сравнения текущего содержимого регистра с ключевым словом, поступающим одновременно на вход всех ячеек. При поиске формируется сигнал чтения из всех ячеек АЗУ. Импульс опроса появится на выходе ячейки, в которой содержимое совпадает с ключом.

Рисунок 3.6.1- Устройство ячейки АЗУ
Структура АЗУ имеет следующий вид:

Рисунок 3.6.2- Структура АЗУ
Перед началом работы информация заносится в регистр, называемый компарандом (операнд в операции сравнения). Каждая ячейка связана с процессором через регистр признаков (Рг.Пр) с помощью разряда Тj.Регистр признака называют памятью отклика. Регистр маски маскирует те разряды компаранда, которые не должны участвовать в операции сравнения.
Перед началом работы все разряды Рг.Прустанавливаются в состояние “Лог. 0”. По команде процессора “Сравнить” любая ячейка, содержащая слово, которое совпадает с компарандом, формирует сигнал, устанавливающий соответствующий разряд в Рг.Пр в состояние “Лог. 1”. Эта информация является адресной для линейной выборки.
3.7 Контрольные вопросы
По каким признакам классифицируются запоминающие устройства?
Назначение ВЗУ и СОЗУ?
Назовите признаки ЗУ прямого и последовательного доступов?
Расшифруйте сокращения ПЗУ и ЗУПВ.
Перечислите основные характеристики ЗУ.
Что такое “Цикл памяти”?
Каковы преимущества ЗУ с произвольной выборкой?
Перечислите основные узлы ЗУПВ.
Какова организация стековых ЗУ и где они применяются?
Что общего в работе стековой памяти типов LIFO и FIFO?
В чем заключается принцип действия ассоциативных ЗУ?

4. ПРИНЦИПЫ-ОРГАНИЗАЦИИ ПРОЦЕССОРОВ
4.1 Обобщенные структуры процессоров с непосредственными и магистральными связями
Основными функциями процессора являются:
– организация обращений в ОП;
– дешифрация и выполнение команд;
– инициация работы периферийных устройств;
– обработка запросов прерываний, поступающих из устройств машины.
Обобщенная структура процессора с непосредственными (локальными) связями между его блоками приведена на рисунке 4.1.1.
Рисунок 4.1.1 – Структура процессора с непосредственными связями
Структура процессора с магистральными связями между его блоками приведена на рисунке 4.1.2. Используется в большинстве современных МП.

Рисунок 4.1.2 – Структура процессора с магистральными связями
В обеих структурах в УУ входят регистр команд, счетчик команд, схема управления прерываниями, регистр состояния процессора, дешифратор команд, устройство выработки последовательности сигналов, управляющих ходом выполнения команд в АЛУ и другие устройства.
АЛУ предназначается для выполнения арифметических и логических операций, т.е. в АЛУ происходит преобразование над логическими кодами фиксированной и переменной длины (над битами, байтами, словами), арифметические операции над числами с фиксированной и плавающей запятой, обработка алфавитно-цифровых слов переменной длины, а также операции преобразования кодов из одной системы счисления в другую.
Блок РОН позволяет увеличить производительность процессора и расширить его функциональные возможности. Обычно местная память имеет небольшой объем (8-16 байт), но выполняется на быстрых регистрах (на элементной базе самого процессора). Для адресации регистров используются укороченные команды, что сокращает объем программы и, следовательно, время ее выполнения. Расширение функциональных возможностей осуществляется путем введения в РОНы базовых и индексных регистров, а также указателей стека, что позволяет увеличить возможности адресации.
Блок связи с ОП и ПУ организует обмен с ОП и ПУ и обеспечивает защиту участков ОП от несанкционированного доступа .
Часто в состав процессора вводят блок контроля и диагностики, который служит для обнаружения и отказов аппаратуры процессора.
4.2 Декомпозиция процессора на УА и ОУ
При разделении процессора на управляющий автомат УА(УУ) и операционное устройство ОУ(АЛУ), его можно представить в следующем виде.(см. рисунок 4.2)
Рисунок 4.2 – Структура процессора при декомпозиции его на УА и ОУ
На приведенном рисунке Y={y1,y2… yn}-множество функциональных сигналов, управляющих ходом выполнения операций. Каждый функциональный сигнал соответствует выполняемой микрооперации на некотором такте работы ЭВМ. U={u1, u2… un}- сигналы, оповещающие о ходе выполнения операции.
Управляющее устройство представляет собой УА, который может быть задан как автомат Мура или Мили.
4.3 Классификация УУ
Существуют два основных типа УУ:
– с жесткой или схемной логикой (аппаратные);
– с хранимой в памяти логикой (микропрограммного управления).
В аппаратных УУ для каждой операции, задаваемой КОП, строится набор схем, которые в нужных тактах формируют соответствующие управляющие сигналы.
В УУ с микропрограммным управлением каждой операции соответствует набор микрокоманд, хранимых в памяти микрокоманд. Каждая микрокоманда несет информацию о микрооперациях, подлежащих выполнению в течение машинного такта и указания, какая микрокоманда должна быть выбрана из памяти следующей. Последовательность микрокоманд, выполняющая одну машинную команду или некоторую процедуру, образует микропрограмму.
4.4 Микропрограммные УУ
4.4.1 Принцип микропрограммного управления Уилкса
Идея микропрограммного управления была высказана Уилксом в 1951 г. Она заключается в том, что управляющие сигналы “прошиваются” в памяти (ПЗУ, ППЗУ). Схема блока микропрограммного управления БМУ Уилкса следующая (смотри рисунок):
Рисунок 4.4.1 – Упрощенная структура блока микропрограммного управления
Схема содержит две матрицы C и S, Матрица C – управляющая, вырабатывает управляющие сигналы. Матрица S определяет последовательность выборки микрокоманд. Точками указаны места прошивки ПЗУ. Функционирует схема следующим образом.
В момент действия синхросигнала, выдаваемого генератором тактовых импульсов ГТИ, дешифратор (Дш) выбирает одну из l вертикальных линий. Возбуждение передается на те горизонтальные линии, которые соединены (электрически) с данной вертикальной прошивкой. Выработанные управляющие сигналы по шине Y={y1, y2…ym} поступают в АЛУ и регистры процессора, а по шине R={r0,r1…rl} передается адрес следующей микрокоманды в регистр адреса микрокоманды РАМК.
Микропрограммный способ управления удобен при разработке или дополнении любого набора команд, что достигается заменой одной “прошивки” ПЗУ на другое.
4.4.2 Структура блока микропрограммного управления
Структура блока микропрограммного управления (БМУ) приведена на рисунке 4.4.2.

Рисунок 4.4.2 – Структура БМУ
В состав БМУ входят память микрокоманд (ПМК), регистр адреса микрокоманд (РАМК), регистр микрокоманд (РМК), дешифратор микроопераций (ДшМО), генератор тактовых сигналов (ГТС).
Код операции (КОП) поступает из ОП системы на регистр кода операции (РКОП), который задает начальный адрес микропрограммы. Адрес микропрограммы формируется устройством формирования адреса МК (УФАМК) и хранится в РАМК. По этому адресу из памяти микрокоманд (ПМК) БМУ считывается микрокоманда и фиксируется в регистре МК (РМК).
Микрокоманда содержит два основных поля:

Код микрооперации (КМО).
Адрес следующей МК (АСМК)
КМО дешифрируется и преобразуется в набор управляющих сигналов y1…ym, управляющих функционированием процессора. Адрес следующей микрокоманды поступает в УФАМК, в ркезультате чего производится выборка следующей МК.
Рассмотренный БМУ использует принудительную адресацию МК. БМУ такого типа используются чаще всего. Кроме них используются и БМУ с естественной адресацией, в которых для задания адресов МК используется счетчик микрокоманд Сч МК.
4.5 Развернутая структура процессора и его функционирование
4.5.1 Обобщенная структура процессора с микропрограммным управлением
В состав процессора (см. рисунок 4.5.1) входят блоки АЛУ, РОН, УУ, интерфейсы памяти и УВВ. Данные из памяти и ПУ последовательно передаются через двунаправленную магистраль данных, БРД и внутреннюю магистраль данных на входы АЛУ или РОН. Команды поступают в РК по той же магистрали.
Выполнение некоторой программы начинается с загрузки СчК начальным адресом. Содержимое СчК передается в буферный регистр адреса (БРА) для адресации памяти. Команда, считанная из памяти по входной магистрали, через БРД поступает в РК. КОП команды используется для выборки микропрограммы из ПЗУ и формирования сигналов, управляющих ходом выполнения команды. Адресная часть команды передается в БРА для выборки операндов. Операнды заносятся в аккумулятор А или один из регистров РОН.
Результаты выполнения команд с выхода сумматора () поступают в магистраль данных, с которой они могут быть пересланы в ОП или любой регистр (А или РОН).
После завершения процесса исполнения текущей команды, содержимое СчК модифицируется и производится выборка следующей команды.
В качестве внешних управляющих сигналов используются выходные сигналы чтения (Чт) и записи (Зп) для управления памятью (формируются при выполнении команд обращения к памяти), сигналы ввода (Вв) и вывода (Выв) (формируются при выполнении команд обращения к УВВ); входной сигнал запрос прерывания ЗПр, обеспечивающий прерывание выполнения основной программы и переход к выполнению подпрограммы, соответствующей внешнему запросу. Часто в процессорах формируют сигналы внутренних прерываний (например, при попытке деления на нуль или при недопустимых переполнениях).
Указатель стека УС предназначен для адресации стековой памяти, которая чаще всего реализуется в некоторой области оперативной памяти. Эта область определяется либо операционной системой, либо программистом путем загрузки начального адреса области стека в УС.
4.5.2 Рабочий цикл процессора
Функционирование процессора состоит из повторяющихся рабочих циклов, каждый из которых соответствует выполнению одной команды. Завершив рабочий цикл процессор переходит к выполнению следующего рабочего цикла.
Предположим, что процессор может выполнять четыре типа команд:
– основные (арифметические, логические, пересылочные операции);
– передачи управления;
– ввода-вывода;
– системные (установка маски прерываний, состояния процессора и др.).
Рассмотрим рабочий цикл, выполняемый покомандно (существуют и рабочие циклы, выполняемые по машинным циклам).
Рабочий цикл начинается (см. рисунок 4.5.2) с определения состояния процессора – счет или ожидание . Из состояния ожидания процессор может выйти только по сигналу ЗПр (или “Запрос захвата шины” для некоторых процессоров). Процессор в этом состоянии никаких действий не выполняет.
В состоянии “Счет” (счет- последовательная выборка и выполнение команд), если поступил запрос прерывания, процессор сбрасывает триггер прерывания ТгПр и переходит к выполнения подпрограммы обработки прерывания путем передачи адреса подпрограммы в СчК. Если сигнал ЗПр отсутствует, последовательно выполняются следующие этапы рабочего цикла выполнения основной команды: формирование исполнительных адресов операндов, выборка операндов, выполнение операций и запоминание результата. После этого процессор переходит к выборке следующей команды и цикл повторяется.
При выполнении большинства команд формируются признаки операций, которые используются в командах условного перехода.
При выполнении команд передачи управления проверяется условие перехода по вышеуказанным признакам для команд условных переходов. Если условие не выполняется, то выбирается следующая по порядку команда по подвинутому адресу, хранящемуся в СчК. Если условие выполняется, то в СчК заносится адрес перехода.

Рисунок 4.5.2 – Рабочий цикл процессора
Команда вызова подпрограмм и переход к подпрограмме выполняется так же, как и команда перехода, но при этом дополнительно запоминается состояние процессора.
Системные команды производят переключение состояния процессора (программы).
Команды ввода-вывода инициируют обращение процессора к УВВ (ПУ).
4.5.3 Понятие о слове состояния процессора
В ходе функционирования процессора постоянно меняется состояние его внутренних регистров. Если поступит запрос на прерывание выполнения основной программы или команда перехода к подпрограмме, которые приводят к изменению порядка выполнения программы, то для корректного возврата из подпрограммы в основную программу необходимо запомнить состояние процессора.
Содержимое регистров, обеспечивающих восстановление состояния вычислительного процесса, составляет слово состояния программы или процессора ССП (PSW- Program status word).
Чаще всего в информацию о состоянии процессора включают содержимое счетчика команд, содержимое регистра признаков и аккумулятора.

Рисунок 4.5.3 – Структура ССП
Слово состояния обычно сохраняют в специально отведенной области памяти ЭВМ или стековой памяти. Сохранение производится автоматически (т.е. аппаратно) в начале обслуживания запроса на прерывание программы. Другие регистры процессора могут быть сохранены и восстановлены программным путем.
4.5.4 Процедура выполнения команд перехода (условного и безусловного)
При естественной адресации адрес следующей команды получается из адреса выполняемой команды увеличением его на 1, 2, 3 и т.д. (в зависимости от количества байт в команде), т. к. команды располагаются в смежных ячейках памяти. Для этого содержимое СчК автоматически модифицируется после выполнения текущей команды.
Для управления ходом выполнения программ и организации ветвлений в систему команд процессоров с естественной адресацией были введены команды условных и безусловных переходов.
Рисунок 4.5.4 – Формат команд условного и безусловного переходов
В разных машинах реализация этих команд различная, однако общий подход следующий: содержимое поля адреса перехода команды загружается в СчК, после чего процессор продолжает выполнение программы с нового адреса.
Команды безусловного перехода предписывают совершать переход по программе независимо от каких-либо условий. Существуют команды безусловного перехода по косвенному адресу. В этом случае в коде команды указывают адрес ячейки, в которой хранится адрес перехода.
При условном переходе адрес следующей команды зависит от некоторого условия, полученного в результате выполнения предыдущей. Если условие выполняется, то процессор переходит к выполнению программы по адресу, указанному в адресной части команды, если нет, то к команде, следующей непосредственно за командой условного перехода.
4.5.5 Процедура выполнения команд вызова подпрограмм
Другим типом команд передачи управления являются команды вызова подпрограмм. Их особенность заключается в том, что по окончанию выполнения подпрограммы они должны обеспечить возврат к выполнению программы, из которой подпрограмма была вызвана. Для этого адрес возврата должен быть запомнен, для чего в СчК формируется продвинутый адрес, который затем сохраняется в памяти (или в стеке). Для перехода к выполнению подпрограммы в СчК заносится адресная часть команды ее вызова. По окончанию выполнения подпрограммы адрес следующей команды основной программы, ранее сохраненный в стеке, вызывается из него, заносится в СчК и выполнение программы продолжается. Для организации возврата в основную программу подпрограмма должна оканчиваться командой “Возврат” (“RETURN”). Кроме нее существует также и команда “Условного возврата”.
Формат команды “Перехода к подпрограмме” приведен на рисунке 4.5.5.1.

Рисунок 4.5.5.1 – Формат команды “Перехода к подпрограмме”
Процесс выполнения команд “Вызов подпрограмм” проиллюстрирован на рисунке 4.5.5.2. Короткий отрезок прямой на этом рисунке соответствует одной команде, длинный- переходу к выполнению подпрограммы или возврату из нее.

Рисунок 4.5.5.2 – Процесс выполнения команды “Вызов подпрограммы”
4.6 Контрольные вопросы
Перечислите функции процессора.
Каковы функции РК и СчК в процессоре?
Назначение АЛУ процессора?
Что дает введение в состав АЛУ РОНов?
Назначение УУ процессора?
Основное отличие между аппаратными и микропрограммными УУ?
Назначение РАМК УУ?
Перечислите основные узлы блока микропрограммного управления.
Опишите последовательность выполнения команды пересылки данных между РОН, используя структуру процессора с микропрограммным управлением.
Что такое ССП (PSW)?
Опишите процедуру выполнения команд условного и безусловного переходов.
Опишите процедуру выполнения команды вызова подпрограммы.
Какое основное отличие процедур выполнения команд вызова подпрограмм и выполнения команд условного и безусловного переходов.