Правильный состав блоков компьютера по фон нейману. Архитектура ЭВМ Джона фон Неймана


Принципы фон Неймана (Архитектура фон Неймана)

    Архитектура компьютера

В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.

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

Принципы фон Неймана

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

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

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

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

    Возможность условного перехода в процессе выполнения программы . Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.

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

Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.

Как работает машина фон Неймана

Машина фон Неймана состоит из запоминающего устройства (памяти) - ЗУ, арифметико-логического устройства - АЛУ, устройства управления – УУ, а также устройств ввода и вывода.

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

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

Арифметико-логическое устройство выполняет указанные командами операции над указанными данными.

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

УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.

Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство - «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.

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

Принципы фон Неймана[править | править исходный текст]

Принцип однородности памяти

Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных. Такой прием носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции - перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.

Принцип адресности

Структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек - адреса.

Принцип программного управления

Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов - команд. Каждая команда предписывает некоторую операцию из набора операций, реализуемых вычислительной машиной. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности, то есть в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд программы принимается либо на основании анализа результатов предшествующих вычислений, либо безусловно.

Принцип двоичного кодирования

Согласно этому принципу, вся информация, как данные, так и команды, кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в формате, имеющая определенный смысл, называется полем. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды можно выделить два поля: поле кода операции и поле адресов.

Еще одной поистине революционной идеей, значение которой трудно переоценить, является предложенный Нейманом принцип “хранимой программы”. Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Это было весьма трудоемким занятием: например, для изменения программы машины ENIAC требовалось несколько дней (в то время как собственно расчет не мог продолжаться более нескольких минут – выходили из строя лампы). Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.

Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ, но и предложил ее структуру, которая воспроизводилась в течение первых двух поколений ЭВМ. Основными блоками по Нейману являются устройство управления (УУ) и арифметико-логическое устройство (АЛУ) (обычно объединяемые в центральный процессор), память, внешняя память, устройства ввода и вывода. Схема устройства такой ЭВМ представлена на рис. 1. Следует отметить, что внешняя память отличается от устройств ввода и вывода тем, что данные в нее заносятся в виде, удобном компьютеру, но недоступном для непосредственного восприятия человеком. Так, накопитель на магнитных дисках относится к внешней памяти, а клавиатура – устройство ввода, дисплей и печать – устройства вывода.

Рис. 1. Архитектура ЭВМ, построенной на принципах фон Неймана. Сплошные линии со стрелками указывают направление потоков информации, пунктирные – управляющих сигналов от процессора к остальными узлам ЭВМ

Устройство управления и арифметико-логическое устройство в современных компьютерах объединены в один блок – процессор, являющийся преобразователем информации, поступающей из памяти и внешних устройств (сюда относятся выборка команд из памяти, кодирование и декодирование, выполнение различных, в том числе и арифметических, операций, согласование работы узлов компьютера). Более детально функции процессора будут обсуждаться ниже.

Память (ЗУ) хранит информацию (данные) и программы. Запоминающее устройство у современных компьютеров “многоярусно” и включает оперативное запоминающее устройство (ОЗУ), хранящее ту информацию, с которой компьютер работает непосредственно в данное время (исполняемая программа, часть необходимых для нее данных, некоторые управляющие программы), и внешние запоминающие устройства (ВЗУ) гораздо большей емкости, чем ОЗУ. но с существенно более медленным доступом (и значительно меньшей стоимостью в расчете на 1 байт хранимой информации). На ОЗУ и ВЗУ классификация устройств памяти не заканчивается – определенные функции выполняют и СОЗУ (сверхоперативное запоминающее устройство), и ПЗУ (постоянное запоминающее устройство), и другие подвиды компьютерной памяти.

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

Разработанные фон Нейманом основы архитектуры вычислительных устройств оказались настолько фундаментальными, что получили в литературе название “фон-неймановской архитектуры”. Подавляющее большинство вычислительных машин на сегодняшний день – фон-неймановские машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие существенные принципиальные отличия от классической модели (примерами могут служить потоковая и редукционная вычислительные машины).

По-видимому, значительное отклонение от фон-неймановской архитектуры произойдет в результате развития идеи машин пятого поколения, в основе обработки информации в которых лежат не вычисления, а логические выводы

