Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТО_САПР_2010_11.doc
Скачиваний:
3
Добавлен:
08.11.2018
Размер:
19.26 Mб
Скачать

Базовая эвм

2.1. Назначение и структура базовой эвм

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

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

Рис.2.1

На рис. 2.1 приведена упрощенная структура базовой ЭВМ. Это одноадресная машина, работающая с 16-разрядными словами. В ней реализованы два вида адресации операндов: прямая и косвенная. Рассмотрим составные части базовой ЭВМ, не касаясь пока устройств ввода-вывода (УВВ) и пульта управления (ПУ).

Память. Состоит память из 2048 ячеек по 16 бит с адресами 0, 1, ..., 2046, 2047. Одну ячейку (или слово) можно использовать для хранения одного двоичного числа или одной команды программы, закодированной в двоичном коде. Пользователь должен сам определить, какая область памяти будет использоваться для данных, и какая — для программы. При этом надо учитывать, что восемь ячеек памяти с адресами 008, ..., 00F несколько отличаются от остальных. Эти ячейки называются индексными и их лучше использовать в циклических программах.

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

Процессор. В состав процессора входят:

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

арифметико-логическое устройство, выполняющее операции инвертирования любого операнда (или двух операндов), сложения двух 16-разрядных операндов (или их инвертированных значений), логического умножения двух 16-разрядных операндов, добавления к результату единицы и участвующее в организации циклических сдвигов содержимого аккумулятора и регистра переноса;

микропрограммное устройство управления, хранящее в своей памяти микропрограммы выполнения 28 команд (см. табл. 2.4), четырех пультовых

операций, реакции на сигналы прерывания выполняемой программы от устройств ввода-вывода и ряд других микропрограмм.

Рассмотрим подробнее назначение всех регистров процессора и АЛУ базовой ЭВМ.

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

Регистр команд (РК). Этот 16-разрядный регистр используется для хранения команды, непосредственно выполняемой машиной. Код операции команды (см., например, рис. 1.8, 1.11 или 2.3) пересылается из РК в устройство управления ЭВМ и декодируется. После этого происходят действия по реализации команды: считывание операнда и (или) выполнение операции, предписываемой командой,

Регистр адреса (РА). Он содержит значение исполнительного адреса ячейки памяти и состоит из 11 разрядов для адресации к 2048 ячейкам памяти. Если ЭВМ осуществляет выборку команды, то в РА пересылается содержимое счетчика команды СК для указания адреса ячейки, где хранится команда. Если ЭВМ производит выборку данных, то адрес может поступить из регистра команд.

Регистр данных (РД). Используется он для временного хранения 16-разрядных слов при обмене информацией между памятью и процессором. При считывании команды, числа или символа из памяти в процессор это слово сначала попадает в регистр данных, а потом пересылается либо в регистр команд (команды), либо в другие регистры процессора. При пересылке данных из процессора в память они сначала помещаются в РД и лишь затем, записываются в нужную ячейку памяти.

Когда информационное слово находится в регистре данных, оно доступно для осуществления арифметических или логических операций. Содержимое РД может быть, например, сложено с содержимым аккумулятора, а полученный результат занесен в аккумулятор.

Аккумулятор (А). Регистр А является одним из главных элементов процессора. Машина может выполнять арифметическую или логическую операцию только над двумя операндами одновременно. Обычно первый операнд извлекается из памяти в регистр данных, в то время как второй находится в аккумуляторе. Операция, задаваемая командой, выполняется над содержимым РД и А, и результат операции помещается в аккумулятор.

Машина может проверить результат в аккумуляторе. В зависимости от результата проверки она может принимать различные решения. Здесь используется 16-разрядный аккумулятор. Всякий раз, когда при операции двоичного сложения возникает переполнение в старшем разряде, перенос теряется. Однако его можно записать в одноразрядный регистр переноса.

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

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

Если с помощью рассматриваемой ЭВМ надо, например, получить сумму чисел 53 и 106, то это можно сделать по программе, приведенной в табл. 2.1. Хотя и команды, и данные должны быть закодированы в двоичной форме (единственной форме, которую понимает ЭВМ), эта программа для простоты написана с символическим обозначением команд (подробнее о символическом кодировании см. в параграфе 2.2).

Используются следующие команды:

CLA (Clear Accumulators — очистить аккумулятор) — по этой команде производится установка аккумулятора в нуль;

ADD (ADD — сложить) — по этой команде содержимое ячейки с номером, написанным вслед за ADD, складывается с содержимым аккумулятора и результат остается в аккумуляторе;

MOV (MOVe — переслать) — по этой команде содержимое аккумулятора пересылается в ячейку с номером, написанным вслед за MOV; содержимое аккумулятора при этом сохраняется;

HLT (HaLT —стоп).

Таблица 2.1