
- •Введение
- •Цели и задачи курса
- •1. Общие сведения о вычислительных машинах и вычислительных системах
- •1.1. Основные понятия и определения
- •1.2. Классификация эвм по назначению и типу
- •1.3. Типы эвм
- •1.4. Основные принципы организации вычислительных машин и систем
- •1.5. Основные характеристики вычислительных машин и систем
- •1.5.1 Стоимость и цена аппаратного обеспечения
- •1.5.2. Производительность вычислительных машин и систем
- •Контрольные вопросы
- •2. Фукциональный состав и назначение основных устройств вм
- •2.2. Назначение шин, шина с тремя состояниями
- •2.3. Назначение устройств ввода-вывода, способы информационного обмена
- •Контрольные вопросы
- •3. Организация процессоров
- •3.1. Введение в функциональную организацию процессора
- •3.2. Операционный блок
- •3.3. Блок управления
- •3.4. Устройства управления процессора
- •3.4.1. Классификация уу
- •3.4.2. Аппаратные уу
- •3.4.3. Микропрограммные уу
- •3.5. Интерфейсный блок
- •3.6. Назначение стека
- •Контрольные вопросы
- •4. Система команд и адресация данных
- •4.1. Группы команд
- •4.2. Адресация операндов
- •4.3. Методы адресации
- •5. Память вычислительных машин
- •5.1. Иерархическая организация системы памяти
- •5.2. Иерархическая структура зу
- •5.3. Основные характеристики зу
- •5.4. Организация связи оп с процессором
- •5.5. Ассоциативные зу
- •Контрольные вопросы
- •6. Принципы обмена данными в вычислительных машинах. Интерфейсы вычислительных машин, организация прерываний
- •6.1. Шины
- •6.1.1. Синхронная шина
- •6.1.2. Пересылка данных за несколько тактов
- •6.1.3. Асинхронные шины
- •6.1.4. Заключительные замечания
- •6.2. Назначение и классификация шинных интерфейсов
- •6.3. Организация и обмен данными между периферийными устройствами и вычислительным ядром системы
- •6.4. Организация прерываний
- •6.4.1. Программные прерывания
- •Команда int
- •6.4.2. Обработка прерываний
- •6.4.3 Таблица векторов прерываний
- •6.4.4. Запуск обработчиков прерываний
- •6.5. Последовательная передача данных
- •7. Вычислительные системы параллельной обработки данных
- •7.1. Параллельная обработка как архитектурный способ повышения производительности
- •7.2. Параллелизм и конвейеризация – способы параллельной обработки данных
- •7.2.1. Параллельная обработка данных (параллелизм)
- •7.2.2. Конвейеризация
- •7.3. Классификация архитектур вычислительных систем
- •7.4. Мультипроцессоры и мультикомпьютеры
- •7.5. Классификация мультипроцессорных систем по способу организации основной памяти
- •7.6. Закон Амдала (эффективность параллельных программ)
- •8. Компьютер ibm pc и операционная система ms dos
- •8.1.Архитектурные особенности процессоров семейства ia-32
- •8.2. Организация памяти компьютера ibm pc, работающего под управлением ms dos
- •Видеопамять
- •Пзу bios
- •Системные ресурсы компьютера
- •8.3. Основы программирования на языке Ассемблера
- •8.3.1. Выполнение программ
- •8.3.2. Написание, компиляция и отладка программы
- •8.3.3. Дополнительные средства ассемблера
- •9. Темы заданий для контрольной работы
- •Тема 1. Архитектура процессора Intel 8086.
- •Контрольные вопросы
- •9.1. Аппаратная модель процессора 8086
- •Программная модель процессора
- •Тема 2. Структура ехе- и сом- программы. Вывод на экран.
- •9.2. Структура программы на языке Ассемблера.
- •9.3. Вывод информации на экран
- •Тема 3. Циклы, ввод с клавиатуры.
- •Тема 4. Ввод чисел. Перевод чисел в различные системы счисления.
- •9.4. Перевод чисел в различные системы счисления
- •Тема 5. Работа с прерываниями: перехват и восстановление.
- •Варианты задания
- •Контрольные вопросы
- •Тема 6. Программирование таймера 8254 и генерация звука
- •Программирование звукового канала таймера.
- •9.7. Инициализация таймера
- •9.8. Назначение каналов таймера в ibm pc
- •9 .9. Генерация тона.
- •9.10. Варианты задания
- •Тема 7. Ответы на контрольные вопросы по лекционному курсу
- •Вариантов заданий Таблица 9.4
- •Литература
3.3. Блок управления
В процессе выполнения программы блок управления (см. рис. 3.1) координирует работу всех блоков МП и микропроцессорной системы в целом. С помощью блока управления формируются управляющие сигналы, необходимые для организации обмена информацией с внешними устройствами, и обеспечивается выборка команд программы из памяти. В целом блок управления выполняет следующие действия:
- считывает и запоминает текущую команду;
- формирует адрес следующей команды;
- реализует выполнение по тактам алгоритма поступившей команды;
- управляет обменом информацией с внешними устройствами по системной шине.
Блок управления состоит из регистра команд (РгК), дешифратора команд (ДшК) и блока формирования управляющих сигналов (БФУС). Управляющие сигналы с выходов БФУС поступают на управляющие входы других блоков МП, настраивая их на выполнение определенных микроопераций. В состав блока управления также включают программно доступные счетчик команд PC (Program Counter) и указатель стека SP (Stack Pointer). Большинство элементов этого блока, кроме счетчика PC и указателя стека SP, являются программно недоступными. Счетчик PC (его другое название Instruction Pointer — указатель команд IP) предназначен для адресации команд программы. После выборки из памяти очередной команды в регистре IP формируется адрес следующей по порядку команды. В командах условных и безусловных переходов, вызова подпрограмм и возврата из подпрограмм в регистр IP непосредственно загружается адрес перехода. Назначение и использование указателя стека рассматривается ниже.
Выполнение любой команды реализуется как последовательность трех фаз: выборка, декодирование и выполнение. Фаза выборки обеспечивает считывание очередной команды из памяти и пересылку ее в МП. Адрес считываемой команды определяется содержимым программного счетчика PC. Любая команда, всегда содержит всю необходимую информацию о выполняемой операции и об ее операндах. Для указания этой информации команды МП имеют определенную структуру, называемую форматом или структурой команды. Форматы команд у различных типов МП в деталях отличаются. Общим является то, что структура команды состоит из двух частей: кода операции и адресной части. Код операции однозначно определяет тип выполняемой операции. Адресная часть указывает на ячейки памяти, к которым надо обратиться, выполняя команду. В ней содержится информация об адресах операндов и результата. В зависимости от типа команда может состоять из одного или нескольких байтов, при этом код операции всегда размешается в первом байте команды. Код операции текущей команды запоминается в РгК. В фазе декодирования содержимое РгК с помощью ДшК преобразуется в управляющее слово. Схема синхронизации, используя это слово, вырабатывает совокупность сигналов, управляющих внутренними операциями МП и обменом информацией между МП и внешними устройствами.
После выборки и дешифрирования команды ОБ в декодированном виде получает информацию о том, какую операцию он должен выполнить, где в памяти расположены данные, куда следует направить результат операции и где расположена следующая команда. В фазе выполнения БФУС вырабатывает последовательности управляющих сигналов, обеспечивающих выполнение операции, заданной в команде.
При описании функций, реализуемых блоками МП, последние могут быть представлены как конечные автоматы (с памятью или без памяти) либо как группы взаимосвязанных конечных автоматов. Автоматы с памятью - синхронные. Их работа синхронизирована тактовыми импульсами. Частота этих импульсов (тактовая частота) характеризует быстродействие МП. Каждый блок за один такт может выполнить простейшую операцию. Для регистра - это запись кода или выдача хранимого кода на выходы. Для счетчика - запись кода в счетчик, прибавление или вычитание единицы, выдача хранимого кода. Для мультиплексора - передача на выход сигнала с входа, определяемого управляющим кодом. Для АЛУ - одна из простейших операций, которая выполняется на уровне регистровых передач: сложение, вычитание, сдвиг, реализация одной из поразрядных логических операций.
Элементарное действие, выполняемое в одном из узлов ОБ в течение одного такта, называется микрооперацией. В некоторые такты в различных узлах ОБ (регистрах, мультиплексорах, счетчиках и др.) одновременно могут выполняться несколько микроопераций. Настройка ОБ на выполнение одной из возможных микроопераций осуществляется с помощью сигналов, поступающих на его управляющие входы. Набор этих сигналов (вектор сигналов управления) вырабатывается БФУС. Совокупность одновременно выполняемых микроопераций соответствует микрокоманде. Команда в общем случае состоит из нескольких простейших действий и обычно выполняется за несколько тактов, т.е. требует для своего выполнения нескольких микрокоманд. Последовательность микрокоманд, обеспечивающая выполнение команды, называется микропрограммой команды.
Так как выполнение любой команды по тактам на уровне регистровых передач реализуется микропрограммой команды, управляющий автомат, формирующий наборы управляющих сигналов, называют микропрограммным автоматом (МПА). В соответствии с реализуемой логикой управления МПА подразделяют на МПА с «жесткой логикой управления и МПА с «мягкой» логикой управления. Термин «микропрограммный автомат», вначале использовавшийся только применительно к управляющим автоматам с «мягкой» логикой, с начала 80-х гг. XX в. используется и для автоматов с «жесткой» логикой.
МПА с «жесткой» логикой управления представляется в виде конечного автомата (в сложных случаях используется сеть конечных автоматов). Алгоритм команды в МП с подобным МПА задан жестко соединениями схемы, поэтому список операций (система команд) МП является неизменным, и это не позволяет вносить какие-либо изменения в систему команд МП после его изготовления. Основным достоинством МПА с «жесткой» логикой управления является его высокое быстродействие. Такие устройства управления используются в большинстве однокристальных МП, отличительной характеристикой которых является то, что все элементы структуры МП выполнены на одном кристалле.
При реализации МПА с «мягкой» логикой управления используется типовая структура автомата с блоком памяти микропрограмм, который, как и основная память, имеет линейно-адресную организацию. До появления технологии СБИС МПА с «мягкой» логикой управления имели преимущественное распространение. В основном это было связано с тем, что при ограниченных возможностях технологии производства ИС и средств автоматизации проектирования МПА с «мягкой» логикой управления позволяли эффективно использовать блоки памяти с регулярной структурой для хранения микропрограмм команд проектируемой системы. Явное представление микропрограмм команд в памяти облегчает внесение изменений в алгоритмы управления. В целом разработка УА МПА с «мягкой» логикой управления в значительной мере определяется разработкой микропрограмм команд.
Следует отметить, что использование такого подхода внутри однокристального МП не является предпочтительным, так как приводит к снижению быстродействия. При необходимости изменения команд таких МП вносят изменения в схемные реализации алгоритмов
МПА с «жесткой» логикой управления представляется в виде конечного автомата (в сложных случаях используется сеть конечных автоматов). Алгоритм команды в МП с подобным МПА задан жестко соединениями схемы, поэтому список операций (система команд) МП является неизменным, и это не позволяет вносить какие-либо изменения в систему команд МП после его изготовления. Основным достоинством МПА с «жесткой» логикой управления является его высокое быстродействие. Такие устройства управления используются в большинстве однокристальных МП, отличительной характеристикой которых является то, что все элементы структуры МП выполнены на одном кристалле.
При реализации МПА с «мягкой» логикой управления используется типовая структура автомата с блоком памяти микропрограмм, который, как и основная память, имеет линейно-адресную организацию. До появления технологии СБИС МПА с «мягкой» логикой управления имели преимущественное распространение. В основном это было связано с тем, что при ограниченных возможностях технологии производства ИС и средств автоматизации проектирования МПА с «мягкой» логикой управления позволяли эффективно использовать блоки памяти с регулярной структурой для хранения микропрограмм команд проектируемой системы. Явное представление микропрограмм команд в памяти облегчает внесение изменений в алгоритмы управления. В целом разработка УА МПА с «мягкой» логикой управления в значительной мере определяется разработкой микропрограмм команд. Следует отметить, что использование такого подхода внутри однокристального МП не является предпочтительным, так как приводит к снижению быстродействия. При необходимости изменения команд таких МП вносят изменения в схемные реализации алгоритмов команд, что при развитых средствах автоматизированного проектирования не представляет труда.
В современных МП в зависимости от системы команд и сложности алгоритмов микропрограмм команд используются оба подхода при построении МПА. На уровне регистровых передач с помощью МПА независимо от типа управления непосредственно осуществляется интерпретация машинных команд программы и их выполнение. Именно поэтому уровень регистровых передач также называют микропрограммным уровнем организации вычислительных процессов ВМ. Отметим, что выполнение программ на командном уровне является более высоким уровнем организации вычислительного процесса.