Структура, основные компоненты и принципы функционирования последовательных ЭВМ Под ЭВМ последовательного типа будем понимать вычислительную машину, построенную в соответствии с принципами, выдвинутыми в 1945 г. выдающимся американским ученым венгерского происхождения Джоном фон Нейманом. Принципы фон Неймана до сих пор определяют так называемую традиционную (классическую) или фон-неймановскую архитектуру ЭВМ. Эта структура реализовывалась в ЭВМ первых двух поколений. Фон-неймановская последовательная ЭВМ (рис. 2.1) состоит из · центрального процессора(ЦП), включающего арифметико-логическое устройство (АЛУ) и устройство управления (УУ), · оперативной памяти (ОП), · каналов (портов) ввода-вывода (КВВ), к которым подключаются разнообразные устройства ввода-вывода (УВВ), в том числе внешние запоминающие устройства или внешняя память(ВЗУ или ВП). ЦП, кроме АЛУ и УУ, может иметь собственную внутреннюю память (блок управляющих регистров; блок регистровой памяти и др.). Сразу отметим, что важнейшим управляющим регистром ЦП является программный счетчик (PC – Program Counter, другое название – счетчик команд или указатель команды, IP, Instruction Pointer), в котором хранится адрес следующей выполняемой команды.Информация, хранимая в ОП, непосредственно доступна центральному процессору, т.е. ЦП может произвольно читать и изменять любой участок ОП. В отличие от ОП, информация, хранимая во внешней памяти, доступна центральному процессору только через каналы ввода-вывода. Часть технических средств, включающая объединенные единым управлением ЦП, ОП и КВВ, называется центральной частьюЭВМ. УВВ включают набор различных устройств для ввода и вывода информации, совокупность УВВ называют периферийной частьюЭВМ. Рассмотрим принципы фон Неймана , в соответствии с которыми происходит функционирование классической последовательной ЭВМ. 1. Принцип двоичного кодирования. Согласно этому принципу компьютеры на электронных элементах должны работать в двоичной системе счисления. Это означает, что любая информация внутри ЭВМ записывается и хранится в двоичной форме. Напомним, что минимальной единицей информацией в двоичной системе счисления является двоичный разряд или бит, принимающий значения 0 или 1. Биты обычно объединяются в группы по 8 разрядов, называемые байтами. Любая информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов и переводится в битовое или байтовое представление. 2. Принцип адресности. Структурно оперативная память состоит из пронумерованных ячеек, номер ячейки называется адресом памяти. Центральному процессору в произвольный момент времени по адресу доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен. 3. Принцип однородности памяти. В оперативной памяти ЭВМ хранятся и программы, и данные. При этом сущностного различия между программой и данными нет. Центральный процессор может считывать и записывать любую ячейку (область) памяти вне зависимости от того, хранится в ней часть программы или данные. Более того, наличие программы в ОП является необходимым условием ее выполнения. Помещение программы в ОП осуществляется центральным процессором путем считывания ее кода из ВЗУ и записи в ОП. Из принципа однородности памяти следует возможность модификации кода программы во время ее выполнения. 4. Принцип программного управления. Из него следует, что программа состоит из упорядоченного набора команд, которые выполняются центральным процессором автоматически друг за другом в определенной последовательности. Сама исполняемая программа хранится в ОП, причем выборка из ОП очередной команды для исполнения осуществляется центральным процессором согласно значению программного счетчика. После выборки очередной команды значение программного счетчика автоматически увеличивается на длину выбранной команды. Программист может изменять значение программного счетчика командами условных и безусловных переходов, вызова и возврата из подпрограммы, вызова прерывания (подробнее см. п. 2.3.3. ). Рис. 2.1. Структура ЭВМ последовательного типа В машинах 3 и 4-го поколений ЭВМ в схему, проложенную фон Нейманом были внесены существенные коррективы. Это было обусловлено тем, что в качестве элементной базы стали использовать ИС и БИС. Это способствовало существенному увеличению производительности ЭВМ. Это в свою очередь вызвало противоречие между высокой скоростью обработки информации и медленной работой УВВ. Для устранения этой проблемы в состав ЭВМ стали включать так называемые периферийные процессоры(в настоящее время из стали называть контролерами), на которые и возлагались операции обмена. Контроллер – это специализированный процессор, управляющий работой того или иного УВВ. Рассмотрим назначение основных компонентов ЭВМ последовательного типа (рис. 2.1). Центральный процессор (ЦП), иногда его называют центральное управляющее устройство (ЦУУ) (Central Processing Unit) на схемах в соответствии с ГОСТ, обозначается как P, CP, CPU – основная часть ЭВМ, предназначенная для обработки данных и управления этой обработкой в соответствии с заложенной программой. По умолчанию такой ЦП является скалярным. Арифметико-логическое устройство (АЛУ) производит арифметические и логические преобразования над поступающими в него машинными словами, т.е. кодами определенной длины, представляющими собой числа или другой вид информации. 1. По способу обработки операндов АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды представляются в последовательном коде и операции выполняются последовательно над каждым разрядом. В параллельных АЛУ операнды представляются в параллельном коде и операции выполняются параллельно над всеми разрядами операнда. 2. По характеру использования элементов различают блочныеи многофункциональныеАЛУ. В блочном АЛУ операции над различными данными выполняются в отдельных блоках (например, отдельный блок для операций над целыми числами и отдельный блок – для операций над числами с плавающей запятой). Это повышает скорость обработки, но увеличиваются затраты на оборудование. В многофункциональных АЛУ операции над всеми типами данных выполняются одними и теми же схемами. В этом случае скорость обработки меньше, но и затраты на оборудование сокращаются. Устройство управления (УУ) автоматически управляет вычислительным процессом, посылая всем другим устройствам сигналы, предписывающие им те или иные действия.. В частности, УУ указывает ОП, какие слова должны быть переданы в АЛУ и в другие устройства, включает АЛУ на выполнение нужной операции и помещает полученный результат в ОП. Это устройство содержит счетчик команд, регистр команд и другие элементы, необходимые для управления ЦП. Существенную роль в организации хранения и обработки играет кэш-память – быстродействующая буферная память небольшой емкости, в которой хранятся команды и данные, необходимые для использования в течение текущего интервала времени. В настоящее время используется несколько уровней кэш-памяти, обозначаемые как L1, L2, L3. Ниже будут рассмотрены более подробно все вопросы, касающиеся памяти ЭВМ. Устройство ввода предназначено для ввода информации в ЭВМ. Ввод информации осуществляется либо с клавиатуры, либо с помощью сканера, либо речевым или другим способом. Устройство вывода служит для выдачи из машины результатов расчета, например, путем печатания их на печатающих устройствах (ПУ), отображения на экране дисплея или выдачи в канал связи. Как уже упоминалось, программа для фон-неймановской машины состоит из размещенных в ОП набора команд, данных и программного счетчика, определяющего в каждый момент времени команду, которая будет выполнена следующей. При этом, какова бы ни была архитектура системы команд ЭВМ, каждая команда содержит, как минимум, три обязательных поля: · код операции; · способ адресации операндов; · адреса операндов. Рис. 2.2. Формат оператора машинной команды Кодом операции определяется, какое действие будет выполнено центральным процессором по этой команде. Например, сложение двух чисел, которые в этом случае будут выступать в качестве операндов. Операнды суть входные данные для команды. В фон-неймановской машине программист должен вычислить (подготовить) операнды заранее, до того как использующая эти операнды команда поступит на выполнение. Местонахождение операндов (исполнительный адрес) определяется в соответствии с заданным в команде способом адресации. Рассматривая структуру последовательных ЭВМ, следует заметить, что возможны два подхода к организации управления выполнением команд в центральном процессоре: аппаратное и микропрограммное. Аппаратное управление предполагает установление соответствия между кодом операции и последовательностью вырабатываемых управляющих сигналов с помощью фиксированных соединений между блоками процессора. Такой подход характеризуется высокой топологической сложностью управляющей подсистемы процессора. Микропрограммное управление предполагает организацию распределенного во времени управления в соответствии с последовательностью микрокоманд (микропрограмм), определяемой по коду операции выполняемой команды процессора. Микропрограммы хранятся в постоянном запоминающем устройстве, которое называют постоянным запоминающим устройством микропрограмм. Микропрограммное управление характеризуется простотой реализации и возможностями расширения системы команд процессора. Можно констатировать, что процесс функционирования во времени устройства обработки цифровой информации, созданного по принципам фон Неймана, состоит из последовательности типовых интервалов, в течение которых выполняются элементарные операции (передача слова, сдвиг и др.). Такая элементарная операция, выполняемая за один тактовый интервал, называется микрооперацией (микрокомандой). Последовательность таких микрокоманд, реализующих данную операцию (команду), называется микропрограммой. Для определения временных соотношений между различными этапами операции используется понятие машинного такта, т.е. интервала времени, в течение которого выполняется одна или одновременно несколько микроопераций. Границы тактов задаются синхросигналами. Развитие принципов фон Неймана в конкретных реализациях направлено на повышение производительности, эффективности, надежности и других показателей качества вычислительной системы. Например, повысить эффективность использования вычислительных ресурсов системы удалось с помощью введения мультипрограммирования. В рамках фон-неймановской модели это означало создание и поддержание множества копий программных счетчиков. Мультипрограммирование может быть реализовано как в однопроцессорной, так и в мультипроцессорной системах. Каждый из программных счетчиков связан со своей программой, а изменения значений счетчиков могут происходить упорядоченно (в однопроцессорной системе) или асинхронно (в мультипроцессорном варианте). Другой пример. Уменьшить время обращения к памяти системы удалось, обеспечив возможность одновременной выборки данных и команд благодаря логическому и физическому разнесению памяти команд и данных. Такая архитектурапамяти получила название гарвардской, т.к. впервые была реализована в 1944 г. в Гарвардском университете при создании релейной ЭВМ. Цикл команды Как уже упоминалось, функционирование фон-неймановской ЭВМ представляет собой последовательное выполнение центральным процессором команд, образующих программу. Все команды программы размещаются в оперативной памяти. Действия, требуемые для выборки команды из оперативной памяти и ее выполнения, называют циклом команды. В общем случае цикл команды включает в себя следующие этапы: 1. выборка команды из ОП; 2. формирование адреса следующей команды; 3. декодирование команды; 4. вычисление адресов операндов; 5. выборка операндов из ОП; 6. исполнение операции; 7. запись результата в память. Упрощенно цикл команды последовательной ЭВМ можно представить в виде следующего алгоритма. Допустим выполняемая программа, состоящая из последовательности N команд K1, K2,… Ki,… KN, загружена в оперативную память, и центральный процессор должен выполнить очередную команду Ki. Адрес этой команды Ai в этот момент времени находится в регистре программного счетчика. 1. В начале устройство управления вырабатывает сигнал на выборку в ЦП содержимого ячейки памяти по адресу Ai. Поскольку по этому адресу размещается очередная команда Ki, именно она и попадает в ЦП. Как правило, ЦП содержит специальный регистр команды (РК), в котором и размещается полный код команды. 2. Значение программного счетчика увеличивается на длину команды Ki, и теперь он указывает на адрес Ai+1 следующей, (i+1)-й команды Ki+1. 3. После выборки команды ЦП определяет, какую операцию он должен выполнить по этой команде. Для этого УУ производит декодирование находящейся в РК команды. В результате декодирования выясняются следующие моменты: · находится ли в РК полный код команды или требуется дозагрузка остальных слов команды; · какие последующие действия нужны для выполнения данной команды; · если команда использует операнды, то откуда они должны быть взяты (из регистров ЦП или из ОП); · если команда формирует результат, то куда этот результат должен быть помещен. Ответы на первые два вопроса дает расшифровка кода операции. Для случая аппаратного управления результатом расшифровки кода операции может являться унитарный код, каждый разряд которого соответствует одной из команд. При микропрограммном управлении результатом расшифровки может быть адрес в памяти микропрограмм, по которому находится первая микрокоманда микропрограммы для реализации указанной в команде операции. 4. Если на предыдущем этапе выясняется, что команда использует операнды, то осуществляется вычисление их адресов. Адрес каждого операнда вычисляется в соответствии с указанным в команде способом адресации. 5. Без ограничения общности допустим, что команда Ki производит некоторую операцию (например, сложение) над двумя операндами Oi1 и Oi2. Расшифровав код операции сложения и вычислив адреса операндов Oi1 и Oi2, устройство управления выдает сигналы на выборку из памяти в АЛУ сначала операнда Oi1, затем – операнда Oi2. 6. После того, как оба операнда считаны из памяти, АЛУ производит требуемую операцию (сложение) и получает результат (сумму) Ri. 7. Устройство управления вырабатывает сигналы на запись результата Ri команды Ki в память (как вариант – в один из регистров ЦП). После этого центральный процессор переходит к выполнению команды Ki+1, т.е. к пункту 1 алгоритма. Приведенный алгоритм обычно называют стандартным циклом команды. В классической последовательной ЭВМ отклонение от стандартного цикла команды происходит в двух случаях – при изменении порядка выполнения команд программы и при операциях ввода-вывода. Если в качестве i-й команды выступает команда перехода, вызова подпрограммы или возврата из подпрограммы, то пункты 1-3 стандартного цикла также выполняются. Но результатом выполнения команды в этом случае будет не результат операции, а соответствующее изменение программного счетчика. Его новое значение будет равно адресу той команды, на выполнение которой следует перейти. Для ввода-вывода информации в составе программы используются специальные команды ввода-вывода. Если на 3-м шаге цикла команды после декодирования выясняется, что очередная команда предписывает выполнить операцию ввода-вывода, то устройство управления активизирует соответствующий канал (порт) ввода-вывода, а через него – необходимое устройство ввода-вывода. Результатом такой команды будет либо считывание информации в центральную часть ЭВМ при вводе, либо запись информации на соответствующее устройство вывода. Система команд ЭВМ Как уже указывалось ранее, программа для ЭВМ состоит из определенного набора команд. Каждая команда состоит из определенного набора полей. На рис. 2.2. был представлен обобщенный формат машинной команды. Каждая ЭВМ имеет свой набор определенных команд, который образует систему команд определенного типа (семейства) вычислительных машин. Под системой команд будем понимать совокупность различных типов команд вместе с правилами их кодирования. Команды ЭВМ можно классифицировать по различным признакам. В качестве последних можно использовать: 1. Состав и сложность команд. 2. Место хранения операндов. 3. Способ обработки данных и тип операндов. 4. Область применения. Рассмотрим эти виды классификаций более подробно. |