Принцип работы микроЭвм
Работу микроЭВМ рассмотрим на основе блок-схемы, представленной на рисунке 1. МикроЭВМ содержит:
– микропроцессор КР 580 ВМ 80А, выполненного на одной БИС, в которую включено АЛУ, БДК, А, ТЕМ, Ак, Д, Ад, РК, РОН, РА, ДСК, SP, РС;
- программируемого параллельного интерфейса КР580 ВВ 55;
- шинного формирователя К589 АП16;
- многорежимного буферного регистра К589 ИР12;
- статического ОЗУ на микросхемах К585РУ2А (емкость каждой 1024х1 бит);
- ППЗУ К573РФ2 (2048х8 бит) и микросхемы серии К 155.
БИС КР 580 ВМ 80А представляет собой 8-разрядный микропроцессор, включающий в себя операционное и управляющее устройства. УУ содержит управляющую память, в которую записаны микропрограммы выполнения операций. Каждая из микропрограмм, предназначенная для реализации определенной команды, содержит от 4 до 17 микрокоманд, управляющих приемом из ОЗУ операндов, выполнением над ними простейших действий, выдачей в ОЗУ операндов и извлечением из ОЗУ очередной команды. В КР580 ВМ 80А не предусмотрена возможность изменения содержимого управляющей памяти, поэтому он относится к числу немикропрограммируемых с фиксированной системой команд. С использованием управляющей памяти микропроцессор реализует первый уровень управления ЭВМ - микропрограммное управление, предназначенное для обработки каждой команды, располагаемой в РК.
Второй уровень управления ЭВМ - командный, организуется хранимой в ОЗУ программой. Программа занимает определенную область ОЗУ, имеет обязательную начальную и конечную команды. Обращение к начальной команде с пульта управления ЭВМ или с помощью другой программы способствует передаче ее в РК и циклической обработке следующих команд, поступающих друг за другом в РК (естественный порядок) до извлечения конечной команды программы. Последняя команда заканчивает процесс программного управления ЭВМ, устанавливает блоки ЭВМ в начальное состояние и осуществляет прерывание вычислений по данной программе.
Каждая команда содержит поле кода операции (КОП) и поле адреса устройств (РОН, ячейки ОЗУ или ПЗУ, А и др.), участвующих в операции. Если устройством является один из РОН, то для указания адреса любого из них достаточно поля КОП длиною в 3 двоичных разряда. Если операция выполняется с участием ячейки ОЗУ, то необходимая разрядность поля адреса для определения номера ячейки характеризуется емкостью памяти ППЗУ и ОЗУ. При максимальной их размерности 64К ячеек для определения номера любой из них требуется 16-разрядное поле адреса. Поэтому в зависимости от разновидности операции и участвующих в ней устройств в микроЭВМ используются одно-, двух- и трехбайтные команды. В однобайтной команде 5 разрядов отводится под КОП и 3 разряда - под адрес устройства микропроцессора. В двух- и трехбайтных командах под поле КОП отводится первый байт команды. Вторые и третьи байты используются или под операнд (непосредственная адресация), или под код адреса (прямая адресация) ячейки в ПЗУ или ОЗУ.
Первый байт команды всегда располагается в РК, другие - в РОН, в которые они заносятся в последующие такты извлечения команды. После извлечения команды счетчик РС инкрементируется (РС=РС+1) для указания адреса следующей команды, при изменении естественного порядка в РС устанавливается код адреса из двух РОН (W, Z) при выполнении команд управления, реализующих условный (безусловный, отличный от естественного порядка) переход. Иногда содержимое 2-го и 3-го байтов команды заносится в Н и L в качестве адреса операнда, используемого следующей командой при выполнении операции.
Взаимодействие устройств микропроцессора удобнее всего рассмотреть на примере выполнения какой-либо команды. Так, выполнение команды сложения содержимого А с ячейкой памяти ОЗУ осуществляется в следующей последовательности:
- передача текущего адреса из РС в РА;
- инкрементация РС, т.е. установление адреса следующей команды;
- поступление адреса команды из РА через ША на адресные входы схемы памяти (ДСА), что обеспечивает выборку адресуемой ячейки памяти и передачу ее содержимого через ШД в буфер Д;
- занесение из буфера Д команды в РК;
- дешифрирование поля КОП команды ДСК и поступление унитарного кода в УУ, запуск в нем соответствующей микропрограммы, с помощью которой формируются управляющие сигналы, обеспечивающие настройку микропроцессора на выполнение заданной в команде операции (сложения);
- поступление адреса операнда из РОН (Н и L) в РА, передача операнда в АЛУ и сложение его с А, занесение результата в А;
- извлечение следующей команды по адресу, расположенному в РС.
Заметим, что на выполнение команды сложения микропроцессору требуется два машинных цикла. Во время первого цикла происходит обращение к памяти за командой и ее обработка, во время второго - извлечение из памяти операнда и выполнение операции сложения. После выполнения команды в РС устанавливается адрес следующей команды, который на единицу больше предыдущей. Тем самым после выполнения операции сложения будет извлечена следующая команда, расположенная в естественном порядке в ОЗУ. Для извлечения команды, расположенной по другому адресу, в программу включают команды управления. Особенности выполнения этих команд рассмотрим на примере трехбайтной команды безусловного перехода.
Она осуществляется в такой последовательности:
- выдача текущего адреса из РА в ДСА;
- увеличение РС на единицу (инкрементация РС);
- выбор первого байта команды из памяти по коду адреса в РА;
- передача его через ШД, буфер Д, ВШД в РК;
- дешифрация в ДСК поля команды КОП и формирование в УУ последовательности управляющих знаков;
- извлечение второго байта команды (младших 8 разрядов кода адреса следующей команды) по адресу в РС, занесение его в Z, инкрементация РС;
- извлечение третьего байта команды безусловного перехода (старших 8 разрядов кода адреса следующей команды) по адресу РС и занесение его в W;
- передача содержимого группы регистров W,Z в РС и РА.
Заметим, что команда безусловной передачи управления выполняется за 10 тактов и при частоте тактового генератора 2 мГц выполняется за 5,0 мкс. В результате выполнения команды в РС устанавливается адрес следующей команды, отличный от естественного порядка, равный коду адреса, расположенного в третьем и втором байте команды безусловного перехода.
Отличительной особенностью команды условного перехода от команд управления безусловного перехода является проверка значения логического условия в соответствии с типом команды перед последней микрооперацией передачи содержимого группы регистров W и Z в РС. Если условие выполняется, то содержимое из W,Z передается в РС ; если нет, то РС инкрементируется. Содержимое РС затем передается а РА.
Таким образом, для организации процесса вычислений в ЭВМ с использованием команд необходимо разместить в ОЗУ программу и операнды, к которым команды будут обращаться для выполнения предписанных операций. Операнды и программы размещаются в разных рабочих областях ОЗУ в зависимости от структуры памяти ЭВМ. Рабочая (не заштрихованная) область памяти УОУ представлена на рисунке 3.
Ячейки памяти с адресами 0000-:-03FF (16) расположены в ППЗУ. В эти ячейки для облегчения процесса занесения программы и данных в ОЗУ, а также для контроля и организации вычислений введены команды программы Монитор, являющейся простейшей операционной системой. Монитор в процессе своей работы использует оперативную информацию, которую хранит в ячейках ОЗУ с адресами 83Е0-:-8400. Поэтому эта область, хотя и является рабочей областью памяти, программистом не используется. Область памяти с адресами 0400-:-7FFF и 87FF-:-FFFF является нерабочей, так как по данным адресам отсутствуют ячейки памяти.
Рисунок 3