Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Архитектура ЭВМ и систем. Учебное пособие
.pdf
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Тамбовский государственный технический университет»
Ю.Ю. ГРОМОВ, О.Г. ИВАНОВА,
М.Ю. СЕРЕГИН, М.А. ИВАНОВСКИЙ, В.Е. ДИДРИХ
АРХИТЕКТУРА ЭВМ И СИСТЕМ
в качестве учебного пособия для студентов высших учебных заведений,
обучающихся по специальностям 090105 «Комплексное обеспечение
информационной безопасности автоматизированных систем»,
090303 «Информационная безопасность автоматизированных систем»,
направлений подготовки 230200 «Информационные системы»,
Рекомендовано Ученым советом университета
230201 «Информационные системы и технологии»,
230104 «Системы автоматизированного проектирования»,
230400 «Информационные системы и технологии»,
220100 «Системный анализ и управление»,
230100 «Информатика и вычислительная
СПО – 230105 «Программное обеспечение
вычислительной техники и автоматизированных систем»
техника» и
Тамбов
Издательство ФГБОУ ВПО «ТГТУ»
2012
1

ББК 32.973.26.-02я73
УДК 004.272.4(075)
А878
Р е ц е н з е н т ы:
Доктор физико-математических наук, профессор
В.Ф. Крапивин
Доктор физико-математических наук, профессор
Е.Ф. Кустов
А878 Архитектура ЭВМ и систем [Электронный ресурс] : учеб-
ное пособие / Ю.Ю. Громов, О.Г. Иванова, М.Ю. Серегин,
М.А. Ивановский, В.Е. Дидрих. – Тамбов : Изд-во ФГБОУ
ВПО «ТГТУ», 2012. – 200 с.
Настоящая книга посвящена вопросам, связанным с архитектурой
ЭВМ и систем. Рассматриваются следующие вопросы: становление и
эволюция цифровой вычислительной техники; архитектура системы
команд, классификация; функциональная организация фон-неймановской ВМ; организация шин; память; устройства управления; системы ввода/вывода; основные направления в архитектуре процессоров;
параллелизм как основа высокопроизводительных вычислений.
Предназначено для студентов
чающихся по специальностям 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем», 090303
«Информационная безопасность автоматизированных систем», 230201
«Информационные системы и технологии», 230104 «Системы автома-
тизированного проектирования», направлений подготовки 230200 «Информационные системы», 230400 «Информационные системы и технологии», 220100 «Системный анализ и управление», 230100 «Информатика и вычислительная техника» и СПО – 230105 «Программное обеспечение вычислительной техники и автоматизированных систем».
высших учебных заведений, обу-
ББК 32.973.26.-02я73
УДК 004.272.4(075)
2
© Федеральное государственное бюджетное
образовательное учреждение
высшего профессионального образования
«Тамбовский государственный технический
университет» (ФГБОУ ВПО «ТГТУ»), 2012

