Смагин М.С. Вычислительные машины, системы и сети (1088253), страница 5
Текст из файла (страница 5)
Данная концепция была впервые описана в 1946 году в статье «Предварительное конструирование электронного вычислительного устройства», написанной Артуром Бёрксом, Германом Голдстайном и Джоном фон Нейманом. В данной статье были сформулированы основные принципы построениявычислительных машин, а также предложена структурная схема построениягипотетической вычислительной машины, позже получившая название «Машина фон Неймана».Рассмотрим сначала основные принципы, сформулированные в 1946году.1.
Принцип двоичностиДля представления данных и команд используется двоичная система.2. Принцип программного управленияПроцесс работы вычислительной машины заключается в выполнениинабора команд, именуемого программой. Данный набор записывается заранее и хранится в виде, пригодном для восприятия вычислительной машиной.Данный принцип получил также название «Концепция хранимой программы», более подробно он будет рассмотрен ниже.3. Принцип однородности памятиПрограммы и данные хранятся в едином запоминающем устройстве,называемом также основной памятью.4.
Принцип адресуемости памятиОсновная память состоит из пронумерованных ячеек. Каждая ячейка в любоймомент времени доступна как для записи, так и для чтения.255. Принцип последовательности программного управления.Команды в программе выполняются последовательно, одна после завершения другой.6.
Принцип условного перехода.В тексте программы возможно присутствие специальных команд, изменяющих последовательность выполнения команд в программе в зависимости от текущих значений данных.Что касается «Машины фон Неймана», то авторы статьи предположили, что она должна иметь следующую структуру.Рис.8 Структура машины фон НейманаДанная структурная схема является единой для абсолютного большинства современных вычислительных машин.
Далее мы увидим, как она воспроизводится в вычислительных устройствах на различных уровнях аппаратной сложности – на уровне вычислительных устройств, вычислительных ма26шин и вычислительных систем. На данной схеме можно выделить следующие структурные элементы:• основная память• блок управления• функциональный блокОсновная память, как уже было сказано, используется для хранениякоманд и данных.В блоке управления собраны узлы, отвечающие за управление работойвычислительного устройства, в первую очередь, − дешифровку и обработкувнешних управляющих сигналов. Например команд, поступающих от пользователя или от оперативной памяти. Кроме того, блок управления можетосуществлять выдачу внешних контрольных сигналов, сообщающих внешним устройствам о текущем состоянии вычислительного устройства в целоми об особых случаях, возникающих в его работе.В функциональном блоке собраны узлы, отвечающие за выполнениеопераций, составляющих функциональное назначение устройства.
Кроме того, функциональный блок осуществляет приём и выдачу данных, которые, всвою очередь, могут для внешних устройств играть роль как сигналов данных, так и сигналов управления.Взаимодействие блоков осуществляется с помощью внутренних управляющих сигналов, идущих от блока управления к функциональному блоку ивнутренних контрольных сигналов, следующих в обратном направлении.Управляющие сигналы активируют те или иные элементы из составафункционального блока, а через контрольные сигналы функциональный блокпередаёт блоку управления информацию о текущем состоянии входящих внего элементов и сообщает об исключительных ситуациях, возникших в процессе работы.27Рассмотрим, как в рамках этой концепции строятся микропроцессорные вычислительные устройства, и какие структурные элементы при этомиспользуются.Основная памятьОсновная память в микропроцессорных устройствах присутствует ввиде набора регистров общего назначения или, как ещё говорят, регистрового файла, а также ряда специализированных регистров.
Регистры общего назначения, чаще всего, используются для хранения данных. Хранимые данныемогут использоваться в функциональном блоке для выполнения над нимиразличных вычислительных операций. Кроме того, значения, хранимые в регистровом файле, могут быть использованы в блоке управления при проверкепризнаков выполнения условных переходов.
Специализированные регистры,как правило, входят в состав блока управления и функционального блока, ипредназначены для обеспечения их работы. В блоке управления специализированные регистры используются для хранения команд, загружаемых извнешней, относительно микропроцессоров, памяти, а также для организациивзаимодействия с ней. В функциональном блоке специализированные регистры используются для хранения промежуточных результатов вычислений.Блок управленияБлок управления играет в вычислительных устройствах главенствующую роль. Чаще всего повышение производительности обеспечивается не засчёт ускорения работы функционального блока, а за счёт сокращения времени его простоев путём усовершенствования блока управленияСхема устройства управления представлена на приведённом ниже рисунке. Следует отметить, что традиционно в схемах такого рода считается,что входы функциональных узлов расположены на левой и верхней сторонахобозначающих их прямоугольников, а выходы – на правой и нижней.
Следует также иметь в виду, что данная схема не является жёстко заданной. В це28лях удешевления, упрощения и ускорения работы процессора, из неё могутбыть исключены отдельные связи и даже некоторые узлы.Рис.9 Структурная схема блока управленияОсновными структурными элементами блоков управления являются:• регистр команд,• счётчик выполнения микроопераций• преобразователь кода операций• служебные регистры.Команды, в виде числовых кодов, поступают на вход блока управленияот внешнего источника. Таким источником может являться пользователь,вводящий команды в реальном масштабе времени, или запоминающее уст29ройство, хранящее последовательность команд, записанных пользователемранее.
Такие команды называются ассемблерными операциями, а язык, состоящий из команд − ассемблером или ассемблерным языком.Каждая модель микропроцессоров имеет свой ассемблерный язык. Если у нескольких моделей микропроцессоров множество допустимых ассемблерных операций совпадает настолько, что программы, написанные на ассемблере одной для модели процессора, могут успешно выполняться на другой модели процессора, то говорят о семействе совместимых моделей.Самым известным семейством совместимых моделей является семейство x86, объединяющее в себя процессоры IBM-совместимых персональныхкомпьютеров начиная с 086 модели, появившейся в конце 80-х годов ХХ века, до современных Intel i7.Итак, на вход регистра команд, поступают ассемблерные команды.Выполнение каждой команды разбивается на несколько этапов, которые отсчитываются с помощью счётчика выполнения микроопераций.
Значение кода операции, записанное в регистр команд, вместе с текущим значениемсчётчика выполнения микроопераций составляет код текущей микрооперации. Этот код подаётся на вход преобразователя кода операций, который,приняв код, формирует саму микрооперацию. Микрооперация представляетсобой набор управляющих сигналов для различных узлов входящих в функциональный блок. Соответственно, каждому этапу выполнения отдельнойкоманды будет соответствовать определённая микрооперация.В зависимости от способа построения преобразователя кода микрооперации, блоки управления в микропроцессорных устройствах подразделяютсяна:• блоки с жёстким временным распределением сигнала (ЖВРС);• блоки с микропрограммным управлением.В управляющем блоке типа ЖВРС блок преобразования кодов выполняется в виде жёстко задаваемой комбинационной схемы.
Количество входовэтой схемы определяется числом команд в системе команд микропроцессора30и количеством этапов-микроопераций в самой сложной микропроцессорнойкоманде.Если обозначить число входов преобразователя кодов как N, число команд, как К, а максимальное число микроопераций в самой сложной команде,как Z, то зависимость между ними будет следующей:N = log 2 K ⋅ log 2 ZВ управляющем блоке с микропрограммным управлением в качествепреобразователя кодов используется элемент памяти, в котором хранятсямикрооперации.
В этом случае можно упростить схему блока управления,убрав регистр команд. Код операции, при этом, загружается непосредственнов счётчик и используется в качестве адреса первой микрооперации для соответствующей команды.Отметим, что в зависимости от функционального назначения микропроцессоров, может быть использован как один тип автоматов, так и другой.Каждый имеет свои достоинства и недостатки.Отличительными особенностями автомата типа ЖВРС являются:• малый объём требуемых аппаратных ресурсов;•высокая скорость;• сложность для проектирования;•отсутствие возможности внести исправления и дополнения.В свою очередь, автоматы с микропрограммным управлением имеютследующие особенности:• простота проектирования (а следовательно и укороченные сроки разработки);• возможность внести изменения и дополнения на этапе испытаний готового образца.• высокий объём требуемых аппаратных ресурсов;• меньшая чем у ЖВРС скорость.31Следующим важным элементом на структурной схеме блока управления являются служебные регистры.
Они, как правило, недоступны пользователю или доступны только для чтения, хотя бывают и исключения. Их составменяется в зависимости от особенностей структуры конкретной модели процессора, но почти у всех процессоров имеются следующие регистры управления:• Адресные регистры.Их состав и функции определяются поддерживаемыми процессоромрежимами адресации операндов.• Счётчик команд (PC – program counter).Содержит адрес извлекаемой машинной команды.• Регистр текущей команды (IR – instruction register).Содержит последнюю извлечённую машинную команду.• Регистр адреса в памяти (MAR – memory address register).Содержит адрес ячейки памяти, с которой необходимо произвести чтение или запись.• Регистр данных памяти (MBR – memory buffer register).Содержит слово данных, которое должно быть записано в память, илислово, только что извлечённое из памяти.• Регистр состояния программы (PSW – program status word).PSW называют ещё регистром флагов.