МОСКОВСКАЯ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ Кафедра автоматизированных систем обработки информации и управления Б.Н. Матюхин, Е.Н. Матюхина, Морозов И.А. « Схемотехника и МПС » часть 1 ФУНКЦИОНАЛЬНЫЕ УСТРОЙСТВА ЭВМ Учебное пособиеМосква 2007 г.ВВЕДЕНИЕНастоящее учебное пособие предназначено для студентов направления 552800 «Информатика и вычислительная техника» и направления 654600 « Информатика и вычислительная техника» по специальности 230102 « Автоматизированные системы обработки информации и управления ( АС) » используется при изучении теоретических разделов дисциплины «Схемотехникаи и МПС», выполнении лабораторных работ, а также при курсовом и дипломном проектировании. В пособии рассмотрены назначение, принцип действия, структурные и функциональные схемы основных функциональных устройств, входящих в состав ЭВМ. Изложены методика и примеры проектирования основных блоков арифметического устройства и устройства управления. 1. ^ Арифметическо-логическое устройствоАрифметическо-логическое устройство (АЛУ) – блок ЭВМ, который служит для выполнения арифметических и логических операций. Выполняемые в АЛУ операции можно условно разделить на следующие группы: -операции двоичной арифметики для чисел с фиксированной точкой; -операции двоичной арифметики для чисел с плавающей точкой; - операции десятичной арифметики; -операции индексной арифметики; -операции специальной арифметики; -операции над логическими кодами; -операции над алфавитно-кодовыми полями.Современные ЭВМ общего назначения обычно реализуют операции всех приведенных выше групп, а малые и специализированные ЭВМ часто не выполняют операции над числами с плавающей точкой, операции десятичной арифметики и операции над алфавитно-цифровыми полями. При необходимости эти операции выполняются специальными подпрограммами. К арифметическим операциям относятся сложение, вычитание, умножение и деление чисел в двоичных и двоично-десятичных кодах, с фиксированной точкой и с плавающей точкой. Группу логических операций составляют операции “инверсии” (логическое НЕ), “дизъюнкции” (логическое ИЛИ) и “конъюнкции” (логическое И) над многоразрядными двоичными кодами, сравнение кодов на равенство. Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигаются только цифровые разряды, знаковый разряд остается на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами). В зависимости от кодов, используемых для представления операндов, АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами. В параллельных АЛУ операнды представлены параллельными кодами и операции совершаются одновременно над всеми разрядами операндов. АЛУ последовательного действия в настоящее время практически не применяются из-за их низкого быстродействия. Все дальнейшее изложение относится к АЛУ параллельного действия. По способу представления чисел различают АЛУ: -для чисел с фиксированной точкой; -для чисел с плавающей точкой; - для десятичных чисел. По своим функциям АЛУ является операционным блоком, выполняющим микрооперации (МО), обеспечивающие прием из других устройств (например, памяти) операндов, их преобразование и выдачу результатов преобразования в другие устройства. Каждая МО реализуется физическим управляющим сигналом (УС). Генерируемая устройством управления последовательность УС определяется кодом операции команды. По структуре различают АЛУ: -с жесткой структурой; -с гибкой (магистральной) структурой.^ 1.1 АЛУ с жесткой структурой.Жесткая структура отличается тем, что связи между регистрами и функциональными узлами, выполняющими преобразование информации, однозначно реализованы при изготовлении АЛУ и не могут быть изменены в процессе эксплуатации. Эти связи соответствуют полному набору алгоритмов выполнения вычислительных и логических операций в данном АЛУ. На рис.1.1 представлена упрощенная функциональная схема АЛУ с жесткой структурой. Основными функциональными узлами (ФУ) в схеме являются три регистра РГ (1:3) и сумматор. В регистры РГ(1) и РГ(2) поступают из памяти исходные операнды, в РГ(3) образуются результаты операций. Кроме того, любой из регистров может, в том числе, выполнять операции сдвига. Рис. 1.1. Функциональная схема АЛУ с жесткой структурой Связи между регистрами и сумматором реализуются с помощью логических схем (ЛС), структура которых соответствует набору алгоритмов, выполняемых данным АЛУ. Процессы обмена информацией и ее обработка осуществляются за счет поступления управляющих сигналов (УС), которые формируются в устройстве управления (УУ) в соответствии с выполняемым алгоритмом. Достоинством данной структуры является относительная простота, вследствие чего АЛУ данного типа используются, в основном, при построении специализированных ЭВМ. ^ АЛУ с гибкой структурой.Идея гибкой структуры состоит в том, что в АЛУ имеется несколько одинаковых и равнозначных регистров, которые умеют только принимать и выдавать информацию. При этом, любой из этих регистров может участвовать в любой операции, как в качестве источника, так и в качестве приемника. На рис.1.2 представлена упрощенная функциональная схема АЛУ с гибкой или, как ее еще называют, магистральной структурой. `DCМикро-инстр.УСРис.1. 2. Функциональная схема АЛУ с гибкой структуройОдной из отличительных особенностей этой структуры является наличие единой двунаправленной магистрали данных, по которой данные поступают из памяти и любого регистра, а также выдаются в память и регистры. В состав АЛУ входят несколько регистров РГ(1:к) общего назначения (РОН), а также сумматор (SM) и дешифратор (DC). Кроме того, может быть единый блок, реализующий операции сдвигов ( на схеме не показан). Функционирование АЛУ определяется микроинструкциями, которые поступают из УУ на дешифратор (DС). На выходе DC появляются УС, поступающие на регистры и ЛС на входах и выходе сумматора в соответствии с выполняемым алгоритмом. Достоинством данной структуры является возможность в процессе отладки или эксплуатации изменять алгоритмы выполнения операций или добавлять новые. В большинстве современных ЭВМ используются АЛУ магистрального типа. Устройство управления (УУ) Предназначено для обеспечения работы всех узлов и устройств ЭВМ в соответствии с выполняемой программой. Основные функции УУ: -организация пуска и остановки ЭВМ; -определение очередности выборки команд из оперативной памяти; -формирование физических адресов операндов; -формирование последовательности управляющих сигналов для выполнения арифметических, логических и иных операций при выполнении программы. Обеспечение работы ЭВМ в различных режимах: -автоматически выполняемая программа; -пошаговое выполнение программы; -режим прерывания; -прямого доступа к памяти; и т. д.Рис. 2.1. Обобщенная структура УУЦУУ - центральное УУ, которое выполняет основные функции по реализации программы. МУУ – местное УУ (находится при каждом из устройств, входящих в состав ЭВМ). Оно реализует специфические алгоритмы, соответствующие принципам действия различных внешних устройств.Рис.2.2. Иерархическая структура понятий при постановке задач на ЭВМ Программа – кодированная запись алгоритма. Команда – кодированная запись вычислительной, логической или иной операции. В устройствах ЭВМ команда физически выполняется с помощью микроопераций. Микрооперация – некоторое простейшее преобразование данных, например, прием байта данных в регистр, инверсия переменной и т.д. ^ 2.1 Структура команды Структура любой команды состоит из нескольких полей, основные из которых представлены в табл.2.1. Таблица 2.1 код операции адресная часть код модификации Код операции (коп) указывает, какая именно операция (арифметическая, логическая и т.п.) выполняется. Если поле « коп» состоит из « m» двоичных разрядов, то в данной системе команд может содержаться до различных операций. Любой операции соответствует свой код операции. В адресной части указываются адреса операндов. Операнд – число, команда, код, над которыми выполняется указанная операция. Коды модификации используются при вычислении физических адресов данных. В зависимости от структуры адресной части различают следующие виды команд: -безадресные (например, остановка); -одноадресные; -двухадресные; -трехадресные; -многоадресные. Рассмотрим на примере программирования простейшего алгебраического выражения (2.1) взаимосвязь между адресностью команды и структурой соответствующего фрагмента программы.Дано ( 2.1)Данные и результат размещаются, например, в следующих условных адресах оперативного запоминающего устройства (ОЗУ). Составим фрагмент программы для выражения (2.1) при одноадресной структуре команды. Как видно из табл. 2.2 фрагмент программы занимает три ячейки в памяти.Таблица 2.2. адрес команда пояснения К чтение М1 К+1 сложение М2 К+2 запись М3 В табл. 2.3 представлена структура двухадресной команды.Таблица 2.3. коп М1 М2 Фрагмент программы для выражения (2.1) при двухадресной структуре команды состоит всего из одной команды: сложение (М1) + (М2) → (М2) (2.2) Как следует из (2.2), результат сложения заносится по адресу одного из слагаемых. В табл. 2.4 представлена структура трехадресной команды. Фрагмент программы для выражения (2.1) состоит при трехадресной структуре также всего из одной команды (2.3). Таблица 2.4. Коп М1 М 2 М 3 сложение (М1) + (М2) → (М3) (2.3) Как видно, при двух и трехадресной структурах команды фрагмент программы для выражения (2.1) занимает только одну ячейку памяти. Однако, если принять, что ячейка оперативной памяти содержит ограниченное количество разрядов, то предпочтение имеет одноадресная структура команды, так как при этом можно адресовать больший объем памяти.. В современных ЭВМ принята переменная структура команды (за основу взята двухадресная) в зависимости от назначения команды. Одной из основных функций ЦУУ является определение очередности выбора команды при выполнении программы, или определение следующего адреса команды (САК). В каждой программе содержатся два типа участков: линейная часть и разветвление. На линейной части программы команды располагаются по последовательным адресам оперативной памяти. При этом адрес следующей команды формируется с помощью счетчика. Фрагмент программы в табл. 2.2 является линейной частью программы. Разветвления в программе происходят при выполнении безусловного перехода (БП) и условного перехода (УП). В командах БП и УП адрес следующей команды указан в выполняемой команде. Рис.2.3. Фрагмент алгоритма программы с разветвлением. Ниже приведен алгебраический пример, для решения которого потребуется написать программу с разветвлением. если , то ; если , то ^ 2.2 Центральное устройство управления (ЦУУ) Рис. 2.4. Упрощенная структура ЦУУВ состав ЦУУ (рис. 2.4) входят следующие основные функциональные узлы (ФУ) и блоки. ПУ – пульт управления с клавиатурой, посредством которой производят пуск и останов ЭВМ, задают режимы работы, вводят программу и данные. БС- блок синхронизации, содержащий генератор импульсов, который начинает работать сразу после включения питания и выдает бесконечную последовательность синхроимпульсов. Из этих импульсов формируются в УУ все последовательности управляющих сигналов (УС), которые обеспечивают функционирование ЭВМ. СК – счетчик команд (программный счетчик). При включении ЭВМ на вход R поступает с ПУ сигнал, который устанавливает СК:=0. Далее с ПУ в СК поступает адрес начальной команды (АНК), с которого начинается выполнение некоторой программы. Импульсы на счетный вход СК поступают из БС через логическую схему (ЛС), и если выполняется линейный участок программы, то при этом формируется следующий адрес команды (САК). РК- регистр команды, в него из оперативного запоминающего устройства (ОЗУ) принимается очередная команда, которая будет выполняться. Форм. САК - логическая схема, которая обеспечивает образование физического адреса (ФА) следующей команды при разветвлении программы. В эту логическую схему поступает информация из РК (адрес и коды модификации), а также логические условия (ЛУ) из АЛУ . РА- регистр адреса, в него поступает сформированный ФА оперативного запоминающего устройства (ОЗУ), по которому происходит считывание команды и прием ее в РК. Код операции попадает на дешифратор, где определяется, какая именно команда будет выполняться. БФУС – блок формирования управляющих сигналов. Для каждой выполняемой команды он формирует свою последовательность управляющих сигналов – микроопераций (МО) , которые поступают на различные устройства и узлы ЭВМ. На линейном участке программы САК образуется в СК при добавлении единицы к его содержимому после выполнения каждой команды. При выполнении команд: --безусловного (БП) перехода САК равен содержимому адресной части в команде; --условного (УП) перехода САК формируется в зависимости от логических условий, которые могут поступать из АЛУ или других устройств. Если ЛУ = 0, то САК = СК + 1 Если ЛУ = 1, то САК = , т.е. содержимому адресной части команды УП. БРГ – блок регистров, который содержит программно-доступные и программно-недоступные регистры. Программно-недоступные регистры используются для реализации различных вычислительных алгоритмов. Программно-доступные регистры ( регистры сегментов, регистры индикации и т.д.). С их помощью реализуется тот или иной тип организации ОЗУ.^ 2.3 Блок формирования управляющих сигналов. Существуют 2 основные структуры БФУС: - жесткая структура; - микропрограммная структура.2.3.1 Блок формирования управляющих сигналовс жесткой структурой. Отличается тем, что формирование последовательностей управляющих сигналов осуществляется с помощью логических схем. На рис.2.5 представлена упрощенная функциональная схема БФУС с жесткой структурой. Основными ФУ являются двоичный счетчик тактов, дешифратор тактов (ДС), триггер управления (ТУ), формирователь управляющих сигналов (УС). Рис. 2.5. Функциональная схема БФУСНа рис. 2.5 представлена упрощенная функциональная схема БФУС, в состав которой входят следующие функциональные узлы (ФУ) и логические схемы ( ЛС): ГСИ – генератор синхроимпульсов; СТ2 тактов - двоичный счетчик, который подсчитывает количество тактов (импульсов), прошедших за время выполнения данной вычислительной или логической операции; ТУ- триггер управления, который управляет логической схемой (ЛС) на входе счетчика ДС тактов - дешифратор, на выходах которого образуется стандартная последовательность управляющих потенциалов (УП), распределенных во времени (по номерам тактов) и в пространстве (по номерам контактов на выходе дешифратора); ДС КОП – дешифратор кода операции определяет, какая команда будет выполняться; Рис. 2.6 Временная диаграмма стандартных сигналов БФУСРИ – распределитель импульсов, который распределяет синхроимпульсы в пространстве и времени, например, управляющий импульс УИ1 появится на выходе №1 в первом такте. При включении ЭВМ или после окончания выполнения очередной команды ТУ:=0 и СТ2 :=0. Если на вход подается сигнал Н.ОП (начало операции) или ПУСК, то ТУ устанавливается в 1, и на счетчик тактов поступают импульсы. При этом, как было показано выше, формируются две стандартных последовательности управляющих потенциалов УП(1:m) и управляющих импульсов от УИ(1:m) , где m - количество тактов, необходимых для выполнения данной операции. Далее УП(1:m) и УИ(1:m) поступают на формирователь управляющих сигналов (Форм. УС), на выходе которого образуется нужная последовательность УС, реализующая данную операцию на ЭВМ. Для каждой команды в составе Форм.УС существует своя ЛС для формирования соответствующей последовательности УС.2.3.2 Основные этапы проектирования БФУС жесткого типа. содержательное рассмотрение задачи, т.е. математическая постановка, числовые примеры; построение обобщенной схемы алгоритма; разработка структуры АЛУ и списка микроопераций с соответствующими характеристиками; составление кодированной схемы алгоритма, т.е. привязанной к разработанной структуре АЛУ; 5) построение временной диаграммы управляющих сигналов; разработка логической схемы БФУС. 2.3.3 Пример построения фрагмента БФУС с жесткой структурой для операции «сравнение модулей двух чисел». Математическая постановка операции. Если , то признак ; Если , то признак . Вычитание выполняется по алгоритму ПД. В результате вычитания образуется перенос из старшего разряда сумматора: если , то , ; если , то , . Строим обобщенную схему алгоритма. На рис. 2.7 представлена т.н. обобщенная схема алгоритма. Это означает, что данный алгоритм может быть реализован на любой структуре АЛУ. Тw - триггер, в котором должно запоминаться значение признака w. Принимаем, что строим АЛУ параллельного действия с непосредственными связями. Рис. 2.7 Обобщенная схема алгоритма.Соответствующий фрагмент АЛУ представлен на рис. 2.8. Он состоит из 2-ух регистров , сумматора параллельного действия, триггера и двух ЛС. В РГ1 на вход «Д» поступает из ОЗУ первый операнд «А» (ОП1[0:n]), который будет принят в регистр микрооперацией ПР РГ1. Соответственно в РГ2 микрооперацией ПР РГ2 будет принят второй операнд «В» (ОП[0:n]).Рис. 2.8. Фрагмент АЛУДалее микрооперацией ВЫД SM на входы сумматора подаются «А» в прямом коде и «В» в обратном коде. Кроме того, на третий вход сумматора поступает микрооперация «перенос в младший разряд». После этого на выходе сумматора образуются сумма ( на рис. 2.8 не обозначена) и перенос из старшего разряда сумматора – p0. Затем микрооперацией ПРТw значение переноса «p0» принимается в триггер переноса Тw. Значение Тw является логическим признаком (флагом), который определит переход к следующей команде при разветвлении программы. На фрагменте АЛУ на рис. 2.8 отображены всего два регистра, поскольку для реализации заданного алгоритма этого достаточно, так как не требуется определить значение разности модулей. Однако, в реальном АЛУ всегда имеется третий регистр, в который принимается результат операции. Строим кодированную схему алгоритма (рис.2.9), привязанную к фрагменту АЛУ на рис. 2.8. Эта схема алгоритма содержит последовательность микроопераций (МО), которые необходимо подать на АЛУ, чтобы выполнить заданную операцию Напоминаем, что в действительности каждая МО выполняется соответствующим физическим УС. Приступим к построению ЛС в составе БФУС, которая обеспечит формирование последовательности УС для выполнения рассматриваемой операции. Принимаем, что у нас одноадресная структура команды. Тогда получается, что операция «сравнение модулей» реализуется с помощью двух одноадресных команд (табл. 2.5).Таблица 2.5. Чтение А A РГ1 Сравн. мод. В Считаем, что операция « вычитание» выполняется по алгоритму ПД. После выполнения 1-ой команды операнд «А» уже находится в РГ1 в прямом коде. Составляем фрагмент схемы БФУС для 2-ой команды - «сравнение с модулем В». В табл. 2.6 представлен перечень микроопераций с характеристиками. В 4-ой графе таблицы указана длительность МО в тактах, в 5-ой графе - № такта , с которого начинается данная МО. Принято, что чтение из ОЗУ происходит за 3 такта.Рис. 2.9. Кодированная схема алгоритма.Таблица 2.6. № МО Наименование Вид МО Длит. (такт) № такта Куда направл. МО1 Чтение ОЗУ импульс. 1 1-ый в ОЗУ МО2 Чтение ОЗУ импульс. 1 4-ый в ОЗУ Прием в РГ2 импульс. 1 6-ой в АЛУ МО4 Выдача SM, потенц. 4 7÷10-ый в АЛУ Микрооперации «Выдача SM» и «» являются потенциальными УС и их длительность определяется временем суммирования. Пусть такта. МО5 Прием в импульс. 1 10-ый в АЛУ МО6 Конец операции импульс. 1 11-ый в УУ Рис. 2.10. Фрагмент БФУС c жесткой структуройНа рис. 2.10 представлен фрагмент логической схемы, которая формирует последовательность УС для реализации операции «сравнение модулей». Принцип построения ЛС достаточно прост и основан на табл. 2.6. Например, МО2 относится к импульсному виду, длительность 1 такт, начинается с 4-го такта и существует, когда выполняется операция «ср. мод». Тогда ее формирование описывается следующим логическим выражением: МО2:= «ср. мод» & УИ4 МО4- потенциальная переменная, существует в тактах (7-11) : МО4:= «ср. мод» & УП7 V УП8 V УП9 V УП10 V УП11 Логические выражения для остальных МО можно составить самостоятельно. Сформированная таким образом последовательность УС поступает на фрагмент АЛУ (рис.2.8) и обеспечивает выполнение микроопераций МО1-МО6. Результат операции сравнения соответствует состоянию триггера Тw. 2.3.2. Блок формирования управляющих сигналовмикропрограммного типа. Принцип микропрограммного управления состоит в том, что алгоритм выполнения вычислительной или иной операции кодируется в виде микропрограммы аналогично тому, как алгоритм выполнения задачи кодируется в виде программы. На рис. 2.11. представлена иерархия понятий, на которых основан принцип микропрограммного управления. Микрокоманда - кодированная запись одной или нескольких микроопераций. Микропрограмма – последовательность микрокоманд. В ЭВМ микропрограммы для выполнения всех операций помещаются в постоянном запоминающем устройстве (ПЗУ).Рис. 2.11. Иерархия микропрограммирования . Структура микропрограммы аналогична структуре программы (есть линейные и разветвленные участки). В табл. 2.7 представлен формат микрокоманды. Таблица 2.7. МО АМК АР У МО – коды микроопераций, которые должны выполняться данной микрокомандой. АМК – поле с адресом микрокоманды, которая должна выполняться после данной микрокоманды на линейном участке микропрограммы. У – поле управления (коды управления), они используются для организации разветвления в микропрограмме. Если данная микрокоманда может повлечь разветвление, то следующий адрес микрокоманды (САМК) вычисляется на основании кодов АМК и кодов управления (У). АР – коды адресов регистров, которые используются для управления АЛУ с магистральной структурой. 2.3.2.1. Кодирование поля МО. Существуют 2 способа кодирования: -горизонтальный; -вертикальный. Пусть в АЛУ есть набор микроопераций: гашение РГ1 ГШ РГ2 ГШ РГ3 ПР РГ1 ПР РГ2 контроль p0 выдача SM Горизонтальное кодирование отличается тем, что в поле микроопераций должно быть предусмотрено столько разрядов, сколько всего имеется различных микроопераций (табл.2.8).Таблица 2.8. поле МО Наим. микрооп. ГШ РГ1 ГШ РГ2 ГШ РГ3 ПР РГ1 ПР РГ2 контр. p0 ВЫД ОЗУ ВЫД SM № разр. 1 2 3 4 5 6 7 8 Н-р 1 1 1 0 0 0 0 0 “1” – данная микрооперация будет выполнена этой микрокомандой Совместимые МО отличаются тем, что они могут быть выполнены одной микрокомандой. Совместимые МО: ГШ РГ1, ГШ РГ2, ГШ РГ3. Несовместимые МО – те, которые не могут быть закодированы в одной команде, т.е. не должны выполняться одновременно. Например: ГШ РГ1, ПР РГ1. Недостаток горизонтального кодирования состоит в том, что требуется слишком большое количество разрядов в поле МО, что приводит к увеличению разрядности ПЗУ. Достоинством этого метода является простота кодирования, наглядность. Горизонтальное кодирование применяется в несложных специализированных цифровых управляющих устройствах . Вертикальное кодирование отличается тем, что код поля микроопераций задается с помощью нескольких многоразрядных двоичных кодов ( рис.2.12). При кодировании микрооперации группируют в зависимости от принадлежности функциональным узлам АЛУ или другим устройствам. Такой способ используется в реальных ЭВМ.Рис.2.12. Структура поля МО при вертикальном кодировании. 2.3.2.2 Кодирование поля МО для АЛУ с магистральной структурой. В формате МО для такого АЛУ отдельно кодируется название МО и в поле АР указывается адрес регистра, на который должна быть направлена данная МО. Как следует из рис. 2.13 на выходе ДС МО может появиться одна из 4-х МО: ГШ ( гашение) - установка РГ в ноль , ПР-прием, ВЫД ОК – выдача обратным кодом, ВЫД ПК – выдача прямым кодом. В поле АР закодированы номера регистров РГ[1:8]. Например, микрооперация ГШ РГ5 формируется так ГШ РГ5:= ГШ & РГ5Рис. 2.13. Кодирование МО для АЛУ с магистральной структурой. Рассмотрим, как происходит формирование следующего адреса микрокоманды (САМК) при разветвлениях в микропрограмме. В этом случае формирование САМК определяется полями АМК и У. Например, S = A ± B обозначим: D: = 1 – вычитание , D: = 0 – сложение. Рис. 2.14. Фрагмент алгоритма с разветвлением.На рис. 2.14 представлен фрагмент алгоритма с разветвлением. Очевидно, что адрес САМК определяется значением переноса, т.е. признаком wi. В общем случае следующий адрес микрокоманды при разветвлении определяется следующим логическим выражением САМК[1:k] := АМК[1:k] v y1&ω1 v y2&ω2 v ... v ym&ωm.; y[1:m] – код управления (поле у) ω[1..m] – логические условия. В поле Уi ставится “1”, если данная микрокоманда определяет разветвление по логическому признаку wi Количество разрядов в поле У определяется числом разветвлений, которые возможны в микропрограмме.Пример: АМК[1:6] = 000101; У[1:3] = 100; ω[1:3] = 110; следовательно, САМК[1:6 ] = 1001012.3.2.3 БФУС микропрограммного типа На рис. 2.15 представлена упрощенная функциональная схема БФУС микропрограммного типа. Содержимое в РГкоп принимается при считывании команды из ПЗУ. В ПЗУ находятся микропрограммы, обеспечивающие выполнение всей системы команд данной ЭВМ. На основе кода операции в ЛС формируется начальный адрес микропрограммы, который принимается в регистр адреса микрокоманды (РГ АМК). Рис. 2.15 Функциональная схема БФУС микропрограммного типа По этому адресу из ПЗУ считывается микрокоманда и принимается в регистр микрокоманд ( РГ МК). С выхода РГ МК коды поля МО поступают на дешифратор ДС МО и далее на формирователь. Формирователь на основе кодов МО образует физические УС заданного типа длительности. УС поступают на все устройства ЭВМ в соответствии с выполняемой командой. Коды полей АМК, У и логические признаки из АЛУ (флаги) поступают на схему «логика форм. САМК», где и образуется следующий адрес микрокоманды. При завершении выполнения данной микропрограммы на выходе ДС МО появляется УС «конец операции», который инициирует выборку из ОЗУ следующей команды и ,следовательно, новой микропрограммы. 2.3.2.4. Основные этапы разработки БФУС микропрограммного типа. Содержательное рассмотрение алгоритма вычислительной операции с числовыми примерами. Составление обобщенного алгоритма выполнения операций. Разработка структуры АЛУ и системы микроопераций Составление кодированной схемы алгоритма, привязанной к данной схеме АЛУ. Разработка формата микрокоманды, выбор разрядности полей микрокоманды. Составление списка микроопераций, реализующих данный алгоритм. Кодирование микрокоманд (написание микропрограммы). Разработка логических схем формирования САМК, дешифратора МО и формирователя УС.2.3.2.5. Разработка микропрограммы на примере операции “деление в прямых кодах”. Принимаем, что числа представлены в прямых кодах в форме с фиксированной запятой. Машинный алгоритм выполнения данной операции практически подобен ручному. Основные особенности: -операция деление выполняется над модулями чисел; -знак результата определяется логическим способом; - в машинном алгоритме делитель сдвигается вправо; -операция сравнение выполняется в прямых кодах. Выполняем числовой пример деления двоичных чисел: 0 такт^ 3.1. Оперативные запоминающие устройства. В зависимости от физических свойств запоминающей среды различают ферромагнитные ОЗУ и полупроводниковые ОЗУ. Ферромагнитные ОЗУ на магнитных сердечниках широко применялись во 2-ом и 3-ем поколениях ЭВМ. Запоминающий элемент представляет собой ферритовое кольцо, которое обеспечивает запоминание одной двоичной цифры. В настоящее время такие ОЗУ используются в специализированных ЭВМ (космос). Достоинством ферромагнитных ОЗУ является то, что при выключении питания и при космическом облучении информация не разрушается. Однако они более сложные, дорогие и возникают трудности при построении ОЗУ больших объемов. Полупроводниковые ОЗУ в настоящее время применяются очень широко в качестве основной оперативной памяти ЭВМ. Они дешевле, позволяют создавать ОЗУ большого объема, более быстрые, но при выключении питания и при космическом излучении информация пропадает.В настоящее время используются две структуры: - ОЗУ с двумерной структурой - типа 2D; - ОЗУ с объемной структурой -типа 3D.3.1.1 ОЗУ со структурой 2DРис. 3.1 Структура ОЗУ типа 2DНа рис. 3.1 представлена упрощенная схема ОЗУ с плоской структурой (2D ). Она включает в себя следующие основные функциональные узлы: УЧ – усилитель чтения, УЗ – усилитель записи, ТС – триггер слова, РА- регистр адреса, ДС – дешифратор адреса, МЗЭ - матрица запоминающих элементов, МУУ – местное устройство управления.Рис. 3.2. ЗЭ – запоминающий элемент в структуре 2DОсновной функциональный узел – двухмерная (2D) матрица запоминающих элементов (МЗЭ). На рис.3.2 укрупненно представлен ЗЭ с подключенными шинами. Запись и считывание информации осуществляется посредством ША – шины адреса, ШЗ – шины записи и ЩЧ – шины чтения. ША подключена ко всем ЗЭ одного адреса, ЩЗ и ШЧ являются разрядными и объединяют ЗЭ одного разряда. В режиме ЧТ поступает сигнал на соответствующую ША, при этом одновременно выбираются ЗЭ всех разрядов данного адреса и считанные сигналы поступают на УЧ всех разрядов. При поступлении на все УЧ сигнала стр.ЧТ. на их выходах появляется информация, которая принимается в ТС всех разрядов . Опишем функционирование ТС1 с помощью логического выражения (3.1), где переменная W1 –информация, которая принимается в ТС1 в режиме записи.^ ТС1 ‘: =’ ‘ЕСЛИ’ ГШ ‘ТО’ 0 ‘ИНЕСЛИ’ W1 ‘ТО’ 1 ‘ИНЕСЛИ’ УЧ1 ‘ТО’ 1 ‘ИНАЧЕ’ ТС1 (3.1) Достоинства структуры 2D состоит в том, что считывание информации происходит при поступлении на него одного адресного сигнала. Это обеспечивает более высокую помехоустойчивость запоминающего устройства и более высокое быстродействие. Структура ОЗУ типа 3D. Рис. 3.3 ОЗУ по структуре 3DСтруктура данного ОЗУ (рис. 3.3) называется объемной, так как в ней содержится столько МЗЭ, сколько разрядов в слове. На одной матрице размещены ЗЭ одного разряда всех адресов. Все эти ЗЭ подключены к одной разрядной ШЧ и одной ШЗ. ША раделена пополам по числу разрядов. При этом образуются две равных группы шин: ШАx и ШАy На рис. 3.4 изображен ЗЭ с подключенными к нему шинами: ШЧ, ШЗ, ШАx, ШАy . Рис. 3.4. Запоминающий элемент в структуре 3D.Каждый ЗЭ находится на скрещении ШАx и ШАy. Каждая из ША подключена последовательно к ЗЭ данного адреса на всех матрицах. При операциях ЧТ и ЗП на всех матрицах одновременно выбираются ЗЭ, находящиеся на скрещении одних и тех же шин ШАx и ШАy. Сравнительная оценка ОЗУ 2D и 3D. 1. Построение ОЗУ по структуре 2D требует больше адресного оборудования Адр. Об.2D ≡ N – количество слов в ОЗУ. Адр. Об.3D ≡ 2*√N для ОЗУ больших объемов используется 3D. В структуре 3D наличие большого числа матриц приводит к увеличению длины адресной шины, что приводит к колебательным процессам. Из-за этого ограничивается быстродействие запоминающего устройства этого типа (нельзя подавать короткие импульсы).^ 3.1.3 Полупроводниковые запоминающие устройства. Полупроводниковые запоминающие устройства используют в качестве запоминающих элементов статические триггеры типов ТТЛ, ЭСЛ, МОП. Чаще используются МОП, потому что потребляют наименьшую мощность.Рис. 3.5. Принципиальная схема полупроводникового З.Э.Рис. 3.6. Временная диаграмм работы З.Э.V3, V4 – образуют триггер. V1, V2 – их нагрузка. V5, V6 – выборка этого ЗЭ. Uв : = 1; Uн : = 0; Uв = Eп Режим записи 0: на внешний усилитель собранный на V7 подается положительный сигнал “ЗП0”, а на Ua подается положительное сигнал Ua, который открывает V5 и V6; на выходе V7 появляется отрицательный сигнал, который через V5 поступает на затвор V3. Если в ЗЭ : = 1, тоесть V3 был открыт, т.к. на затвор V3 поступал отрицательный сигнал с R7, то V3 будет закрываться при этом открывается V4 и ЗЭ переходит в состояние 0 (ЗЭ : = 0). Под положительным сигналом на V8 и положительным сигналом на Ua дальнейшее происходит аналогично для ЗП0.^ 3.1.4 Ассоциативные запоминающие устройства (АЗУ). Отличаются тем, что поиск информации происходит не по адресу, а по некоторому признаку, что ускоряет процесс поиска нужной информации; позволяет провести поиск информации по указанному признаку.Рис. 3.7. Функциональная схема ассоциативного ОЗУСПВ – схема поразрядной выборки СПВ обеспечивает одновременную выборку содержимого всех разрядов одного адреса. РИ – регистр индикатор. РИj ‘: =’ ‘ЕСЛИ’ У1 ‘ТО’ 1 ‘ИНЕСЛИ’ (ЗЭj1П1) v (ЗЭj2П2) v (ЗЭj3П3)… (ЗЭjnПn) ‘ТО’ 0 ‘ИНАЧЕ’ РИj; В процессе поразрядной выборки во всех адресах одновременно и последовательно сравнивается содержимое ЗЭ с признаком, заданном в РГ ПРИЗНАКОВ. Если по какому-то ад