ВВЕДЕНИЕ
Современная вычислительная техника является одним из самых
значительных достижений научной и инженерной мысли, представляет
собой сложнейший продукт деятельности человека как в отношении
аппаратного, так и программного обеспечения. В связи с этим для
осуществления возможности изучения принципов построения и работы современных и перспективных ЭВМ и систем, их основных устройств – процессоров
др., требуется обеспечить студентов учебным пособием, в котором в
компактной, доступной для восприятия форме, были бы изложены
необходимые сведения.
В настоящее время издается сравнительно мало отечественных
работ, посвященных рассмотрению вопросов организации вычислительных машин, устройств и систем, что отражает объективное состояние дел в
области издания научно-технической литературы в России. Кроме этого, такие книги дороги и увидеть их на книжных полках
библиотеки ВУЗа в достаточном количестве практически невозможно.
Цель, которую ставили авторы перед собой при написании настоящей книги, состояла в обобщении материала и сведений, приведенных в источниках, указанных в списке литературы
материала для потребностей студентов, изучающих специальные дисциплины. Вместе с тем в учебном пособии учтен многолетний опыт
чтения соответствующих дисциплин на кафедре информационных
систем и защиты информации.
Предметом рассмотрения настоящего учебного пособия являются
цифровые электронные вычислительные машины, устройства и системы, то есть технические средства, оперирующие дискретными величинами. Можно утверждать, что электронная вычислительная машина
(ЭВМ) как комплекс технических и программных средств предназначена для автоматизации подготовки и решения задач пользователей. В
свою очередь вычислительная система (ВС), представляющая собой
совокупность взаимосвязанных и взаимодействующих процессоров
или вычислительных машин, периферийного оборудования и программного обеспечения, также предназначена для автоматизации подготовки и решения задач пользователей.
Очевидно, формальное отличие ВС от ЭВМ выражается в количестве вычислителей. Множественность вычислителей позволяет реализовать в ВС параллельную обработку данных. С другой стороны, современные ЭВМ с одним процессором также обладают средствами
распараллеливания вычислительного процесса. Иными словами, раз-
, системы памяти, интерфейсов, каналов связи и
, адаптации этого
3

личие ЭВМ и ВС часто бывает весьма расплывчатым, что позволяет в
ряде случаев рассматривать ЭВМ как одну из реализаций ВС. С другой
стороны, ВС часто строятся из традиционных ЭВМ, в связи с чем многие из положений, относящиеся к вычислительным машинам, могут
быть распространены и на вычислительные системы.
Указанное обстоятельство было
учтено при написании материала
книги и должно однозначно восприниматься читателем. Это означает,
что приводимые сведения применительно к ЭВМ, распространяются и
на ВС с традиционными процессорами. В случаях, когда излагаемый
материал справедлив лишь по отношению к ВС, структура или принцип действия которых отличается от традиционных, будем применять
строгий термин «вычислительная
система».
4

1. СТАНОВЛЕНИЕ И ЭВОЛЮЦИЯ
ЦИФРОВОЙ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Существует множество самых различных определений терминов
«вычислительная машина» (ВМ) и «вычислительная система» (ВС).
Причина такой терминологической неопределенности кроется в невозможности дать удовлетворяющее всех четкое определение, достойное роли стандарта. Приведем несколько определений термина «вычислительная машина», взятых из различных литературных источников. Итак, вычислительная машина – это:
1. Устройство, которое принимает
соответствии с хранимой программой, генерирует результаты и обычно состоит из блоков ввода, вывода, памяти, арифметики, логики и
управления.
2. Функциональный блок, способный выполнять реальные вычисления, включающие множественные арифметические и логические
операции, без участия человека в процессе этих вычислений.
3. Устройство, способное:
− хранить программу или
мере информацию, необходимую для выполнения программы;
− быть свободно перепрограммируемым в соответствии с требо-
ваниями пользователя;
− выполнять арифметические вычисления, определяемые поль-
зователем;
− выполнять без вмешательства человека программу обработки,
требующую изменения действий путем принятия логических решений
в процессе обработки.
Термином «вычислительная машина» обозначается комплекс тех
нических и программных средств, предназначенный для автоматизации подготовки и решения задач пользователей.
Вычислительная система – совокупность взаимосвязанных и
взаимодействующих процессоров или вычислительных машин, периферийного оборудования и программного обеспечения, предназначенная для подготовки и решения задач пользователей.
Таким образом, формально отличие ВС от ВМ выражается в количестве вычислителей. Множественность
реализовать в ВС параллельную обработку. С другой стороны, современные вычислительные машины с одним процессором также обладают определенными средствами распараллеливания вычислительного
процесса. Иными словами, грань между ВМ и ВС часто бывает весьма
расплывчатой, что дает основание там, где это целесообразно, рас-
программы обработки и по меньшей
данные, обрабатывает их в
вычислителей позволяет
-
5

