
ЭВУ 2 семестр / Презентации ЭВУ в пдф / метода моховикова
.pdfМинистерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Иркутский государственный университет»
А. Ю. Моховиков
ЭЛЕКТРОННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ УСТ-
РОЙСТВА И СИСТЕМЫ
Часть 1
Учебное пособие
Иркутск 2012

УДК 681.3(075.8)
ББК 32.97я73
М86
Печатается по решению редакционно-издательского совета ФБГОУ ВПО «ИГУ»
Рецензенты:
канд. физ.-мат. наук С. М. Зубрицкий,
канд. техн. наук Г. А. Кушнаренко
М86 Моховиков А. Ю.
Электронные вычислительные устройства и системы. Ч. 1 : учеб. по-
собие / А. Ю. Моховиков. – Иркутск : Изд-во ИГУ, 2012. – с.
ISBN
В учебном пособии изложены базовые принципы работы электронных вычислитель-
ных устройств и систем, рассмотрены архитектура и микроархитектура процессоров се-
мейства х86, устройств памяти. Материал дополнен примерами на языке программирова-
ния низкого уровня Assembler с комментариями для компьютеров на базе микропроцессо-
ров Intel и языке программирования высокого уровня C++ в разделе, посвященном раз-
личным типам дескрипторов. Пособие иллюстрировано справочными таблицами, диа-
граммами, блок-схемами, необходимыми для более наглядного представления излагаемой информации.
Издание рекомендовано для студентов высших учебных заведений: бакалавров, спе-
циалистов и магистрантов.
ISBN
УДК 681.3(075.8)
ББК 32.97я73
© Моховиков А. Ю., 2012 © ФГБОУ ВПО «ИГУ», 2012
2
Оглавление |
|
|
1. |
Архитектура процессоров .......................................................................................... |
6 |
1.1. Архитектура по фон Нейману. Принципы фон Неймана ........................................... |
6 |
|
1.2. Гарвардская архитектура ............................................................................................... |
9 |
|
1.3. Гибридные модификации с архитектурой фон Неймана ........................................... |
9 |
|
2. |
Что делает процессор в компьютере ....................................................................... |
10 |
2.1. Оперативная память. Устройства ввода-вывода ....................................................... |
11 |
|
2.2. Работа процессора ........................................................................................................ |
11 |
|
2.3.1. Характеристики процессора ..................................................................................... |
13 |
|
3. |
Архитектура и микроархитектура процессора....................................................... |
13 |
3.1. Основные микроархитектурные понятия................................................................... |
14 |
|
3.2. Классификация архитектур процессоров ................................................................... |
16 |
|
3.3. NetBurst – микроархитектура процессора.................................................................. |
18 |
|
3.4. Микроархитектура Core............................................................................................... |
21 |
|
4. |
Программная модель процессора .................................................................................. |
22 |
4.1. Режимы работы процессора ........................................................................................ |
22 |
|
4.2. Регистры процессора.................................................................................................... |
31 |
|
5. |
Организация памяти ........................................................................................................ |
50 |
5.1. Логическая память........................................................................................................ |
52 |
|
5.2. Адресация операндов ................................................................................................... |
53 |
|
5.3. Режимы адресации ....................................................................................................... |
55 |
|
5.4. Методы адресации........................................................................................................ |
56 |
|
5.5. Сегментирование памяти ............................................................................................. |
59 |
|
5.6. Адресация байтов и слов ............................................................................................. |
62 |
|
5.7. Структура кода команды ............................................................................................. |
63 |
|
6. |
Прерывания и исключения ............................................................................................. |
66 |
7. Стек. Форма ПОЛИЗ. Стековая машина ....................................................................... |
70 |
|
7.1. Форма ПОЛИЗ (обратная польская запись)............................................................... |
74 |
|
7.2. Вычисления на стеке. Стековая машина .................................................................... |
77 |
|
7.3. Использование стека процессором при обработке прерываний.............................. |
78 |
|
7.4. Использование стека процессором при вызове ......................................................... |
80 |
|
7.5. Использование стека процессором при возврате ...................................................... |
82 |
|
7.6. Стековая адресация ...................................................................................................... |
83 |
|
8. |
Модели памяти. Плоская, сегментная (многосегментная) модели и модель памяти в |
|
реальном режиме. «Нереальный» режим ......................................................................... |
84 |
|
8.1. Плоская модель памяти................................................................................................ |
84 |
|
8.2. Сегментированная модель памяти.............................................................................. |
86 |
|
8.3. Модель режима реального адреса............................................................................... |
97 |
|
9. |
Защищенный режим ........................................................................................................ |
99 |
3
9.1. Основные понятия ........................................................................................................ |
99 |
9.2. Особенности формирования физического адреса в защищенном режиме ........... |
102 |
10. Дескрипторы и таблицы.............................................................................................. |
103 |
10.1. Глобальная таблица дескрипторов ......................................................................... |
105 |
10.2. Категории дескрипторов.......................................................................................... |
107 |
10.3. Межсегментная передача управления .................................................................... |
108 |
10.4. Формат дескриптора................................................................................................. |
109 |
10.5. Локальные дескрипторные таблицы....................................................................... |
121 |
11. Многозадачность. Переключение задач.................................................................... |
124 |
11.1. Механизмы реализации многозадачности ............................................................. |
127 |
11.2. Пример обращения процессора к памяти............................................................... |
131 |
11.3. Карта разрешения ввода-вывода ............................................................................. |
132 |
11.4. Сегмент состояния задачи ....................................................................................... |
136 |
11.5. Дескриптор шлюза задачи ....................................................................................... |
141 |
11.6. Управление задачами ............................................................................................... |
141 |
11.7. Межсегментные переключения задач .................................................................... |
146 |
11.8. Прямое переключение задач ................................................................................... |
148 |
11.9. Переключение задач с использованием шлюза задач........................................... |
150 |
11.10. Программное переключение ................................................................................. |
151 |
11.11. Последовательность действий при переключении задач ................................... |
152 |
11.12. Регистр задачи TR .................................................................................................. |
153 |
11.13. Задачи и флаги ........................................................................................................ |
156 |
12. Страничное управление памятью .............................................................................. |
158 |
12.1. Базовый механизм страничного управления ......................................................... |
162 |
12.2. Виртуальное адресное пространство ...................................................................... |
162 |
12.3. Работа транслятора................................................................................................... |
167 |
12.4. Методы распределения памяти без использования дискового пространства .... |
168 |
12.5. Применение механизма виртуальной памяти........................................................ |
173 |
12.6. Сегментное распределение ...................................................................................... |
179 |
12.7. Странично-сегментное распределение................................................................... |
181 |
12.8. Свопинг...................................................................................................................... |
182 |
12.9. Регистр PDBR ........................................................................................................... |
185 |
12.10. Алгоритмы замещения страниц ............................................................................ |
194 |
12.11. Стратегии управления страничной памятью ....................................................... |
201 |
13. Кэширование памяти................................................................................................... |
202 |
13.1. Принцип работы кэш-памяти .................................................................................. |
205 |
13.2. Проблема согласования данных.............................................................................. |
210 |
13.3. Ассоциативность ...................................................................................................... |
211 |
13.4. Размер строки, тега и индекса ................................................................................. |
213 |
4
13.5. Уровни кэша.............................................................................................................. |
218 |
13.6. Способы отображения основной памяти на кэш................................................... |
223 |
13.7. Архитектуры кэша.................................................................................................... |
227 |
13.8. Кэширование в современных процессорах ............................................................ |
239 |
13.9. Обеспечение согласованности кэш-памяти микропроцессоров в |
|
мультипроцессорных системах ........................................................................................ |
242 |
13.10. Управление кэшированием.................................................................................... |
250 |
Заключение......................................................................................................................... |
259 |
Приложения ....................................................................................................................... |
260 |
Список рекомендуемой литературы ................................................................................ |
264 |
5
1.Архитектура процессоров
1.1. Архитектура по фон Нейману. Принципы фон Неймана
Перед тем, как начать рассмотрение данной темы, обратимся немного к истории. В 30-х гг. XX в. правительство США поручило Гарвардскому и Принстонскому университетам разработать архитектуру ЭВМ для военно-
морской артиллерии. Победила разработка Принстонского университета (бо-
лее известная как архитектура фон Неймана, названная так по имени разра-
ботчика, первым предоставившего отчет об архитектуре), так как она была проще в реализации.
Архитектура фон Неймана – широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные систе-
мы такого рода часто обозначают термином «машина фон Неймана», однако соответствие этих понятий не всегда однозначно. В общем случае, когда го-
ворят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.
Наличие заданного набора исполняемых команд и программ было ха-
рактерной чертой первых компьютерных систем. Сегодня подобный дизайн применяют с целью упрощения конструкции вычислительного устройства.
Так, настольные калькуляторы, в принципе, являются устройствами с фикси-
рованным набором выполняемых программ. Их можно использовать для ма-
тематических расчетов, но невозможно применить для обработки текста и компьютерных игр, для просмотра графических изображений или видео. Из-
менение встроенной программы для такого рода устройств требует практиче-
ски полной их переделки, и в большинстве случаев невозможно. Впрочем,
перепрограммирование ранних компьютерных систем все-таки выполнялось,
однако требовало огромного объема ручной работы по подготовке новой до-
кументации, перекоммутации и перестройке блоков и устройств и т. п.
Все изменила идея хранения компьютерных программ в общей памяти.
Ко времени ее появления использование архитектур, основанных на наборах
6

