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

Архитектура ЭВМ и систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
задание как совокупность независимых задач, реализация данного уровня возможна и в рамках однопроцессорной ВС. В этом случае не­сколько заданий могут одновременно находиться в основной памяти ВС, при условии, что в каждый момент выполняется только одно из них. Когда выполняемое задание требует ввода/вывода, такая операция запускается, а до ее завершения
остальные ресурсы ВС передаются другому заданию. По завершении ввода/вывода ресурсы ВС возвра­щаются заданию, инициировавшему эту операцию. Здесь параллелизм обеспечивается за счет того, что центральный процессор и система ввода/вывода работают одновременно, обслуживая разные задания.
В качестве примера рассмотрим вычислительную систему с че­тырьмя процессорами. ВС обрабатывает задания, классифицируемые как малое (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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]