сматривать ВМ как одну из реализаций ВС. И напротив, вычислительные системы часто строятся из традиционных ВМ и процессоров, поэтому многие из положений, относящиеся к ВМ, могут быть распространены и на ВС.
1.1. ОПРЕДЕЛЕНИЕ ПОНЯТИЯ «АРХИТЕКТУРА»
Под архитектурой вычислительной машины обычно понима-
ется логическое построение ВМ, т.е. то, какой машина представляется
программисту. Впервые термин «архитектура вычислительной машины» (computer architecture) был употреблен фирмой IBM при разработке машин семейства IBM 360 для описания тех средств, которыми может пользоваться программист, составляя программу на уровне машинных команд. Подобную трактовку называют «узкой
», и охватывает
она перечень и формат команд, формы представления данных, механизмы ввода/вывода, способы адресации памяти и т.п. Из рассмотрения выпадают вопросы физического построения вычислительных
средств: состав устройств, число регистров процессора, емкость памяти, наличие специального блока для обработки вещественных чисел,
тактовая частота центрального процессора и т.
д. Этот круг вопросов
принято определять понятием «организация или структурная органи-
зация».
Архитектура и организация – это две стороны описания ВМ и ВС.
В дальнейшем будем пользоваться термином «архитектура» в «широком» его толковании, объединяющем как архитектуру в узком смысле,
так и организацию ВМ.
1.1.1. УРОВНИ ДЕТАЛИЗАЦИИ СТРУКТУРЫ
ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ
Вычислительная машина как законченный объект являет собой
плод усилий специалистов в самых различных областях человеческих
знаний. Каждый специалист рассматривает вычислительную машину с
позиций стоящей перед ним задачи, абстрагируясь от несущественных,
по его мнению, деталей.
Круг вопросов, рассматриваемых в данном курсе, по большей
части относится к компетенции системного архитектора и охватывает
различные
степени детализации ВМ и ВС. В принципе таких уровней
может быть достаточно много, однако сложившаяся практика ограничивает их число четырьмя уровнями.
На первом уровне вычислительная машина рассматривается как
устройство, способное хранить и обрабатывать информацию, а также
обмениваться данными с внешним миром. ВМ представляется «черным ящиком», который может быть
6
подключен к коммуникационной

сети и к которому, в свою очередь, могут подсоединяться периферийные устройства.
Уровень общей архитектуры предполагает представление ВМ в
виде четырех составляющих: центрального процессора (ЦП), основ-
ной памяти (ОП), устройства ввода/вывода (УВВ) и системы шин.
На третьем уровне детализируется каждое из устройств второго
уровня. Для примера взят центральный
процессор. В простейшем ва-
рианте в нем можно выделить:
− арифметико-логическое устройство (АЛУ), обеспечивающее
обработку целых чисел;
− блок обработки чисел в формате с плавающей запятой (БПЗ);
− регистры процессора, использующиеся для краткосрочного
хранения команд, данных и адресов;
− устройство управления (УУ), обеспечивающее совместное
функционирование устройств ВМ;
− внутренние шины
.
На четвертом уровне детализируются элементы третьего уровня.
Например, УУ представлено в виде четырех составляющих:
− логики программной последовательности – электронных схем,
обеспечивающих выполнение команд программы в последовательности, предписываемой программой;
− регистров и дешифраторов устройства управления;
− управляющей памяти;
− логики формирования управления, генерирующей все необхо-
димые управляющие сигналы.
1.2. ЭВОЛЮЦИЯ СРЕДСТВ АВТОМАТИЗАЦИИ ВЫЧИСЛЕНИЙ
Попытки облегчить, а в идеале автоматизировать процесс вычислений имеют давнюю историю, насчитывающую более 5000 лет.
С развитием науки и технологий средства автоматизации вычислений
непрерывно совершенствовались. Современное состояние вычислительной техники (ВТ) являет собой результат многолетней эволюции.
В последнее время вопросы развития ВТ стали предметом особо пристального внимания ученых, свидетельством чего
вивающаяся новая область знаний, получившая название «Теория
эволюции компьютеров» (Computer evolution theory). Создатели
теории обратили внимание на сходство закономерностей эволюции
вычислительной техники и эволюции в биологии. В основу новой науки положены следующие постулаты:
− самозарождение «живых» вычислительных систем из «нежи-
вых» элементов (в биологии это явление известно как
служит активно раз-
абиогенез);
7