исполняемых инструкций, и представление вычислительного процесса как процесса выполнения инструкций, записанных в программе, чрезвычайно увеличило гибкость вычислительных систем в плане обработки данных.
Один и тот же подход к рассмотрению данных и инструкций сделал легкой задачу изменения самих программ.
Идея машины фон Неймана представлена на рис. 1. Как видно из него,
под архитектурой фон Неймана подразумевают физическое отделение про-
цессорного модуля от устройств хранения программ и данных, а все выпол-
няемые действия определяются блоком управления и АЛУ, которые вместе являются основой центрального процессора.
Рис. 1. Машина фон Неймана
В свою очередь, центральный процессор (CPU) имеет набор регистров,
часть которых доступна для хранения операндов, выполнения действий над ними и формирования адреса инструкций и операндов в памяти, другая часть
– для системных целей. Кроме того, центральный процессор выбирает и ис-
полняет команды из памяти последовательно, а адрес очередной команды за-
дается «счетчиком адреса» в блоке управления.
Сами же принципы построения электронной вычислительной машины были сформулированы Джоном фон Нейманом еще в 1945 г. и опубликованы в статье «Предварительное рассмотрение логического конструирования элек-
тронного вычислительного устройства»1 (в соавторстве с А. Берксом и Г.
1 Burks A. W., Goldstine H. H., Neumann J. Preliminary Discussion of the Logical Design of an Electronic Computing Instrument. – Institute for Advanced Study, Princeton, N. J., July 1946.
7
Голдстайном). В статье обосновывалось использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реали-
зации, простоты выполнения арифметических и логических операций – до этого машины хранили данные в десятичном виде), выдвигалась идея ис-
пользования общей памяти для программы и данных. Имя фон Неймана было достаточно широко известно в науке того времени, что отодвинуло на второй план его соавторов, и данные идеи получили название «принципы фон Ней-
мана», которые представляют собой следующее:
1. Принцип двоичного кодирования
Для представления данных и команд используется двоичная система счисления.
2. Принцип однородности памяти
Как программы (команды), так и данные хранятся в одной и той же па-
мяти (и кодируются в одной и той же системе счисления – чаще всего двоич-
ной). Над командами можно выполнять такие же действия, как и над данны-
ми.
3. Принцип адресуемости памяти
Структурно основная память состоит из пронумерованных ячеек; про-
цессору в произвольный момент времени доступна любая ячейка; память внутренняя.
4. Принцип последовательного программного управления
Все команды располагаются в памяти и выполняются последовательно,
одна после завершения другой, в последовательности, определяемой про-
граммой.
5. Принцип жесткости архитектуры
Неизменяемость в процессе работы топологии, архитектуры, списка ко-
манд.
Компьютеры, построенные на этих принципах, относят к типу фон-
неймановских.
8
1.2. Гарвардская архитектура
Теперь вкратце рассмотрим гарвардскую архитектуру. Классическая гарвардская архитектура подразумевала под собой следующее: типичные операции (сложение и умножение) требуют от любого вычислительного уст-
ройства нескольких действий: выборку двух операндов, выбор инструкции и ее выполнение, и, наконец, сохранение результата. Идея, реализованная Эй-
кеном, заключалась в физическом разделении линий передачи команд и дан-
ных. Это позволяло одновременно пересылать и обрабатывать команды и данные, благодаря чему значительно повышалось общее быстродействие.
Однако соответствующая схема реализации доступа к памяти имеет один очевидный недостаток – высокую стоимость. При разделении каналов пере-
дачи команд и данных на кристалле процессора последний должен иметь почти в два раза больше выводов (так как шины адреса и данных составляют основную часть выводов микропроцессора). Способом решения этой про-
блемы стала идея использовать общую шину данных и шину адреса для всех внешних данных, а внутри процессора использовать шину данных, шину ко-
манд и две шины адреса. Такую концепцию стали называть модифицирован-
ной гарвардской архитектурой. Такой подход применяется в современных сигнальных процессорах. Еще дальше по пути уменьшения стоимости пошли при создании однокристальных ЭВМ – микроконтроллеров. В них одна шина команд и данных применяется и внутри кристалла. Разделение шин в моди-
фицированной гарвардской структуре осуществляется при помощи раздель-
ных управляющих сигналов: чтения, записи или выбора области памяти.
1.3. Гибридные модификации с архитектурой фон Неймана
Кроме описанных выше архитектур существуют гибридные модифика-
ции архитектур, сочетающие достоинства как гарвардской, так и фон-
неймановской архитектур. Современные CISC-процессоры обладают раз-
дельной кэш-памятью первого уровня для инструкций и данных, что позво-
9
ляет им за один такт получать одновременно как команду, так и данные для ее выполнения, т. е. процессорное ядро, формально, является гарвардским, но с программной точки зрения выглядит как фон-неймановское, что упрощает написание программ. Обычно в данных процессорах одна шина используется и для передачи команд, и для передачи данных, что упрощает конструкцию системы. Современные варианты таких процессоров могут иногда содержать встроенные контроллеры сразу нескольких разнотипных шин для работы с различными типами памяти – например, DDR RAM и Flash. Тем не менее, и в этом случае шины, как правило, используются и для передачи команд, и для передачи данных без разделения, что делает данные процессоры еще более близкими к фон-неймановской архитектуре при сохранении плюсов гарвард-
ской архитектуры.
2. Что делает процессор в компьютере
На самом деле то, что мы сегодня называем процессором, правильно на-
зывать микропроцессором. Разница есть и определяется видом устройства и его историческим развитием. Первый процессор Intel 4004 появился в 1971 г.
Назначение процессора – это автоматическое выполнение программы.
Другими словами, он является основным компонентом любого компьютера.
Центральный процессор (арифметическое логическое устройство с бло-
ком управления – CPU) соблюдает вышеупомянутый принцип последова-
тельной передачи управления (рис. 2). Он имеет набор регистров, часть кото-
рых доступна для хранения операндов, выполнения действий над ними и формирования адреса инструкций и операндов в памяти. Другая часть реги-
стров используется процессором для служебных (системных) целей, доступ к ним может быть ограничен (есть даже программно-невидимые регистры).
Память «расползлась» по многим компонентам.
10