Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АрхЭВМ часть 1.doc
Скачиваний:
24
Добавлен:
08.02.2015
Размер:
1.52 Mб
Скачать
    • Функциональная структура эвм Фон-Неймана

Базовая, первая, классическая архитектура. Структура: техническая конструкция. Функционирование ЭВМ определяется не только ее технической конструкцией (hardware), но и алгоритмом обработки информации, которая записывается на языке, доступном машине.

Представление на языке называется программой, которая интерпретируется для выполнения в двоичном коде.

Аппаратная часть машины – это устройство для реализации операций, хранения данных.

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

ЭВМ – аппаратурно-программный комплекс для автоматического выполнения вычислительной работы: для ввода, сбора, обработки, хранения, вывода внешней передачи информации.

Конструкция ЭВМ основывается на предложениях Джона фон Неймана, выдвинутых в 1944г., которые были предложены при разработке нового компьютера EMAC в США. В 1945г. Нейман работал над отчетом по работе над EDVAC. В нем он изложил принципы работы и функциональную структуру EDVAC. Главное достижение состояло в отказе от ручных переключателей, использование программ ENIAC и предложение хранить программ ЭВМ в ОЗУ (оперативно-запоминающее устройство), в котором можно было модифицировать программу с помощью самой машины.

Основные архитектурные принципы ЭВМ:

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

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

  3. Принцип хранимой программы состоит в запоминании программы вместе с исходными данными в одной и той же ОЗУ.

Это – основные принципы, всего в отчёте об EDVAC сформулировано больше архитектурных принципов. В современных – Гарвардская архитектура: использование не одной, а нескольких памятей: одна – для программного кода, вторая – для хранения только данных.

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

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

Вводится команда NOP – No Operate (нет операции) – чтобы задержать программный код, синхронизировать работу отдельных устройств ЭВМ и программных блоков. В конвейерных вычислителях, при конвейерной обработке данных; в процессорах в устройстве конвейер команд, в том случае, когда результат выполнения предыдущей команды используется в качестве операнда следующей команды. Конвейер команд обеспечивает одновременную обработку нескольких команд.

Рис. Конвейер команд ЦП

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

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

Адресация:

  • Прямая – данные непосредственно заданы в регистре или ячейке памяти.

  • Косвенная – на данные указывает указатель.

  • Косвенная автоинкрементная – данные выбирают по адресу. После выбора данное значения адреса автоматически увеличивается и указывает на следующее слово.

  • Косвенная автодекриментаная – устанавливается на предыдущее слово.

  • Относительная – использует в качестве базового регистра регистр, называемый счетчиком команд, который при выполнении операции указывает на адрес следующей команды, которая должна выполняться. К значению, содержащемуся в счетчике, дополняется относительное смещение, которое в сумме указывает на операнд. Это смещение вычисляет компилятор.

  • Абсолютная – в следующем слове за командой записывается абсолютный адрес памяти, в котором должно находиться данное (операнд).

  • Косвенно-относительная – в следующем слове за командой записывается адрес, в котором содержится указатель адреса на данные (операнд).

Примеры:

1) Прямая.

Команда пересылки ассемблера: MOV R1,R2 – данные из R2 переносятся в R1.

R2=15, результат: R1=15.

2) Косвенная автоинкрементная.

MOV R1,(R2)+ ()+ - увеличивается и указывает на следующее слово, если слово из 2 байт – на 2, если из 4 – на 4.

Пересылка байтов увеличивает значение ровно на 1 байт: MOVB R1,(R2)+

15

R2 = 1000, 1000:

Результат: R1=15, R2=1004.

1000

1004

Адресация слов – по 4 байта, т.к. система – 32х разрядная.

Предыдущая команда

команда

Следующая команда

3) Косвенная автодекрементная.

MOV R1,-(R2) - операция со словами

MOVB R1,-(R2) - операция с байтами

4) Относительная

MOV R1,A

MOV B,R2

MOV B,A

MOV R1,A – пересылается только младший байт

31 0

….

…..

……

Х

1 байт

1 байт

1 байт

Х


A

R1

3 2 1 0

В памяти:

Предыдущая команда

команда

смещение

Следующая команда

15

R1=15 A:

Адрес А = содержимое счётчика + смещение.

5) Абсолютная.

MOV R1,#15

Предыдущая команда

команда

15

Следующая команда

R1 = 15

Размещение в памяти:

6) Косвенная.

MOV R1,@177560

R1 = 15

Предыдущая команда

команда

177560

Следующая команда


1000

177560:

15

1000:

6) Косвенно-относительная.

MOV R1,@#177560

R1 = 15

Предыдущая команда

команда

177560

Следующая команда


15

177560: