
- •Архитектура вычислительных систем. Вычислительные машины, системы и сети
- •1. Основные понятия вычислительной техники и принципы организации вычислительных систем
- •1.1. Основные понятия и определения
- •1.2. Принципы организации вычислительных машин и систем
- •1.3. Основные характеристики вычислительных машин и систем
- •1.4. Многоуровневая организация вычислительных процессов
- •Вопросы для самопроверки
- •2. Простейшие типовые элементы вычислительных машин
- •2.1. Комбинационные схемы
- •1. Конъюнкция (логическое умножение) .
- •2. Дизъюнкция (логическое сложение) .
- •3. Отрицание (инверсия) .
- •4. Конъюнкция и инверсия (Штрих Шеффера) .
- •5. Дизъюнкция и инверсия (Стрелка Пирса) .
- •6. Эквивалентность .
- •7. Отрицание эквивалентности .
- •2.2. Автоматы с памятью
- •2.3. Триггеры
- •2.4. Проблемы и перспективы развития элементной базы вычислительных машин
- •Вопросы для самопроверки
- •3. Функциональные узлы комбинационного и последовательного типов
- •3.1. Функциональные узлы последовательного типа
- •3.1.1. Регистры
- •3.1.2. Счётчики
- •3.1. Функциональные узлы комбинационного типа
- •3.2.1 Шифраторы и дешифраторы
- •3.2.2 Компараторы
- •3.2.3 Сумматоры
- •Вопросы для самопроверки
- •4. Функциональная организация процессора
- •4.1. Основные характеристики и классификация процессоров
- •4.2. Физическая и функциональная структура процессора
- •4.2.1 Операционное устройство процессора
- •4.2.2 Шинный интерфейс процессора
- •4.3. Архитектурные принципы организации risc-процессоров
- •4.4. Производительность процессоров и архитектурные способы её повышения
- •Вопросы для самопроверки
- •5. Организация работы процессора
- •5.1 Классификация и структура команд процессора
- •5.2. Способы адресации данных и команд
- •5.2.1 Способы адресации данных
- •5.2.2 Способы адресации команд
- •5.3. Поток управления и механизм прерываний
- •Вопросы для самопроверки
- •6 Современное состояние и тенденции развития процессоров
- •6.1. Архитектурные особенности процессоров Pentium
- •6.2. Программная модель процессоров Pentium
- •6.2.1. Прикладная программная модель процессоров Pentium
- •6.2.2. Системная программная модель процессоров Pentium
- •6.2.3. Система команд и режимы адресации процессоров
- •6.3. Аппаратная организация защиты в процессорах Pentium
- •6.4. Аппаратные средства поддержки многозадачности
- •6.5. Перспективы развития процессоров
- •Вопросы для самопроверки
- •7. Память. Организация памяти
- •7.1. Иерархическая организация памяти
- •7.2. Классификация запоминающих устройств
- •7.3. Структура основной памяти
- •7.4. Память с последовательным доступом
- •7.5. Ассоциативная память
- •7.6. Организация флэш-памяти
- •7.7. Архитектурные способы повышения скорости обмена между процессором и памятью
- •Вопросы для самопроверки
- •8. Управление памятью. Виртуальная память
- •8.1. Динамическое распределение памяти
- •8.2. Сегментная организация памяти
- •8.3. Страничная организация памяти
- •8.4. Сегментно-страничная организация памяти
- •Вопросы для самопроверки
- •9. Организация ввода-вывода информации. Системная шина
- •9.1. Организация шин. Системная шина
- •9.1.1. Структура системной шины
- •9.1.2. Протокол шины
- •9.1.3. Иерархия шин
- •9.2 Организация взаимодействия между периферийными устройствами и процессором и памятью вычислительных машин
- •9.3. Внешние интерфейсы вычислительных машин
- •9.3.1. Параллельный порт lpt и интерфейс Centronics
- •9.3.1. Последовательный порт com и интерфейс rs-232c
- •9.3.3. Универсальная последовательная шина usb
- •9.3.4. Беспроводные интерфейсы
- •Вопросы для самопроверки
- •Модуль 2. Вычислительные системы
- •10. Вычислительные системы параллельной обработки. Многопроцессорные и многоядерные системы
- •10.1. Параллельная обработка информации
- •10.2. Классификация систем параллельной обработки данных
- •10.2.1 Классификация Флинна
- •10.2.2. Классификация Головкина
- •10.2.3. Классификация многопроцессорных систем по
- •10.3. Вычислительные системы на кристалле. Многоядерные системы
- •10.4. Тенденции развития вс
- •Вопросы для самопроверки
- •11. Организация микроконтроллеров и микроконтроллерных систем
- •11.1. Общие сведения о системах управления
- •11.2. Организация микроконтроллеров и микроконтроллерных систем
- •11.3. Области применения и тенденции развития мк
- •Вопросы для самопроверки
- •Модуль 3. Телекоммуникационные сети
- •12. Организация компьютерных сетей
- •12.1. Обобщённая структура компьютерных сетей
- •12.2. Классификация компьютерных сетей
- •Вопросы для самопроверки
- •13. Стандартизация компьютерных сетей. Эталонная модель взаимодействия открытых систем
- •13.1. Понятие «открытой системы». Взаимодействие открытых систем
- •13.2. Эталонная модель взаимодействия открытых систем
- •13.3. Структура блоков информации
- •7. Прикладной6. Представительный5. Сеансовый4. Транспортный3. Сетевой2. Канальный1. Физический
- •Вопросы для самопроверки
- •Литература
- •Архитектура вычислительных систем. Вычислительные машины, системы и сети
4.2. Физическая и функциональная структура процессора
Физическая структура процессора является достаточно сложной. В соответствии с [4], ядро процессора содержит главный управляющий и исполняющие модули – блоки выполнения операций над целочисленными данными. К локальным управляющим схемам относятся: блок с плавающей запятой, модуль предсказания ветвлений, регистры микропроцессорной памяти, регистры кэш-памяти 1-го уровня, шинный интерфейс и многое другое.
Примечание: под логическим ядром понимается схема, по которой сделан процессор. Физически ядро представляет собой кристалл, на котором с помощью логических элементов реализована принципиальная схема процессора.
В самом общем случае функциональную структуру процессора можно представить в виде композиции, согласно одним источникам [4, 5], из двух частей: операционного устройства (ОУ) и шинного интерфейса (ШИ), согласно другим [2], из трёх блоков: операционного (ОБ), управляющего (УБ) и интерфейсного (ИБ). Имеющиеся незначительные расхождения в количестве и названии блоков никоим образом не нарушают число и принципы функционирования компонентов процессора. Поэтому рассмотрим первый (более наглядный) вариант из источника [4].
Упрощённая типовая структура процессора представлена на рис. 22.
ОУ содержит арифметико-логическое устройство (АЛУ), устройство управления (УУ), регистр флагов, регистры общего назначения (РОН), регистры-указатели, индексные регистры. ШИ содержит адресные регистры, блок регистров (буфер) команд, узел формирования адреса, схемы управления шиной и портами. Обе части микропроцессора работают параллельно, причём ШИ работает быстрее ОУ. Рассмотрим эти блоки процессора более подробно.
4.2.1 Операционное устройство процессора
В целом ОУ выполняет операции, определяемые командами, и формирует эффективные адреса.
УУ вырабатывает управляющие сигналы, поступающие во все блоки вычислительной машины. В составе УУ можно выделить следующие функциональные блоки:
1) регистр команд – запоминающий регистр, в котором хранится код команды: код операции и адреса операндов (расположен в интерфейсной части процессора);
2) дешифратор операций – логический блок, который в соответствии с поступающим из регистра команд кодом операции выбирает один из множества имеющихся у него выходов;
3) постоянное запоминающее устройство (ПЗУ) микропрограмм хранит управляющие импульсы для выполнения в блоках вычислительной машины процедур обработки информации; импульс по выбранному дешифратором операций проводу считывает из ПЗУ микропрограмм необходимую последовательность управляющих сигналов;
4) узел формирования адреса (располагается в ШИ) – устройство для вычисления полного адреса ячейки памяти (регистра) по реквизитам, поступающим из микропроцессорной памяти или регистра команд;
5) кодовые шины данных, адреса и инструкций – часть внутренней интерфейсной шины процессора.
Таким образом, УУ формирует управляющие сигналы для выполнения процессором своих функций, рассмотренных выше.
Рис. 22. Упрощённая типовая структура процессора
АЛУ предназначено для выполнения арифметических и логических операций преобразования информации. Функционально в простейшем варианте АЛУ состоит из следующих компонент:
1) сумматора выполняющего процедуру сложения двоичных кодов, имеет разрядность двойного машинного слова (32 бита);
2) регистров – быстродействующих ячеек памяти различной длины: регистр 1 имеет разрядность 32 бита, регистр 2 - 16 бит; при сложении в регистр 1 помещается первое слагаемое, а потом результат, в регистр 2 – второе слагаемое;
3) схемы управления, принимающей по кодовым шинам инструкций управляющие сигналы от УУ и преобразующей в сигналы для управления работой регистров и сумматора.
АЛУ выполняет арифметические операции только над двоичными числами с фиксированной точкой. Для обработки чисел с плавающей точкой привлекается математический сопроцессор или специально составленные программы.
Более подробные сведения об устройстве и функционировании УУ и АЛУ можно найти в [3 – 5].
Регистры ОУ – часть микропроцессорной памяти. Рассмотрим регистры на примере базового процессора Intel 8086, который содержит всего 14 двухбайтовых регистра. В современных процессорах их гораздо больше и большей разрядности. Однако в качестве базовой модели, в частности, для языка Ассемблера, используется 14-регистровая память процессора.
В состав ОУ входят следующие регистры:
1) регистры общего назначения (РОН), или универсальные: AX – (AH, AL), BX – (BH, BL), CX – (CH, CL), DX – (DH, DL). Могут использоваться для временного хранения любых данных, при этом можно работать с каждым регистром целиком, а можно отдельно, с каждой его половиной; но каждый из РОН может использоваться и как специальный при выполнении некоторых конкретных команд;
2) регистры смещений: SP, BP, SI, DI. Являются неделимыми и предназначены для хранения относительных адресов ячеек памяти внутри сегментов (смещений относительно начала сегментов);
2.1) SP (Stack Pointer) – смещение вершины стека;
2.2) BP (Base Pointer) – смещение начального адреса поля памяти, непосредственно отведённого под стек;
2.3) SI (Source Index), DI (Destination Index) – предназначены для хранения адресов индекса источника и приёмника данных при операциях над строками и им подобных.
Слово состояния процессора (PSW – Processor State Word), или регистр флагов, имеет размер 2 байта и содержит одноразрядные признаки или флаги. Всего в регистре девять флагов: шесть из них условные или статусные, отражают результаты операций, выполненных ОУ, остальные три – управляющие, определяют режим исполнения программы.
1. Статусные флаги. К ним относятся:
1.1.CF (Carry Flag) – флаг переноса. Устанавливается в 1, если при выполнении арифметических и некоторых операций сдвига возникает «перенос» из старшего разряда.
1.2. PF (Parity Flag) – флаг чётности. Проверяет младшие 8 битов результатов над данными. Чётное число единиц приводит к установке этого флага в 1, нечётное – в 0.
1.3. AF (Auxiliary Carry Flag) – флаг логического переноса в двоично-десятичной арифметике. Устанавливается в 1, если арифметическая операция приводит к переносу или займу четвёртого справа бита однобайтового операнда. Используется при арифметических операциях над двоично-десятичными кодами и кодами ASCII.
1.4. ZF (Zero Flag) – флаг нуля. Устанавливается в 1, если результат операции равен 0, в противном случае ZF обнуляется.
1.5. SF (Sign Flag) – флаг знака. Устанавливается в 1, если результат арифметической операции является отрицательным, в 0, если результат положительный.
1.6. OF (Overflow Flag) – флаг переполнения. Устанавливается в единицу при арифметическом переполнении, когда результат выходит за пределы разрядной сетки.
2. Управляющие флаги. К ним относятся:
2.1. TF (Trap Flag) – флаг трассировки. Единичное состояние этого флага переводит процессор в режим пошагового выполнения программы.
2.2. IF (Interrupt Flag) – флаг прерываний. При нулевом состоянии этого флага прерывания запрещены, при единичном – разрешены (о механизме прерываний речь пойдёт в следующей главе).
2.3. DF (Direction Flag) – флаг направления. Используется в строковых операциях для задания направления обработки данных; при единичном состояния строки обрабатываются «справа налево», при нулевом – «слева направо».
Расположение флагов в регистре PSW показано на рис. 23. Свободные биты отведены для использования в будущем.
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
OF |
DF |
IF |
TF |
SF |
ZF |
|
AF |
|
PF |
|
CF |
Рис. 23. Схема расположения флагов в регистре PSW