uzluga.ru
добавить свой файл
1 2 ... 11 12


3. ФУНКЦИОНАЛЬНЫЕ УСТРОЙСТВА

Функциональные устройства (ФУ) представляют собой сложные функциональные модули, которые могут использоваться как в качестве самостоятельных устройств, так и при построении вычислительных систем (ВС) различного назначения.

К основным типам ФУ относятся следующие:

-арифметическо-логические устройства;

-устройства управления;

-оперативные запоминающие устройства;

-внешние запоминающие устройства;

-устройства отображения информации и т.д.


3.1. Арифметическо-логическое устройство

Арифметическо-логическое устройство (АЛУ) – блок ЭВМ, который служит для выполнения арифметических и логических операций.

Выполняемые в АЛУ операции можно условно разделить на следующие группы:

Современные ЭВМ общего назначения обычно реализуют операции всех приведенных выше групп, а малые и специализированные ЭВМ, как правило, не выполняют операции над числами с плавающей точкой.

При необходимости эти операции выполняются специальными подпрограммами.

К арифметическим операциям относятся сложение, вычитание, умножение и деление чисел в двоичных и двоично-десятичных кодах, с фиксированной точкой и плавающей точкой.

Группу логических операций составляют операции “инверсии” (логическое НЕ), “дизъюнкции” (логическое ИЛИ), “конъюнкции” (логическое И), суммирования по модулю 2 над многоразрядными двоичными кодами.

Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигаются только цифровые разряды, знаковый разряд остается на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами).

В зависимости от кодов, используемых для представления операндов, АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами. В параллельных АЛУ операнды представлены параллельными кодами и операции совершаются одновременно над всеми разрядами операндов.

АЛУ последовательного действия в настоящее время практически не применяются из-за их низкого быстродействия. Все дальнейшее изложение относится к АЛУ параллельного действия.

По способу представления чисел различают АЛУ:

По своим функциям АЛУ является операционным блоком, выполняющим микрооперации (МО), обеспечивающие прием из других устройств (например, памяти) операндов, их преобразование и выдачу результатов преобразования в другие устройства. Каждая МО реализуется физическим управляющим сигналом (УС). Генерируемая устройством управления последовательность УС определяется кодом операции команды.

По структуре различают АЛУ:

  • с жесткой структурой;

  • с гибкой (магистральной) структурой.


3.1.1. АЛУ с жесткой структурой

Жесткая структура отличается тем, что связи между регистрами и функциональными узлами, выполняющими преобразование информации, однозначно реализованы при изготовлении АЛУ и не могут быть изменены в процессе эксплуатации. Эти связи соответствуют полному набору алгоритмов выполнения вычислительных и логических операций в данном АЛУ.

На рис. 3.1 представлена упрощенная функциональная схема АЛУ с жесткой структурой. Основными функциональными узлами (ФУ) в схеме являются три регистра РГ (1:3) и сумматор. В регистры РГ(1) и РГ(2) поступают из памяти исходные операнды, в РГ(3) образуются результаты операций. Кроме того, любой из регистров может также выполнять операции сдвига.



Рис. 3.1. Функциональная схема АЛУ с жесткой структурой


Связи между регистрами и сумматором реализуются с помощью логических схем (ЛС), структура которых соответствует набору алгоритмов, выполняемых данным АЛУ. Процессы обмена информацией и ее обработка осуществляются за счет поступления управляющих сигналов (УС), которые формируются в устройстве управления (УУ) в соответствии с выполняемым алгоритмом. Преимуществом данной структуры является относительная простота, вследствие чего АЛУ данного типа используются в основном при построении специализированных ЭВМ.

3.1.2. АЛУ с гибкой структурой

Идея гибкой структуры состоит в том, что в АЛУ имеется несколько одинаковых и равнозначных регистров, которые умеют только принимать и выдавать информацию. При этом любой из этих регистров может участвовать в каждой вычислительной операции, как в качестве источника, так и в качестве приемника.

