аппаратное обеспечение

advertisement

Написанная Дж. Нейманом часть отчета по машине содержала общее
описание ЭДВАКа и основные принципы построения машины
(1945г.). Она была размножена Г. Голдстайном (без согласования с
Дж. Мочли и П. Эккертом) и разослана в ряд организаций. В 1946 г.
Нейманом, Голдстайном и Берксом (все трое работали в
Принстонском институте перспективных исследований) был
составлен еще один отчет ("Предварительное обсуждение логического
конструирования устройства", июнь 1946 г.), который содержал
развернутое и детальное описание принципов построения цифровых
электронных вычислительных машин.

В том же году отчет был распространен на летней сессии
Пенсильванского университета.

Изложенные в отчете принципы сводились к следующему.
1. Машины на электронных элементах должны работать не в десятичной, а двоичной
системе исчисления.
2. Программа должна размещаться в одном из блоков машины – в запоминающем
устройстве, обладающем достаточной емкостью и соответствующими скоростями
выборки и записи команд программы.
3. Программа, так же как и числа, с которыми оперирует машина, записывается в
двоичном коде. Таким образом, по форме представления команды и числа
однотипны. Это обстоятельство приводит к следующим важным последствиям:

промежуточные результаты вычислений, константы и другие числа могут
размещаться в том же запоминающем устройстве, что и программа;

числовая форма записи программы позволяет машине производить операции
над величинами, которыми закодированы команды программы.
4. Трудности физической реализации запоминающего устройства, быстродействие
которого соответствует скорости работы логических схем, требует иерархической
организации памяти.
5. Арифметическое устройство машины конструируется на основе схем, выполняющих
операцию сложения, создание специальных устройств для выполнения других
операций нецелесообразно.
6. В машине используется параллельный принцип организации вычислительного
процесса (операции над словами производятся одновременно по всем разрядам).
Американским математик Дж.Нейман (1903-19 57)
Более короткая формулировка принципа Дж.Неймана заключается
в следующем:



команды и числа однотипны по форме представления в машине
(записаны в двоичном коде)
числа размещаются в том же запоминающем устройстве, что и
программа
благодаря числовой форме записи команд программы машина
может производить операции над командами

Компьютер, построенный в соответствии с принципами Джона фон
Неймана, содержит в своем составе следующие устройства (блоки):





арифметико-логическое устройство (АЛУ), которое выполняет арифметические и
логические операции, задаваемые в программе;
устройство управления (УУ), которое организует (координирует) выполнение
операций, задаваемых в программе;
оперативное запоминающее устройство (ОЗУ), состоящее из некоторого количества
ячеек и предназначенное для временного хранения программ и данных;
внешние, или периферийные, устройства, предназначенные для ввода-вывода
информации (программ, исходных данных и результатов).
В современных компьютерах АЛУ и УУ, как правило, объединяются
в одно устройство - центральный процессор (ЦП).

Общая организация компьютера, т.е. его основные устройства и связи
между ними, показаны на схеме

Центральный процессор является основным компонентом аппаратуры
компьютера, координирующим движение потоков информации
внутри компьютера и выполняющим вычисления по некоторой
программе. ЦП “понимает” определенную систему команд (кодов),
задающих ему выполнение вполне определенных операций
(например, сложить два числа, проверить число на равенство нулю,
переслать данные из одной ячейки памяти в другую и т.д.).

Любая программа представляется в виде последовательности таких
команд. Работая по заданной программе, ЦП в каждый момент
времени выполняет одну из ее команд

Команда — это описание элементарной операции, которую должен
выполнить компьютер

Существуют четыре основных типа команд: арифметические и
логические команды, команды управления, команды внутренней
пересылки данных и команды ввода-вывода.




Арифметические и логические команды служат для выполнения четырех
арифметических действий (сложение, вычитание, умножение и деление) и ряда
логических операций (конъюнкция или “логическое И”, дизъюнкция или
“логическое ИЛИ”, инверсия или “логическое НЕ”).
Команды управления позволяют определять порядок выполнения команд других
типов. Они обеспечивают переход из одной точки программы в другую, обход
некоторой последовательности команд (по результатам выполнения предыдущих
операций) и т.д.
Команды внутренней пересылки данных дают возможность копировать данные
из одного места памяти в другое и, кроме того, они позволяют выполнять
сдвиговые операции над битами одного байта или слова.
Команды ввода указывают устройству управления на необходимость передать
информацию от некоторого внешнего устройства в память компьютера для
хранения и возможной обработки. Команды вывода выполняют передачу
информации в обратном направлении. Кроме того, команды ввода-вывода можно
использовать для получения информации о состоянии устройства и передачи ему
управляющих воздействий.

В общем случае, команда содержит следующую информацию:




В зависимости от количества операндов, команды бывают:





код выполняемой операции;
указания по определению операндов (или их адресов);
указания по размещению получаемого результата.
одноадресные;
двухадресные;
трехадресные;
переменноадресные.
Команды хранятся в ячейках памяти в двоичном коде.


Рассмотрим несколько возможных вариантов команды сложения (англ. add
— сложение), при этом вместо цифровых кодов и адресов будем пользоваться
условными обозначениями:
одноадресная команда add x (содержимое ячейки x сложить с содержимым
сумматора, а результат оставить в сумматоре)
add

x
двухадресная команда add x, y (сложить содержимое ячеек x и y, а результат
поместить в ячейку y)
add

x
y
трехадресная команда add x, y, z (содержимое ячейки x сложить с
содержимым ячейки y, сумму поместить в ячейку z)
add
x
y z
Download