![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Разрядных микропроцессоров
Обобщенный вид формата команды допускает наличие полей: кода операции (1 или 2 байта); байтов адресации (0, 1 или 2 байта); байтов смещения (0, 1, 2 или 4 байта); байтов непосредственных данных – операндов (0, 1, 2 или 4 байта). Команды содержат от 1 до 11 байт. Проведенные оценки показывают, что в среднем длина команды составляет 4-5 байт. Рассмотрим назначение основных полей кода команды. Код операции (КОП) определяет тип выполняемой операции, а также в некоторых командах в первом байте может содержаться бит W, задающий
разрядность операндов: W=0 – операция с байтами; W=1 – операция со словами (16 или 32 разряда). В ряде команд первый байт КОП содержит поля reg или sreg, определяющие адрес используемых регистров. Трехбитовое поле reg задает выбираемый регистр в соответствии с разрядностью обрабатываемых операндов. Поле sreg (двух или трехбитовое) определяет адрес сегментных регистров. Байт адресации MOD R/M содержит три поля. Поля: MOD и R/M задают адрес одного из операндов, который может храниться в регистре или ячейке памяти. Кодировка этих полей определяет выбираемый способ адресации. В одноадресных командах поле REG/КОП содержит дополнительные биты кода операции. В двухадресных командах поле REG содержит адрес регистра, в котором хранится второй из операндов. Тип команды (одно- или двухадресная) определяется первым битом КОП. Поле MOD указывает, какой разрядности смещение используется для формирования адреса. Если оно имеет значение 00 (при некоторых значениях R/M) или 01, 10, то используется 8-, 16- или 32- разрядное смещение. Это смещение задается соответствующими байтами в коде команды, которые располагаются после байтов адресации. Для реализации некоторых способов относительной адресации используется байт SIB. Он содержит 3-битовые поля INDEX и BASE, определяющие выбор регистров, используемых в качестве индексного и базового регистров, и поле SS, задающее масштабный коэффициент для модификации значения индекса. При выполнении операций с непосредственной адресацией один из операндов задается в последних байтах команды. В этом случае КОП ряда команд содержит бит S, определяющий способ использования непосредственно задаваемых данных. Современные 32-разрядные микропроцессоры поддерживают следующие типы данных: · бит (величина в один бит); · битое поле (группа, включающая до 32-х смежных битов, занимающих максимум до 4-х байтов); · байт (8-ми битовая величина со знаком); · байт без знака (8-ми битовая величина без знака); · целое (слово) (16-ти битовая величина со знаком); · целое (слово) без знака (16-ти битовая величина без знака); · длинное целое (двойное слово) (32-х битовая величина со знаком); · длинное целое (двойное слово) без знака (32-х битовая величина без знака); · учетверенное слово со знаком (64-х битовая величина со знаком); · учетверенное слово без знака (64-х битовая величина без знака); · 128 разрядное слово (128-и битовая величина); · одинарная точность, двойная точность, расширенная точность (будут рассмотрены далее); · короткий указатель (16 или 32 бита смещения относительно базового адреса сегмента, содержащегося в селекторе сегмента, адресация только в пределах одного сегмента); · длинный указатель (полный указатель, который состоит из 16-ти бит селектора сегмента и из 16-ти или 32-х бит смещения); · строка бит (множество смежных битов, у 32-х разрядных микропроцессоров строка бит может занимать пространство до 4-х гигабайт); · строка (последовательность смежных байтов, слов или двойных слов, строка может содержать от 1-го байта до 4 гигобайт); · упакованное BCD (двоично-десятичное число, представлено одним байтом двух десятичных цифр от 0 до 9, помещая одно число в каждый полубайт); · BCD распакованное (представление байтом десятичной цифры от 0 до 9); · плавающая запятая (32-, 64 или 80-и разрядное вещественное число со знаком. Числа с плавающей запятой поддерживаются арифметическими сопроцессорами).
Контрольные вопросы и задания
1.Какие архитектурные особенности имеют 32-разрядные микропроцессоры? 2.В чем состоит смысл суперконвейерной и суперскалярной обработки? 3.Поясните принцип гиперпотоковой организации вычислительного процесса. 4.В чем состоит ограничение гиперпотоковой организации вычислительного процесса? 5.Поясните принцип многоядерной архитектуры современных процессоров. 6.Назовите основные типы регистров 32-разрядных микропроцессоров и поясните их назначение.
|