.

Архитектура ЭВМ включает в себя как структуру, отражающую состав ПК, так и программно – математическое обеспечение. Структура ЭВМ - совокупность элементов и связей между ними.

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

Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ, но и предложил ее структуру, представленную на рисунке (нарисовать в тетради).



Рис. Схемма Джона фон Неймана

Положения фон Неймана:

Компьютер состоит из нескольких основных устройств (арифметико-логическое устройство, управляющее устройство, память, внешняя память, устройства ввода и вывода)

Арифметико-логическое устройство – выполняет логические и арифметические действия, необходимые для переработки информации, хранящейся в памяти

Управляющее устройство – обеспечивает управление и контроль всех устройств компьютера (управляющие сигналы указаны пунктирными стрелками)

Данные, которые хранятся в запоминающем устройстве, представлены в двоичной форме

Программа, которая задает работу компьютера, и данные хранятся в одном и том же запоминающем устройстве

Для ввода и вывода информации используются устройства ввода и вывода

Один из важнейших принципов – принцип хранимой программы – требует, чтобы программа закладывалась в память машины так же, как в нее закладывается исходная информация.

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

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

Запоминающие устройства обеспечивают хранение исходных и промежуточных данных, результатов вычислений, а также программ. Они включают: оперативные (ОЗУ), сверхоперативные СОЗУ), постоянные (ПЗУ) и внешние (ВЗУ) запоминающие устройства.

Оперативные ЗУ хранят информацию, с которой компьютер работает непосредственно в данное время (резидентная часть операционной системы, прикладная программа, обрабатываемые данные). В СОЗУ хранится наиболее часто используемые процессором данные. Только та информация, которая хранится в СОЗУ и ОЗУ, непосредственно доступна процессору.

Внешние запоминающие устройства (накопители на магнитных дисках, например, жесткий диск или винчестер) с емкостью намного больше, чем ОЗУ, но с существенно более медленным доступом, используются для длительного хранения больших объемов информации. Например, операционная система (ОС) хранится на жестком диске, но при запуске компьютера резидентная часть ОС загружается в ОЗУ и находится там до завершения сеанса работы ПК.

ПЗУ (постоянные запоминающие устройства) и ППЗУ (перепрограммируемые постоянные запоминающие устройства) предназначены для постоянного хранения информации, которая записывается туда при ее изготовлении, например, ППЗУ для BIOS.

В качестве устройства ввода информации служит, например, клавиатура. В качестве устройства вывода – дисплей, принтер и т.д.

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

Все современные ЭВМ, не смотря на то, что прошло большое колличество времени, работают на принципах предложенных американским математиком Джоном фон Нейманом (1903 - 1957). Также внес значительный вклад в развитие и применение ЭВМ. Был первым кто основал принципы по которым работает ЭВМ:

1. Принцип двоичного кодирования: вся информация в ЭВМ представлена в двоичном виде, сочетание 0 и 1.

2. Принцип однородности памяти: и программы и данные хранятся в одной и той же памяти.поэтому ЭВМ не распознает что хранится в данной ячейке памяти, а там могут располагаться цифры, текст, команда и т. д. Над командами можно совершать те же действия, что и надданными.

3. Принцип адресуемости памяти: схематически ОП (основная память) состоит из пронумерованных ячеек, ЦП (центральный процессор) в любой момент времени доступная любая ячейка памяти. Поэтому возможно присваивать имена блокам памяти для более удобного взаимдействия ОП и ЦП.

4. Принцип последовательного программного управления: программа состоит из совокупности команд, которые выполняются ЦП последовательно друг за другом.

5. Принцип условного перехода: не всегда происходит так, что команды выполняются одна за одной, поэтому возможно присутствие команды условного перехода, которые меняют последовательно выполнения команд в зависимости от значения хранимых данных

. Классификация современных ЭВМ.

Современные ЭВМ подразделяются на встроенные микро­процессоры , микроЭВМ (персональные компьютеры), большие ЭВМ и суперЭВМ - комплекс ЭВМ с несколькими процессорами.

Микропроцессы - процессоры, реализуемые в виде инте­граль­ных элек­трон­ных микросхем . Микропроцессоры могут встраиваться в телефоны, телевизоры и другие приборы, машины и устройства.

