Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Архитектура ЭВМ и систем. Учебное пособие
.pdf
задание как совокупность независимых задач, реализация данного
уровня возможна и в рамках однопроцессорной ВС. В этом случае несколько заданий могут одновременно находиться в основной памяти
ВС, при условии, что в каждый момент выполняется только одно из
них. Когда выполняемое задание требует ввода/вывода, такая операция
запускается, а до ее завершения
остальные ресурсы ВС передаются
другому заданию. По завершении ввода/вывода ресурсы ВС возвращаются заданию, инициировавшему эту операцию. Здесь параллелизм
обеспечивается за счет того, что центральный процессор и система
ввода/вывода работают одновременно, обслуживая разные задания.
В качестве примера рассмотрим вычислительную систему с четырьмя процессорами. ВС обрабатывает задания, классифицируемые
как малое (S), среднее (М) и большое (L). Для выполнения малых заданий требуется один, средних – два, а больших заданий – четыре
процессора. Обработка каждого задания занимает одну условную единицу времени. Первоначально существует такая очередь заданий:
SMLSSMLLSMM. Для этого списка имеем:
−
средний уровень использования ресурсов вычислительной
системы равен 83,3%;
−
на выполнение всех заданий требуется семь единиц времени.
Для получения большей степени утилизации ресурсов ВС разрешим
заданиям «выплывать» в начало очереди. Тогда можно получить следующую последовательность выполнения заданий: SMSLSMSLLMM.
Параллелизм возникает также, когда у независимых заданий, выполняемых в ВС, имеются несколько фаз, например вычисление, запись
в графический буфер, В/ВЫВ
на диск или ленту, системные вызовы.
Пусть выполняется задание и оно для своего продолжения нуждается в выполнении ввода/вывода. По сравнению с вычислениями он
обычно более длителен, поэтому текущее задание приостанавливается
и запускается другое задание. Исходное задание активизируется после
завершения ввода/вывода. Все это требует специального оборудования: каналов
В/ВЫВ или специальных процессоров В/ВЫВ. За то, как
различные задания упорядочиваются и расходуют общие ресурсы, отвечает операционная система.
О параллелизме на уровне программы имеет смысл говорить в
двух случаях. Во-первых, когда в программе могут быть выделены
независимые участки, которые допустимо выполнять параллельно.
Примером такого вида параллелизма может служить программа робота. Пусть имеется робот, запрограммированный на обнаружение электрических розеток, когда уровень напряжения в его аккумуляторах
падает. Когда
9.1.2. ПАРАЛЛЕЛИЗМ УРОВНЯ ПРОГРАММ
робот находит одну из розеток, он включается в нее на
191

подзарядку. В процесс вовлечены три подсистемы робота: зрение, манипуляция и движение. Каждая подсистема управляется своим процессором, т.е. подсистемы при выполнении разных действий способны
работать параллельно.
Подсистемы достаточно независимы при ведущей роли системы
зрения. Возможен также и центральный процессор – «мозг». Это пример параллелизма программ, в котором разные задачи
выполняются
единовременно для достижения общей цели.
Второй тип параллелизма программ возможен в пределах отдельного программного цикла, если в нем отдельные итерации не зависят
друг от друга. Программный параллелизм может быть реализован за
счет большого количества процессоров или множества функциональных блоков.
Общая форма параллелизма на уровне программ проистекает из
разбиения программируемых данных на подмножества. Это разделение называют декомпозицией области (domain decomposition), а параллелизм, возникающий при этом, носит название параллелизма данных.
Подмножества данных назначаются разным вычислительным процессам, и называется этот процесс распределением данных (data
distribution). Процессоры выделяются определенным процессам либо
по инициативе программы, либо в процессе работы операционной системы. На
каждом процессоре может выполняться более чем один
процесс.
9.1.3. ПАРАЛЛЕЛИЗМ УРОВНЯ КОМАНД
Параллелизм на уровне команд имеет место, когда обработка нескольких команд или выполнение различных этапов одной и той же
команды может перекрываться во времени. Разработчики вычислительной техники издавна прибегали к методам, известным под общим
названием «совмещения операций», при котором аппаратура ВМ в
любой момент времени выполняет одновременно более одной опера
-
ции. Этот общий принцип включает в себя два понятия: параллелизм и
конвейеризацию. Хотя у них много общего и их зачастую трудно различать на практике, термины эти отражают два принципиально различных подхода.
В первом варианте совмещение операций достигается за счет того, что в составе вычислительной системы отдельные устройства
присутствуют в нескольких копиях. Так, в состав процессора может входить несколько АЛУ, и высокая производительность обеспечивается за
счет одновременной работы всех этих АЛУ. Второй подход был описан ранее.
192

9.2. КЛАССИФИКАЦИЯ ФЛИННА
ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Среди всех рассматриваемых систем классификации ВС наибольшее признание получила классификация, предложенная в 1966 году
М. Флинном. В ее основу положено понятие потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. В зависимости от количества потоков команд и
потоков данных Флинн выделяет четыре класса архитектур: SISD,
MISD, SIMD, MIMD.
SISD (Single Instruction Stream/Single Data Stream) – одиночный
поток команд и одиночный поток данных. Представителями этого
класса являются, прежде всего, классические фон-неймановские ВМ,
где имеется только один поток команд, команды обрабатываются последовательно и каждая команда инициирует одну операцию с одним
потоком данных. То, что для увеличения скорости обработки команд и
скорости выполнения арифметических операций может
применяться
конвейерная обработка, не имеет значения, поэтому в класс SISD одновременно попадают как ВМ CDC 6600 со скалярными функциональными устройствами, так и CDC 7600 с конвейерными. Некоторые
специалисты считают, что к SISD-системам можно причислить и векторно-конвейерные ВС, если рассматривать вектор как неделимый
элемент данных для соответствующей команды.
MISD (Multiple Instruction Stream/Single Data Stream) – множест-
венный поток команд и одиночный поток данных. Из определения
следует, что в архитектуре ВС присутствует множество процессоров,
обрабатывающих один и тот же поток данных. Примером могла бы
служить ВС, на процессоры которой подается искаженный сигнал, а
каждый из процессоров обрабатывает этот сигнал с помощью своего
алгоритма фильтрации. Тем не
менее ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не сумели представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Ряд исследователей
относят к данному классу конвейерные системы, однако это не нашло
окончательного признания. Отсюда принято считать, что пока данный
класс пуст
. Наличие пустого класса не следует считать недостатком
классификации Флинна. Такие классы, по мнению некоторых исследователей, могут стать чрезвычайно полезными для разработки принципиально новых концепций в теории и практике построения вычислительных систем.
SIMD (Single Instruction Stream/Multiple Data Stream) – одиноч-
ный поток команд и множественный поток данных. ВМ данной архитектуры позволяют выполнять одну арифметическую операцию сразу
193

над многими данными – элементами вектора. Бесспорными представителями класса SIMD считаются матрицы процессоров, где единое
управляющее устройство контролирует множество процессорных элементов. Все процессорные элементы получают от устройства управления одинаковую команду и выполняют ее над своими локальными
данными. В принципе в этот класс можно включить и векторноконвейерные ВС, если каждый
элемент вектора рассматривать как от-
дельный элемент потока данных.
MIMD (Multiple Instruction Stream/Multiple Data Stream) – множе-
ственный поток команд и множественный поток данных. Класс предполагает наличие в вычислительной системе множества устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных. Класс MIMD чрезвычайно
широк, поскольку включает в себя всевозможные мультипроцессорные системы. Кроме того, приобщение к классу MIMD
зависит от
трактовки. Так, ранее упоминавшиеся векторно-конвейерные ВС можно вполне отнести и к классу MIMD, если конвейерную обработку рассматривать как выполнение множества команд (операций ступеней
конвейера) над множественным скалярным потоком.
Схема классификации Флинна вплоть до настоящего времени является наиболее распространенной при первоначальной оценке той
или иной ВС, поскольку
позволяет сразу оценить базовый принцип работы системы, чего часто бывает достаточно. Однако у классификации
Флинна имеются и очевидные недостатки, например неспособность однозначно отнести некоторые архитектуры к тому или иному классу.
Другая слабость – это чрезмерная насыщенность класса MIMD. Все это
породило множественные попытки либо модифицировать классификацию Флинна, либо предложить
иную систему классификации.
9.3. КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Сравните схемы классификации параллелизма по уровню и
гранулярности. Каковы, на ваш взгляд, достоинства, недостатки и области применения этих схем классификации?
Для заданной программы и конфигурации параллельной вы-
2.
числительной системы рассчитайте значения метрик параллельных
вычислений.
Укажите достоинства и недостатки схемы классификации
3.
Флинна.
194

Развитие электронной техники характеризуется постоянным увеличением числа решаемых задач и повышением их сложности, расширением интеллектуальных и адаптивных возможностей аппаратуры.
При этом большая часть реализуемых задач (60…70%) приходится на традиционные, претерпевающие эволюционное изменение алгоритмы обработки информации в интересах задач навигации, связи,
опознавания, управления оборудованием контроля, отображения ин-
ЗАКЛЮЧЕНИЕ
формации и
архитектурой, они должна решать задачи, требующие повышенной
надежности (задачи управления системой энергоснабжения и т.д.), а
также задачи, требующие повышенного быстродействия СВТ (обработки сигналов и изображений) и задачи с нечеткой формализацией
исходных условий.
зывает, что быстродействие перспективных ЭВМ-ОН должно удваиваться каждые 1,5…2 года, в их составе должны обязательно применяться средства хранения больших объемов информации, которые
являются основой реализации функциональных устройств банков программ и данных, баз знаний для осуществления поддержки принятия
решений.
непрерывно перестраиваемой
рераспределяться произвольным образом. Для построения системы
необходимо решить ряд серьезных проблем в области анализа и агрегирования задач построения коммутационных сетей, обеспечивающих
передачи сигналов и формирование нужных структур, разработки высокопроизводительных ЭВМ нового поколения, создания операционных систем, обеспечивающих формирование необходимых виртуальных вычислительных систем
ды. Большинство из перечисленных проблем в настоящее время еще
далеки от решения, так как исследования по ним только проводятся.
т.д.
Кроме традиционных задач, реализуемых СВТ с универсальной
Интегральный анализ требований к характеристикам СВТ пока-
В идеале необходимо создание открытой масштабируемой ИВС с
структурой, ресурсы которой могут пе-
и функционирование вычислительной сре-
195

1. Ильина, О.П. Архитектура ЭВМ и систем : учебник для вузов /
О.П. Ильина, В.Л. Бройдо. – 2-е изд. – СПб. : Питер, 2010. – 720 с.
[Электронный ресурс] // Режим доступа : http://ibooks.ru/product.php?
productid=21562&cat=1058&page=19
Орлов, С.В. Организация ЭВМ и систем : учебник для вузов /
2.
С.В. Орлов, Б.А. Цилькер. – 2-е изд. – СПб. : Питер, 2011. – 688 с.
[Электронный ресурс] // Режим доступа : http://ibooks.ru/product.php?
productid=21994&cat=1058&page=34
Таненбаум, Э.С. Архитектура компьютера / Э.С. Таненбаум. –
3.
5-е изд. – СПб. : Питер, 2010. – 848 с. [Электронный ресурс] // Режим
доступа : http://ibooks.ru/product.php?productid=21890&featured=Y
Хамахер, К. Организация ЭВМ / К. Хамахер, З. Вранешич,
4.
С. Заке. – СПб. : Питер, 2003. – 848 с. [Электронный ресурс] // Режим
доступа : www.twirpx.com/thanks/file/14128/
Корнеев, В.В. Современные микропроцессоры / В.В. Корнеев,
5.
А.В. Киселев. – 2-изд. – М. : Нолидж, 2006. – 412 с. [Электронный ресурс] // Режим доступа : http://www.twirpx.com/file/88862/
Минаси, М. Модернизация и обслуживание ПК / М. Минаси. –
6.
Киев : «Век+», М. : «Энтроп», 2009. – 346 с. [Электронный ресурс] //
Режим доступа : http://www.kodges.ru/122492-modernizaciya-i-remont-
pk-19-e-izdanie.html
Бройдо, В.Л. Вычислительные системы, сети и телекоммуни-
7.
кации : учебник для вузов / В.Л. Бройдо. – 2-е изд. – СПб. : Питер,
2005. – 703 с.
Угрюмов, У.П. Цифровая схемотехника / У.П. Угрюмов. –
8.
СПб. : БХВ-Петербург, 2002. – 528 с. : ил.
Информатика: Базовый курс / С.В. Симонович и др. – СПб. :
9.
Питер, 2002. – 640 с.
Пескова, С.А. Центральные и периферийные устройства элек-
10.
тронных вычислительных средств / С.А. Пескова, А.И. Гуров, А.В. Кузин ; под ред. О.П. Глудкина. – М. : Радио и Связь, 2000. – 496 с.
СПИСОК ЛИТЕРАТУРЫ
196

ВВЕДЕНИЕ ……………………………………………………………………. 3
1. СТАНОВЛЕНИЕ И ЭВОЛЮЦИЯ ЦИФРОВОЙ
ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ ……………………………………. 5
1.1. Определение понятия «архитектура» ………………………............... 6
1.1.1. Уровни детализации структуры вычислительной машины …6
1.2. Эволюция средств автоматизации вычислений ……………………... 6
1.2.1. Нулевое поколение (1942 – 1945) …………………………….. 7
1.2.2. Первое поколение (1937 – 1953) ……………………………… 10
1.2.3. Второе поколение (1954 – 1962) ……………………………… 12
1.2.4. Третье поколение (1963 – 1972) ………………………………. 14
1.2.5. Четвертое поколение (1972 – 1984) …………………………... 16
1.2.6. Пятое поколение (1984 – 1990) ……………………….............. 17
1.2.7. Шестое поколение (1990 – по настоящее время) ……………. 18
1.3. Концепция машины с хранимой в памяти программой …………….. 19
Принцип двоичного кодирования …………………….............. 21
1.3.1.
1.3.2. Принцип программного управления …………………............. 21
1.3.3. Принцип однородности памяти ………………………............. 22
1.3.4. Принцип адресности …………………………………………... 22
1.4. Фон-неймановская архитектура ……………………………………… 24
1.5. Типы структур вычислительных машин и систем ………………….. 26
1.5.1. Структуры вычислительных машин ………………………….. 27
1.5.2. Структуры вычислительных систем ………………………….. 28
1.6. Тенденции развития больших интегральных схем …………………. 28
1.7. Тенденции развития элементной базы процессорных устройств ….. 29
1.8. Перспективные направления исследований в области архитектуры 31
ОГЛАВЛЕНИЕ
1.9. Контрольные вопросы
2. АРХИТЕКТУРА СИСТЕМЫ КОМАНД. КЛАССИФИКАЦИЯ ………. 33
2.1. Классификация по составу и сложности команд ……………………. 33
2.2. Классификация по месту хранения операндов ……………………… 35
2.3. Контрольные вопросы ………………………………………………… 40
3. ФУНКЦИОНАЛЬНАЯ ОРГАНИЗАЦИЯ
ФОН-НЕЙМАНОВСКОЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ …….. 41
3.1. Функциональная схема фон-неймановской вычислительной
машины ………………………………………………………………...
3.1.1. Устройство управления ……………………………………….. 41
3.1.2. Арифметико-логическое устройство …………………………. 43
3.1.3. Основная память ……………………………………………….. 44
3.1.4. Модуль ввода/вывода ………………………………………….. 45
3.2. Быстродействие как основной
машин …………………………………………………………………. 45
3.3. Критерии эффективности вычислительных машин ………………… 48
3.4. Контрольные вопросы ………………………………………………… 48
………………………………………………… 32
41
показатель вычислительных
197

4. ОРГАНИЗАЦИЯ ШИН ………………………………………………….. 50
4.1. Типы шин ………………………………………………………………. 51
4.1.1. Шина «процессор-память» ……………………………………. 52
4.1.2. Шина ввода/вывода ……………………………………………. 52
4.1.3. Системная шина ………………………………………………... 52
4.1.4. Иерархия шин ………………………………………………….. 53
4.2. Физическая реализация шин …………………………………………. 54
4.2.1. Распределение линий шины …………………………………... 54
4.2.2. Методы повышения эффективности шин ……………………. 58
4.3. Контрольные вопросы ………………………………………………… 61
5. ПАМЯТЬ …………………………………………………………………… 62
5.1. Характеристики систем памяти ………………………………………. 62
5.2. Иерархия запоминающих устройств …………………………………. 65
5.3. Основная память ………………………………………………………. 68
5.4. Динамические оперативные запоминающие устройства …………... 75
5.5. Постоянные запоминающие
5.6. Однократно программируемые ПЗУ ………………………………… 84
5.7. Специальные типы оперативной памяти ……………………………. 88
5.8. Многопортовые ОЗУ ………………………………………………….. 90
5.9. Кэш-память ……………………………………………………………. 95
5.9.1. Емкость кэш-памяти …………………………………………… 96
5.9.2. Размер строки ………………………………………………….. 97
5.9.3. Одноуровневая и многоуровневая кэш-память ……………… 97
5.9.4. Дисковая кэш-память ………………………………………….. 98
5.10. Понятие виртуальной памяти ………………………………………. 100
5.10.1. Страничная организация памяти …………………………… 101
5.10.2. Организация защиты памяти ……………………………….. 105
5.11. Внешняя память ……………………………………………………… 107
5.11.1. Магнитные диски …………………………………………… 107
5.12. Повышение производительности дисковой подсистемы …………. 110
5.12.1. Повышение
5.12.2. RAID уровня 0 ………………………………………………. 112
5.12.3. RAID уровня 1 ………………………………………………. 113
5.12.4. RAID уровня 2 ………………………………………………. 113
5.12.5. RAID уровня 3 ………………………………………………. 114
5.12.6. RAID уровня 4 ……………………………………………….. 115
5.12.7. RAID уровня 5 ……………………………………………….. 115
5.12.8. RAID уровня 6 ………………………………………………. 115
5.12.9. RAID уровня 7 ……………………………………………….. 116
5.12.10. RAID уровня 10 ……………………………………………. 116
5.12.11. RAID уровня 53 ……………………………………………. 117
5.12.12. Особенности реализации RAID-систем ………………….. 117
5.13. Оптическая память ………………………………………………….. 118
5.13.1. CD-ROM …………………………………………………….. 118
5.13.2. WORM ……………………………………………………….. 120
5.13.3. EOD – оптические диски со стиранием ……………………. 120
5.13.4. Магнитные ленты …………………………………………… 120
5.14. Контрольные вопросы ………………………………………… 122
198
устройства …………………………….. 82
отказоустойчивости дисковой подсистемы …. 111

6. УСТРОЙСТВА УПРАВЛЕНИЯ ………………………………………… 124
6.1. Функции центрального устройства управления ……………………. 124
6.2. Модель устройства управления ………………………………………. 126
6.2.1. Структура устройства управления ……………………………. 127
6.2.2. Микропрограммный автомат с жесткой логикой ……………. 129
6.2.3. Микропрограммный автомат с программируемой логикой … 130
6.2.4. Принцип управления по хранимой в памяти
микропрограмме ………………………………………………..
6.2.5. Кодирование микрокоманд ……………………………………. 132
6.2.6. Обеспечение последовательности выполнения
микрокоманд ……………………………………………………
6.2.7. Адресация микрокоманд ………………………………………. 133
6.2.8. Организация памяти микропрограмм ………………………… 136
6.3. Контрольные вопросы ………………………………………………… 137
7. СИСТЕМЫ ВВОДА/ВЫВОДА …………………………………………. 138
7.1. Адресное пространство системы ввода/вывода …………………….. 139
7.2. Внешние устройства ………………………………………………….. 141
7.3. Методы управления вводом/выводом ……………………………….. 147
7.3.1. Программно управляемый ввод/вывод ………………………. 148
7.4. Ввод/вывод по прерываниям …………………………………………. 149
7.5. Каналы и процессоры ввода/вывода …………………………………. 154
7.6. Контрольные вопросы ………………………………………………… 158
8. ОСНОВНЫЕ НАПРАВЛЕНИЯ В АРХИТЕКТУРЕ
ПРОЦЕССОРОВ ………………………………………………………….. 160
8.1. Конвейеризация вычислений …………………………………………. 160
8.1.1. Нелинейные конвейеры ……………………………………….. 161
8.1.2. Конвейер команд ………………………………………………. 162
8.2. Предсказание переходов ……………………………………………… 167
Суперконвейерные процессоры ……………………………………… 172
8.3.
8.3.1. Архитектуры с полным и сокращенным набором команд ….. 173
8.3.2. Основные черты RISC-архитектуры …………………………. 174
8.4. Суперскалярные процессоры ………………………………………… 179
8.5. Контрольные вопросы ………………………………………………… 188
9. ПАРАЛЛЕЛИЗМ КАК ОСНОВА
ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛЕНИЙ ……………….
9.1. Уровни параллелизма …………………………………………………. 189
9.1.1. Параллелизм уровня задания …………………………………. 190
9.1.2. Параллелизм уровня программ ……………………………….. 191
9.1.3. Параллелизм уровня команд ………………………………….. 192
9.2. Классификация Флинна вычислительных систем …………………... 193
9.3. Контрольные вопросы ………………………………………………… 194
ЗАКЛЮЧЕНИЕ ……………………………………………………………….. 195
СПИСОК ЛИТЕРАТУРЫ …………………………………………............... 196
131
133
189
199

Учебное электронное издание
ГРОМОВ Юрий Юрьевич,
ИВАНОВА Ольга Геннадьевна,
СЕРЕГИН Михаил Юрьевич,
ИВАНОВСКИЙ Михаил Андреевич,
ДИДРИХ Валерий Евгеньевич
АРХИТЕКТУРА ЭВМ И СИСТЕМ
Учебное пособие
Редактор Л.В. Комбарова
Инженер по компьютерному макетированию М.Н. Рыжкова
Подписано в печать 16.05.2012.
Формат 60 × 84 / 16. 11,63 усл. печ. л. Заказ № 255
Издательско-полиграфический центр ФГБОУ ВПО «ТГТУ»
392000, г. Тамбов, ул. Советская, д. 106, к. 14
200
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
