1. АРХИТЕКТУРА ЭВМ
ЛЕКЦИЯ 1-2. МЕЖРЕГИСТРОВЫЕ ПЕРЕДАЧИ И МИКРООПЕРАЦИИ
Всякая цифровая система, ЭВМ в том числе, представляет собой соединенные определенным образом функциональные узлы, которые выполняют определенные задачи по обработке информации. Отдельными функциональными узлами могут быть регистры, дешифраторы, сумматоры и т.д. В процессе обработки информации эти узлы должны получать данные и управляющие сигналы. Обычно для передачи данных выделяются, внутри цифровой системы, специальные шины данных.
регистры и комбинационные схемы обычно объединяются в функциональные модули, например, арифметико-логическое устройство (АДУ). Для определения такого модуля необходимо указать число регистров, входящих в него и выполняемые функции обработки данных. Каждое элементарное действие над данными называется микрооперацией. Обычно на выполнение микрооперации отводится время, равное длительности импульса синхронизатора цифровой системы.
Таким образом, для описания ЭВМ и любой цифровой системы /-необходимо указать следующее:
1) набор регистров, которые она содержит и их функции;
2) последовательность выполняемых микроопераций над двоичной информацией, хранящейся в регистрах;
3) сигналы управления, которые задают последовательности
микроопераций, приводящие к определенной обработке данных.
Для задания необходимых последовательностей микроопераций можно пользоваться обычным языком, но это создает ряд трудностей. Первая из них многословность и неточность. Более удобно принять соответствующую символику. Обычно выполнение обработки информации производится при передаче данных из одного регистра в другой. Если на пути этой передачи есть комбинационные схемы, то будет производиться переработка по установленным правилам, если же нет, то это будет простая передача информации. Таким образом, описание функционирования машины сводится к описанию потоков данных, циркулирующих между регистрами. Система обозначений и правил, позволяющих описывать межрегистровые передачи и преобразование информации носит название языка межрегистровых передач.
Согласно принятых в этом языке правил, регистры ЭВМ обозначаются заглавными буквами (за ними иногда следуют цифры). Обычно буквы выбирают так, чтобы было понятно назначение регистра. Например, регистр, который содержит адрес ячейки памяти ЭВМ называют регистром адреса памяти и обозначают MAR (Memory Address Register). Для указания числа разрядов регистра рядом с его буквенно-цифровым обозначением в скобках указывается нумерация и число разрядов. Например, R (0-23) - регистр R крайний левый разряд имеет номер О, а крайний правый разряд 23, общее число разрядов равно 24.
Регистры специфицируются посредством описаний так как это показано ниже регистры; R (О-23); MAR(0-23), F(0-5), G(0).
Для удобства чтения в описание регистров можно включить комментарии, например, приведенное описание регистров можно представить в следующем виде:
Регистры; |
R ( 0 - 23 ) |
; |
Буферный регистр |
MAR ( 0 - 23 ) |
; |
Регистр адреса памяти |
|
F ( 0 - 5 ) |
; |
Управляющий регистр |
|
G ( 0 ) |
; |
Старт стопный регистр управления |
При выполнении межрегистровых передач часто производится передача только содержимого определенной части регистра, которая имеет свое функциональное назначение. Например, команда ЭВМ содержит два поля. Первое - код операции, второе поле -адреса операндов. Естественно, код операции необходим для управления, а адреса для чтения данных из ЗУ. Для обозначения отдельных частей регистров, вплоть до отдельных его разрядов, служит понятие субрегистра. Так описание субрегистра
Регистр, R (0-23),
Субрегистр, R (ОР) = R (0-5), R (ADD R) = R (9-23) означает, что левым шести битам регистра R присвоено символическое имя R (ОР), а его правым 15 битам символическое имя R (ADD R). Определение таким образом субрегистра содержит соответственно код операции и адресную часть некоторой команды.
Передача данных между регистрами осуществляется посредством микроопераций межрегистровой передачи. Эти микрооперации осуществляют непосредственную передачу двоичной информации от одного регистра к другому. Содержимое регистра - источника не изменяется в процессе передачи.
Передача информации от одного регистра к другому может осуществляться параллельно или последовательно.
Параллельная передача является одновременной передачей всех разрядов от исходного регистра к регистру назначения и выполняется за время одного синхроимпульса. Эта микрооперация обозначается в символической форме следующим образом :
А¬ В,
что означает передачу содержимого регистра В в регистр А. Желательно, чтобы такая передача происходила не только с приходом каждого синхроимпульса, а только при определенном условии. Двоичное условие, которое определяет когда должна произойти передача, называется управляющей функцией. Это означает, что она может быть равна 0 или 1. Управляющая функция включается в микрооперацию следующим образом:
Р: А¬ В
Такая запись означает, что управляющая функция Р, за которой следует двоеточие, символизирует тот факт, что сформулированная микрооперация выполняется аппаратными средствами, если Р = 1.
Управляющие функции формируются специальными схемами, которые могут содержать регистры, счетчики, дешифраторы и т.д. Управляющая функция в этих условиях представляет собой булеву функцию - произведение синхросигнала на управляющий сигнал. Например, управляющая функция Р равна I в любой момент равенства единицы синхросигнала Т1 , и управляющего сигнала SJ :
Т1.SJ: А—В
Обычно в составе ЭВМ имеется несколько регистров и для передачи информации из одного регистра в другой используется шинная организация. Для параллельной передачи число проводов в шине равно числу триггеров в регистрах. Система шин образуется схемами с мультиплексорами. На рис. 1.1., а показано, как четыре регистра связаны посредством мультиплексоров с линиями связи общей шин. Каждый регистр имеет три триггера. Каждый мультиплексор 4х1 имеет четыре входных информационных линий, две селекторные линии и одну входную линию. Первый триггер каждого регистра связи с одним из входов самого левого на рисунке мультиплексора. Остальные триггеры подключаются аналогично.
Селекторные шины мультиплексоров запараллельны. Если на этих шинах код 00, то выбирается во всех мультиплексорах Iо, т.е. с общей шиной соединен первый регистр А. Если на этих линиях код II, то четвертый регистр D
На рис. 1.1.6 показана упрощенная блок-схема шины. Предполагается, что мультиплексоры входят в состав шинной системы, хотя они не показаны на рисунке.
Шинная система может быть построена и без мультиплексоров, если выходы регистров имеют три устойчивых состояния.
Выбор регистра в этом случае производится разблокировкой управляющего входа, связанного с выходным каскадом, с тремя устойчивыми состояниями.
Передача информации с шины в один из многих регистров может быть выполнена путем соединения линий шины со входами всех регистров, при наличии у каждого триггера регистра входа стробирования, по которому производится запись в него информации. Как показано на рис. 1.2. линии шины связаны с информационными входами регистров. Активизация входа стробирования - записи конкретного регистра вызовет запись информации с шины в триггеры регистра. Для сокращения числа управляющих входов входы записи информации я регистры могут декодироваться с помощью дешифратора.
В каждый данный момент времени через шину может передаваться только одно сообщение. Если в одно и тоже время требуется осуществить две передачи, необходимо организовать две независимые шины. Большая цифровая система обычно использует несколько шин, причем каждый из ее регистров соединен с одной или несколькими шинами для образования различных путей , необходимых для передачи информации.
Оператор шинной передачи может обозначать шину и управляющие функции, или же их присутствие в операторе подразумевается. Когда шина и управляющие функции включены в оператор, символика межрегистровой передачи может быть следующей :
Х.S0.S1 : ШД — С;
УRо.R1 : А •ШД
где Sо и S1 - управляющие селекторные линии выбора для передающего регистра;
Rо и R1 - управляющие селекторные шины для приемного регистра;
х и у - сигналы управления.
В тех случаях, когда указывать шину данных не нужно и передача может быть выполнена за один такт можно записывать так ;х-^Sо-S1, уRo^R1 : А ¬ С
Одним из основных блоков ЭВМ является ЗУ, которое можно считать состоящим из большого числа регистров, причем каждый регистр ЗУ - ячейка предназначен для хранения одного слова. функционально ЗУ состоит из следующих основных узлов (рис. ):
накопителя (М), который представляет собой совокупность регистров ; регистра адреса ( МАК ), который служит для записи и хранения адреса регистра -ячейки ЗУ, к которой производится обращение для записи или считывания; буферного регистра (R), служащего для временного хранения считываемой или записываемой в ЗУ информации. Микрооперация считывания информации является передачей из накопителя М, выбранного по адресу, записанному в МАR слова в регистр R. Символически это обозначается следующим образом:
О : R ¬ М (МАR).
При выполнении процедуры записи информация из буферного регистра R записывается в регистр накопителя М по адресу указанному регистром МАR. Символически это обозначается следующим образом :
Р : М(МАR ) — R.
Очевидно перед записью или чтением в регистр МАR должен быть помещен адрес (номер) регистра накопителя.
В процессе выполнения рассмотренных в ЭВМ микроопераций производилась передача различной информации из одного регистра в другой. Однако в процессе выполнения различных операций в ЭВМ могут возникать события, которые влияют на то, в какой из регистров должна быть произведена пересылка информации или запрещена совсем. Когда микрооперация реализуется при выполнении некоторых условий, она записывается посредством условного микрооператора. Существует две конструкции условных микроопераций, 1F... ТНЕ№ и IF ... ТНE № ...ЕL.SЕ, например:
Регистры G , F(0-5), С(0-14), D(0-14),
IF(G=0) ТНЕ №^(F¬ 10),
IF(G=1) ТНЕ №(С¬ 0,D¬ 0) ЕL.S-Е (F¬ II).
Условие G=0 или G= 1 в условном микрооператоре записывается посредством символа = (равно) или ^ (не равно). Если условие выполняется, то микрооператоры, стоящие между словами ТНЕ№ и Е/„?Е, выполняются одновременно. Поэтому порядок, в котором записаны части этого микрооператора, не играет роли при его опенке. Когда условие не удовлетворяется, выполняется тот микрооператор, который стоит всегда за Е/.5Е.