− поступательное продвижение по древу эволюции – от прото-
процессорных (однопроцессорных) вычислительных машин к полипроцессорным (многопроцессорным) вычислительным системам;
− прогресс в технологии вычислительных систем как следствие
полезных мутаций и вариаций;
− отмирание устаревших технологий в результате естественного
отбора; закон Мура, как подтверждение эволюции вычислительных
систем.
Изучение закономерностей развития вычислительных машин и
систем может привести к ощутимым практическим результатам.
В традиционной трактовке эволюцию вычислительной техники
представляют как последовательную смену поколений ВТ. Появление
термина «поколение» относится к 1964 году, когда фирма IBM выпустила серию компьютеров IBM 360, назвав эту серию «компьютерами
третьего поколения». Сам термин имеет разные определения, наиболее
популярными из которых являются:
− «Поколения вычислительных
машин – это сложившееся в по-
следнее время разбиение вычислительных машин на классы, определяемые элементной базой и производительностью»;
− «Поколения компьютеров – нестрогая классификация вычис-
лительных систем по степени развития аппаратных и, в последнее
время, программных средств».
При описании эволюции ВТ обычно используют один из двух
подходов: хронологический или технологический. В
первом случае –
это хронология событий, существенно повлиявших на становление ВТ.
Во втором – технологический подход, когда развитие вычислительной
техники рассматривается в терминах архитектурных решений и технологий.
В качестве узловых моментов, определяющих появление нового
поколения ВТ, обычно выбираются революционные идеи или технологические прорывы, кардинально изменяющие дальнейшее развитие
средств автоматизации вычислений.
Одной из таких идей принято считать концепцию вычислительной машины с хранимой в памяти программой, сформулированную Джоном фон Нейманом. Взяв ее за точку
отсчета, историю развития ВТ можно представить в виде трех этапов:
− донеймановского периода;
− эры вычислительных машин и систем с фон-неймановской ар-
хитектурой;
− постнеймановской эпохи
– эпохи параллельных и распреде-
ленных вычислений, где наряду с традиционным подходом все большую роль начинают играть отличные от фон-неймановских принципы
организации вычислительного процесса.
8

Значительно большее распространение однако получила привязка
поколений к смене технологий. Принято говорить о «механической»
эре (нулевое поколение) и последовавших за ней пяти поколениях ВС.
Первые четыре поколения традиционно связывают с элементной базой
вычислительных систем: электронные лампы, полупроводниковые
приборы, интегральные схемы малой степени интеграции (ИМС),
большие (БИС), сверхбольшие (СБИС) и ультрабольшие (УБИС
) интегральные микросхемы. Пятое поколение в общепринятой интерпретации ассоциируют не столько с новой элементной базой, сколько с
интеллектуальными возможностями ВС. Работы по созданию ВС пятого поколения велись в рамках четырех достаточно независимых
программ, осуществлявшихся учеными США, Японии, стран Западной
Европы и стран Совета экономической взаимопомощи.
«Механическая» эра (нулевое поколение) в эволюции ВТ связана
с механическими, а позже – электромеханическими вычислительными
устройствами. Основным элементом механических устройств было
зубчатое колесо. Начиная с XX века роль базового элемента переходит
к электромеханическому реле. Необходимо отметить, что ни одно из
созданных устройств нельзя с полным основанием назвать вычислительной машиной в современном
Хронология основных событий «механической» эры выглядит
следующим образом.
1492 год. В одном из своих дневников Леонардо да Винчи приводит рисунок тринадцатиразрядного десятичного суммирующего устройства на основе зубчатых колес.
1623 год. Вильгельм Шиккард (Wilhelm Schickard, 1592 – 1635),
профессор университета Тюбингена, разрабатывает устройство на основе зубчатых колес («считающие часы») для сложения и
шестиразрядных десятичных чисел. Было ли устройство реализовано
при жизни изобретателя, достоверно неизвестно, но в 1960 году оно
было воссоздано и проявило себя вполне работоспособным.
1642 год. Блез Паскаль (Blaise Pascal, 1623 – 1663) представляет
«Паскалин» – первое реально осуществленное и получившее извест-
ность механическое цифровое вычислительное устройство. Прототип
устройства суммировал и вычитал пятиразрядные десятичные числа.
Паскаль
ние модели оперировали числами длиной в восемь цифр.
1673 год. Готфрид Вильгельм Лейбниц (Gottfried Wilhelm Leibniz,
1646 – 1716) создает «пошаговый вычислитель» – десятичное устрой-
ство для выполнения всех четырех арифметических операций над
1.2.1. НУЛЕВОЕ ПОКОЛЕНИЕ (1942 – 1945)
ее понимании.
вычитания
изготовил более десяти таких вычислителей, причем послед-
9

