Порядок выполнения работы.
Влияние основных характеристик Компьютера на формат команды Цель работы: изучить взаимосвязь формата команды (размеров поля кода операции и полей адреса) с основными характеристиками ЭВМ (количеством команд, составляющих систему команд ЭВМ, объемом оперативной и регистровой памяти при прямой адресации операндов). Введение Современные ЭВМ используют программно-управляемый принцип работы. Этот принцип предполагает существование некоторого языка, понятного ЭВМ, с помощью которого можно указать характер и последовательность действий ЭВМ. Существует множество языков программирования, но все они базируются на единственном для каждого типа ЭВМ машинном языке. Машинный язык реализуется аппаратными средствами ЭВМ и состоит из набора команд, с помощью которых можно задать все возможные на данной ЭВМ операции с любыми допустимыми типами данных и режимами их адресации. Команда – это двоичный код, определяющий тип операции и адреса операндов, над которыми выполняется данная операция, а также указывающая место, куда должен быть помещён результат. Форматом команды называется структура команды, позволяющая распознать ее составные части. Рассмотрим формат команды, представленный на рис. 1.Формат команды в общем случае состоит из двух типов полей. Одно поле (на рисунке левое) предназначено для хранения двоичного кода, определяющего тип выполняемой операции, или код операции (КОП). Другое (правое) поле А i используется для установления адресов (i – количество адресов) двоичных кодов, над которыми выполняется операция, и адреса, куда записывается результат.
Рис.1. Обобщенный формат команды
Важной характеристикой команды служит ее длина. В общем случае n ком – количество двоичных разрядов команды, является функцией: - количества команд, составляющих систему команд ЭВМ, - системы кодирования команд, - объёма используемых в ЭВМ запоминающих устройств, - режимов адресации операндов Она складывается из длины поля кода операции и суммы длин адресных полей: n ком = n коп + n адр , где n – количество адресных полей в команде. В поле кода операции фиксируется двоичный код, определяющий тип выполняемой операции (команды). При разработке ЭВМ для каждой команды выбирается свой уникальный двоичный код, который остается неизменным на все время эксплуатации ЭВМ. Максимальное количество операций (Кmax), которое может быть закодировано в поле кода операций длиной n КОп, составляет Тогда по известному количеству команд, составляющих систему команд данной ЭВМ, можно определить необходимую длину поля операции: n коп ³ log2 K. Естественно, что эта величина должна быть минимально возможным целым числом. Так, для ЭВМ, имеющей систему команд из 100 команд, длина поля кода операции составит 7 бит. Для определения размеров адресных полей команды вначале рассмотрим понятие адреса и операнда, которые используются в определении команды. Оперативная память (ОП) – это совокупность последовательных ячеек, каждая из которых предназначена для хранения двоичного кода фиксированной разрядности. Все ячейки памяти имеют условные l -разрядные двоичные номера (00...000, 00...001, 00...010 и т.д.). Двоичный код номера ячейки ОП и является её адресом. Если поле адреса команды содержит просто номер ячейки ЗУ, к которой производится обращение, то длина этого поля определяется следующим образом: n адр ³ log2 V ЗУ, где V ЗУ – объем запоминающего устройства. При этом также необходимо учитывать, что эта величина должна быть целой и минимально возможной при данном условии. Так для указания адреса (номера) любой ячейки ЗУ, состоящей из 300 ячеек, потребуется 9 двоичных разрядов.
Правомерна и другая постановка задачи – определение максимального объема запоминающего устройства (V ЗУmax), к которому можно обратиться при заданной длине поля адреса. В этом случае . При больших объёмах запоминающего устройства прямое указание номера используемой ячейки в адресном поле команды ведёт к существенному увеличению длины команды. Одним из способов уменьшения длины поля адреса является введение в состав ЭВМ дополнительно специального блока памяти небольшого объема – регистровой памяти (РП). Это запоминающее устройство имеет высокое быстродействие и служит для хранения часто используемой информации: промежуточных результатов вычислений, счетчиков циклов, составляющих адреса при некоторых режимах адресации и т.д. Так как объем РП невелик, адресация ее элементов требует относительно короткого адресного поля. Например, для регистровой памяти объемом 8 регистров требуется всего лишь трехразрядное адресное поле. Другое направление сокращения длины адресного поля команды состоит в использовании различных режимов адресации. Это направление будет рассмотрено в последующих работах. На формат команды существенное влияние оказывает система кодирования команд – количество адресов i в адресной части команды. В настоящее время наибольшее распространение в ЭВМ общего назначения имеет двухадресная система команд. Будем считать, что А – адрес операнда, (А) – операнд (двоичный код, хранящийся по адресу А, а * – знак обобщенной операции (например, сложения). Тогда схема выполнения операции в двухадресной системе команд будет иметь вид: (А1)*(А2) ® А1, или (А1)*(А2) ® А2, то есть над двумя операндами, расположенными по адресам А1 и А2, выполняется некоторая операция, результат которой записывается на место первого или второго операнда (в зависимости от архитектуры ЭВМ), замещая его. Формат двухадресной команды представлен на рис.
Рис. Структура двухадресной команды
Для ЭВМ, имеющей в своём состав оперативную и регистровую память, операнды, как и приёмник результата, могут находиться в любом из этих запоминающих устройств. Длина соответствующего адресного поля при этом при этом будет определяться описанным выше способом. Ещё раз подчеркнем, что приведённые формулы определения разрядности поля адреса операнда справедливы лишь при прямой адресации.
Один из операндов может располагаться в одном из адресных полей команды (так называемая непосредственная адресация). В таком случае размер этого поля равен длине операнда. Влияние других режимов адресации, кроме прямой и непосредственной на формат поля адреса операнда в данной работе не рассматривается.
Порядок выполнения работы В работе необходимо выполнить два задания: - решить задачу синтеза формата двухадресной команды, исходя из заданных характеристик ЭВМ и - решить задачу анализа формата двухадресной команды с целью определения предельных характеристик ЭВМ. После запуска программы открывается главное окно программы. Сначала обучаемому необходимо изучить теорию по данному вопросу и нажать кнопку «Изучено» в конце материала (рис.), после чего он попадает в главное окно с уже активной кнопкой «Старт» на вкладках «Задание».
Рис. Окно изучения теории лабораторной работы
Для выполнения задания в тренировочном режиме следует нажать кнопку «Старт». При этом обучаемый в любой момент по кнопке «Теория» может обратиться к теоретическому материалу по данной теме. Вид экрана при выполнении первого задания представлен на рис. Рис. Исходное окно задания по синтезу формата команды
Исходными данными для определения формата команды являются: - количество команд, выполняемых ЭВМ (для приведённого на экране задания К=149), - объём оперативной памяти (Vоп = 2048K ячеек), - объём регистровой памяти (Vрп = 41), - длина операнда при непосредственной адресации (L=8). Необходимо определить форматы команд, использующих различные сочетания операндов: регистр-регистр, регистр-память, память-память, регистр - непосредственный операнд,
память - непосредственный операнд. Для всех форматов команды: n коп ³ log 2 149. Ближайшее целое число, удовлетворяющее этому условию, – n коп = 8 бит. Разрядность поля адреса для прямой адресации операнда в оперативной памяти: n адр оп ³ log 2(2048*210) n адр оп =21 бит. Разрядность поля адреса для адресации операнда в регистровой памяти: n адр рп ³ log 241 n адр рп = 6 бит. Разрядность поля для размещения непосредственного операнда равна длине этого операнда и составляет n неп = 8 бит. Таким образом, команды в зависимости от места расположения операндов будут иметь следующий формат:
Полученные расчётные данные необходимо ввести в поле каждой команды. После заполнения каждого поля необходимо нажать кнопку «Fix». При этом в случае ввода неправильного значения данное поле подсвечивается, и обучающая программа предлагает попробовать ввести результат в это поле ещё раз (кнопка «Повтор») (рис.). Такое предложение можно проигнорировать и продолжить заполнять следующие поля.
Рис. Окно тренировочного режима задания
По окончании ввода во все поля всех команд можно посмотреть правильные результаты, нажав клавишу «Результат». По клавише «Следующий» можно получить новые исходные данные для этого задания, перейти к выполнению задания 2 на соответствующую вкладку или вернуться на главную форму урока, чтобы перейти к выполнению работы в режиме контрольного тестирования (кнопка «Вернуться»). Следует иметь в виду, что в режиме контрольного тестирования оценка выставляется по результатам выполнения обоих заданий, поэтому целесообразно сначала выполнить оба задания в тренировочном режиме. Вид экрана при выполнении второго задания представлен на рис..
Рис. Окно выполнения задания по анализу формата команды
На экране представлены значения длин полей двухадресной команды формата «регистр-память». Исходными данными для определения предельных характеристик ЭВМ являются длины полей команды, отводимых под кодирование кода операции и адресов операндов при прямой адресации регистровой и оперативной памяти. Необходимо определить максимальные значения следующих характеристик ЭВМ: количество команд в системе команд, объём регистровой и оперативной памяти, к которым может адресовать данная ЭВМ при прямой адресации.
В приведенном на экране задании длина поля, отводимого под код операции, составляет n коп = 5. Длина поля адреса регистровой памяти: n адр рп = 4. Длина поля адреса оперативной памяти: Согласно этим данным, максимальное количество команд, которое может входить в систему команд данной ЭВМ, составит Kmax = 25 = 32 команды. Максимальное количество адресуемых регистров, которое может содержать ЭВМ, будет равно: Vрп = 24 = 16. Максимальный объем адресуемой оперативной памяти составит Vоп = 219 = 29 * 210 = 512 К ячеек. При ошибочном вводе какой-либо информации в нужное поле это поле подсвечивается, и обучающая программа предлагает повторить ввод (рис.).
Рис. Окно выполнения задания по анализу формата команды
По клавише «Результат» можно получить правильные ответы на все пункты задания, по клавише «Следующий» получить новые исходные данные для этого задания, по клавише «Вернуться» вернуться на главную форму урока, чтобы перейти к выполнению работы в режиме контрольного тестирования. В режиме контрольного тестирования необходимо выполнить оба задания (8 пунктов). В задании 1 синтез формата одного формата команды считается одним пунктом. Обучающая программа подсчитывает количество правильно выполненных пунктов и выставляет оценку за работу (рис.).
Рис. Окно оценки результатов выполнения программы в контрольном режиме
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|