Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Организация ЭВМ и систем. Учебное пособие
.pdf
Операционный блок представляет собой компонент, включающий в себя реги-
стры, сумматоры и другие устройства, предназначенные для приема информации из
внешней среды, хранения кодов слов, их трансформации и передачи результата пре-
образования во внешнюю среду. Также в его задачи входит передача информации в
управляющий блок и во внешнюю среду посредством оповещающих сигналов, при-
надлежащих множеству U={U1, U2, ..., Un}. Оповещающие сигналы содержат ин-
формацию о знаках и особых значениях операндов, а также отдельных разрядах, та-
ких как, например, равенство нулю результата операции.
Исполнение базовых операций в операционном блоке инициируется при по-
ступлении соответствующих сигналов управления из множества сигналов V={V1,
V2, ..., Vn}. Каждая отдельная функциональная операция, которая выполняется в
течение одного тактового интервала и активируется сигналом управления, называ-
ется микрооперацией. В некоторых тактовых интервалах может происходить парал-
лельное выполнение нескольких микроопераций. Этот набор микроопераций назы-
вается микрокомандой.
Управляющий блок генерирует последовательность сигналов управления,
распределенных во времени: Vt1, Vt2, ..., Vtn (где Vtj принадлежит множеству V).
Эта последовательность определяет необходимую последовательность микроопера-
ций в операционном блоке. Порядок сигналов управления определяется сигналом Z
(код операции) и сигналами V, которые зависят от операндов и промежуточных ре-
зультатов.
Существуют два основных типа управляющих блоков в цифровых устрой-
ствах:
1) управляющий блок с жёсткой логикой или схемной логикой. Для каждой
операции, которая определяется, например, кодом операции команды, создаётся
набор комбинационных схем. Эти схемы в заданные тактовые моменты активируют
соответствующие управляющие сигналы;
2) управляющий блок с хранимой в памяти логикой, также известный как
блок с запоминаемой или программируемой логикой. Каждая операция, выполняе-
мая в устройстве, связана с набором микрокоманд, хранящихся в памяти. Эти мик-
21

рокоманды содержат информацию о микрооперациях, которые должны быть выпол-
нены в течение одного машинного такта, а также указание на выбор следующей ко-
манды из памяти управляющим блоком.
Последовательность микрокоманд, выполняющих одну машинную команду
или отдельную процедуру, образует микропрограмму.
Обычно микропрограммы хранятся в специальной памяти микропрограмм
(управляющей памяти).
В управляющих блоках с хранимой в памяти программой микропрограммы
используются явно. Они программированы в виде кодов микрокоманд и затем запи-
сываются в память. Поэтому такой метод управления цифровыми устройствами
называется микропрограммированием.
В настоящее время метод программного управления является наиболее рас-
пространенным в машинах с невысокой и средней производительностью, а также в
устройствах управления периферийными устройствами. Микропрограммное управ-
ление используется в большинстве типов микропроцессоров. Хранимая в памяти
микропрограмма должна содержать информацию о функциях переходов и выходов
управляющего программного автомата. Аргументами функций переходов и выходов
автомата являются входные переменные Z(t) и U(t), а также переменные q(t), кото-
рые определяют состояние автомата Q(t).
2.4 Логическая схема функционирования ЭВМ
Любая вычислительная машина включает в себя два неотъемлемых компонен-
та в своей центральной части: центральный процессор и оперативную память [5].
Укрупненная структурная схема ЭВМ представлена на рисунке 2.2.
Центральный процессор, являясь ключевым элементом вычислительной ма-
шины, предназначен для выполнения арифметических и логических операций над
данными, а также для координации работы всех остальных компонентов вычисли-
тельной системы.
22

Рисунок 2.2 – Укрупненная структурная схема ЭВМ
Оперативная память вычислительной машины служит для хранения информа-
ции и предоставления ее по запросу другим устройствам. Для эффективного управ-
ления данными, информация, которая хранится в оперативной памяти, разделяется
на отдельные элементы, известные как «слова». Слово представляет собой
наибольшую единицу информации, с которой центральный процессор взаимодей-
ствует в качестве одной целостной единицы. В зависимости от их назначения, слова
могут быть разделены на два класса: команды и данные. Важно отметить, что разли-
чие между командами и данными заключается в способе их использования, а не в
способе их кодирования, так как оба типа информации кодируются с использовани-
ем двоичной системы.
Команда представляет собой слово, которое указывает, какую операцию необ-
ходимо выполнить процессору, где находятся исходные данные и куда следует по-
местить результат выполнения операции.
Операция – это конкретное действие, выполняемое процессором на аппарат-
ном уровне. Каждой операции соответствует свой уникальный код, который разме-
щается в поле «операции» команды и во время выполнения команды преобразуется
в последовательность электрических сигналов, которые управляют работой различ-
ных блоков внутри процессора.
23

Данные, над которыми выполняется операция, называются операндами.
Количество двоичных разрядов, кодирующих поле операции и операндов в
команде, так же, как и состав поля операндов, определяются форматом команды.
Исходя из определения команды можно предположить, что формат команд процес-
сора может иметь следующий вид
КОП А1 А2 А3 АСК,
где КОП – код операции;
А1, А2 – адреса первого и второго операндов;
А3 – адрес результата;
АСК – адрес следующей команды.
Тем не менее, данный формат обладает значительным избыточным характе-
ром. По этой причине в реальных микропроцессорах фактически используется
меньше адресов, несмотря на сохранение четырех функциональных адресов.
Уменьшение фактического числа адресов достигается путем применения неявной
адресации. Как правило, в большинстве микропроцессоров результат выполнения
операции сохраняется в памяти на месте одного из операндов, а адрес следующей
команды вычисляется путем сложения адреса текущей выполняемой команды и ее
длины.
Последовательность машинных команд, сохраненных в оперативной памяти и
выполняемых в явно или неявно заданной последовательности, представляет собой
программу.
2.5 Состав процессора и его рабочий цикл
Рассмотрим структуру микропроцессора и функциональное назначение от-
дельных компонентов, обеспечивающих выполнение программ на вычислительной
машине.
Микропроцессор вычислительной машины включает следующие основные
функциональные блоки: блок управляющих регистров, арифметико-логическое
устройство и блок регистров общего назначения.
24

Блок управляющих регистров состоит из:
счетчика адреса команд (СЧАК), также известного как программный счет-
чик (РС) или указатель инструкции (IP). Счетчик адреса команд хранит адрес па-
мяти, в котором находится текущая команда;
регистра команд, который содержит код текущей выполняемой команды;
регистра признаков, отражающего результат выполненной процессором
операции и некоторые специальные условия.
Следовательно, блок управляющих регистров содержит информацию, необхо-
димую для выполнения программы. Следует отметить, что состав блока управляю-
щих регистров может различаться для разных типов машин, но тип информации,
которую он хранит и обрабатывает, остается практически постоянным. Например, в
ЭВМ семейства x86 отсутствуют отдельные регистры для программного счетчика и
признаков выполнения операций, однако у них есть регистр слова состояния про-
граммы (PSW) – восьмибайтовое поле, которое содержит программный счетчик,
признаки результата и другую важную информацию. Аналогичная ситуация наблю-
дается у машин семейства PDP-11, где информация о признаке результата операции
хранится в регистре состояния процессора (PS), а программный счетчик выполняет
один из регистров общего назначения.
Арифметико-логическое устройство (АЛУ) процессора обеспечивает выпол-
нение всех арифметических и логических операций над данными в процессе выпол-
нения программы. АЛУ является сложным устройством и может включать в себя
блоки для арифметики с фиксированной точкой, арифметики с плавающей точкой и
десятичной арифметики. Все арифметические операции в АЛУ выполняются сумматором – специализированным устройством для сложения числовых кодов. Для вы-
полнения логических операций в АЛУ также присутствуют другие блоки, такие как
блок инверсии кодов, схемы логического «И», «ИЛИ» и сдвиговые механизмы.
Блок регистров общего назначения (РОН) предназначен для оперативного
хранения данных, которые часто используются во время выполнения программы.
Разрядность регистров общего назначения совпадает с разрядностью процессора.
Доступ к данным в регистрах общего назначения осуществляется значительно быст-
25

рее, чем к данным в оперативной памяти, но емкость регистров очень ограничена.
Например, в процессоре семейства x86 имеется шестнадцать регистров общего
назначения. Если в АЛУ присутствует блок для работы с числами с плавающей точ-
кой, то в РОН также могут входить регистры с плавающей точкой.
В дополнение к вышеперечисленным компонентам, в микропроцессор могут
входить и другие блоки. Однако для понимания основ принципа функционирования
вычислительной машины они не являются критически важными и, следовательно,
не рассматриваются в данном контексте.
Процесс функционирования ЭВМ при выполнении программы можно упро-
щенно представить следующей последовательностью шагов:
1) из оперативной памяти по адресу, записанному в РС, выбирается команда
и записывается в регистр команд;
2) команда дешифруется, т.е. из нее выделяются поля операции и операндов.
Одновременно модифицируется РС, так, чтобы он указывал на следующую команду
(в случае команд переменной длины алгоритм изменения РС может быть несколько
иным);
3) производиться выборка операндов из оперативной памяти или регистров
общего назначения; код операции и операнды подаются в АЛУ;
4) выполняется операция, причем, если операция арифметическая или логи-
ческая, то результат получается в регистрах АЛУ;
5) в зависимости от результата операции (положительный, отрицательный,
нулевой, переполнение разрядной сетки) устанавливается признак результата в ре-
гистре признаков;
6) результат записывается в соответствующее место оперативной памяти или
регистр общего назначения;
7) происходит возврат к п.1.
В зависимости от выполняемой команды, возможно изменение отдельных эта-
пов или их опущение. Тем не менее, общая схема функционирования в значитель-
ной степени соответствует вышеуказанной.
26