12-разрядными десятичными числами. Результат умножения представлялся 16 цифрами. Помимо зубчатых колес в устройстве использовался новый элемент – ступенчатый валик.
1786 год. Немецкий военный инженер Иоганн Мюллер (Johann
Mueller, 1746 – 1830) выдвигает идею «разностной машины» – специа-
лизированного калькулятора для табулирования логарифмов, вычисляемых разностным методом. Калькулятор, построенный на ступенчатых валиках Лейбница, получился достаточно небольшим
(13 см в высоту и 30 см в диаметре), но при этом мог выполнять все четыре арифметических действия над 14-разрядными числами.
1801 год. Жозеф-Мари Жаккард (Joseph-Marie Jacquard, 1752 –
1834) строит ткацкий станок с программным управлением, программа
работы которого задается с помощью комплекта перфокарт.
1832 год. Английский математик Чарльз Бэббидж (Charles
Babbage, 1792 – 1871) создает сегмент разностной
машины, оперирующий шестиразрядными числами и разностями второго порядка. Разностная машина Бэббиджа по идее аналогична калькулятору Мюллера.
1834 год. Пер Георг Шутц (Per George Scheutz, 1785 – 1873) из
Стокгольма, используя краткое описание проекта Бэббиджа, создает из
дерева небольшую разностную машину.
1836 год. Бэббидж разрабатывает проект «аналитической машины». Проект предусматривает три считывателя с перфокарт для
ввода
программ и данных, память (по Бэббиджу – «склад») на пятьдесят
40-разрядных чисел, два аккумулятора для хранения промежуточных
результатов. В программировании машины предусмотрена концепция
условного перехода. В проект заложен также и прообраз микропрограммирования – содержание инструкций предполагалось задавать
путем позиционирования металлических штырей в цилиндре с отверстиями. По оценкам автора, суммирование
должно было занимать 3 с,
а умножение и деление – 2…4 мин.
1843 год. Георг Шутц совместно с сыном Эдвардом (Edvard
Scheutz, 1821 – 1881) строят разностную машину с принтером для ра-
боты с разностями третьего порядка.
1871 год. Бэббидж создает прототип одного из устройств своей
аналитической машины – «мельницу» (так он окрестил то, что сейчас
принято называть центральным
процессором), а также принтер.
1885 год. Дорр Фельт (Dorr E. Felt, 1862 – 1930) из Чикаго строит
свой «комптометр» – первый калькулятор, где числа вводятся нажатием клавиш.
1890 год. Результаты переписи населения в США обрабатываются с помощью перфокарточного табулятора, созданного Германом
Холлеритом (Herman Hollerith, 1860 – 1929) из Массачусетсского технологического института.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
