Нейман предложил
трехкомпонентную архитектуру, получившее название треугольник Фон - Неймана. В
Фон-Неймановская архитектура ЭВМвключает в себя:
1)ЦП – объединяющий
в себе УУ(устройство управления) и
АЛУ(арифметико-логическое устройство).
2) ЗУ -
запоминающее устройство - память.
3)УВВ - устройство
ввода-вывода.
Классификация памяти: 1.постоянная;
2.оперативная
Программы и данные
должны храниться в памяти. Ввод/вывод осуществляется через устройство ввода/вывода.
Общее управление осуществляет ЦП. Между УВВ и ЗУ предусмотрена связь, т. к. при
выполнении медленных операций ввода-вывода, ЦП может выполнять другие вычисления,
не требующие ввода-вывода. А специальное устройство – контроллер прямого
доступа к памяти управляет процессом передачи данных между ЗУ и УВВ. Под программой
понимают набор команд, извлекаемые в порядке их следования, либо в соответствии
с управляющими командами. Данные хранятся в виде переменных, которые могут быть
поименованы для последующей реализации и изменения. Программы данных хранятся в
памяти. Память – последовательность ячеек для хранения порций
информации. Доступ к информации ячеек осуществляется в соответствии с адресом
(порядковым номером) информация хранится в двоичном виде.
Единица информации
бит, байт – минимально адресуемая в
памяти единица информации (1 байт=8 бит). Одним байтом может быть закодировано
28, т. е. 256 различных значений. Байты объединяются в слова, двоичные слова. Размер машинного слова –
разрядность ЭВМ.
Классификация памяти: постоянная и
оперативная.
В процессоре
объединены два устройства - УУ - для считывания команд данных из памяти и общей
координации команд и АЛУ - для простейших логических и арифметических операций.
Регистры –
быстродействующие ячейки памяти, расположенные на кристалле процессора.
Регистры специального назначения и регистры общего
назначения:
РОН предназначены
для логических и арифметических операций. РСН – в их состав входят счетчик
команд; регистр состояния программы; регистр указателя стека. Счетчик команд
хранит адрес следующей команды; регистр состояние программы – обязательно
включает в себя флаги (1/0, да/нет, правда/ложь, true/false), характеризующие результат
выполнения последней программы. Флаги используются для выполнения условных
операций. Регистр стека – хранит адрес вершины стека. Стек – область памяти,
доступ к которой осуществляется по принципу LIFO.
Арифметико-логическое
устройство процессора предназначено для выполнения операций в соответствии с
кодом команды над данными, которые указываются в качестве аргумента.
Команда пересылки.
По ней данные,
определяемые 1-м операндом пересылаются по месту хранения, которое определяется
2-м операндом. Данные пересылаются по адресу со смещением. При этом говорят о
непосредственной адресации в случае, если указаны данные; прямой адресации
данных, если указан адрес данных; косвенной, если указывается адрес адреса
данных; индексная, если указан индекс блока адреса и смещение.
Команды перехода.
Командам
безусловного перехода соответствует оператор goto; вместе с кодом операции
указывается операнд определяющий адрес команды на которую передается
управление. Фактически осуществляется команда пересылки адреса команды в реестр
счетчика команд. Для задания адреса могут использоваться различные виды
адресации. При команде условного перехода пересылка адреса выполняется в случае
истинности условия перехода, что определяется значениями файлов регистра
состояния программы.
Арифметические операции.
1) "+"
(выполняется в прямом коде).
2) "-"
(реализуется как сложение уменьшаемого с вычитаемым, которое представляется в
дополнительном коде).
3) Умножение
(выполняется как комбинация сложений и сдвигов).
4) Деление
- комбинация вычитаний и сдвигов с определением частного и остатка.
5) Операции
над числами с плавающей точкой.
6) Операции
над действительными числами выполняются в зависимости от форм представления (с
фиксированной или с плавающей точкой).
7) Выполняется
в виде совокупности операций или над мантиссой и характеристикой числа.
Логические операции.
· И
(++ = +, +- = -, -- = -)
· ИЛИ
(++ = +, +- = +, -- = -)
· НЕ
· ИСКЛЮЧАЮЩЕЕ
ИЛИ (++ = +, +- = неоднозначность, -- = -).
Другие операции: команды останова,
команды работы со стеком, пустую операцию, команды вызова подпрограммы, команда
обмена, команда цикла. Они могут быть реализованы как комбинация пересылок,
переходов, арифметических или логических действий, но присутствуют в виде
отдельных команд из-за частого использования.
Понятие об элементарном исполнителе.
Выполнение
программы на машинном языке осуществляется следующим образом: в счетчик команд
заносится адрес первой исполняемой команды. Устройство управления считывает по
этому адресу код операции, дешифрует его, определяет количество операндов,
место их размещения. Дешифрованная информация передается арифметико-логическому
устройству. Также при этом значение регистра и счетчика команд увеличивается на
размер команды, включая операнды. Если код команды соответствует команде
перехода, то в регистр счётчика команд заносится адрес перехода. Процедура
повторяется до тех пор, пока не возникнет исключительная ситуация: или внешнее
прерывание, или пока не встретится команда остановок. ЦП является элементарным
исполнителем для алгоритма исполняемой программы.
|