Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВУ 2 семестр / Презентации ЭВУ в пдф / метода моховикова

.pdf
Скачиваний:
35
Добавлен:
31.05.2015
Размер:
4.4 Mб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Иркутский государственный университет»

А. Ю. Моховиков

ЭЛЕКТРОННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ УСТ-

РОЙСТВА И СИСТЕМЫ

Часть 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