Chapter_04 (1110556)
Текст из файла
Глава 4. Введение в архитектуру ЭВМВ этой главе мы введём основные определения и рассмотрим важные базовые понятия, которыебудут нам необходимы для дальнейшего изучения архитектуры ЭВМ. С этой целью мы построим иизучим ещё несколько учебных машин различной архитектуры, как бы кратко повторяя историю начального этапа развития вычислительной техники.4.1. Адресность ЭВМКак мы уже упоминали, число адресов в машинной команде называется адресностью ЭВМ.Разнообразие архитектур ЭВМ предполагает, в частности, и разную адресность их систем команд.Рассмотрим схему выполнения команд на компьютерах с различным числом адресов операндов. Посравнению с изученной ранее учебной ЭВМ УМ-3 мы несколько увеличим аппаратные возможности(объём памяти и число возможных кодов операций), чтобы приблизить эти параметры к характеристикам "настоящих" машин первого поколения.Будем предполагать, что для хранения кода операции в команде учебной машины отводитсяодин байт (это 8 двоичных разрядов, что достаточно для представления 256 различных кодов операций), а для хранения каждого из адресов – по 3 байта, что обеспечивает доступ к объёму адресуемойпамяти в 224 (примерно 16 миллионов) байт.
Ниже приведены форматы команд для ЭВМ различнойадресности и схемы выполнения этих команд для случая бинарных (двуместных) операций (у такихопераций два операнда и один результат, это, например, привычные для нас арифметические операции сложения, вычитания, умножения и деления). В дальнейшем для обобщённого обозначения любой бинарной операции мы будем использовать символ . Трёхадресная машинаТрёхадресные команды являются наиболее естественными для человека при составлении программы на машинном языке, так как большинство элементарных шагов в вычислительных алгоритмах являются именно бинарными операциями. Пусть команда в нашей новой трёхадресной машинеимеет такой формат:КОПA1A2A3= 10 байт8 разрядов 24 разряда 24 разряда 24 разрядаЭто модификация уже знакомой нам трёхадресной ЭВМ УМ-3, однако, теперь длина каждой команды увеличена до 10 байт.
Так как теперь команды и числа занимают несколько коротких ячеек(длиной в один байт), то адресом команды или числа будет адрес её первой ячейки (байта). Длинацелых и вещественных чисел по-прежнему будет 32 бита или 4 байта.Схема выполнения команд такой машины её центральным процессором нам уже известна, онатакая же, как на нашей учебной ЭВМ УМ-3:1R1 := <A2>; R2 := <A3>; S := R1 R2;<A1> := S; { – любая бинарная операция} Двухадресная машинаСократим теперь число адресов в машинной команде с трёх до двух и мысленно построим двухадресную учебную машины (можно по аналогии с предыдущей учебной машиной назвать её УМ-2).Длина каждой команды для двухадресной ЭВМ будет равна 7 байт:КОП8 разрядовA124 разрядаA2= 7 байт24 разрядаСхема выполнения бинарных двухадресных команд в центральном процессоре нашей машиныУМ-2 будет такой:R1 := <A1>; R2 := <A2>; S := R1 R2; <A1> := SЗаметим, что теперь, так как адресов у нас только два, для выполнения бинарной операции первый и второй операнды задаются в команде явно в качестве адресов, а местоположение результатаоперации задаётся неявно или, как говорят, по умолчанию.
В рассмотренном выше случае двухадресных команд результат бинарной операции по умолчанию помещается на место первого операнда,1В схемах выполнения команд разной адресности мы не будем учитывать, что некоторые команды могуттакже вырабатывать признак результата (для УМ-3 этот признак помещался в регистр w).2уничтожая его старое значение (заметим, что в большинстве современных машин, в том числе и внаиболее распространённых персональных ЭВМ, двухадресные команды выполняются именно потакой схеме). Одноадресная машинаПри дальнейшем сокращении числа адресов в машинной команде у нас получится уже одноадресная учебная машина УМ-1, команды которой имеют такую структуру:КОП8 разрядовA124 разряда= 4 байтаДлина каждой команды этой машины равна 4 байта.
Схема выполнения одноадресных командбудет такой:R1 := <A1>; S := S R1Как видим, при выполнении бинарных операций в одноадресной ЭВМ уже только один второйоперанд задаётся в команде явно, а первый операнд и результат операции задаются неявно – это регистр сумматора в арифметико-логическом устройстве, обозначенный нами буквой S.Для работы в одноадресной машине необходимы ещё две специальные команды, которые имеютодин операнд и один результат.
Эти команды реализуют унарные (одноместные) операции. У нас этокоманда чтения операнда из памяти на регистр сумматора:СЧ A1Она выполняется по схемеS := <A1>и команда записи значения из сумматора в память:ЗП A1Она выполняется по схеме<A1> := SЗаметим, что в некотором смысле одноадресная архитектура самая простая для реализации, ипоэтому не случайно самая первая ЭВМ с названием EDVAC, построенная в соответствии с принципами Фон Неймана (мы о ней уже упоминали), была именно одноадресной машиной. Безадресная машинаЛогическим завершением процесса уменьшения числа адресов в машинной команде являетсяпостроение нульадресной (или безадресной) учебной ЭВМ (назовём её УМ-0). Почти все командыэтой машины состоят только из кода операции и имеют длину один байт:КОП8 разрядов= 1 байтВ отличие от других рассмотренных выше учебных машин, новая безадресная машина кроме основной памяти, в которой, как обычно, хранится программа и данные, использует при своей работетакже аппаратно реализованный в компьютере стек для хранения чисел (операндов).
Для обменаданными между основной памятью и стеком в язык машины вводятся две дополнительные одноадресные команды длиной по 4 байта. Это команда записи машинного слова в вершину стека из любойячейки памяти с адресом A1ВСТЕК A1которая выполняется по схемеR1 := <A1>; ВСТЕК(R1)и команда чтения машинного слова из вершины стека в ячейку основной памяти (как обычно, причтении машинное слово удаляется из стека)ИЗСТЕКА A1которая выполняется по схемеR1 := ИЗСТЕКА; <A1> := R1Вообще говоря, кроме указанных выше одноадресных команд записи в стек и чтения из стека,для удобства программирования в безадресной ЭВМ могут добавляться и некоторые другие одноадресные команды (например, команды безусловного и условного переходов, команда вызова процедуры и другие). В отличие от команд записи из памяти в стек и чтения из стека в память, остальныеодноадресные команды являются избыточными.
Так, например, одноадресную команду перехода3на ячейку с адресом А1 можно заменить двумя командами: одноадресной командой записи в стекзначения адреса перехода А1 (в виде целого числа) и безадресной командой перехода по адресу, записанному в вершине стека.Таким образом, за исключением этого небольшого набора одноадресных команд, которые, как ив нашей предыдущей учебной одноадресной машине, имеют длину 4 байта, все остальные командыявляются безадресными, имеют длину 1 байт и выполняются по схеме: 1R1 := ИЗСТЕКА; R2 := ИЗСТЕКА; S := R1 R2; ВСТЕК(S)Как видно, для безадресных команд при выполнении бинарных операций уже все аргументы(два операнда и результат) задаются неявно и располагаются в стеке.
Отсюда понятно, почему частомашины этой архитектуры называются стековыми ЭВМ.2Кроме рассмотренных выше видов машин, существовали и архитектуры ЭВМ с другим числомадресов. В качестве примера упомянем четырёхадресные машины, в четвёртом адресе которых дополнительно хранился ещё и адрес следующей выполняемой команды (для таких ЭВМ вообще ненужны команды переходов). Собственно, адресов может быть и больше, с помощью таких командможно, например, реализовать уже не бинарные операции, а функции от многих переменных.Далее, существуют архитектуры ЭВМ, которые различаются не только количеством адресов вмашинной команде, но и наличием в такой команде нескольких кодов операций. Такие ЭВМ обычно называются машинами с очень длинным командным словом (VLIW – Very Large InstructionWord).3 В этих компьютерах, например, некоторые команды могут реализовывать операторы присваивания вида z:=k*(x+y) по схеме:R1 := <x>; R2 := <y>; S := R1+R2;R1 := <k>; S := S*R1; <z> := SВ компьютерах с такой архитектурой команда, содержащая два кода операции и четыре адресааргументов, в наших предыдущих предположениях о размере адреса и кода операции, имеет длину14 байт и, например, такой формат:КОП1КОП2A1A2A3A4Такие команды могут выполняться, например, по схеме:R1 := <A2>; R2 := <A3>; S := R1 КОП1 R2;R1 := <A4>; S := S КОП2 R1; <A1> := SМожно сказать, что компьютеры этой архитектуры как бы связывают несколько последовательных команд программы в одну длинную команду, при этом в современных ЭВМ такая связка можетсодержать до семи кодов операций и соответствующее число операндов, а длина команды может доходить до 64 байт.
Обычно построение таких длинных машинных команд производит компилятор сязыка программирования высокого уровня для эффективного вычисления выражений. Главное идеяVLIW архитектуры заключается в том, что на языке машины задаётся явный параллелизм: все операции над данными в такой длинной команде можно выполнять параллельно (в разных частях АЛУ),так как это одна команда.Здесь следует отметить, что компьютеры с архитектурой VLIW являются, вообще говоря, специализированными ЭВМ. Специализированные ЭВМ, в отличие от универсальных, могут эффективно использоваться только в достаточно узкой, как говорят, предметной области.
Например, можно понять, что компьютеры с архитектурой VLIW будут наиболее эффективны при проведении научных расчётов в таких областях, как линейная алгебра, газовая динамика, физика твёрдого тела и1Замечание для продвинутых читателей. Выполнение бинарной операции по схеме S := R1 R2производится для стековых машин, которые вычисляют выражения, записанные в так называемой прямойпольской записи.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.