На интегральных микросхемах реализуются процессоры и оперативная память всех современных микро-ЭВМ, а также все блоки больших ЭВМ и суперЭВМ, а также всех программируемых устройств.

Производительность микропроцессоров составляет несколько миллионов опе­ра­ций в секунду, а объемы современных блоков оперативной памяти - несколько миллионов байтов.

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

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

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

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

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

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

Большие ЭВМ - компьютеры высокой производительности с большим объемом внешней памяти. Большие ЭВМ исполь­зуют в качестве серверов сетей ЭВМ и больших хранилищ данных.

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

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

Производительность суперЭВМ составляет десятки и сотни тысяч мил­лиардов вычи­сли­тель­ных операций в секунду. При этом в суперЭВМ все более увели­чивается количество процессоров и усложняется архитектура ЭВМ.

В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В дальнейшем на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.

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

Принцип программного управления: программа состоит из набора команд, выполняющихся процессором определённой последовательности.

Принцип однородности памяти: программы и данные хранятся в одной и той же памяти.

Принцип адресности: структурно основная память состоит из пронумерованных ячеек. Процессору в произвольный момент времени доступна любая ячейка.

Компьютеры, построенные на перечисленных принципах, относятся к типу фон – неймановских.

Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров, установка программ не требует значительных временных затрат.

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

В начале 1956 г. по инициативе академика С.Л. Соболева, заведующего кафедрой вычислительной математики на механико-математическом факультете Московского университета, в вычислительном центре МГУ был учрежден отдел электроники и стал работать семинар с целью создать практичный образец цифровой вычислительной машины, предназначенной для использования в вузах, а также в лабораториях и конструкторских бюро промышленных предприятий. Требовалось разработать малую ЭВМ, простую в освоении и применениях, надежную, недорогую и вместе с тем эффективную в широком спектре задач. Обстоятельное изучение в течение года имевшихся в то время вычислительных машин и технических возможностей их реализации привело к нестандартному решению употребить в создаваемой машине не двоичный, а троичный симметричный код, реализовав уравновешенную систему счисления, которую Д. Кнут двадцать лет спустя назовет быть может, самой изящной и как затем стало известно, достоинства которой были выявлены К. Шенноном в 1950г. В отличие от общепринятого в современных компьютерах двоичного кода с цифрами 0, 1, арифметически неполноценного вследствие невозможности непосредственного представления в нем отрицательных чисел, троичный код с цифрами -1, 0, 1 обеспечивает оптимальное построение арифметики чисел со знаком. Троичная система счисления основана на том же позиционном принципе кодирования чисел, что и принятая в современных компьютерах двоичная система, однако вес i -й позиции (разряда) в ней равен не 2 i , а 3 i . При этом сами разряды не двухзначны (не биты), а трехзначны (триты) - помимо 0 и 1 допускают третье значение, которым в симметричной системе служит -1, благодаря чему единообразно представимы как положительные, так и отрицательные числа. Значение n -тритного целого числа N определяется аналогично значению n -битного:

где а i ∈ {1, 0, -1} - значение цифры i -го разряда.

В апреле 1960 г. были проведены междуведомственные испытания опытного образца вычислительной машины, названной «Сетунь».По результатам этих испытаний “Сетунь” была признана первым действующим образцом универсальной вычислительной машины на безламповых элементах, которому свойственны “высокая производительность, достаточная надежность, малые габариты и простота технического обслуживания”.“Сетунь”, благодаря естественности троичного симметричного кода, оказалась поистине универсальным, несложно программируемым и весьма эффективным вычислительным инструментом, положительно зарекомендовавшим себя, в частности, как техническое средство обучения вычислительной математике более чем в тридцати вузах. А в Военно-воздушной инженерной академии им. Жуковского именно на “Сетуни” была впервые реализована автоматизированная система компьютерного обучения.

В соответствии с принципами фон Неймана компьютер состоит из:

· арифметико-логического устройства - АЛУ (англ. ALU, Arithmetic and Logic Unit), выполняющего арифметические и логические операции; устройства управления -УУ, предназначенного для организации выполнения программ;

