
- •Составитель: Валерий Анатольевич Засов
- •Рецензенты: генеральный директор научно-производственного центра «Информационные и транспортные системы», д.Т.Н., профессор с.В. Архангельский
- •Оглавление
- •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
- •Команды передачи данных
- •Арифметические команды
- •Логические команды и команды сдвигов
- •Строковые или цепочечные команды
- •Команды передачи управления
- •Коды условий перехода (сс)
- •Команды управления микропроцессором
Контрольные вопросы и задания
Задание 1. Составить программу для тестирования коммуникационного порта компьютера. Контакты порта соединены по схеме, приведенной на рис.9.10.
Задание 2. Составить программу для тестирования коммуникационных портов компьютера. Контакты портов соединены по схеме, приведенной на рис.11.9.
-
Б иблиографический список
-
Каган Б.М. Электронные вычислительные машины и системы: Учебное пособие для вузов. – Изд. 3-е. – М.: Энергоатомиздат, 1991. – 592 с.
-
Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем. - СПб.: Питер, 2004. – 668с.
-
Бройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем. – СПб.: Питер, 2006. – 718с.
-
Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. в 2т. / В. – Б. Б. Абрайтис, Н. Н. Аверьянов, А. И. Белоусов и др.; Под ред. В. А. Шахнова. – М.: Радио и связь, 1988. – Т.1. – 368 с.
-
Микропроцессоры. В 3 – х кн.: Учеб. Для втузов/ П. В. Нестеров, В. Ф. Шаньгин, В. Л. Горбунов и др.; Под ред. Преснухина. – М.: Высш. шк., 1986. – 495 с.
-
Жмакин А.П. Архитектура ЭВМ. – СПб.: БХВ-Питербург, 2006. – 320с.
-
Щелкунов Н. Н., Дианов А. П. Микропроцессорные средства и системы. – М.: Радио и связь, 1989. – 288 с.
-
Крейгон Х. Архитектура компьютера и ее реализация. – М.: Мир, 2004. – 416с
-
Таненбаум Э. Архитектура компьютера. – СПб.: Питер, 2002. – 704с.
-
Столлингс В. Структурная организация и архитектура компьютерных систем. – М.: Издательский Дом «Вильямс», 2002. – 896 с.
-
Новиков Ю.В., Скоробогатов П.К. Основы микропроцессорной техники: Курс лекций. – М.: ИНТУИТ.РУ, 2003. – 440с.
-
Засов В.А. Основы микропроцессорной техники: Учебное пособие. -СамИИТ, 2001. – 215с.
-
Гук М. Аппаратные средства IBM PC: Энциклопедия, 2-е изд.– СПб.: Питер, 2002. – 928с.
-
Фролов А.В., Фролов Г.В. Аппаратное обеспечение персонального компьютера: Библиотека системного программиста. т.33. – М.: ДИАЛОГ – МИФИ, 1997. – 304 с.
-
Хорошевский В.Г. Архитектура вычислительных систем: Учебное пособие для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. – 512с.
-
Сетевые операционные системы, 2-е изд/ В.Г. Олифер, Н.А. Олифер. – СПб.: Питер, 2008. – 669с.
-
Assembler /В. Юров. – СПб.: Питер, 2001. – 624с.Пирогов В.Ю. Ассемблер для Windows. - СПб.: БХВ Петербург, 2003. – 656 с.
-
Кулаков В. Программирование на аппаратном уровне. Специальный справочник. – СПб.: Питер, 2001. – 496с.
-
Магда Ю.С. Аппаратное обеспечение и эффективное программирование. - СПб.: Питер, 2007. – 352с.:ил.
-
Пахомов С. Тестирование двухъядерного процессора Intel Pentium Extreme Edition 840/ Компьютер-пресс, №6, 2005. – с.117-126.
-
Агуров П.В. Последовательные интерфейсы ПК. Практика программирования. – СПб.: БХВ-Петербург, 2004. – 496с.
Приложение 1
Список основных команд микропроцессора i8080
Фор-мат бай-тов |
Мнемокод |
Наименование команды |
Описание команд |
Биты признаков |
||||||
s |
z |
ac |
p |
c |
||||||
Команды передачи данных |
||||||||||
1 |
MOV R1, R2 |
Пересылка данных из регистра в регистр |
(R1)←(R2) |
- |
- |
- |
- |
- |
||
1 |
MOV R, M |
Пересылка данных из ячейки памяти с адресом в HL в регистр |
(R)←(MHL) |
- |
- |
- |
- |
- |
||
1 |
MOV M, R |
Пересылка данных из регистра в ячейку памяти с адресом в HL |
(MHL)←(R) |
- |
- |
- |
- |
- |
||
2 |
MVI R, B2 |
Пересылка непосредственного числа в регистр |
(R)←B2 |
- |
- |
- |
- |
- |
||
2 |
MVI M, B2 |
Пересылка непосредственного числа в ячейку памяти с адресом в HL |
(MHL)←B2 |
- |
- |
- |
- |
- |
||
3 |
LXI *, B2B3 |
Непосредственная загрузка регистровой пары |
(B)←B2, (C)←B3 |
- |
- |
- |
- |
- |
||
3 |
LDA ADR |
Прямая загрузка А – регистра из ячейки памяти с адресом B2B3 |
(A)←(MADR) |
- |
- |
- |
- |
- |
||
3 |
STA ADR |
Прямое запоминание содержимого А – регистра |
(MADR)←(A) |
- |
- |
- |
- |
- |
||
1 |
LDAX * |
Косвенная загрузка А – регистра из ячейки памяти с адресом в регистровой паре * |
(A)←(M*) |
- |
- |
- |
- |
- |
||
1 |
STAX * |
Косвенное запоминание содержимого А – регистра |
(M*)←(A) |
- |
- |
- |
- |
- |
||
3 |
LHLD ADR |
Прямая загрузка Н – пары регистров из ячейки памяти с адресом В2В3 |
(L)←(MADR), (H)←(MADR+1) |
- |
- |
- |
- |
- |
||
Команды арифметических операций |
||||||||||
1 |
ADD R |
Сложение содержимых регистра и А – регистра |
(A)←(A)+(R) |
+ |
+ |
+ |
+ |
+ |
||
1 |
ADD M |
Сложение содержимых ячейки памяти с адресом в HL и А – регистра |
(A)←(A)+(MHL) |
+ |
+ |
+ |
+ |
+ |
||
2 |
ADI B2 |
Сложение непосредственного числа с А – регистром |
(A)←(A)+B2 |
+ |
+ |
+ |
+ |
+ |
||
1 |
ADC R |
Сложение содержимых А – регистра и регистра с переносом |
(A)←(A)+(R)+C |
+ |
+ |
+ |
+ |
+ |
||
1 |
ADC M |
Сложение содержимых А – регистра и ячейки памяти с адресом в HL с переносом |
(A)←(A)+(MHL)+C |
+ |
+ |
+ |
+ |
+ |
||
2 |
ACI B2 |
Сложение непосредственного числа и А – регистра с переносом |
(A)←(A)+B2+C |
+ |
+ |
+ |
+ |
+ |
||
1 |
SUB R |
Вычитание содержимого регистра из содержимого А – регистра |
(A)←(A) - (R) |
+ |
+ |
+ |
+ |
+ |
||
1 |
SUB M |
Вычитание содержимого ячейки памяти с адресом в HL из содержимого А – регистра |
(A)←(A)-(MHL) |
+ |
+ |
+ |
+ |
+ |
||
2 |
SUI B2 |
Вычитание непосредственного числа из содержимого А – регистра |
(A)←(A) – B2 |
+ |
+ |
+ |
+ |
+ |
||
1 |
SBB R |
Вычитание содержимого регистра из содержимого А – регистра с заемом |
(A)←(A)-(R)-C |
+ |
+ |
+ |
+ |
+ |
||
1 |
SBB M |
Вычитание содержимого ячейки памяти с адресом в HL из содержимого А – регистра с заемом |
(A)←(A)-(MHL)-- C |
+ |
+ |
+ |
+ |
+ |
||
2 |
SBI B2 |
Вычитание непосредственного числа из содержимого А – регистра с заемом |
(A)←(A)-B2-C |
+ |
+ |
+ |
+ |
+ |
||
1 |
INR R |
Инкрементирование содержимого регистра |
(R)←(R)+1 |
+ |
+ |
+ |
+ |
- |
||
1 |
INR M |
Инкрементирование содержимого ячейки памяти с адресом в HL |
(MHL)←(MHL)+1 |
+ |
+ |
+ |
+ |
- |
||
1 |
INX * |
Инкрементирование содержимого регистровой пары BC или DE, или HL, или SP |
(*)←(*)+1 |
- |
- |
- |
- |
- |
||
1 |
DCR R |
Декрементирование содержимого регистра |
(R)←(R)-1 |
+ |
+ |
+ |
+ |
- |
||
1 |
DCR M |
Декрементирование содержимого ячейки памяти адресом в HL |
(MHL)←(MHL)-1 |
+ |
+ |
+ |
+ |
- |
||
1 |
DCX * |
Декрементирование содержимого регистровой пары BC или DE, или HL, или SP |
(*)←(*)-1 |
- |
- |
- |
- |
- |
||
1 |
DAD |
Сложение содержимых регистровой пары BC или DE, или SP с регистровой парой HL |
(HL)←(HL)+(*) |
- |
- |
- |
- |
+ |
||
Команды логических операций |
||||||||||
1 |
ANA R |
Поразрядное И над содержимым регистра и А – регистра |
(A)←(A)&(R) |
+ |
+ |
0 |
+ |
0 |
||
1 |
ANA M |
Поразрядное И над содержимым ячейки памяти с адресом в HL и А – регистра |
(A)←(A)& &(MHL) |
+ |
+ |
0 |
+ |
0 |
||
2 |
ANI B2 |
Поразрядное И над непосредственным числом и содержимым А – регистра |
(A)←(A)&B |
+ |
+ |
0 |
+ |
0 |
||
1 |
XRA R |
Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым регистра и А – регистра |
(A)←(A)+(R) |
+ |
+ |
0 |
+ |
0 |
||
1 |
XRA M |
Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым ячейки памяти с адресом в HL и А – регистра |
(A)←(A)+(MHL) |
+ |
+ |
0 |
+ |
0 |
||
2 |
XRI B2 |
Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над непосредственным числом и содержимым А – регистра |
(A)←(A)+B2 |
+ |
+ |
0 |
+ |
0 |
||
1 |
ORA R |
Поразрядное ИЛИ над содержимым регистра и А – регистра |
(A)←(A)v(R) |
+ |
+ |
0 |
+ |
0 |
||
1 |
ORA M |
Поразрядное ИЛИ над содержимым ячейки памяти с адресом в HL и А – регистра |
(A)←(A)v(MHL) |
+ |
+ |
0 |
+ |
0 |
||
2 |
ORI B2 |
Поразрядное ИЛИ над непосредственным числом и содержимым А – регистра |
(A)←(A)vB2 |
+ |
+ |
0 |
+ |
0 |
||
1 |
CMP R |
Сравнение содержимого регистра и содержимого А – регистра |
Устанавливаются признаки команды вычитания из А – регистра. При этом содержимое А – регистра не изменяется |
+ |
+ |
+ |
+ |
0 |
||
1 |
CMP M |
Сравнение содержимого ячейки памяти с адресом в HL с содержимым А – регистра |
||||||||
2 |
CPI B2 |
Сравнение непосредственного числа с содержимым А– регистра |
||||||||
1 |
RLC |
Циклический сдвиг влево содержимого А – регистра |
(Ai+1)←(Ai), (A0)←(A7), C←(A7) |
- |
- |
- |
- |
+ |
||
1 |
RAL |
Циклический сдвиг влево содержимого А – регистра через перенос |
(Ai+1)←(Ai), (A0)←С, C←(A7) |
|
|
|
|
|
||
1 |
RRC |
Циклический сдвиг вправо содержимого А – регистра |
(Ai)←(Ai+1), (A7)←A0, C←(A0) |
- |
- |
- |
- |
+ |
||
1 |
RAR |
Циклический сдвиг вправо содержимого А – регистра через перенос |
(Ai)←(Ai+1), (A7)←C, C←(A0) |
- |
- |
- |
- |
+ |
||
1 |
CMA |
Инверсия содержимого А – регистра |
(A)←A |
- |
- |
- |
- |
- |
||
1 |
CMC |
Инверсия признака переноса |
|
- |
- |
- |
- |
+ |
||
1 |
STC |
Установка в единицу признака переноса |
C←1 |
- |
- |
- |
- |
1 |
||
Команды передачи управления |
||||||||||
3 |
JMP ADR |
Безусловный переход |
(PC)←ADR |
- |
- |
- |
- |
- |
||
3 |
JC ADR |
Переход, если есть перенос |
Если условие верно, то (PC)←ADR, если нет – (PC)←(PC)+3 |
- |
- |
- |
- |
- |
||
3 |
JNC ADR |
Переход, если нет переноса |
- |
- |
- |
- |
- |
|||
3 |
JZ ADR |
Переход, если результат – нуль |
- |
- |
- |
- |
- |
|||
3 |
JNZ ADR |
Переход, если результат – не нуль |
- |
- |
- |
- |
- |
|||
3 |
JP ADR |
Переход, если результат ≥0 |
- |
- |
- |
- |
- |
|||
3 |
JM ADR |
Переход, если результат ‹ 0 |
- |
- |
- |
- |
- |
|||
3 |
JPE ADR |
Переход, если четно (количество единиц в байте результата операции четное) |
- |
- |
- |
- |
- |
|||
3 |
JPO ADR |
Переход, если нечетно |
- |
- |
- |
- |
- |
|||
3 |
CALL ADR |
Безусловный вызов подпрограммы |
(M(PS)-1)←(PCH) (M(PS)-2)←(PCL) (SP)←(SP)-2, (PC)←ADR. |
- |
- |
- |
- |
- |
||
Команды стека, ввода-вывода и управления |
||||||||||
1 |
PUSH * |
Запись в стек содержимого регистровой пары |
(M(SP)-1)←(* H) (M(SP)-2)←(* L) (SP)←(SP)-2. |
- |
- |
- |
- |
- |
||
1 |
POP * |
Чтение из стека содержимого в регистровую пару |
(M(PS)-1)←(PCH) (M(PS)-2)←(PCL) (SP)←(SP)+2, |
- |
- |
- |
- |
- |
||
1 |
POP PSW |
Чтение из стека слова состояния процессора |
(F)←(MSP), (A)←(M(SP)+1), (SP)←(SP)+2 |
+ |
+ |
+ |
+ |
- |
||
2 |
IN B2 |
Ввод данных из порта |
(A)←PORT B2 |
- |
- |
- |
- |
- |
||
2 |
OUT B2 |
Вsвод данных в порт |
PORT B2←(A) |
- |
- |
- |
- |
- |
||
1 |
EI |
Разрешение прерывания |
(INTE)←1 |
- |
- |
- |
- |
- |
||
1 |
DI |
Запрет прерывания |
(INTE)←0 |
- |
- |
- |
- |
- |
||
1 |
HLT |
Останов процессора |
(CP)←(CP)+1 СТОП |
- |
- |
- |
- |
- |
Приложение 2