Вы находитесь на странице: 1из 88

И.В. Хмелевский, В.П. Битюцкий

ОРГАНИЗАЦИЯ ЭВМ И СИСТЕМ

ОДНОПРОЦЕССОРНЫЕ ЭВМ

ЧАСТЬ 1

Федеральное агентство по образованию

ГОУ ВПО «Уральский государственный технический университет-УПИ»

И.В. Хмелевский, В.П. Битюцкий

ОРГАНИЗАЦИЯ ЭВМ И СИСТЕМ

ОДНОПРОЦЕССОРНЫЕ ЭВМ

ЧАСТЬ 1

Конспект лекций

Издание второе, исправленное и дополненное

Научный редактор проф., д-р техн.наук Л.Г. Доросинский

Екатеринбург 2005

УДК 681.3 ББК 32.973.202я73

Х-65

Рецензенты:

кафедра информатики УГГУ (зав. кафедрой доц. канд.техн.наук А.В.Дружинин); доц., канд. техн. наук Г.Б.Захарова (УрО РАН)

Авторы: И.В.Хмелевский, В.П.Битюцкий

Х-65 Организация ЭВМ и систем. Однопроцессорные ЭВМ. Часть 1.:

Конспект лекций / И.В. Хмелевский, В.П. Битюцкий. 2-е изд., испр. и допол. Екате- ринбург: ГОУ ВПО УГТУ-УПИ, 2005. 87 с.

ISBN 5-321-00516-8

Конспект лекций посвящен изучению основ организации и функционирования ЭВМ в целом и ее отдельных узлов, взаимодействия ЭВМ и периферийных уст- ройств, в том числе многопроцессорных систем, перспективных направлений в раз- витии вычислительной техники, приобретению опыта разработки простейших микро- процессорных устройств. Конспект предназначен для студентов всех форм обучения направления 230100 – Информатика и вычислительная техника

Табл. 11, Рис. 30.

Подготовлено кафедрой "Автоматика и информационные технологии".

ISBN 5-321-00516-8

УДК 681.3 ББК 32.973.202я73

©ГОУ ВПО «Уральский государственный технический университет-УПИ», 2005 (испр. и доп.)

ОГЛАВЛЕНИЕ

1. ОБЩИЕ ВОПРОСЫ ИСТОРИИ РАЗВИТИЯ И ПОСТРОЕНИЯ ЭВМ 5

1.1. ДВА КЛАССА ЭВМ

5

1.2. НЕМНОГО ИСТОРИИ

7

1.3. ПРИНЦИПЫ ДЕЙСТВИЯ ЭВМ

8

1.4. ПОНЯТИЕ О СИСТЕМЕ ПРОГРАММНОГО (МАТЕМАТИЧЕСКОГО)

ОБЕСПЕЧЕНИЯ ЭВМ

11

1.5. ПОКОЛЕНИЯ ЭВМ

14

1.6. БОЛЬШИЕ ЭВМ ОБЩЕГО НАЗНАЧЕНИЯ 17

1.6.1. КАНАЛЫ 19

1.6.2. ИНТЕРФЕЙС

20

1.7.

МАЛЫЕ ЭВМ

20

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

21

2. ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В ЭВМ

22

2.1. ПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ

22

2.2. ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ

22

2.2.1. ПРЕОБРАЗОВАНИЕ ДВОИЧНЫХ ЧИСЕЛ В ДЕСЯТИЧНЫЕ

23

2.2.2. ПРЕОБРАЗОВАНИЕ ДЕСЯТИЧНЫХ ЧИСЕЛ В ДВОИЧНЫЕ

24

2.2.3. ДВОИЧНО-ДЕСЯТИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ

26

2.3. ВОСЬМЕРИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ

26

2.4. ШЕСТНАДЦАТЕРИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ

27

2.5. ДВОИЧНАЯ АРИФМЕТИКА 28

2.5.1. СЛОЖЕНИЕ 28

28

2.5.3. УМНОЖЕНИЕ 29

30

2.6. ПРЯМОЙ, ОБРАТНЫЙ И ДОПОЛНИТЕЛЬНЫЙ КОДЫ 31

2.5.2. ВЫЧИТАНИЕ

2.5.4. ДЕЛЕНИЕ

2.6.1. ПРЯМОЙ КОД 31

2.6.2. ОБРАТНЫЙ КОД

32

2.6.3. ДОПОЛНИТЕЛЬНЫЙ КОД

33

2.6.4. СЛОЖЕНИЕ И ВЫЧИТАНИЕ В ДОПОЛНИТЕЛЬНОМ КОДЕ

35

2.6.5. ПРИЗНАК ПЕРЕПОЛНЕНИЯ РАЗРЯДНОЙ СЕТКИ 36

2.6.6. ДЕЛЕНИЕ В ДОПОЛНИТЕЛЬНОМ КОДЕ

37

2.6.7. ПРАВИЛО ПЕРЕВОДА ИЗ ДОПОЛНИТЕЛЬНОГО КОДА В ДЕСЯ- ТИЧНУЮ СИСТЕМУ

37

2.6.8. МОДИФИЦИРОВАННЫЕ КОДЫ

38

2.6.9. АРИФМЕТИКА ПОВЫШЕННОЙ ТОЧНОСТИ 39

2.7. ПРЕДСТАВЛЕНИЕ ДРОБНЫХ ЧИСЕЛ В ЭВМ. ЧИСЛА С ФИКСИ-

РОВАННОЙ И ПЛАВАЮЩЕЙ ЗАПЯТОЙ

40

2.7.1. ЧИСЛА С ФИКСИРОВАННОЙ ЗАПЯТОЙ

40

2.7.2. ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

41

2.7.3. СЛОЖЕНИЕ (ВЫЧИТАНИЕ) ЧПЗ

48

2.7.4. УМНОЖЕНИЕ ЧПЗ

