- •Составитель: Валерий Анатольевич Засов
- •Рецензенты: генеральный директор научно-производственного центра «Информационные и транспортные системы», д.Т.Н., профессор с.В. Архангельский
- •Оглавление
- •1.Принципы организации классической эвм
- •2.Структурная организация процессора
- •3.Принципы организации и программирование
- •4.Принципы организации и программирование
- •5.Структурная организация современных
- •Приложение 1.Список основных команд микропроцессора i8080
- •1.Принципы организации классической эвм и определение микропроцессорной системы
- •1.1.Принципы организации эвм Дж. Фон-Неймана
- •1.2.Определение микропроцессора и микропроцессорной системы
- •1.3.Понятие архитектуры микропроцессорной системы
- •1.4.Структура типовой микропроцессорной системы
- •1.4. Командный цикл и его фазы
- •Контрольные вопросы и задания
- •2.2.Устойство управления с аппаратной логикой
- •2.3.Устройство управления с программируемой логикой
- •2.4.Функция и структура арифметико-логического устройства
- •2.5.Система команд процессора и способы адресации
- •Контрольные вопросы и задания
- •3.Принципы организации и программирование
- •3.1.Структурная схема 8-разрядного микропроцессора
- •3.2.Программная модель 8-разрядной микропроцессорной системы
- •3.3. Способы адресации данных в 8-разрядной микропроцессорной системе
- •3.4.Программирование на ассемблере 8-разрядного микропроцессора
- •3.5. Инструментальные средства разработки и отладки программ для 8-разрядных микропроцессоров
- •3.6. Пример решения задачи
- •3.7.Функциональная схема ядра 8-разрядной микропроцессорной системы
- •Контрольные вопросы
- •4. Принципы организации и программирование
- •4.1. Структурная схема микропроцессоров семейства i8086/8088
- •4.2.Функциональная схема центрального процессора на базе микропроцессора i8086/8088
- •Типы циклов шины мп i8086/8088 Таблица 4.2.
- •4.3. Конвейерный метод выполнения команд и направления его развития
- •4.4. Сегментная организация памяти и ее эволюция
- •4.5.Адресное пространство ввода – вывода
- •4.6.Программная модель микропроцессоров i8086/8088 и способы адресации
- •4.7. Описание системы команд 16-разрядного микропроцессора
- •4.8. Основные элементы программ на языке Турбо ассемблер
- •Контрольные вопросы и задания
- •5.Структурная организация современных микропроцессоров
- •5.1.Структура микропроцессора Intel Pentium 4
- •5.2.Структура микропроцессора amd Athlon
- •5.3.Гиперпотоковая технология организации вычислений
- •5.4.Эффективность многоядерной архитектуры микропроцессоров
- •5.5.Регистровые структуры 32-разрядных микропроцессоров
- •5.6.Регистровые структуры 64-разрядных микропроцессоров
- •5.7.Обобщенный формат команд и типы данных
- •Контрольные вопросы и задания
- •6. Организация памяти в микропроцессорных
- •Системах
- •6.1.Назначение, основные параметры и классификация видов памяти
- •6.2. Иерархическая структура памяти мс
- •6.3. Оперативные запоминающие устройства
- •6.4. Постоянные запоминающие устройства
- •7. Интерфейсы микропроцессорных систем
- •7.1. Назначение и функции интерфейсов
- •7.2. Принципы организации и классификация интерфейсов
- •7.3. Система интерфейсов компьютера
- •8.Способы обмена информацией между устройствами микропроцессорной системы
- •8.1. Программно – управляемый обмен и прямой доступ к памяти
- •8.2. Организация прерываний в мс
- •8.3. Циклы шины
- •9. Программируемый периферийный адаптер
- •9.1. Назначение, структурная схема и режимы работы программируемого периферийного адаптера
- •9.2. Управление работой программируемого периферийного адаптера
- •9.3. Примеры программирования периферийного адаптера
- •Признак pc7-pc4
- •Канал а Канал в
- •Контрольные вопросы и задания
- •10. Программируемый интервальный таймер.
- •Организация счета времени и событий
- •10.1.Назначение, структурная схема и программирование таймера.
- •10.2.Режимы работы таймера
- •10.3. Примеры программирования таймера
- •10.4. Организация счета времени и событий в мс
- •Контрольные вопросы и задания
- •Рассмотрим основные блоки программируемого связного адаптера.
- •11.2. Режимы работы связного адаптера
- •11.3. Управление работой и программирование связного адаптера
- •9.4. Особенности программирования асинхронных адаптеров коммуникационных портов компьютеров
- •11.5. Организация обмена между компьютерами по интерфейсу rs-232с
- •Контрольные вопросы и задания
- •Б иблиографический список
- •Список основных команд микропроцессора i8080
- •Список основных команд микропроцессора i8086/8088 и директивы языка Турбо Ассемблер
- •Основные директивы (псевдокоманды) языка
- •Турбо Ассемблер (tasm)
- •Типы символов в tasm
- •Команды передачи данных
- •Арифметические команды
- •Логические команды и команды сдвигов
- •Строковые или цепочечные команды
- •Команды передачи управления
- •Коды условий перехода (сс)
- •Команды управления микропроцессором
5.6.Регистровые структуры 64-разрядных микропроцессоров
В процессорах х86-64 архитектуры (Hammer, Athlon-64, Opteron) существующие в х86 регистры общего назначения (GPR) расширены с 32 до 64 бит и к ним добавлены еще 8 новых 64-разрядных регистров (R8-15). Также 8 новых регистров (ХММ8-15) добавлено в блок SSE, что обеспечивает поддержку SSE-2.
В блоке FPU используются существующие в х87 регистры данных (80-разрядные).
Р егистр указателя команд (EIP) также расширен до 64 разрядов. Регистровая структура 64-разрядного процессора приведена на рис.5.11.
5.7.Обобщенный формат команд и типы данных
32-разрядных микропроцессоров
Обобщенный вид формата команды допускает наличие полей: кода операции (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-и разрядное вещественное число со знаком. Числа с плавающей запятой поддерживаются арифметическими сопроцессорами).