На рис.3.2 представлена упрощенная функциональная схема АЛУ с гибкой или, как ее еще называют, магистральной структурой.





DC



УС

микроинструкции


Рис.3.2. Функциональная схема АЛУ с гибкой структурой


Одной из отличительных особенностей этой структуры является наличие единой двунаправленной магистрали данных, по которой данные поступают из памяти и любого регистра, а также выдаются в память и регистры. В состав АЛУ входят несколько регистров РГ(1:к) общего назначения (РОН), а также сумматор SM и дешифратор DC. Кроме того, может быть единый блок, реализующий операции сдвигов (на схеме не показан). Функционирование АЛУ определяется микроинструкциями, которые поступают из УУ на дешифратор DС. На выходе DC появляются управляющие сигналы (УС), поступающие на входы V регистров, а также на логические схемы (ЛС) на входах и выходе сумматора в соответствии с выполняемым алгоритмом.

Преимуществом данной структуры является возможность в процессе отладки или эксплуатации изменять алгоритмы выполнения операций или добавлять новые. В большинстве современных ЭВМ используются АЛУ магистрального типа.



    1. Устройство управления (УУ)

Предназначено для обеспечения работы всех узлов и устройств ЭВМ в соответствии с выполняемой программой.

Основные функции УУ:

  • организация пуска и остановки ЭВМ;

  • определение очередности выбора команд из ОЗУ;

  • формирование физических адресов операндов;

  • формирование последовательности управляющих сигналов для выполнения арифметических, логических и иных операций при выполнении программы.

Кроме того, УУ обеспечивает работу ЭВМ в различных режимах:

  • автоматически выполняемая программа;

  • пошаговое выполнение программы;

  • режим прерывания;

  • режим прямого доступа к памяти и т. д.

  • ЦУУ - центральное устройство управления, которое выполняет основные функции по реализации программы (рис. 3.3).

  • МУУ – местное УУ (находится при каждом из устройств, входящих в состав ЭВМ). Оно реализует специфические алгоритмы, соответствующие принципам действия различных внешних устройств






Рис. 3.3. Обобщенная структура УУ


Принцип построения устройства управления в составе ЭВМ основан на структуре понятий, представленной на рис. 3.4.

Программа – кодированная запись алгоритма, состоящая из команд.

Команда – кодированная запись вычислительной, логической или иной операции.

В устройствах ЭВМ команда выполняется с помощью последовательности микроопераций, которые обеспечивают простейшее преобразование данных, например, прием байта данных в регистр, инверсия переменной, сдвиг и т.д.

Микрооперации в электронной схеме реализуются с помощью физических управляющих сигналов (УС).





Рис.3.4. Иерархическая структура понятий при постановке задач на ЭВМ

    1. 3.2.1. Структура команды

Структура любой команды состоит из нескольких полей, основные из которых представлены в табл. 3.1.


Таблица 3.1


Код операции

Адресная часть

Код модификации



Код операции (коп) указывает, какая именно операция (арифметическая, логическая и т.п.) выполняется. Если поле «коп» состоит из «m» двоичных разрядов, то в данной системе команд может выполняться до различных операций.

Любой операции соответствует свой код операции. В адресной части указываются адреса операндов.

Операнд – число, команда, код, над которыми выполняется указанная операция.

Коды модификации используются при вычислении физических адресов данных.

В зависимости от структуры адресной части различают следующие виды команд:

  • безадресные (например, остановка);

  • одноадресные;

  • двухадресные;

  • трехадресные;

  • многоадресные.

Рассмотрим на примере программирования простейшего алгебраического выражения (3.1) взаимосвязь между адресностью команды и структурой соответствующего фрагмента программы.

Дано . (3.1)

Данные и результат размещаются, например, в следующих условных адресах оперативного запоминающего устройства (ОЗУ).



Составим фрагмент программы для выражения (3.1) при одноадресной структуре команды.