49

2.7.5. МЕТОДЫ УСКОРЕНИЯ УМНОЖЕНИЯ

50

2.7.6. ДЕЛЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

51

3

2.8.

ДЕСЯТИЧНАЯ АРИФМЕТИКА

52

2.8.1. СЛОЖЕНИЕ ДВОИЧНО-ДЕСЯТИЧНЫХ ЧИСЕЛ

52

2.8.2. ВЫЧИТАНИЕ МОДУЛЕЙ ДВОИЧНО-ДЕСЯТИЧНЫХ ЧИСЕЛ

56

2.8.3. УМНОЖЕНИЕ МОДУЛЕЙ ДВОИЧНО-ДЕСЯТИЧНЫХ ЧИСЕЛ

58

2.8.4. ДЕЛЕНИЕ МОДУЛЕЙ ДВОИЧНО-ДЕСЯТИЧНЫХ ЧИСЕЛ

59

2.9.

НАРУШЕНИЕ ОГРАНИЧЕНИЙ ЭВМ

59

2.10. ПРЕДСТАВЛЕНИЕ БУКВЕННО-ЦИФРОВОЙ ИНФОРМАЦИИ

60

2.11. ЗАКЛЮЧИТЕЛЬНЫЕ ЗАМЕЧАНИЯ

61

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

62

КОНТРОЛЬНЫЕ ЗАДАНИЯ К ГЛАВЕ 2

63

ФОРМА 1. ОТВЕТЫ НА ВОПРОСЫ 63 ФОРМА 2. ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ НАД ЧИС-

63

ПРИМЕР ВЫПОЛНЕНИЯ КОНТРОЛЬНОГО ЗАДАНИЯ (ФОРМА 2) 66

ЛАМИ

3. ПРИНЦИПЫ ПОСТРОЕНИЯ ЭЛЕМЕНТАРНОГО ПРОЦЕССОРА

72

3.1. ОПЕРАЦИОННЫЕ УСТРОЙСТВА (АЛУ) 75

3.2. УПРАВЛЯЮЩИЕ УСТРОЙСТВА 77

3.2.1. УУ С ЖЕСТКОЙ ЛОГИКОЙ

78

3.2.2. УУ С ХРАНИМОЙ В ПАМЯТИ ЛОГИКОЙ

80

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

85

КОНТРОЛЬНЫЕ ЗАДАНИЯ К ГЛАВЕ 3

85

4

1. Общие вопросы истории развития и построения ЭВМ

С момента своего возникновения человек старался облегчить свой труд с по- мощью различных приспособлений. В начале это касалось только физического тру- да, а затем также и умственного. В результате уже в XVII веке начали появляться первые механические устройства, позволяющие выполнять некоторые арифметиче- ские действия над числами. Они предназначались, в основном, для коммерческих расчетов и составления навигационных таблиц. Совершенствование технологии обработки металлов, а затем и появление пер- вых электромеханических устройств типа электромагнитных реле привело к интен- сивному совершенствованию вычислительных устройств. Кроме того, совершенст- вование вычислительных устройств было обусловлено все возрастающим объемом информации, требующей переработки.

