
Классическая архитектура (архитектура Фон Неймана)
АЛУ
УВВ
УВыв
ЦУУ

ЗУ
Основой для построения этой архитектуры являются принципы программного управления:
Информация кодируется в двоичной форме и разделяется на единицы – слова.
Разнотипные по смыслу слова различаются по способу использования, но не по способу кодирования.
Слова информации размещаются в ячейках памяти и идентифицируются номерами ячеек – адресами слов.
Алгоритм представляется в форме последовательности управляющих слов – команд. Команда определяет наименование операции и операнды (слова информации), участвующие в ней. Алгоритм, записанный в виде последовательности команд называется программой.
Выполнение вычислений, предписанных алгоритмом, сводится к последовательному выполнению команд в порядке определенном программой.
Программа вычислений (обработки информации) составляется в виде последовательности команд и загружается в память ЭВМ – запоминающее устройство. Там же хранятся исходные данные и промежуточные результаты обработки.
ЦУУ последовательно извлекает из памяти команды программы и организует их выполнение.
АЛУ предназначено для реализации операций преобразования информации. Программа и исходные данные вводятся в память ЭВМ через устройство ввода, результаты обработки предъявляются на устройство вывода. Характерной особенностью архитектуры фон Неймана является то, что память представляет собой единое адресное пространство, предназначенное для хранения как программ, так и данных. Такой подход обеспечивает большую гибкость вычислений – это возможность перераспределения памяти между программой и данными, возможность самомодификации программы в процессе ее выполнения. Основная проблема заключается в необходимости специальных мер защиты памяти. Альтернативой фон Неймановской архитектуре является Гарвардская архитектура, в которой имеются два непересекающихся адресных пространства – для программ и для данных. В основном гарвардская архитектура применяется в управляющих ЭВМ. Где должна быть обеспечена высокая надежность выполнения программ.
Классификация эвм по типам архитектуры.
По типам архитектуры ЭВМ можно разделить на однопроцессорные и многопроцессорные. Классическим примером однопроцессорной архитектуры является архитектура фон Неймана со строго последовательным выполнением команд. По мере развития вычислительной техники сначала появился конвейер, а затем многофункциональная обработка. В основу классификации подложено понятие потока команд и потока данных. Поток команд – это последовательность команд выполняемых ЭВМ (системой). Поток данных – последовательность данных. Обрабатываемых под управлением потока команд (исходная информация + промежуточные результаты решений).
<<<<<<<<<<<<<<МЕНЯ НЕ БЫЛО>>>>>>>>>>>>>>>
Структура и формат команд ЭВМ.
Команды ЭВМ представляют собой код определяющий операцию и данные участвующие в операции, кроме этого в явной или неявной форме команда содержит информацию об адресе, куда помещаются результат и адресе следующей команды.
По характеру выполняемых операций выделяются следующие группы команд:
Команды арифметических операций для чисел с фиксированной или плавающей запятой.
Команды десятичной арифметики.
Команды передачи данных
Команды операций ввода/вывода
Команды логических операций
Команды передачи управления (управление циклом, условный и безусловный переход)
Команды
………………………………………… А информация об адресах в ячейках памяти, в которых они находятся. Команда состоит из операционной части (код операции) и адресной части (информация о местонахождении операндов и месте хранения результатов)
к |
|
|
|
|
|
адресная
Операц часть
Форматом команды называется заранее оговоренная структура полей и ее кода с разметкой номеров разрядов, определяющих границы отдельных полей команды.
Одна из основных проблем при проектировании ЭВМ является выбор структуры и формата команд, т.е. ее длины, назначения и размерности отдельных полей.
Для упрощения аппаратуры и повышения быстродействия формат команд должен быть по возможности короче.
Рассмотрим различные структуры команд:
Коп |
А1 |
А2 |
А3 |
А4 |
А1-А2: адреса операндов
А3: адрес результата
А4: адрес следующей команды
Команда содержит в явном виде всю информацию его задаваемой операции. Существует принудительная адресация. Такая структура приводит к большой длине команды и неприемлема при прямой адресации операндов. В ряде случаев после выполнения команды расположенных по адресу К, и занимающие L ячеек памяти выполняется команда из ячейки К+L. Такой порядок выборки команд является естественным. Нарушается командами передачи управления. В этом случае отпадает необходимость в явном виде указывать А4.
В трехадресной команде:
А1-А2: адреса операндов
А3: адрес результата
Можно условиться, что результат помещается на место одного из операндов, получаем двухадресную команду, где для результата используется подразумеваемый адрес.
В одноадресной команде: подразумеваемые адреса имеют и результат операции и один из операндов. Один из операндов указывается адресом в команде, в качестве второго используется содержимое регистра процессора (аккумулятора). Результат записывается в тот же регистр.
В некоторых случаях используются безадресные команды, когда подразумевается адреса и операндов и результата (например стековая память). Адресные поля в большинстве случаев содержат не сами адреса а информацию, позволяющую определить действительные или исполнительные адреса операндов. В соответствии с используемыми способами адресации.
Способы адресации.
Существует два принципа поиска операндов в памяти: ассоциативный и адресный. Ассоциативный поиск операнда (поиск по содержанию ячейки) предполагает просмотр содержимого всех ячеек памяти, для выявления кодов, содержащий ассоциативный признак заданный командой.
Адресный поиск предполагает, что искомый операнд извлекается из ячейки, номер которой формируется на основе информации в адресном поле команды.
Различают понятия исполнительного адреса и адресного кода. Адресный код – информация об адресе операнда, содержащегося в команде. Исполнительный адрес – номер ячейки памяти, к которой фактически производится обращение (по сути – физический адрес).
В ЭВМ адресный код как правило не совпадает с исполнительным адресом. Способ адресации – это способ формирования исполнительного адреса операнда Аи по адресному коду команды Ак.
В системах команд ЭВМ часто предусматривается возможность использования нескольких способов адресации операндов для одной и той же операции. В этом случае в системе команд выделяется специальное поле – указатель адресации.
Классификация способов адресации по наличию адресной информации в команде. Различают явную и неявную адресацию. При явной адресации операнда в команде есть поле адреса операнда, в котором задается адресный код Ак, при неявной адресации адресное поле в команде отсутствует, адрес операнда подразумевается кодом операции. Метод неявной адресации используется с целью уменьшения длины команды за счет исключения части адресов.
Классификация способов адресации по кратности обращения в память.
Различаются:
Непосредственная, R – кратность, R=0
Прямая адресация R=1
Косвенная R>=2
При этом способе операнд располагается в адресном поле команды, обращение к регистровой или оперативной памяти не производится, удобно для задания констант, длина которых меньше или равно длине адресного поля. Уменьшается время выполнения операций, сокращается объем памяти.
Обращение за операндом в регистровую или основную память, производится по адресному коду в поле команды, т.е. исполнительный адрес совпадает с адресным кодом Ai=Ak .
Код оп. |
A |
-
Адрес исполнительный
операнд
Этот метод обеспечивает простоту программирования, однако имеет недостатки: т.к. для адресации ячейкам памяти большой емкости требуется длинное адресное поле.
Адресный код команды указывает адрес ячейки памяти, в которой находится не сам операнд, а адрес операнда, который называется указателем операнда.
Адресация к операнду через цепочку указателей (косвенных адресов) называется косвенной.
Коп |
A |
РП ОП
|
А операнд |
|
|
операнд |
|
Адрес указателя в большинстве случаев при программной реализации остается неизменным, а косвенный адрес может изменяться. Таким образом косвенная адресация обеспечивает обработку массивов из списков данных, упрощает передачу параметров подпрограмм.
Классификация по способу формирования исполнительных адресов ячеек памяти.
Способы формирования исполнительного адреса можно разделить на абсолютные и относительные.
Предполагают, что двоичный код адресной ячейки памяти Ai может быть извлечен целиком из адресного поля команды (прямая адресация) или из какой либо другой ячейки (косвенная адресация) и никаких преобразований адресного кода не производится.
Относительные способы формирования Ai предполагают, что двоичный код адреса ячейки памяти образуется из нескольких составляющих:
Б – код базы
И – код индекса
С – код смещения
Которые используются в различных сочетаниях:
Пример: (Б+С), (И+С), (Б,И+С).
При относительной адресации применяются два способа вычисления Ai:
Суммирование кодов, составляющих адреса.
Совмещение (конкатенация) кодов составляющих адреса. Ai=Б/С.
Относительная адресация:
Базирование способом суммирования
В команде адресный код Ak разбивают на 2 составляющих, это Ab – адрес регистра в регистровой памяти, в котором хранится базовый адрес, где б – база. С – код смещения относительно базового адреса.
С помощью метода относительной адресации удается получить перемещаемый программный модуль, начальный адрес программного модуля (база), загружается при входе в модуль в базовый регистр. Все остальные адреса программного модуля формируются через смещение относительно начального адреса модуля. Таким образом одно и та же программа может работать см данными расположенными в любой области памяти без перемещения данных, без изменения текста программы, только за счет изменения базового регистра. Однако время выполнения каждой операции при этом возрастает.
Базирование способом совмещения составляющих
Данный метод используется для увеличения емкости адресной основной памяти без увеличения длины адресного поля, в методе используются совмещения или конкатенация кодов базы и смещения.
Таким образом в данном случае начальные адреса массивов не могут быть реализованы произвольно, а должны иметь в младших разрядах количество нулей соответствующих длине поля смещения.
Индексная адресация
Для работы программ с массивами требующими однотипных операций над элементами массива, используется индексная адресация. Схема индексной адресации аналогична базированию путем суммирования. Адрес i-го операнда в массиве определяется как сумма начального адреса массива, задается полем смещения С и индекса И, записанного в одном из регистров регистровой памяти, которые называются индексным регистром. Адрес индексного регистра задается в команде полем адреса индекса. И аналогично базе.
В ряде случаев для эффективной работы применяется комбинированная индексация с базированием, при которой адрес операнда вычисляется как сумма 3-х составляющих, т.е. Ai=Б+И+С