Как видно из табл. 3.2, фрагмент программы занимает три ячейки в памяти.

Таблица 3.2

Адрес

Команда

Пояснения

К

чтение М1



К+1

сложение М2



К+2

запись М3




В таблице 3.3 представлена структура двухадресной команды.


Таблица 3.3

Коп

М1

М2


Фрагмент программы для выражения (3.1) при двухадресной структуре команды состоит всего из одной команды:

Сложение (М1) + (М2) → (М2). (3.2)

Как следует из (3.2), результат сложения заносится по адресу одного из слагаемых.

В табл. 3.4 представлена структура трехадресной команды.

Фрагмент программы для выражения (3.1) состоит при трехадресной структуре также всего из одной команды (3.3).


Таблица 3.4

Коп

М1

М 2

М 3


Сложение (М1) + (М2) → (М3). (3.3)

Как видно, при двух- и трехадресной структурах команды фрагмент программы для выражения (3.1) занимает только одну ячейку памяти.

Однако если принять, что ячейка оперативной памяти содержит ограниченное количество разрядов, то предпочтение имеет одноадресная структура команды, так как при этом можно адресовать больший объем памяти.

В современных ЭВМ принята переменная структура команды (за основу взята двухадресная) в зависимости от назначения команды.

Одной из основных функций ЦУУ является определение очередности выбора команды при выполнении программы или определение следующего адреса команды (САК). В каждой программе содержатся два типа участков: линейная часть и разветвление.

На линейной части программы команды располагаются по последовательным адресам оперативной памяти. При этом адрес следующей команды формируется с помощью счетчика. Фрагмент программы в таблице 3.2 является линейной частью программы. Разветвления в программе происходят при выполнении команд безусловного перехода (БП) и условного перехода (УП).

В командах БП и УП адрес следующей команды указан в выполняемой команде.





Рис.3.5. Фрагмент алгоритма программы с разветвлением


Ниже приведен алгебраический пример (3.4) , для решения которого потребуется написать программу с разветвлением.



если , то ; (3.4)

если , то .


    1. 3.3. Центральное устройство управления (ЦУУ)

В состав ЦУУ (рис. 3.6.) входят следующие основные функциональные узлы (ФУ) и блоки.

ПУ – пульт управления с клавиатурой, посредством которой производят пуск и останов ЭВМ, задают режимы работы, вводят программу и данные.

БС - блок синхронизации, содержащий генератор импульсов, который начинает работать сразу после включения питания и выдает бесконечную последовательность синхроимпульсов. Из этих импульсов формируются в УУ все последовательности управляющих сигналов (УС), которые обеспечивают функционирование ЭВМ.

СК – счетчик команд (программный счетчик). При включении ЭВМ на вход R поступает с пульта управления (ПУ) сигнал, который устанавливает СК:=0.

Далее с ПУ в СК поступает адрес начальной команды (АНК), с которого начинается выполнение некоторой программы.

Импульсы на счетный вход СК поступают из блока синхронизации через логическую схему (ЛС) и, если выполняется линейный участок программы, то счетчик формирует следующий адрес команды (САК).

РК - регистр команды, в него из оперативного запоминающего устройства (ОЗУ) принимается очередная команда, которая будет выполняться.




Рис.3.6. Упрощенная структура ЦУУ

Формирователь САК - логическая схема, которая обеспечивает образование физического адреса (ФА) следующей команды при разветвлении программы. В эту логическую схему поступает информация из РК (адрес и коды модификации), а также логические условия (ЛУ) из АЛУ.

РА- регистр адреса, в него поступает сформированный физический адрес (FА) оперативного запоминающего устройства (ОЗУ). По адресу FА происходит считывание команды и прием ее в регистр команд (РК), который имеет формат команды.

Код операции попадает на дешифратор, где определяется, какой тип команды будет выполняться.

БФУС – блок формирования управляющих сигналов. Для каждой выполняемой команды он формирует свою последовательность управляющих сигналов , которые поступают на различные устройства и узлы ЭВМ.

На линейном участке программы САК образуется в СК при добавлении единицы к его содержимому после выполнения каждой команды.

При выполнении команд:

  • безусловного перехода (БП) САК равен содержимому адресной части в команде;

  • условного перехода (УП) САК формируется в зависимости от логических условий, которые могут поступать из АЛУ или других устройств.

Если ЛУ = 0, то САК = СК + 1.

Если ЛУ = 1, то САК = <адр.>, т.е. содержимому адресной части команды УП.

БРГ – блок регистров, который содержит программно-доступные и программно-недоступные регистры.

Программно-недоступные регистры используются для реализации различных вычислительных алгоритмов.

Программно-доступные регистры (регистры сегментов, регистры индексов, счетчики передающихся массивов данных и т.д.). С их помощью реализуется тот или иной тип организации виртуальных запоминающих устройств.


    1. 3.4. Блок формирования управляющих сигналов

Существуют 2 основные структуры БФУС:

  • жесткая;

  • микропрограммная.

3.4.1. Блок формирования управляющих сигналов с жесткой структурой

Отличается тем, что формирование последовательностей управляющих сигналов осуществляется с помощью логических схем.

На рис. 3.7 представлена упрощенная функциональная схема БФУС с жесткой структурой. Основными ФУ являются двоичный счетчик тактов, дешифратор тактов (ДС), триггер управления (ТУ), формирователь управляющих сигналов (УС).





Рис. 3.7. Функциональная схема БФУС с жесткой структурой


На рис.3.7 представлена упрощенная функциональная схема БФУС, в состав которой входят следующие функциональные узлы (ФУ) и логические схемы (ЛС):

ГСИ – генератор синхроимпульсов;

СТ2 тактов - двоичный счетчик, который подсчитывает количество тактов (импульсов), прошедших за время выполнения данной вычислительной или логической операции;

ТУ- триггер управления, который управляет логической схемой (ЛС) на входе счетчика;

ДС тактов - дешифратор, на выходах которого образуется стандартная последовательность управляющих потенциалов (УП), распределенных во времени (по номерам тактов) и в пространстве (по номерам контактов на выходе дешифратора). На рис. 3.8 изображен управляющий потенциал в третьем такте [УП3].

ДС КОП – дешифратор кода операции определяет, какая команда будет выполняться.




Рис. 3.8. Временная диаграмма стандартных сигналов БФУС


РИ – распределитель импульсов, который распределяет синхроимпульсы в пространстве и времени, например, управляющий импульс УИ3 появится на выходе №3 в третьем такте (рис. 3.8).

При включении ЭВМ, или после окончания выполнения очередной команды ТУ:=0 и СТ2:=0.

Если на вход подается сигнал Н.ОП (начало операции) или ПУСК, то ТУ устанавливается в 1, и на счетчик тактов поступают импульсы. При этом, как было показано выше, формируются две стандартных последовательности:

-управляющие потенциалы УП(1:m);

- управляющие импульсы УИ(1:m);

где m - количество тактов, необходимых для выполнения данной операции (команды).

Далее УП(1:m) и УИ(1:m) поступают на формирователь управляющих сигналов (Форм. УС), на выходе которого образуется нужная последовательность УС, реализующая данную операцию на ЭВМ.

Для каждой команды в составе формирователя УС существует своя ЛС для формирования соответствующей последовательности управляющих УС.


Основные этапы проектирования БФУС жесткого типа:

  1. содержательное рассмотрение задачи, т.е. математическая постановка, числовые примеры;

  2. построение обобщенной схемы алгоритма;

  3. разработка структуры АЛУ и списка микроопераций с соответствующими характеристиками;

  4. составление кодированной схемы алгоритма, привязанной к разработанной структуре АЛУ;

  5. построение временной диаграммы управляющих сигналов;

  6. разработка логической схемы БФУС.




следующая страница >>