Г.Г. Матушкин
АРХИТЕКТУРА КОМПЬЮТЕРА
Учебное пособие для студентов 2 курса направлений:
551500 – «ПРИБОРОСТРОЕНИЕ»;
553400 – «БИОМЕДИЦИНСКАЯ ИНЖЕНЕРИЯ»;
654700 – «ИНФОРМАЦИОННЫЕ СИСТЕМЫ».
НГТУ
Г.
СОДЕРЖАНИЕ
Стр.
I. Краткая история развития компьютерной техники………..................... 3
II. Обобщенная структурная схема компьютера………………………….. 9
III.Оценка производительности компьютеров…………………………….12
IV.Классификация и краткий обзор современных компьютеров...............17
V. Формы представления информации в компьютерах…………………..31
VI.Основы компьютерной арифметики……………………………………54
VII.Элементная база компьютеров………………………………………... 68
VIII.Организация ОЗУ современных компьютеров………………………86
IX. Структура и функционирование CPU………………………………...102
X. Основные понятия функциональной организации компьютеров…..118
XI. Система прерываний компьютера……………………………………136
XII. Системный модуль ROM BIOS………………………………………148
XIII.Принципы организации системы ввода/вывода в компьютерах…..157
XIV.Конструктив АТХ PC и архитектура системной платы…………...163
XV.Типовые устройства ввода и вывода информации в компьютер…...181
Литература………………………………………………………..193
I. КРАТКАЯ ИСТОРИЯ РАЗВИТИЯ КОМПЬЮТЕРНОЙ ТЕХНИКИ.
В 1834 г. профессор математики Кембриджского университета, англичанин Чарльз Бэббидж (1792 – 1871 г.), убежденный в том, что безошибочные астрономические таблицы могут создать только машины, высказал основные идеи автоматических вычислений на основе программного управления. Он разработал проект такой машины механического типа, с двигателем на паровой машине, причем с точки зрения сегодняшних знаний разработал совершенно правильно, так, что даже сегодня большинство современных компьютеров по структуре сходны с его проектом. Однако реализовать свой проект ему так и не удалось: ему требовались тысячи и тысячи механических шестеренок, выполненных с такой точностью, которая была недостижима в XIX веке. Это и не удивительно, ибо для реализации любой, даже самой гениальной идеи, тем более в массовом масштабе, должны выполняться, по крайней мере, 3 условия:
Идея и основные принципы ее реализации не должны противоречить уже открытым законам природы.
Ко времени ее реализации должна быть достаточно развита техническая база для реализации идеи в массовом масштабе.
3. В практической реализации этой идеи должна быть заинтересована значительная часть общества (должен «созреть» социальный заказ).
Эти условия для создания систем полной автоматизации вычислительных процессов появились только к середине XX века.
- Во-первых, к этому времени были детально проработаны большим количеством ученых основные принципы и математические основы автоматизации вычислительных процессов:
а) в 1937 г. английский ученый Тьюринг дал алгоритм универсальной схемы автоматических вычислений;
б) в 1938 г. американский ученый Клод Шеннон использовал булеву алгебру (разработанную англичанином Джорджем Булем еще в середине XIX века) для анализа и синтеза электрических цепей с контактными переключателями – реле, которые являются техническими аналогами двоичных элементов. А эти, разработанные им методы анализа и синтеза легли в основу проектирования любых систем цифровой схемотехники, в том числе и проектирования компьютерных систем;
в) в 1945 г. американский математик Дж. фон Нейман сформулировал принцип хранения программ в общей памяти компьютера.
- Во-вторых, к середине XX века была уже хорошо развита электротехническая, и бурно начала развиваться электронная промышленность, которые, которые стали основой создания элементной базы компьютерной техники. Разработаны электронные радиолампы, послужившие базой электронных логических схем, на них был создан первый электронный двоичный запоминающий элемент – триггер а за ним и первое запоминающее устройство и т.д.
- В-третьих, к середине XX века объем вычислительных операций, который требовался человеку в его научной и практической деятельности стал настолько огромен, что человечество просто захлебывалось в них. Дальнейшее развитие науки и техники начало тормозиться, поскольку стало невозможным решать даже те практические задачи, которые было совершенно ясно, как их надо решать. (Так, например, разработав систему уравнений для прогноза погоды, метеорологи не могли их использовать так, как для точного прогноза погоды на сутки вперед, вычисления занимали несколько суток!).
Таким образом, жизнь настоятельно требовала создания устройств для осуществления математических операций, которые могли бы их проводить в больших объемах, автоматически, с высокой точностью и огромной скоростью. Особенно форсировала создание таких устройств II мировая война.
И вот, начиная с середины XX века, компьютерная техника стала бурно развиваться и развиваться такими темпами, которых не знала история. В середине 90-х годов XX века, специалисты по компьютерам Х.Тунг и А.Гупта писали: «Если бы за последние 20 лет авиационная промышленность развивалась столь же стремительными темпами, как вычислительная техника, то Боинг 767 можно было бы приобрести сегодня за $500 и облететь на нем земной шар за 20 минут, израсходовав при этом 19 литров горючего». А ведь за прошедшие после этого высказывания 15 лет темп развития компьютеров не только не снизился, а наоборот во много раз увеличился!
Основные этапы развития.
Считается, что первую практически действующую программируемую вычислительную машину (тогда еще не был в употреблении термин – компьютер) – «Z-3», на 2500 телефонных реле, построил в 1941 г. немецкий инженер Конрад Цюзе. Весила она около тонны, имела оперативную память – 64 байта и тактовую частоту - 10 Гц. Операция сложения выполнялась в ней за 0,7 с, а операция умножения – за 3 с. И сама машина и ее чертежи погибли в огне второй мировой войне, но правда, потом, уже после войны, они были восстановлены для музейного экспонирования.
В 1944 г. Г.Айкен в США построил, также на электромагнитных реле, вычислительную машину «Марк-1» с программным управлением от перфоленты.
После II мировой войны и после того как фон Нейман сформулировал принцип хранения программ в общей памяти, начался, как его называют, период становления вычислительной техники, используя разработанные к этому времени элементы и узлы радиотехники.
Период становления компьютерной техники (1945 – 1955 г.)
1946 г. – создание компьютера ENIAC (Electronic Numeral Integrater and Computer) в США и EDSAC (Electronic Discrete Sequential Automatic Computer) в Англии.
1951 г. – UNIAC (UNIversal Automatic Computer) в США (массовое производство).
1951 г. – разработана и изготовлена в СССР - МЭСМ (Малая электронно-счетная машина).
1954 г. – разработана и изготовлена в СССР-БЭСМ (Большая электронно-счетная машина).
Элементная база зарождающейся компьютерной техники в этот период основывалась еще на уже используемых радиотехнических компонентах, но этот период характерен также тем, что в это время были сформулированы и апробированы требования к типовым элементам и узлам уже специально для компьютерной техники (разъемы, панели, стойки и т.п.). За этот период мировой парк компьютеров ограничивался несколькими десятками компьютеров.
Дальнейшее развитие компьютерной техники принято рассматривать по так называемым поколениям компьютеров.
Первое поколение компьютеров (1955 – 1960 г.)
Первое поколение компьютеров характеризуется следующими признаками:
- в качестве элементной базы использовались радиолампы и дискретные радиодетали, использовался навесной монтаж элементов на платах;
- в качестве оперативных запоминающих устройств использовались магнитные барабаны, электронно-лучевые трубки и ультразвуковые линии задержки;
- внешняя память реализовывалась на магнитных лентах;
- программирование осуществлялось на машинных языках с вводом через перфокарты и перфоленты (американские статистики подсчитали, что программист в то время, в среднем, на формирование, логическое согласование и отладку одной машинной команды, тратил 1 час времени);
- управление работой компьютера осуществлялось специальным оператором с пульта управления;
- быстродействие обычно не превышало тысяч и десятков тысяч операций в секунду;
- ориентированы были компьютеры первого поколения на решение научно-технических задач;
- наработка на отказ (показатель надежности работы компьютеров) в то время составляла всего несколько десятков часов.
Мировой парк компьютеров первого поколения составлял примерно 10 тысяч штук.
Второе поколение компьютеров (1960 -1965 г.)
Второе поколение компьютеров характеризуется следующими признаками:
- в качестве активных элементов вместо радиоламп стали использоваться транзисторы, а навесной монтаж заменяется использованием печатных плат;
- для оперативной памяти, в качестве запоминающих элементов используются магнитные сердечники с прямоугольной петлей гистерезиса;
- внешняя память реализовывается на магнитных лентах и жестких магнитных дисках;
- программирование осуществляется на языке Ассемблера, либо уже на языках высокого уровня (Алгол, Альфа, Фортран);
- используется пакетный режим исполнения программ;
- быстродействие компьютеров сотни тысяч и даже миллион операций в секунду;
- в компьютерах стали широко использоваться коды с обнаружением ошибок, встроенные схемы контроля;
- наработка на отказ составляла уже несколько сотен часов;
- компьютеры этого поколения ориентировались, в основном на решение не только научно-технических, но также и планово-финансовых задач.
Мировой парк компьютеров второго поколения составлял несколько десятков тысяч штук.
Третье поколение компьютеров (1965 – 1980 г.)
Характеристики компьютеров третьего поколения таковы:
- элементная база – интегральные схемы, сначала с малым, затем средним, а потом и с высоким уровнем интеграции (порядка тысяч транзисторов в одной интегральной схеме - БИС);
- в качестве элементов оперативной памяти использовались также магнитные сердечники с ППГ, но сверхминиатюрного типа (до 0,2 мм в диаметре);
- широкое использование системы прерываний и прямого доступа к памяти;
- использование мультипрограммного режима работы и интерактивного режима с разделением времени;
- появилось высокоэффективное устройство общения оператора с машиной – видеомонитор или дисплей;
- быстродействие компьютеров третьего поколения – несколько миллионов операций в секунду;
- в компьютерах третьего поколения стоимость программного обеспечения достигла, а иногда и превышала стоимость их аппаратной части.
Мировой парк компьютеров третьего поколения составлял более 100 тысяч штук.
Четвертое поколение компьютеров (1980 – 1990 г.)
К компьютерам четвертого поколения принято относить компьютеры, обладающие следующими характеристиками:
- элементная база – сверхбольшие интегральные схемы (СБИС - сотни тысяч и миллионы транзисторов, размещенных на одном кристалле микросхемы);
- использование электронной оперативной памяти, также реализованной на СБИС;
- в качестве внешней памяти в основном использовались магнитные диски;
- появление микропроцессоров, микроконтроллеров, микропроцессорных систем и персональных компьютеров;
- децентрализация управления компьютера, появление сопроцессоров автономно управляющих отдельными, достаточно сложными узлами компьютера (математический сопроцессор, специально предназначенный для операций с вещественными числами; процессор ввода/вывода, управляющий периферийными устройствами; видеопроцессор, управляющий работой видеосистемы компьютера; аудиопроцессор, управляющий системой кодирования и генерации звуковой информации; процессор-контроллер памяти и т.п.). В связи с этим, главный процессор компьютера, реализующий основную обработку информации и осуществляющий общее управление компьютерной системой, стали называть – центральным процессором (CPU - Central Processing Unit).
- появление многопроцессорных компьютеров с быстродействием в сотни миллионов и миллиарды операций в секунду;
- появление аппаратной реализации трансляторов с языков высокого уровня.
- при этом среднее время наработки на отказ, характеризующее надежность работы этих компьютеров достигает 12 лет!
Пятое поколение компьютеров (1990 -?)
Ещё в конце 80-х годов заговорили о разработках компьютеров пятого поколения, которые, по мнению специалистов, при более высокой надежности и производительности, а также меньшей стоимости, должны обладать следующими особенностями:
- возможность общения с компьютером с помощью естественного языка, письменных текстов и графических изображений. В настоящее время частично это уже реализовано. Частично – потому, что не всякую речь человека, и не всякий письменный текст им написанный, в настоящее время компьютер может распознать, но ведь часто и человек не может понять другого человека или разобрать письменный текст им написанный.
- способность компьютера обучаться, делать логические суждения, вести «разумную» беседу с человеком в форме вопросов и ответов. Опять таки можно сказать, что частично уже реализовано и это требование, как это видно из поведения современных роботов, хотя здесь человечество находится еще в начале пути.
- элементная база современных компьютеров должна состоять из СБИС с плотностью размещения до десятков миллионов транзисторов на одном кристалле микросхемы. Это требование давно уже перекрыто: в современных микросхемах на одном кристалле размещают уже более миллиарда транзисторов.
- Полная автоматизация проектирования самих компьютеров. Относительно этого требования можно сказать, что современные компьютеры невозможно разрабатывать без использования систем автоматического проектирования (САПР), основой которых, в свою очередь, являются одни из наиболее мощных компьютеров - суперкомпьютеры.
В последние годы о новых поколениях компьютеров обычно не говорят, а выделяют поколения микропроцессоров (процессоров в интегральном исполнении), которые являются важнейшими узлами компьютера, определяющими свойства компьютера в целом. Тем более что в большом числе разработанных компьютеров центральный процессор может состоять из многих микропроцессоров.
Стремительный прогресс компьютерной техники идет сейчас в основном по линии увеличения быстродействия за счет улучшения технологического процесса изготовления СБИС (в настоящее время уже используется технологический процесс с разрешением 32 нанометра и разрабатываются технологические процессы с разрешением 22 нанометра). А также усложнения архитектуры компьютера и создания многопроцессорных компьютерных систем с распараллеливанием алгоритмов. Кроме того, наблюдается стремительный прогресс в создании мощного программного обеспечения, особенно операционных систем, развитие которого классифицируется отдельно.