Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Архитектура классической ЭВМ

Поиск

Структура ЭВМ

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

Основные рекомендации, предложенные Нейманом для разработчиков ЭВМ [11]:

  1. Машины на электронных элементах должны работать не в десятичной, а в двоичной системе счисления.
  2. Программа должна размещаться в одном из блоков машины – в запоминающем устройстве (ЗУ), обладающем достаточной емкостью и соответствующими скоростями выборки и записи команд программы.

3. Программа так же, как и числа, с которыми оперирует машина, представляется в двоичном коде. Таким образом, по форме представления команды и числа однотипны. Это обстоятельство приводит к следующим важным последствиям:

    • промежуточные результаты вычислений, константы и другие числа могут размещаться в том же ЗУ, что и программа;
    • числовая форма записи программы позволяет машине производить операции над величинами, которыми закодированы команды программы.
  1. Трудности физической реализации ЗУ, быстродействие которого соответствовало бы скорости работы логических схем, требует иерархической организации памяти.
  2. Арифметические устройства машины конструируются на основе схем, выполняющих операцию сложения. Создание специальных устройств для вычисления других операций нецелесообразно.
  3. В машине используется параллельный принцип организации вычислительного процесса (операции над словами производятся одновременно по всем разрядам).

ЭВМ, построенная по принципам, определенным Нейманом, состоит из следующих основных блоков (рис. 4): запоминающего устройства, арифметико-логического устройства и устройства управления.


Рис. 10.4. Структура классической ЭВМ

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

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

Операции, определяемые кодом операции команды, выполняются в арифметико-логическом устройстве (АЛУ).

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

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

11. Лекция: Система кодирования команд. Способы адресации
Страницы: 1 | 2 | вопросы |» | учебники | для печати и PDA | ZIP
Если Вы заметили ошибку - сообщите нам, или выделите ее и нажмите Ctrl+Enter
Рассматриваются различные системы кодирования команд, взаимосвязь основных параметров ЭВМ с форматом команды, основные способы адресации и их влияние на время выборки операнда, длину поля адреса, особенности их использования при составлении программ для обработки различных структур данных.
Система кодирования команд Запись любой команды определяется ее форматом. Формат команды – это структура команды, позволяющая распознать назначение отдельных ее полей. Исходя из определения, команда должна содержать информацию о выполняемой операции, адресах операндов и адресе ячейки ЗУ для записи результата. Этому в наибольшей степени соответствует формат команды, содержащий поле кода операции и три адресных поля. Такая система кодирования команд называется трехадресной (рис.11.1,в). Схема выполнения трехадресной команды имеет вид: (А1)*(А2)->А3. Здесь (А1) и (А2) – адреса ячеек ЗУ, в которых хранятся первый и второй операнды соответственно; * – знак обобщенной операции (например, сложение или умножение), задаваемой полем кода операции (КОп). Знак "->" обозначает передачу результата операции в ячейку памяти с адресом А3. Рис. 11.1. Системы кодирования команд Для выполнения операции сложения операндов, находящихся по адресам a и b, с записью результата в ячейку c (c = a + b) требуется одна команда такого формата:
КОп А1 А2 А3
ADD a b c

Здесь ADD – код операции сложения.

Формат двухадресной команды представлен на рис.11.1,б. Выполнение операции с помощью такой команды проходит по следующей схеме:

1) * (А2) -> А1 или

1) * (А2) -> А2

Выполнение того же самого действия c = a + b в двухадресной системе кодирования команд потребует уже двух команд, например:

КОп А1 А2  
ADD a b a = a + b
MOV c a c = a

Одноадресная команда имеет формат, приведенный на рис.11.1,а. Обычно ЭВМ с одноадресной системой команд имеют особую структуру, в состав которой входит специальный регистр (регистр результата – РР). Он служит для хранения результата операции и используется в качестве одного из операндов при выполнении операции (рис. 11.2).


Рис. 11.2. Схема выполнения операции в ЭВМ с одноадресной системой команд

Схема выполнения операции на ЭВМ с одноадресной системой команд имеет вид:

(А) * (РР) -> А или

(А) * (РР) -> РР.

Операцию c = a + b в одноадресной системе команд можно выполнить следующим образом:

КОп А1  
MOVR a РР = a
ADD b РР = РР + b
MOVS c c = РР

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

Несколько особое положение занимает безадресное кодирование команд. Оно используются в компьютерах, имеющих стековую организацию памяти. Обращение к ячейкам такой памяти производится последовательно с помощью специального указателя стека (УС), определяющего рабочую в данный момент ячейку. Каждая ячейка снабжена тэгом – специальным признаком хранимой информации. Такая ЭВМ имеет структуру, представленную на рис. 11.3. В ее состав помимо АЛУ входят два специальных буферных регистра РР1 и РР2. Здесь значение тэгов следующее: Op – в данной ячейке хранится операнд, C – признак наличия в ячейке кода операции.


Рис. 11.3. Схема выполнения операции в ЭВМ с безадресной системой команд

Проиллюстрируем работу такой ЭВМ на примере вычисления выражения ((a + b) * c - d) / e.

На первых двух тактах работы из памяти извлекаются операнды a и b и помещаются в рабочие регистры РР1 и РР2. Считав следующую ячейку стековой памяти, устройство управления по ее тэгу определяет, что данная информация представляет собой код операции. Этот код направляется в АЛУ, где и проводится сложение хранящихся в регистрах операндов с записью результата в один из рабочих регистров. Так как в следующей ячейке хранится операнд, то он направляется в РР, свободный от записанного результата. После этого производится выполнение следующей операции и так далее.

Такая структура ЭВМ обеспечивает высокое быстродействие, но требует весьма сложного программирования.



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 570; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.69.134 (0.008 с.)