Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Аппаратное обеспечение -> Баула В.Г. -> "Введение в архитектуру ЭВМ и системы программирования" -> 5

Введение в архитектуру ЭВМ и системы программирования - Баула В.Г.

Баула В.Г. Введение в архитектуру ЭВМ и системы программирования — Москва, 2003. — 144 c.
Скачать (прямая ссылка): vvedenievarhetekturuevm2003.pdf
Предыдущая << 1 .. 2 3 4 < 5 > 6 7 8 9 10 11 .. 86 >> Следующая


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

3. АЛУ может также выполнять различные операции над данными в своих регистрах, например, сложить содержимое двух регистров (обычно называемых регистрами первого Rl и второго R2 операндов), и поместить результат на третий регистр (называемый, как правило, сумматором s).

2.4. Взаимодействие УУ и АЛУ

Революционность идей фон Неймана заключалась в специализации: каждое устройство отвечает за выполнение только своих функций. Если раньше, например, память часто не только хранила данные, но и могла производить операции над ними, то теперь было предложено, чтобы память только хранила данные, АЛУ производило арифметико-логические операции над ними, устройство ввода только вводило данные из "внешнего мира" в память и т.д. Фон Нейман распределил функции между различными устройствами, что существенно упростило схему машины.

Если только такое участие не предусмотрено в самой программе, например, при вводе данных с клавиатуры. Пример устройства, которое может выполнять команды, но не в автоматическом режиме -обычный (непрограммируемый) калькулятор. 8

Устройство управления тоже имеет свои регистры, оно может считывать команды из памяти на специальный регистр команд (rk), на котором всегда хранится текущая выполняемая команда. Регистр УУ с именем RA называется счётчиком адреса, при выполнении текущей команды в него записывается адрес следующей команды (первую букву в сокращении слова регистр будем записывать латинской буквой R).

Рассмотрим, например, операцию сложения двух чисел z:=x+y (здесь x, y и z - адреса ячеек памяти, в которых хранятся, соответственно, операнды и результат сложения). При получении такой команды УУ последовательно посылает управляющие сигналы в АЛУ, предписывая ему сначала считать операнды x и y из памяти и поместить их на регистры Rl и R2. Затем по следующему управляющему сигналу АЛУ производит операцию сложения чисел на регистрах Rl и R2 и записывает результат на регистр S. По следующему управляющему сигналу АЛУ пересылает копию регистра S в ячейку памяти с адресом z. Ниже приведена иллюстрация описанного примера на языке Паскаль, где Rl, R2 и S - регистры АЛУ, ПАМ - массив, условно обозначающий память ЭВМ, а ® -операция (в нашем случае это сложение, т.е. ® = +).

R1:=nAM[x]; R2:=nAM[y]; S:=R1®R2; nAM[z]:=S;

В дальнейшем конструкция ПАМ [А] для краткости будет обозначаться как <А>, тогда наш пример перепишется так:

R1:=<x>; R2:=<y>; S:=R1®R2; <z>:=S;

Опишем теперь более формально шаги выполнения одной команды в машине фон Неймана: RK:=<RA>; считать из памяти очередную команду на регистр команд; RA:=RA+1; увеличить счётчик адреса на единицу; Выполнить очередную команду.

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

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

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

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

Особо следует отметить, что в архитектуре машины фон Неймана реализованы и другие принципы, которые самим фон Нейманом явно не формулировались, так как считались самоочевидными. Так, например, предполагается, что во время выполнения программы не меняется число узлов компьютера и взаимосвязи между ними. В то же время сейчас существуют ЭВМ, которые нарушают и этот принцип. Во время работы одни устройства могут, как говорят, отбраковываться (например, отключаться для ремонта), другие - автоматически подключаться, появляются новые связи между элементами ЭВМ (например, в так называемых транспьютерах) и т.д.
Предыдущая << 1 .. 2 3 4 < 5 > 6 7 8 9 10 11 .. 86 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.