· запоминающих устройств (ЗУ) , в т.ч. оперативного запоминающего устройства (ОЗУ – первичная память) и внешнего запоминающего устройства (ВЗУ); в основной памяти хранятся данные и программы; модуль памяти состоит из множества пронумерованных ячеек, в каждую ячейку может быть записано двоичное число, которое интерпретируется либо как команда, либо как данные;

· устройств ввода-вывода, которые служат для передачи данных между компьюте­ром и внешним окружением, состоящим из различных периферийных уст­ройств, в число которых входят вторичная память, коммуникационное обо­рудование и терминалы.

Обеспечивает взаимодействие между процессором (АЛУ и УУ), основной памятью и устройствами ввода – вывода системная шина .

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

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

2.2 Команда, форматы команд

Команда – это описание элементарной операции, которую должен выполнить компьютер.

Структура команды.

Количество разрядов, которые отводятся для записи команды, зависит от аппаратных средств конкретной модели компьютера. В связи с этим, структуру конкретной команды будем рассматривать для общего случая.

В общем случае команда содержит следующую информацию:

Ø код выполняемой операции;

Ø указания по определению операндов или их адресов;

Ø указания по размещению получаемого результата.

Для любой конкретной машины должно быть задано число двоичных разрядов, отводимых в команде для каждого из её адресов и для кода операций, так же как и сами фактические коды операций. Число двоичных разрядов в команде, отведенное при конструировании машины для каждого из её адресов, определяет верхнюю границу числа ячеек памяти машины, имеющих отдельные адреса: если адрес в команде изображается с помощью n двоичных разрядов, то в памяти с быстрой выборкой не может содержаться больше чем 2 n ячеек.

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

В современных машинах длина команд переменная (как правило, от двух до четырёх байт), а способы указания адресов переменных весьма разнообразны.

В адресной части команды может быть указан, например:

Операнд;

Адрес операнда;

Адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда) и т.д.

Рассмотрим структуру возможных вариантов нескольких типов команд.

Трёхадресные команды.

Двухадресные команды.

Одноадресные команды.

Безадресные команды.

Рассмотрим бинарную операцию сложения: с = a + b.

Для каждой переменной в памяти определим условные адреса:

Пусть 53 – код операции сложения.

В этом случае структура трёхадресной команды выглядит следующим образом:

· Трёхадресные команды.

Процесс выполнения команды разбивается на следующие этапы:

Из ячейки памяти, адрес которой хранится в счётчике команд, выбирается очередная команда; содержимое счётчика изменяется и теперь содержит адрес следующей по порядку команды;

Выбранная команда передаётся в устройство управления на регистр команд;

Устройство управления расшифровывает адресное поле команды;

По сигналам УУ значения операндов считываются из памяти и записываются в АЛУ на специальные регистры операндов;

УУ расшифровывает код операции и выдаёт в АЛУ сигнал выполнить соответствующую операцию над данными;

Результат операции в данном случае отправляется в память(в одноадресных и двухадресных ЭВМ остаётся в процессоре);

Все предыдущие действия выполняются до достижения команды ОСТАНОВ.

2.3 ЭВМ как автомат

«Электрон­ные цифровые машины с программным управлением представляют собой пример одного из наиболее распространенных в настоящее время типов преобразователей дискретной информации, называемых дискретными или цифровыми автоматами»(Глушков В.М. Синтез цифровых автоматов)

Любая вычислительная машина работает автоматически (будь то большая или малая ЭВМ, персональный компь­ютер или Супер-ЭВМ). В этом смысле вычислительная машина как автомат может быть описана структурной схемой, представленной на рис. 2.1.

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

В качестве исполнительных элементов в автомат включаются:

· арифметико-логическое устройство:

· память;

· устройства ввода-вывода информации.

Управляющим элементом автомата является устройство управления, которое собственно обеспечивает автоматический режим работы. Как уже отмечалось, в современных вычислительных устройствах основным исполнительным элементом является процессор или микропроцессор, который содержит в себе АЛУ, память, устройство управления.

Вспомогательными устройствами автомата могут быть всевозможные дополнительные средства, улучшающие или расширяющие возможности автомата.

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

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

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

Структуры и архитектуры ЭВМ Принципы фон Неймана

