- •Глава 1. Принципы построения современных эвм.
- •Формы представления чисел
- •Арифметические операции над двоичными числами с фиксированной запятой
- •Арифметические операции над числами с плавающей запятой
- •Находим характеристику частного путем сложения с дополнением .
- •, При переходе к прямому коду, получим Теперь находим частное деления мантисс, используя схему деления без восстановления остатка. Коды мантиссы делителя
- •Таким образом, окончательный результат равен . Так же, как и впредудущих случаях проверим результат:
- •Логические основы построения эвм Элементы алгебры логики
- •Основные законы алгебры логики и формы логических функций
- •Синтез логических схем
- •Принципы построения современных эвм
- •Системы команд и методы адресации, применяемые в эвм
- •Постоянная память
- •Логическая организация оперативной памяти
- •Кэширование оперативной памяти
Принципы построения современных эвм
Архитектура фон Неймана
Абсолютное большинство всех современных вычислительных систем, начиная с больших и мини-ЭВМ, некоторых суперкомпьютеров, различных серверов и заканчивая персональными компьютерами, относят к системам, имеющим архитектуру фон Неймана или традиционную (классическую). Поэтому рассмотрение вопросов организации современных ЭВМ мы начнем с систем, относящихся именно к данному классу. Их работа основывается на следующих принципах, предложенных Джоном фон Нейманом4:
Принцип программного управления.
Согласно данному принципу, программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в заданной последовательности. Выборка программы из памяти осуществляется с помощью специального регистра процессора — счетчика команд. В этом регистре адрес хранящейся в нем очередной команды последовательно увеличивается на ее длину. Так как команды программы расположены в памяти друг за другом, то, таким образом, организуется выборка цепочки команд из последовательно расположенных ячеек памяти. При переходе не к следующей, а к какой-либо другой команде, используются команды условного или безусловного переходов, которые заносят в счетчик команд адрес ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды "стоп". Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
Принцип однородности памяти.
Программы и данные хранятся в одной и той же памяти. Таким образом, компьютер не различает, что хранится в данной ячейке памяти: число, символ или команда. Над командами можно выполнять такие же действия, как и над данными. В этом случае, программа в процессе своего выполнения также может подвергаться изменениям, что позволяет задавать в самой программе правила получения некоторых ее частей (подпрограмм). Кроме того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции (компиляции), то есть перевода текста программы с языка программирования высокого уровня на язык конкретной машины.
Принцип адресности.
Основная память состоит из перенумерованных ячеек, и процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.
Упрощенная схема вычислительной машины фон Неймана имеет следующий вид
Рис. 1.1.1. Cтруктурная схема машины фон Неймана
Следует заметить, что в ЭВМ первых поколений устройство управления и арифметико-логическое устройство выполнялись в виде отдельных блоков, а окончательная интеграция их в CPU произошла в микропроцессорах. Рассмотрим подробнее основные функции АЛУ и УУ.
Обработка информации на ЭВМ сводится к логическим и арифметическим операциям над двоичными (двоично-десятичными или же десятичными) числами. Операции сложения и сдвига двоичных чисел являются базовыми операциями. Именно с помощью этих операций, используя представление двоичных, двоично-десятичных и десятичных чисел в дополнительном коде [13], можно реализовать все остальные арифметические действия: вычитание, умножение и деление. Количество этих операций зависит от требуемой точности вычислений. Помимо перечисленных, компьютер должен выполнять такие операции, как сравнение, выделение части числа, арифметический и логический сдвиг, циклическое сложение кодов, то есть операции, относящиеся к разряду логических.
Часть процессора, в которой выполняются эти операции, называется арифметико-логическим устройством (АЛУ). Одной из основных задач устройства управления является подача в АЛУ операндов и кода операции, которая должна быть выполнена над операндами. Упрощенная схема одноразрядного АЛУ приведена на рис.1.1.2 [17].
Данное устройство осуществляет реализацию следующих операций:
Рис. 1.1.2. Арифметико-логическое устройство
Тип (код) выполняемой операции задается
комбинацией сигналов
.
Искомая комбинация обрабатывается
декодером (дешифратором). После
декодирования по соответствующим линиям
сигналы поступают или в логическое
устройство (логические операции) или в
сумматор. Логическое устройство выполняет
операции
.
АЛУ позволяет получить значения
,
выполняя
инверсию сигналов
и
(сигналы разрешения
или
),
то есть
,
а также получить
.
Если
и
,
а
,
то
и
поступают в логическое устройство
без изменений. В сумматоре вычисляются
,
и осуществляются переносы
.
Выходной результат передается через
схему ИЛИ.
Следует отметить, что в состав процессора могут входить несколько АЛУ для реализации операций с целочисленными данными (командами) и выполнения операций над данными с плавающей точкой.
Рис. 1.1.3. Функциональная схема устройства управления
Устройство управления (УУ) служит для автоматического выполнения заданной программы или координации работы всех устройств ЭВМ. Упрощенная схема этого устройства приведена на рис. 1.1.3 [3, 5]. Все устройства управления имеют общую структуру, поскольку все они выполняют одни и те же основные функции. Реализация "внутренних" операций, связанных с выборкой очередной команды, хранением команды в течение цикла, преобразованием ее адресной5 части, выделяется в отдельный блок, обычно называемый блоком управления командами (БУК). Преобразование операционной части команды осуществляется с помощью второго основного блока устройства управления— блока микрокоманд (БМК). В структуру УУ может входить блок прерываний.
Блок микрокоманд служит для преобразования операционной части команды и формирования всех, необходимых для выполнения заданной операции, наборов управляющих сигналов.
В блоке управления командами формируется адрес очередной команды, хранится код исполняемой команды и осуществляется преобразование адресных частей команд, включая действия по образованию исполнительных адресов, по которым осуществляется непосредственная выборка операндов. Аппаратура и цепи передачи информации БУК обеспечивают также изменение естественной последовательности команд при выполнении команд условной или безусловной передачи управления и других. В состав блоков управления командами включаются регистры, счетчики, сумматоры, и другие логические элементы.
Блоки прерываний представляют собой аппаратную часть общих систем прерываний, обеспечивающих в компьютерах прерывание выполнения текущих программ и переход к выполнению других программ. Необходимость прерываний вызвана необходимостью разделения машинного времени между различными рабочими программами и потребностью быстрого реагирования на различные ситуации, связанные с выполнением текущих программ и состояниями отдельных устройств компьютера. К таким ситуациям относятся: переполнение разрядной сетки, нарушение защиты оперативной памяти, выявление неисправности какого-либо устройства, наличие ошибки в операционной части команды и т. п.
Что касается памяти, то она в силу ее исключительного положения, будет подробно рассмотрена ниже, как и устройства ввода/ вывода, а пока рассмотрим другую важную составляющую архитектуры любой ЭВМ — систему команд.