Электронно-вычислительные машины связываются друг с другом с использо-
ванием специальных цепей, предназначенных для передачи электрических сигналов.
Каждая из этих цепей способна передавать один бит информации в определенный
момент времени, который представлен двоичным сигналом, имеющим значения 0
или 1. Совокупность таких цепей, соединяющих два устройства, и алгоритм, опре-
деляющий порядок передачи данных между устройствами, называется интерфейсом
или сопряжением.
2.6 Структура современной ЭВМ класса больших ЭВМ
(мейнфреймов)
Микропроцессор устанавливает соединение с основной оперативной памятью
через интерфейс памяти и связывается с устройствами ввода/вывода с помощью ин-
терфейса между процессором и каналами ввода/вывода. Для подключения внешних
сигналов прерывания применяется интерфейс, предоставляющий прямое управле-
ние. Этот интерфейс объединяет несколько вычислительных устройств в многома-
шинный комплекс. Для осуществления операций ввода и вывода информации
предусмотрено несколько каналов ввода и вывода (КВВ).
Большие ЭВМ обычно строится по схеме, приведенной на рисунке 2.3 [6].
Для установления связи с высокоскоростным устройством (ВУ), применяются
селекторные каналы. Селекторные каналы работают в режиме с множеством полю-
сов, что подразумевает, что ресурсы канала выделяются для обслуживания конкрет-
ного ВУ на протяжении всей операции ввода/вывода.
Мультиплексный канал позволяет нескольким ВУ работать одновременно,
разделяя процессы обслуживания для отдельных устройств во времени. Мульти-
плексный канал состоит из набора подканалов, каждый из которых предназначен
для работы с одним медленным устройством. Количество подканалов определяет
максимальное количество одновременно активных ВУ, при условии, что общая про-
изводительность всех активных устройств не превышает пропускной способности
27

канала. Мультиплексный канал также обеспечивает передачу данных в режиме монопольного доступа.
Рисунок 2.3 – Обобщенная структура больших ЭВМ
Каналы ввода/вывода обычно выполняют собственную программу, хранящу-
юся в основной памяти. Поэтому канал можно рассматривать как специализирован-
ный процессор, ориентированный на выполнение команд ввода/вывода. Когда про-
цессор получает команду ввода/вывода, он передает ее каналу, что инициирует опе-
рацию ввода/вывода, которая выполняется независимо от работы самого процессо-
ра.
2.7 Структура мини- и микро- ЭВМ
Состав электронных вычислительных машин включает в себя микропроцес-
сор, один или несколько модулей оперативной памяти и устройства ввода-вывода.
Комплект этих компонентов может быть изменен благодаря стандартизированному
интерфейсу. Устройства, входящие в компоновку электронных вычислительных
машин, обычно соединяются через унифицированный интерфейс. Наиболее распро-
28

странённой является схема соединения устройств через единый интерфейс (рисунок
2.4) [6].
Рисунок 2.4 – Упрощенная структура мини- и микро- ЭВМ
Унифицированный интерфейс представляет собой эффективное средство об-
мена информацией в вычислительных машинах, которые оборудованы ограничен-
ным числом внешних устройств, функционирующих в режиме прямого доступа к
памяти. Пропускная способность интерфейса ограничивается скоростью оператив-
ной памяти. Следовательно, суммарная скорость передачи данных от всех одновре-
менно активных внешних устройств не должна превышать скорость оперативной
памяти. В микроархитектуре вычислительных машин чаще применяется структура с
общим интерфейсом и выделенной памятью, в которой оперативная память связана
с процессором. Интерфейс используется только для подключения внешних
устройств (рисунок 2.5).
Рисунок 2.5 – Упрощенная структура микро- ЭВМ
2.8 Конвейерная организация ЭВМ
2.8.1 Принцип совмещения операций. Вернемся к анализу рабочего цикла центрального процессора. Рассмотрим последовательность этапов, составляющих дан-
29

ный цикл, для основных инструкций. Если эти этапы выполняются последовательно
во времени, общее время выполнения цикла t
жительностей каждого этапа
.
можно описать как сумму продол-
посл
Однако во многих ситуациях последовательное выполнение этапов цикла не
обеспечивает необходимой производительности процессора. Ученый Лебедев, в
1956 году, предложил увеличить производительность, применяя принцип совмеще-
ния во времени отдельных операций (этапов) рабочего цикла. Он реализовал этот
принцип в виде параллельного выполнения операций в арифметико-логическом
устройстве и одновременной выборки следующей инструкции из памяти.
Пусть рабочий цикл процессора состоит из k этапов, причем i-ый этап имеет
продолжительность t
, тогда при последовательном выполнении этапов продолжи-
i
тельность процедуры
(1)
и производительность процессора (операций/с)
(2)
Скорость работы компьютера можно увеличить, если для каждого этапа цикла
предусмотрен собственный аппаратный блок, а эти блоки объединены в обрабаты-
вающую линию, искусственно создавая конвейер операций. В этом случае результат
выполнения операции в одном блоке передается непосредственно для регулирова-
ния следующего этапа в другом блоке (рисунок 2.6).
Рисунок 2.6 – Вычислительный конвейер
Если конвейер работает в принудительном темпе и для выполнения любого
этапа выделена одно и то же время tT (такт конвейера), то такой конвейер называется синхронным.
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