В основу архитектуры большинства компьютеров положены следующие общие принципы, сформулированные в 1945 г. американским ученым Дж. фон Нейманом в отчете по ЭВМ EDVAC

Принцип программного управления; принцип однородности памяти; принцип адресности. По истечении более 60 лет большинство компьютеров так и имеют «фон-неймановскую архитектуру», причем обычно принципы фон Неймана реализованы в следующей форме:

  • оперативная память (ОП или ОЗУ - оперативное запоминающее устройство) организована как совокупность машинных слов (МС) фиксированной длины или разрядности (имеется в виду количество двоичных единиц или бит, содержащихся в каждом МС). Например, ранние ПЭВМ имели разрядность 8, затем появились 16-разрядные, а затем - 32- и 64-разрядные машины. В свое время существовали даже 45-разрядные (М-20, М-220), 35-разрядные (Минск-22, Минск-32) и др. машины;
  • ОП образует единое адресное пространство, адреса МС возрастают от младших к старшим;
  • в ОП размещаются как данные, так и программы, причем в области данных одно слово, как правило, соответствует одному числу, а в области программы - одной команде (машинной инструкции - минимальному и неделимому элементу программы);
  • команды выполняются в естественной последовательности (по возрастанию адресов в ОП), пока не встретится команда управления (условного/безусловного перехода, или ветвления - branch), в результате которой естественная последовательность нарушится;
  • ЦП может произвольно обращаться к любым адресам в ОП для выборки и/или записи в МС чисел или команд.

Функциональные блоки (агрегаты, устройства)

Краткий список основных устройств, входящих в состав вычислительных машин, приведен на рис. 2.1.

Центральное устройство (ЦУ) представляет основную компоненту ЭВМ и в свою очередь включает ЦП - центральный процессор (central processing unit - CPU) и ОП (Main Storage, Core Storage, Random Access Memory - RAM).

Процессор непосредственно реализует операции обработки информации и управления вычислительным процессом, осуществляя выборку машинных команд и данных из оперативной па-

2.1. Структуры и архитектуры ЭВМ

Рис. 2.1. Перечень устройств ЭВМ

* Данные устройства здесь не рассматриваются. Читатель может обратиться, например, к .

мяти, их выполнение и запись результатов в ОП, включение и отключение ВУ. Рассмотрим в качестве примера процессор Intel Pentium (рис. 2.2). Он состоит из следующих блоков :

Ядро (Core). Основное исполнительное устройство, которое включает в себя арифметико-логическое устройство (АЛУ, или Arithmetic and Logical Unit - ALU) регистры, конвейеры. АЛУ - часть процессора, выполняющая арифметические и логические операции над данными, работает в соответствии с сообщаемыми ему кодами операций, которые должны быть выполнены над переменными, помещаемыми в регистры. Повышение производительности достигалось благодаря двум конвейерам, позволяющим выполнить одновременно несколько инструкций. Это два параллельных 5-ступенчатых конвейера обработки целых чисел, которые позволяют читать, интерпретировать, исполнять две команды одновременно. Целочисленные команды могут выполняться за один такт синхронизации. Эти конвейеры неодинаковы: U-конвейер выполняет любую команду системы команд семейства 86; V-конвейер выполняет только «простые» команды, т. е. команды, которые полностью встроены в схемы МП и не требуют микропрограммного управления (microcode) при выполнении (это команды, до-


Рис. 2.2.

пускающие спаривание с другими командами: регистр-регистр, память-регистр, регистр-память, переходы, вызовы, арифметико-логические операции);

  • предсказатель переходов (Branch Predictor) - блок, который «пытается угадать» направление ветвления программы и заранее загрузить информацию в блоки пред- выборки и декодирования команд ;
  • буфер адреса переходов (Branch Target Buffer - ВТ В). Обеспечивает динамическое предсказание переходов. Он улучшает выполнение команд путем запоминания состоявшихся переходов (256 последних переходов) и с опережением выполняет наиболее вероятный переход при выборке команды ветвления. При статических методах предсказания предписывается всегда выполнять или нет определенные виды переходов. При динамических методах исследуется поведение команд перехода за предшествующий период;
  • блок плавающей точки (Floating Point Unit). Выполняет обработку чисел с плавающей точкой;
  • кэш-память 1-го уровня (Level 1 cache). Процессор имеет два банка памяти по 8 Кбайт, один - для команд, второй - для данных, которые обладают большим быстродействием, чем более емкая внешняя кэш-память (L2 cache).
  • интерфейс шины (Bus Interface). Передает в ЦП поток команд и данных, а также передает данные из ЦП.

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

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