До 30-х годов прошлого столетия разработкой вычислительных устройств за- нимались механики, математики, электрики. Но с конца 30-х годов к этому процессу подключились электронщики, поскольку вычислительные устройства стали созда- вать на электронных элементах электронных лампах. Вычислительные устройства превратились в электронные вычислительные машины (ЭВМ0, а все, что связано было с созданием ЭВМ, превратилось в отдельную область человеческих знаний, которую условно можно было назвать "Теория и принципы проектирования ЭВМ". Однако уже в 50-е годы разнообразие проблем теории и методов проектирова- ния объектов вычислительной техники, сложность ее элементов, устройств, машин и систем закономерно привели к тому, что из дисциплины "Теория и принципы проек- тирования ЭВМ", еще недавно охватывающей все основные аспекты этой области науки и техники, выделились самостоятельные курсы: схемотехника ЭВМ, методы оптимизации, периферийные устройства, операционные системы, теория програм- мирования и т.д. Современная ЭВМ настолько сложное устройство, что в одном курсе физически невозможно охватить подробно все проблемы проектирования, создания и эксплуатации ЭВМ, которые в общем случае имеют три аспекта:

- пользовательский (т.е. ЭВМ является инструментом решения прикладных за- дач);

- программный (т.е. ЭВМ является объектом системного программирования);

- электронный (т.е. ЭВМ является сложным электронным устройством, создан-

ным с использованием сложных технологий). Настоящий курс "Организация ЭВМ и систем" без излишней детализации рас- сматривает комплекс основных вопросов, относящихся к теории, принципам по- строения и функционирования ЭВМ как сложного электронного устройства. При этом основное внимание уделяется микроЭВМ и устройствам на базе микропроцессорных комплектов. Следует иметь в виду также, что под ЭВМ понимается любое устройст- во переработки цифровой информации (от микроконтроллера, управляющего сти- ральной машиной, до суперЭВМ), а не только персональный компьютер.

1.1. Два класса ЭВМ Любая сфера человеческой деятельности, любой процесс функционирования технического объекта связаны с передачей и преобразованием информации. Одно из важнейших положений кибернетики состоит в том, что без информации, ее пере- дачи и переработки невозможны организованные системы ни биологические, ни технические, искусственно созданные человеком. Информацией называются сведения о тех или иных явлениях природы, собы- тиях общественной жизни, процессах в технических устройствах. Информация, за-

5

фиксированная в некоторых материальных формах (на материальном носителе), называется сообщением, например:

статистические данные о работе предприятия и потребности производства в материалах;

данные переписи населения;

данные для диспетчера аэропорта о перемещении самолетов в воздухе;

данные о толщине прокатываемого листа.

Все эти сообщения отличаются друг от друга по источнику информации, по спо- собу представления, по продолжительности и т.д. Но их объединяет одно инфор- мацию, которую они несут, необходимо передать, переработать и как-то использо-

вать.

В общем случае сообщения могут быть непрерывными (аналоговыми) и дис-

кретными (цифровыми). Аналоговое сообщение представляется некоторой физической величиной (обычно электрическим током или напряжением), изменение которой во времени от- ражает протекание рассматриваемого процесса, например температуры в нагрева- тельной печи. Физический процесс, передающий непрерывное сообщение, может в определенном интервале принимать любые значения и изменяться в произвольные моменты времени, т.е. может иметь бесконечное множество состояний. Дискретное сообщение характеризуется конечным набором состояний, напри-

мер, передача текста. Каждое из этих состояний можно представить в виде конечной последовательности символов или букв, принадлежащих конечному множеству, на- зываемому алфавитом. Такая операция называется кодированием, а последова- тельность символов кодом. Число символов, входящих в алфавит, называется ос- нованием кода. Важным здесь является не физическая природа символов кода, а то, что за конечное время можно передать только конечное число состояний сообще- ния. Причем, чем меньше основание кода, тем длиннее требуются кодовые группы для передачи фиксированного набора состояний сообщения.

В настоящее время в абсолютном большинстве случаев используются коды с

основанием два, т.е. информация представляется в виде бинарных импульсных по- следовательностей, или двоичных кодов. Передачу и преобразование любой дискретной информации всегда можно све- сти к эквивалентной передаче и преобразованию двоичных кодов, или цифровой информации. Более того, возможно с любой заранее заданной степенью точности непрерыв- ное сообщение заменить цифровым путем квантования непрерывного сообщения по уровню и дискретизации его по времени. Однако следует иметь в виду, что с увели- чением точности представления аналогового сообщения растет разрядность кода. Это может привести к тому, что обработка аналогового сообщения в цифровой фор- ме на конкретной ЭВМ в реальном масштабе времени окажется невозможной. Таким образом, любое сообщение может быть с определенной степенью точно- сти представлено в цифровой форме. Электронные вычислительные машины (ЭВМ) являются преобразователями информации. В них исходные данные задачи преобразуются в результат ее реше- ния. В соответствии с используемой формой представления информации при пре- образовании ЭВМ делятся на два больших класса аналоговые и дискретного дей- ствия цифровые. Их обозначают как АВМ и ЦВМ соответственно. С 70-х годов

термин ЭВМ относят именно к машинам дискретного действия, или ЦВМ, принципы функционирования которых и будут рассмотрены в настоящем курсе.

6

1.2. Немного истории Считается, что первым механизмом для счета являлся абак, в котором сложе- ние и вычитание чисел выполнялось перемещением камешков по желобам доски. Подобные устройства встречаются в разных вариантах в различных странах древне- го мира. Но настоящая потребность в автоматизации вычислений возникла в средние века в связи с резко возросшими в этот период торговыми операциями и океанским судоходством. Торговля требовала больших денежных расчетов, а судоходство надежных навигационных таблиц. Первые эскизы счетной машины создал Леонардо да Винчи (около 1500 года). А первые сведения о работающей счетной машине относятся к 1646 году (Герма- ния). Но подробностей устройства этой счетной машины не сохранилось. В 1646 го- ду во Франции Паскаль создал механическое устройство, которое складывало и вы- читало многозначные числа. В 1673 году в Германии Лейбниц строит счетную маши- ну, выполняющую все четыре арифметических действия. Он же предложил исполь- зовать двоичную систему счисления для нужд вычислительной математики. В этот период были созданы и другие счетные машины. Все они были построены в одном экземпляре (поскольку создавались десятки лет) и не могли долго работать слиш- ком сложны были их механизмы и слишком примитивна технология их изготовления. Только в 1820 году был налажен серийный выпуск (сотни штук в год) арифмометров конструкции Томаса де Кальмера. Вычисления, состоящие из последовательности арифметических операций, все еще лежали за пределами возможностей счетной машины. В 1834 году Ч. Бэббидж разработал проект счетной машины, позволяющей реализовать вычисления любой сложности. Машина была задумана как механиче- ская. Но Ч. Бэббиджа можно назвать пророком, поскольку его "аналитическая" ма- шина стала прообразом ЭВМ, появившейся 100 лет спустя. Его машина содержала механический эквивалент практически всех основных устройств простейшей ЭВМ:

память ("склад" на 1000 чисел по 50 десятичных знаков), арифметическое устройст- во ("мельница"), устройство управления, устройства ввода и вывода информации. Последовательность выполнения операций и пересылки чисел между устройствами задавалась программой на перфокартах Жаккарда (1804), которые использовались для управления работой ткацких станков. Кроме того, в машине Бэббиджа преду- сматривалась возможность изменения программы в зависимости от результата вы- числений. Говоря современным языком, имелись команды условных переходов. Ин- тересно отметить, что Бэббидж изобрел наиболее эффективный способ сложения чисел сложение по схеме со сквозным переносом. Эту машину Бэббидж строил всю оставшуюся жизнь (до 1871 года), но создал только ее отдельные узлы. В то же время (50-е годы прошлого столетия) благодаря трудам английского математика Ады Лавлейс зародилось машинное программирование. Ада Лавлейс пыталась на- писать программы к еще не созданной счетной машине Бэббиджа. В конце XIX –начале XX века начали появляться электромеханические счетно- аналитические машины для выполнения расчетно-бухгалтерских и статистических операций. Сильным толчком к развитию таких устройств стал конкурс, объявленный в США при проведении переписи 1888 года. В нем победил табулятор Холлерита, который явился родоначальником целого семейства электронно-механических ма- шин для обработки статистических данных. В 1898 году Холлерит организовал фир- му, которая поставляла такие машины всему миру. Эти машины непрерывно совер- шенствовались: в 1913 году создан табулятор, печатающий результаты; в 1921 году к нему добавлена коммутационная доска, на которой хранилась программа обработ- ки данных, считываемых с различных позиций перфокарты.

7

Первые вычислительные машины в современном смысле появились в конце 30-х начале 40-х годов. В 1936 -1937 году К. Цузе (Германия) спроектировал маши- ну с программным управлением. В 1941 году она была создана (машина на электро- магнитных реле). Это первая в мире ЭВМ с программным управлением. Программа наносилась на перфоленту и целиком вводилась в машину. После этого оператор уже не мог влиять на последовательность выполнения команд программы. Посколь- ку перфолента двигалась в одну сторону, все циклы записывались в развернутом виде, т.е. в виде последовательности групп команд.

В 1937 году Г. Айкин (США) разработал проект электромеханической универ-

сальной ЭВМ с программным управлением. Она была построена в 1944 году фир- мой IBM и названа "Марк-1". В 1947 году под руководством Айкина построена более мощная машина "Марк-2". В ней для хранения чисел и выполнения операций ис-

пользовано 16000 электромеханических реле. В этот период был разработан целый ряд подобных релейных вычислительных машин, одна из которых практически пол- ностью повторяла "аналитическую" машину Бебиджа. Эти релейные вычислительные машины были ненадежны, медленно работали и потребляли много энергии, но позволили накопить большой опыт по созданию ма- шин для автоматизированных вычислений. На них было опробовано двоичное коди- рование чисел, представление чисел в форме с плавающей запятой, способы вы- полнения операций над числами на основе релейных схем и т.д.

В этот же период начали появляться машины, построенные на электронных

лампах, причем первоначально лампы стали использоваться в простейших счетчи- ках импульсов. На них строились схемы с двумя устойчивыми состояниями, впо- следствии названные триггерами (впервые подобная схема была разработана в

1918 году Бонч-Бруевичем). Исследуя свойства триггеров, американские ученые

Дж. Моучли и Д. Эккер пришли к выводу о целесообразности использования в вы- числительных машинах вместо электромеханических реле ламповых триггеров. В

1946 году под их руководством построена вычислительная машина "ЭНИАК" для

баллистических расчетов. Она содержала 18000 электронных ламп и 1500 реле. Ис- пользование электронных ламп позволило резко (на два порядка) повысить скорость

выполнения операций. Анализируя работу этой машины, математик Дж. Нейман сформулировал ос- новные концепции организации ЭВМ. В соответствии с этими концепциями началась разработка ЭВМ "ЭДВАК" – прообраза современных ЭВМ. Она была построена в 1950 году. А в 1949 году в Англии была введена в эксплуатацию первая в мире ЭВМ с хранимой в памяти программой – "ЭДСАК", созданная под руководством М. Уилкса. Вычислительные машины "ЭДВАК" и "ЭДСАК" положили начало первому поко- лению ЭВМ поколению ламповых машин. С начала 50-х годов было осуществлено много проектов ЭВМ, в каждом из которых применялись новые типы устройств, спо- собы управления вычислительным процессом и обработки информации. Особое внимание уделялось улучшению характеристик памяти, поскольку в ламповых ЭВМ она была незначительной. Так, в 1952 г. впервые были использованы ферритовые сердечники. На этом закончим рассмотрение истории развития вычислительных машин и перейдем к принципам действия ЭВМ.

1.3. Принципы действия ЭВМ Рассмотрим вначале вычисления с помощью калькулятора. Предварительно на листе бумаги выписываются формулы и исходные данные, а часто и таблицы для занесения промежуточных и конечных результатов. В процессе вычисления числа с листа заносятся в регистр микрокалькулятора, а затем включается нужная по фор-

8

муле операция. Полученные результаты переписываются с регистра (индикатора микрокалькулятора) на лист бумаги (в таблицу). Таким образом, микрокалькулятор выполняет арифметические операции над числами, которые в него вводит человек. Лист бумаги выполняет в данном случае роль запоминающего устройства, хранящего программу (расчетную формулу), ис- ходные, промежуточные и конечные результаты. Человек управляет процессом вы- числения, включая перенос чисел с листа в микрокалькулятор и обратно, а также выбирает нужный вариант продолжения процесса вычисления в соответствии с по- лученным результатом. Интересно, что в данном случае быстродействие устройст- ва, выполняющего арифметические операции (механического или электронного), практически не влияет на скорость вычислительного процесса, так как остальные операции выполняются очень медленно. Принципиальный эффект достигается, если к быстродействующему арифмети- ческому устройству добавить быстродействующую память, а также быстродейст- вующее устройство, производящее все необходимые операции по реализации про- граммы вычислений и пересылке чисел между арифметическим устройством и па- мятью. Если добавить к такому комплексу аппаратуры устройства связи с внешним миром, т.е. устройства ввода исходных данных и программы и вывода результата, то придем к классической пятиблочной структуре Неймана, несколько модифицирован- ный вид которой показан на рис. 1.1 (первоначально устройство ввода и вывода изо- бражалось одним блоком, а память не разделялась на основную и внешнюю).

Пульт ручного управления Управляющее устройство Арифметико-
Пульт ручного управления
Управляющее устройство
Арифметико-
Внутренняя
Устройство
Устройство
логическое
(основная,
ввода
вывода
устройство
оперативная
(УВ)
(УВ)
(АЛУ)
память (ОП))
Результат
расчета
Программа,
Внешняя
исходные
память (ВП)
данные

Рис. 1.1. Классическая структура ЭВМ

Рассмотрим основные функции устройств, входящих в состав неймановской модели ЭВМ. АЛУ производит арифметические и логические преобразования над посту- пающими в него машинными словами, т.е. двоичными кодами определенной длины, представляющими собой числа или другой вид информации.

9

Память хранит информацию, передаваемую из других устройств, в том числе поступающую извне через устройство ввода, и выдает во все другие устройства ин- формацию, необходимую для протекания вычислительного процесса. В ЭВМ первых поколений память состояла только из двух существенно отличных по своим характе- ристикам частей быстродействующей основной, или оперативной (внутренней), памяти (ОП) и значительно более медленной внешней памяти (ВП), способной хра- нить очень большие объемы информации. Память современных ЭВМ имеет более сложную структуру, поскольку внутренняя память ЭВМ разделилась на ряд иерархи- ческих уровней, обладающих различным объемом и быстродействием ОП, кэш- память, сверхоперативная память, память каналов и т.д. Однако при первоначаль- ном рассмотрении многоуровневость памяти можно не учитывать и считать, что внутренняя память состоит из одной ОП. Внутренняя память состоит из ячеек, каж- дая из которых служит для хранения одного машинного слова. Номер ячейки назы- вается адресом. В запоминающем устройстве (ЗУ) ЭВМ, реализующем функцию па- мяти, выполняются операции считывания и записи информации. Причем при считы- вании информация не разрушается и может считываться любое число раз. При за- писи прежнее содержимое ячейки стирается. Непосредственно в вычислительном процессе участвует только ОП. Обмен информацией между ОП и ВП происходит только после окончания отдельных этапов вычислений. Физическая реализация ОП и ВП будет рассмотрена в последующих разделах данного курса. Устройство управления (УУ) автоматически, без участия человека, управля- ет вычислительным процессом, посылая всем другим устройствам сигналы, предпи- сывающие те или иные действия, в частности заставляет ОП пересылать необходи- мые данные, включать АЛУ на выполнение необходимой операции, перемещать по- лученный результат в необходимую ячейку ОП. Следует иметь в виду, что в совре- менных ЭВМ АЛУ и УУ всегда объединены в одно устройство, которое называется процессор. Пульт управления позволяет оператору вмешиваться в процесс решения за- дачи, т.е. давать директивы устройству управления. Устройство ввода позволяет ввести программу решения задачи и исходные данные в ЭВМ и поместить их в ОП. В зависимости от типа устройства ввода исход- ные данные для решения задачи вводятся непосредственно с клавиатуры (дисплей, пишущая машинка) либо должны быть предварительно помещены на какой-либо но- ситель перфокарты, перфоленты, магнитные карты, магнитные ленты, магнитные и оптические диски и т.д. В системах САПР осуществляется ввод графической ин- формации. Устройство вывода служит для вывода из ЭВМ результатов обработки ис- ходной информации. Чаще всего это символьная информация, которая выводится с помощью печатающих устройств (ПчУ) или на экран дисплея. В ряде случаев это графическая информация в виде чертежей и рисунков, которые могут быть выведе- ны с помощью графических дисплеев, графопостроителей, принтеров, и т.д. Теперь необходимо определить понятия алгоритм и программа. Понятие ал- горитма не замыкается только областью вычислительной техники (ВТ). По интуитив- ному определению:

Алгоритм это совокупность правил, строго следуя которым можно перейти от исходных данных к конечному результату. В ВТ под "совокупностью правил" понимается последовательность арифмети- ческих и логических операций. (Утверждают, что слово алгоритм произошло от имени Мухаммед аль Хорезми, написавшем в IX веке трактат по арифметике деся- тичных чисел.)

10

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

1.4. Понятие о системе программного (математического) обеспечения ЭВМ Каждая ЭВМ обладает определенными свойствами, такими как возможность обрабатывать информацию в той или иной форме, возможность выполнять арифме- тические и логические операции, операции, связанные с организацией совместной работы устройств машины и т.д. Для придания определенных свойств ЭВМ используют средства двух видов аппаратные и программные (hard & soft). Последние называются также средствами программного обеспечения. Часть свойств ЭВМ приобретает благодаря наличию в ней электронного и элек- тромеханического оборудования, специально предназначенного для реализации этих свойств. Примером такого устройства является АЛУ. Ряд других свойств реализуется без специальных электронных блоков с помо- щью программных средств. При этом используются имеющиеся аппаратные средст- ва ЭВМ, выполняющие действия, предписанные специальными программами. Так, например, ЭВМ может не иметь аппаратно реализованной операции из- влечения корня. Но если есть программа извлечения корня, то существующие аппа- ратные средства могут выполнить эту операцию. Причем, с точки зрения пользова- теля, ЭВМ приобретет свойство вычисления корня. Следует иметь в виду, что с помощью аппаратных средств соответствующие функции ЭВМ выполняются значительно быстрее, чем программным путем, но при этом ЭВМ становится сложнее и дороже. Всвязи с этим в ЭВМ с достаточно просты- ми процессорами стремятся как можно больше функций реализовать программным путем, а в мощных ЭВМ для повышения быстродействия по максимуму использо- вать аппаратные средства.

11

Вообще же стремятся как можно оптимальнее соотнести аппаратные и про- граммные средства, чтобы при умеренных аппаратных затратах и стоимости достиг- нуть высокой эффективности и быстродействия. Таким образом, аппаратные и программные средства являются тесно связан- ными компонентами современной ЭВМ. Поскольку с точки зрения пользователя, как правило, неважно аппаратно или программно выполнены те или иные функции, можно говорить о виртуальной (кажущейся) ЭВМ. Система программного (математического) обеспечения это комплекс про- граммных средств, в котором можно выделить операционную систему, комплект про- грамм технического обслуживания и пакеты прикладных программ. На рис. 1.2 изо- бражена упрощенная структура вычислительной системы как совокупности аппарат- ных и программных средств. Операционная система (ОС) – это центральная и важнейшая часть програм- много обеспечения ЭВМ, предназначенная для эффективного управления вычисли- тельным процессом, планирования работы и распределения ресурсов ЭВМ, автома- тизации процесса подготовки программ и организации их выполнения при различных режимах работы машины, облегчения общения оператора и пользователя с маши- ной.

Оператор

Пользователь

Проблемно- Машинно- Язык ОС ориентированный независи- мые языки
Проблемно-
Машинно-
Язык ОС
ориентированный
независи-
мые языки
Процедурно-
ориентированный
Пакет
Макроязык
Машинно-
программно-
зависимые
Ассемблер
технического
языки
обслуживания
Машинный язык
ППП
Операционная система
Управляющие программы
Обрабатывающие программы
BIOS
Аппаратные средства ЭВМ
Программное обеспечение

ППП пакет прикладных программ

Рис. 1.2. Вычислительная система как совокупность программных и аппаратных средств ЭВМ

12

ОС состоит из программ, относящихся к двум большим группам. Управляющие программы осуществляют управление работой устройств ЭВМ, т.е. координируют работу устройств в процессе ввода, подготовки и выполнения дру- гих программ. Обрабатывающие программы осуществляют работу по подготовке новых про- грамм для ЭВМ и исходных данных для них, например, сборку отдельно трансли- руемых модулей в одну или несколько исполняемых программ, работы с библиоте- ками программ, перезаписи массивов информации между ВП и ОП и т.д. ОС в большинстве случаев являются универсальными и не учитывают особен- ности конкретных аппаратных средств. В современных ЭВМ для адаптации универ- сальной ОС к конкретным аппаратным средствам используют аппаратно- ориентированную часть операционной системы, которая в персональных компьюте- рах называется BIOS (Basic Input / Output System – базовая система ввода/вывода). Следует иметь в виду, что оператор и пользователь не имеют прямого доступа к аппаратным средствам ЭВМ. (В частном случае, например при работе с персо- нальным компьютером, оператор и пользователь являются одним и тем же лицом.) Все связи осуществляются только через ОС, обеспечивающую определенный уро- вень общения человека и машины. А уровень общения определяется в первую оче- редь уровнем языка, на котором оно происходит. На схеме представлена прибли- женная иерархия таких языков. Проблемно-ориентированный это язык, строго ориентированный на какую- либо проблему (моделирование сложных технических и экономических систем, САПР самых различных направлений, задачи анимации и т.д.). Процедурно-ориентированный это язык, ориентированный на выполнение общих процедур переработки данных (Фортран, Паскаль, Бейсик и т.д.). Машинный язык это самый нижний уровень языка. Команды записываются в виде двоичных кодов. Адреса ячеек памяти абсолютные. Программирование очень трудоемко. Ассемблер это язык более высокого уровня, использующий мнемокоды (т.е. команды обозначаются буквенными сочетаниями). Запись программы ведется с ис- пользованием символических адресов, т.е. вместо численных значений адреса ис- пользуются имена, за исключением первого оператора программы, который жестко привязан к физическому адресу. (Вообще, более правильно говорить язык ассемб- лера, поскольку Ассемблер служебная программа, преобразующая символические имена команд и символические адреса в команды в машинном коде и числовые ад- реса.) Макроязык в первом приближении его можно определить как язык процедур, написанных на языке ассемблера, т.е. когда вместо целого комплекса команд (кото- рые часто встречаются) используется только имя (название) этого комплекса. Язык ОС это язык, на котором оператор может выдавать директивы ОС, вме- шиваться в ход вычислительного процесса. Пакет программно-технического обслуживания предназначен для уменьше- ния трудоемкости эксплуатации ЭВМ. Эти программы проводят тестирование рабо- тоспособности ЭВМ и ее отдельных устройств, определяют места неисправностей. Пакеты прикладных программ представляют собой комплексы программ для решения определенных, достаточно широких классов задач (научно-технических, планово-экономических), а также для расширения функций ОС (управление базами данных, реализация режимов телеобработки данных, реального времени и др.). Все это, как уже отмечалось, в совокупности с аппаратными средствами со- ставляет вычислительную систему. Причем при создании новых ЭВМ разработка аппаратного и программного обеспечения производится одновременно. В настоящее

13

время программное обеспечение такой же вид промышленной продукции, как и сама ЭВМ, причем его стоимость зачастую дороже аппаратной части. Сложность современных вычислительных систем (ВС) привела к возникнове- нию понятия архитектуры ВС. Это понятие охватывает комплекс общих вопросов построения ВС, существенных в первую очередь для пользователя, интересующего- ся главным образом возможностями ЭВМ, а не деталями ее технического исполне- ния. К числу таких вопросов относятся вопросы общей структуры, организации вы- числительного процесса и общения пользователя с машиной, вопросы логической организации представления, хранения и преобразования информации и вопросы ло- гической организации совместной работы различных устройств, а также аппаратных и программных средств машины.

1.5. Поколения ЭВМ Выше рассматривались три понятия: аппаратные средства, программное обес- печение и архитектура ЭВМ. Рассмотрим коротко этапы развития ЭВМ за последние 50 лет с точки зрения этих понятий, составляющих основу классификации ЭВМ по поколениям. Ранее отмечалось, что ближайшими прототипами современной ЭВМ можно считать машины "ЭДВАК" и "ЭДСАК", построенные в Англии и США в 1949-1950 го- дах. С начала 50-х годов началось массовое производство ЭВМ различных типов, которые сейчас принято относить к ЭВМ первого поколения. Следует иметь в виду, что поколения ЭВМ не имеют четких временных границ. Элементы каждого нового поколения ЭВМ разрабатывались и опробовались на ЭВМ предыдущего поколения.

Первое поколение (1950-1960 гг.) ЭВМ этого поколения строилось на дискретных элементах и вакуумных лампах, имели большие габариты, массу, мощность, обладая при этом малой надежностью. Основная технология сборки навесной монтаж. Они использовались в основном для решения научно-технических задач атомной промышленности, реактивной авиации и ракетостроения. Увеличению количества решаемых задач препятствовали низкая надежность и производительность, а также чрезвычайно трудоемкий процесс подготовки, ввода и отладки программы, написанной на языке машинных команд, т.е. в форме двоичных кодов. Машины этого поколения имели быстродействие порядка 10-20 тысяч опера- ций в секунду и ОП порядка 1К (1024 слова). В этот же период появились первые простые языки для автоматизированного программирования.

Второе поколение (1960-1965 гг.) В качестве элементной базы использовались дискретные полупроводниковые приборы и миниатюрные дискретные детали. Основная технология сборки одно- и двухсторонний печатный монтаж невысокой плотности. По сравнению с предыдущим поколением резко уменьшились габариты и энергозатраты, возросла надежность. Возросли также быстродействие (приблизительно 500 тысяч оп/с) и объем опера- тивной памяти (16-32К слов). Это сразу расширило круг пользователей, а следова- тельно, и решаемых задач. Появились языки высокого уровня (Фортран, Алгол, Ко- бол) и соответствующие им трансляторы. Были разработаны служебные программы для автоматизации профилактики и контроля работы ЭВМ, а также для лучшего рас- пределения ресурсов при решении пользовательских задач. (Задача экономии вре- мени процессора и ОП осталась, как и в первом поколении). Все эти вышеперечисленные служебные программы оформились в ОС, которая первоначально просто автоматизировала работу оператора: ввод текста программы, вызов нужного транслятора, вызов необходимых библиотечных программ, размеще- ние программ в основной памяти и т.д. Теперь вместе с программами и исходными

14

данными вводилась целая инструкция о последовательности обработки программы и требуемых ресурсах. Совершенствование аппаратного обеспечения, построенного на полупроводни- ковой базе, привело к тому, что появилась возможность строить в ЭВМ помимо цен- трального (основного) процессора еще ряд вспомогательных. Эти процессоры управляли всей периферией, в частности устройствами ввода/вывода, избавляли от вспомогательной работы центральный процессор. Одновременно совершенствова- лись и ОС. Это позволило на ЭВМ второго поколения реализовать режим пакетной обработки программ, а также режим разделенного времени. Последний был необхо- дим для параллельного решения нескольких задач управления производством и ор- ганизации многопользовательского режима через дисплейные станции. В машинах второго поколения широко использовались ОП на ферритовых кольцах (так назы- ваемые кубы памяти). Все это позволило поднять производительность ЭВМ и при- влечь к ней массу новых пользователей.

Третье поколение (1965-1970 гг.) В качестве элементной базы использовались интегральные схемы малой инте- грации с десятками активных элементов на кристалл, а также гибридные микросхе- мы из дискретных элементов. Основная технология сборки двухсторонний печат- ный монтаж высокой плотности. Это сократило габариты и мощность, повысило бы- стродействие, снизило стоимость универсальных (больших) ЭВМ. Но самое главное появилась возможность создания малогабаритных, надежных, дешевых машин миниЭВМ. МиниЭВМ первоначально предназначались для замены аппаратно- реализуемых контроллеров в контурах управления различных объектов и процессов (в том числе и ЭВМ),. Появление миниЭВМ сократило сроки разработки контролле- ров, поскольку вместо разработки сложных логических схем требовалось купить ми- ниЭВМ и запрограммировать ее надлежащим образом. Универсальное устройство обладало избыточностью, однако малая цена и универсальность периферии оказа- лись большим плюсом, обеспечившим высокую экономическую эффективность. Но вскоре потребители обнаружили, что после небольшой доработки на мини- ЭВМ можно решать и вычислительные задачи. Простота обслуживания новых ма- шин и их низкая стоимость позволили снабдить подобными вычислительными ма- шинами небольшие коллективы исследователей, разработчиков, учебные заведения и т.д. В начале 70-х гг. с термином миниЭВМ уже связывали два существенно раз- личных типа вычислительной техники:

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

Четвертое поколение (с 1970 г.) Успехи микроэлектроники позволили создать БИС и СБИС, содержащие десят- ки тысяч активных элементов. Одновременно уменьшались и габариты дискретных электронных компонентов. Основной технологией сборки стал многослойный печат- ный монтаж. Это позволило разработать более дешевые ЭВМ с большой ОП. Стои- мость одного байта памяти и одной машинной операции резко снизилась. Но затра- ты на программирование почти не сократились, поэтому на первый план вышла за- дача экономии человеческих, а не машинных ресурсов. Для этого разрабатывались новые ОС, позволяющие пользователю вести диа- лог с ЭВМ, что облегчало работу пользователя и ускоряло разработку программ. Это

15

потребовало, в свою очередь, совершенствовать организацию одновременного дос- тупа к ЭВМ целого ряда пользователей, работающих с терминалов. Совершенствование БИС и СБИС привело в начале 70-х гг. к появлению новых типов микросхем микропроцессоров (в 1968 г. фирма Intel по заказу Дейта- Дженерал разработала и изготовила первые БИС микропроцессоров, которые пред- полагалось использовать как составные части больших процессоров).

В те годы под микропроцессором понималась БИС, в которой полностью раз-

мещен процессор простой архитектуры, т.е. АЛУ и УУ. В результате были созданы дешевые микрокалькуляторы и микроконтроллеры управляющие устройства, по- строенные на одной или нескольких БИС, содержащие процессор, память и устрой- ства сопряжения с датчиками и исполнительными механизмами. С совершенствова-

нием технологии их производства и, следовательно, падением цен микроконтролле- ры начали внедряться даже в бытовые приборы и автомашины.

В 70-е же годы появились первые микроЭВМ универсальные вычислительные

системы, состоящие из процессора, памяти, схем сопряжения с устройствами вво- да/вывода и тактового генератора, размещенные в одной БИС (однокристальная микроЭВМ) или в нескольких БИС, установленных на одной печатной плате (одно- платные микроЭВМ). Совершенствование технологии позволило изготовить СБИС, содержащие сот- ни тысяч активных элементов, и сделать их достаточно дешевыми. Это привело к созданию небольшого настольного прибора, в котором размещалась микроЭВМ, клавиатура, монитор, магнитный накопитель (кассетный или дисковый), а также схе- мы сопряжения с малогабаритным печатающим устройством, измерительной аппа- ратурой, другими ЭВМ и т.д. Этот прибор получил название персональный компью- тер.

В 1976 г. была зарегистрирована компания Apple Comp (Стив Джекоб и Стефан

Возняк), которая и начала серийный выпуск первых в мире персональных компьюте- ров "Макинтош". Благодаря ОС, обеспечивающей простоту общения с этой ЭВМ больших биб- лиотек прикладных программ, а также низкой стоимости персональный компьютер начал стремительно внедряться в различные сферы человеческой деятельности во всем мире. Об областях и целях его использования можно прочитать в многочис- ленных литературных источниках. По данным на 1985 год, общий объем мирового производства уже составил 20010 6 микропроцессоров и 1010 6 персональных ком- пьютеров в год. Что касается больших ЭВМ этого поколения, то происходит дальнейшее упро- щение контакта человек-машина. Использование в больших ЭВМ микропроцессоров и СБИС позволило резко увеличить объем памяти и реализовать некоторые функ- ции программ ОС аппаратными методами, например аппаратные реализации транс- ляторов с языков высокого уровня и т.п. Это сильно увеличило производительность ЭВМ, хотя несколько возросла и цена. Характерным для крупных ЭВМ 4-го поколения является наличие нескольких процессоров, ориентированных на выполнение определенных операций, процедур или решение определенных классов задач. В рамках этого поколения создаются многопроцессорные вычислительные системы с быстродействием в несколько де- сятков или сотен миллионов операций/с и многопроцессорные управляющие ком- плексы повышенной надежности с автоматическим изменением структуры. Примером вычислительной системы 4-го поколения является многопроцессор- ный комплекс "Эльбрус-2" с суммарным быстродействием 10010 6 оп/с или вычисли- тельная система ПС-2000, содержащая до 64 процессоров, управляемых общим по- током команд. При распараллеливании вычислительного процесса суммарная ско- рость достигает 20010 6 оп/с. Подобные суперЭВМ развивают максимальную произ-

16

водительность только при решении определенных типов задач (под которые они и строились). Это, прежде всего, задачи сплошных сред, связанные с аэродинамиче- скими расчетами, прогнозами погоды, силовыми энергетическими полями и т.д. Про- изводство суперЭВМ во всем мире составляет в настоящее время десятки штук в год, и строятся они, как правило, "под заказ".

Пятое поколение Характерной особенностью пятого поколения ЭВМ является то, что основные концепции этого поколения были заранее формулированы в явном виде. Задача разработки принципиально новых компьютеров впервые поставлена в 1979 году японскими специалистами, объединившими свои усилия под эгидой научно- исследовательского центра по обработке информации – JIPDEC. В 1981 г. JIPDEC опубликовал предварительный отчет, содержащий детальный многостадийный план развертывания научно-исследовательских и опытно-конструкторских работ с целью создания к 1991 г. прототипа ЭВМ нового поколения. Указанная программа произвела довольно сильное впечатление сначала в Ве- ликобритании, а затем и в США. Под эгидой JIPDEC прошли ряд международных конференций, в частности – "Международная конференция по компьютерным систе- мам пятого поколения" (1981 г.), на которых полностью оформился "образ компью- тера пятого поколения". Были предложены концепции создания не только поколения ЭВМ в целом, но и вопросы архитектуры основных типов ЭВМ этого поколения, структуры программных средств и языков программирования, разработки наиболее перспективной элементной базы и способов хранения информации. Следует отметить, однако, что оптимистические прогнозы японских специали- стов не сбылись. До сих пор не создан компьютер, в полной мере удовлетворяющий требованиям, предъявляемым к компьютерам пятого поколения. Прежде чем перейти к изучению дальнейшего материала, следует сделать не- которые замечания. Дело в том, что, несмотря на общие принципы функционирова- ния всех ЭВМ, их конкретные реализации существенно различаются. Особенно это касается суперЭВМ, решающих весьма специфические задачи. Да и обычные се- рийные большие ЭВМ общего назначения работают, как правило, в составе вычис- лительных центров, и доступ к ним возможен только через терминалы. Кроме того, их архитектура, аппаратное и программное обеспечение достаточно сложны для первоначального изучения, поэтому в дальнейшем основное внимание будет уделе- но небольшим ЭВМ, построенным на базе микропроцессоров, в том числе персо- нальным компьютерам. Это имеет смысл еще и потому, что ЭВМ, построенные на базе микропроцессорных комплектов, представляют наибольший интерес для со- временного инженера, поскольку непосредственно участвуют в работе систем авто- матизации производственных процессов, обрабатывают данные научных экспери- ментов, принимают и обрабатывают потоки информации в каналах связи, решают небольшие расчетные инженерные задачи и т.д. В ряде случаев для решения кон- кретных задач пользователь сам на базе микропроцессорных комплектов создает специализированные контроллеры и ЭВМ. Рассмотрим очень коротко основное отличие структур больших ЭВМ общего назначения и малых ЭВМ (миниЭВМ), появившихся в начале 70-х годов.

1.6. Большие ЭВМ общего назначения На первых этапах внедрения ЭВМ в деятельность человека решаемые задачи, в основном, можно было разделить на два больших класса:

- научные и технические расчеты для них типичным является возможность работы со словами фиксированной длины, относительно небольшие объемы входной информации (исходных данных