Однотипные ЦУ и устройства хранения данных могут использоваться в различных типах машин. Известны примеры того, как фирмы, начавшие свою деятельность с производства управляющих машин, совершенствуя свою продукцию, перешли к выпуску систем, которые в зависимости от конфигурации ВУ могут исполнять как роль универсальных, так и управляющих машин (машины Hewlett-Packard - HP и Digital Equipment Corporation - DEC).

Архитектуры ЭВМ

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

Принстонская и гарвардская архитектуры. Архитектуру фон Неймана часто отождествляют с принстонской архитектурой, которая характеризуется использованием общей оперативной памяти для хранения программ и данных. Гарвардская же архитектура характеризуется физическим разделением памяти команд (программ) и памяти данных. Элементы гарвардской архитектуры часто используются в современных процессорах, когда в кэш-памяти ЦП выделяется память команд (I-cache) и память данных (D-cache).

Иерархическая архитектура (рис. 2.3, б) - ЦУ соединено с периферийными процессорами (вспомогательными процессорами, каналами, канальными процессорами), управляющими в свою очередь контроллерами, к которым подключены группы ВУ (системы IBM 360-375, ЕС ЭВМ);

Магистральная структура (общая шина - unibas, рис. 2.3, в) - процессор (процессоры) и блоки памяти (ОП) взаимодействуют между собой и с ВУ (контроллерами ВУ) через внутренний канал, общий для всех устройств (машины DEC, IBM РС-совмес- тимые ПЭВМ).

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

управления; адреса; данных.

К этому типу архитектуры относится также архитектура персонального компьютера (ПК). Конечно, реальная структура ПК (рис. 2.3, г) отличается от теоретических схем - здесь используется несколько разновидностей шинных интерфейсов, которые соединяются между собой мостами - контроллерами памяти (Northbridge, «Северный мост») и периферийных устройств (Southbridge, «Южный мост»).


Рис. 2.3. Основные классы архитектур ЭВМ: а - централизованная; б - иерархическая; в - магистральная; г - общая структура персонального компьютера - архитектура Northbridge/Southbridge

Здесь приведен пример набора микросхем (chipset) Triton 430 ТХ:

  • Northbridge - микросхема 82439ТХ System Controller, МТХС. Интегрирует контроль кэш-памяти, ОП и шины PCI;
  • Southbridge - 82371АВ PCI ISA IDE Xcelerator, PIIX4 - многофункциональное устройство, реализующее связь PCI- ISA, функции концентратора (hub) USB и функции управления потреблением электроэнергии (Enhanced Power Management). Здесь реализована Dynamic Power Management Architecture (DPMA) - архитектура динамического управления энергопотреблением. Поддерживается также протокол прямого обращения к памяти (Ultra DMA), который обеспечивает скорость передачи в 33 Мбайт/с с НЖМД.

Современные системы включают два типа шин:

  • системная шина, соединяющая процессор с ОП и кэш-памятью 2-го уровня;
  • множество шин ввода-вывода, соединяющие процессор с различными периферийными устройствами.

Системная шина при архитектуре DIB (Dual independent bus, двойная независимая шина) физически разделена на две (рис. 2.3, г):

  • первичная шина (FSB, frontside bus), связывающая процессор с ОП и ОП с периферийными устройствами;
  • вторичная шина (BSB, backside bus) для связи с кэш-па- мятью.

Использование двойной независимой шины повышает производительность за счет возможности для процессора параллельно обращаться к различным уровням памяти. Обычно термины «FSB» и «системная шина» используют как синонимы.

Следует иметь в виду, что терминология, используемая в настоящее время для описания интерфейсов, не является вполне однозначной и ясной. Системная шина часто упоминается как «главная шина», «хост-шина», «шина процессора», или «локальная шина». Для шин ввода-вывода используются термины «шина расширения», «внешняя шина» и опять же - «локальная шина».

Открытая архитектура IBM-PC и ее развитие

Впервые реализованная в машинах IBM PC, IBM PC/XT и PC/AT концепция открытой архитектуры предполагает, что периферийные устройства связываются с ЦУ (процессор

и ОП) посредством сменных карт расширения (или адаптеров), содержащих электронику, согласующую ЦУ и периферию - рис. 2.4. Развитие или замена одних внешних устройств на другие в таких условиях сопровождается простой заменой карты.


Рис. 2.4. Открытая архитектура IBM PC:

1 - системная плата (процессор, память, chipset); 2 - внутренний интерфейс (ISA, MCA, SCSI, LPC, AGP, HyperTransport, PCI, PCI-X и пр.); 3 - плата расширения (адаптер, интерфейсная карта, контроллер внешнего устройства); 4 - интерфейс внешнего устройства (RS-232, Centronics, USB, Firewire, инфракрасный, eSATA, Bluetooth и пр.); 5 - периферийное устройство (клавиатура, монитор, принтер, сканер и пр.)

Системные платы и их разновидности. Системную плату также называют главной (mainboard) или материнской (motherboard), иногда - объединительной платой. Это - основная монтажная схема внутри ПК, на которой располагаются процессор, память, слоты расширения и которая непосредственно или косвенно присоединяется к каждой части ПК.

На рисунках ниже иллюстрируются компоненты для двух типичных плат:

  • Baby АТ (ВАТ), где используется разъем Socket 7 для присоединения процессора, приблизительно 1995 г. (рис. 2.5, 2.7, а);
  • АТХ с разъемом Slot 1 для присоединения процессора Pentium И, типичный для системных плат, на рынке с конца 1998 г. (рис. 2.6, 2.7, б).

Открытая архитектура первых ПК предполагала минимум устройств, контроллеры которых были интегрированы в системную плату (например, порт для клавиатуры). Все остальные, включая адаптер дисплея, принтера, модема, НГМД или контроллер жесткого диска, являлись дополнительными компонентами, подключаемыми через разъемы расширения.

В конце 1990-х гг. обозначилась тенденция к помещению адаптеров периферийных устройств непосредственно на систем-




Рис. 2.7. Разъемы и интерфейсы, размещенные на задней панели корпусов: а - плата Baby АТ (схематическое изображение), б - АТХ (то же); в - общий вид некоторых типов внешних интерфейсов: 1 - разъем для подсоединения шнура электропитания монитора (на ATX-корпусах может отсутствовать); 2 - разъем для подключения компьютера к сети переменного тока; 3 - разъем для подсоединения клавиатуры PS/2 (мини-DIN, 6 штырьков); 4 - разъем для подсоединения клавиатуры DIN-5; 5 - разъем для подключения мыши PS/2; 6 - USB-порты; 7 - последовательный порт (COM2); 8 - последовательный порт (СОМ1); 9 - параллельный порт (LPT); 10 - видеовыход (VGA/SVGA); 11 - разъем для подключения локальной сети (в соответствии с моделью компьютера); 12 - MIDI/Game порт (в соответствии с моделью компьютера); 13 - гнезда для подключения внешних аудиосистем (в соответствии с моделью компьютера)

ную плату и через какое-то время было интегрировано значительное количество устройств, однако многие из них - графика, сетевой интерфейс, устройства SCSI и звуковые - все же продолжали оставаться съемными. Этот процесс шел медленно, например порты ввода-вывода и контроллеры диска еще в 1995 г. часто размещались на платах расширения. Изготовители постоянно экспериментировали с различными уровнями интеграции, встраивая некоторые или даже все эти компоненты в системную плату. Однако есть очевидное препятствие - труднее модернизировать сборку, поскольку интегрированные компоненты не могут быть удалены. Для высокоинтегрированных системных плат часто требуется нестандартный корпус, при этом для замены отдельного дефектного компонента может потребоваться выбраковка системной платы.

Следовательно, те части системы, спецификация которых изменяется наиболее быстро - оперативная память, центральный процессор и графика - целесообразнее размещать в гнездах для облегчения замены. Точно так же обычно удаляются из основной спецификации (чтобы уменьшить затраты) компоненты, используемые не всеми пользователями, например сетевые интерфейсы или SCSI.