Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Архитектура ЭВМ

Покупка
Новинка
Артикул: 825529.01.99
Доступ онлайн
1 000 ₽
В корзину
Предлагаемое учебное пособие посвящено архитектуре ЭВМ, включая историю развития ЭВМ, архитектуру фон Неймана, двоичную систему исчисления и машинную арифметику, устройство печатных плат и интегральных микросхем, основы системотехники, устройство процессоров, введение в операционные системы и параллельные вычисления и пр. Данное пособие основывается на учебных курсах, которые авторы читали последние 10 лет для бакалавров математико-механического факультета Санкт-Петербургского государственног университета. Пособие предназначается для студентов различных учебных программ, в которых информатика и программная инженерия не являются основными темами, в частности, для студентов кафедры прикладной кибернетики СПбГУ. На практике оказывается, что выпускники самых разных специальностей идут сегодня работать программистами. Следовательно, если в рамках соответствующих учебных программ есть курсы по информатике, то должен быть и такой базовый курс по архитектуре ЭВМ. Данное пособие может быть использовано, правда, с некоторыми купюрами, также студентами бакалавриата и преподавателями учебных программ, непосредственно нацеленных на подготовку программистов.
Архитектура ЭВМ : учебное пособие / Д. В. Кознов, Д. В. Луцив, Р. Н. Мокаев, Н. О. Гаранина. - Москва : ИНТУИТ, 2016. - 123 с. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2138164 (дата обращения: 27.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
С.ИНТУ ИТ

    У НАЦИОНАЛЬНЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ


Архитектура ЭВМ
2-е издание, исправленное

Кознов Д.В.
Луцив Д.В.
Мокаев Р.Н.
Гаранина Н.О.



Национальный Открытый Университет “ИНТУИТ”
2016

2

Архитектура ЭВМ/ Д.В. Кознов, Д.В. Луцив, Р.Н. Мокаев, Н.О. Гаранина - М.: Национальный Открытый Университет “ИНТУИТ”, 2016
Предлагаемое учебное пособие посвящено архитектуре ЭВМ, включая историю развития ЭВМ, архитектуру фон Неймана, двоичную систему исчисления и машинную арифметику, устройство печатных плат и интегральных микросхем, основы системотехники, устройство процессоров, введение в операционные системы и параллельные вычисления и пр.
Данное пособие основывается на учебных курсах, которые авторы читали последние 10 лет для бакалавров математико-механического факультета Санкт-Петербургского государственного университета. Пособие предназначается для студентов различных учебных программ, в которых информатика и программная инженерия не являются основными темами, в частности, для студентов кафедры прикладной кибернетики СПбГУ. На практике оказывается, что выпускники самых разных специальностей идут сегодня работать программистами. Следовательно, если в рамках соответствующих учебных программ есть курсы по информатике, то должен быть и такой базовый курс по архитектуре ЭВМ. Данное пособие может быть использовано, правда, с некоторыми купюрами, также студентами бакалавриата и преподавателями учебных программ, непосредственно нацеленных на подготовку программистов.
(c) ООО “ИНТУИТ.РУ”, 2014-2016
(c) Кознов Д.В., Луцив Д.В., Мокаев Р.Н., Гаранина Н.О., 2014-2016

3

                История развития и поколения ЭВМ

                Введение




Курс “Архитектура ЭВМ” посвящен принципам организации вы-числительных систем и является одним из базовых при обучении программированию. Обычно в этом курсе рассматривается устройство современных ЭВМ, история развития вычислительной техники и современные тенденции, принципы организации современных процессоров, а также булева алгебра и логические схемы и пр. Данная тематика соответствует курсу CS220 из рекомендаций ACM/IEEE Curricula in Software Engineering. В настоящий момент существует много вариантов курса в виде книг, учебных пособий и электронных курсов. Широко известна книга Таненбаум Э., Остин Т. “Архитектура компьютера”. На известном учебном электронном ресурсе Coursera пользуется популярностью курс “Computer Architecture” Дэвида Ветцлава (David Wentzlaff) из университета Принстон (США). Подобные курсы имеются и на других образовательных online-платформах: например, на платформе Stepic можно найти курс Кирилла Кринкина из ЛЭТИ “Введение в архитектуру ЭВМ. Элементы операционных систем”. В целом только в России за последние 30 лет опубликовано более полусотни учебных и методических пособий по архитектуре ЭВМ. Отметим среди них курс Хорошевского В.Г. “Архитектура вычислительных систем” и Воеводина В.В. “Архитектура ЭВМ и численные методы”. Курсы по архи-тектуре ЭВМ продолжают появляться и в настоящее время - см., например, Но-вожилов О.П. “Архитектура ЭВМ и систем” 2019, ВШЭ; Степина В.В. “Архитектура ЭВМ и вычислительные системы”, М, 2017.

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

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


4

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

Дмитрий Кознов

Арифмометры докомпьютерной эпохи. Первые ЭВМ - ABC, Z3, Co-lossus, Mark I; четыре поколения ЭВМ; обзор отечественных ЭВМ.

Вычислительные устройства докомпьютерной эпохи

Счётные устройства, способные автоматически выполнять сложные математические вычисления, конструировались математиками и инженерами на протяжении многих столетий. Первые механические вычислители, выполнявшие арифметические действия, были созданы в середине XVII веке математиками Блезом Паскалем и Готфридом Лейбницем. В середине XIX века Чарльз Бэббидж в Кембриджском университете создал разностную машину, которая позволяла выполнять фиксированный набор вычислительных алгоритмов. Им же была начата, но не завершена, постройка первой аналитической машины, на которой предполагалось программировать при помощи перфокарт.

Известный Санкт-петербургский математик Пафнутий Чебышёв в XIX в. также конструировал ряд механических вычислительных устройств, которые позволяли складывать и умножать числа. К концу XIX века подобные устройства стали массово выпускаться и назывались арифмометрами. Одним из самых удачных приборов такого рода оказался арифмометр российского механика Вильгодта Однера, позже выпускавшийся в СССР под маркой “Феликс”.

Ранние ЭВМ


5

В 30-х - первой половине 40-х годов XX века в ряде стран начали активно разрабатывать-ся программируемые электронно-механические вычислительные устройства. В 1939 году американ-скими учёными Джоном Атанасовым и Клиффордом Берри было спроектирована первая ЭВМ ABC (Atanasoff-Berry Computer) - цифровое устройство, которое не имело механических движущихся составных частей. Пальму первенства этой ЭВМ присудил Федеральный районный суд США в 1973 году. В ABC впервые появилась двоичная арифметика и элемент электронных схем под названием триггеры. ABC предназначалась для решения систем линейных уравнений и не была программируемой, поскольку не позволяла хранить программу в памяти и, таким образом, требовала для своей работы активного участия человека.

В 1941 году немецкий инженер Конрад Цузе создал ЭВМ под названием Z3. Она, также как и ABC, работала с двоичными данными и использовала двоичные электронные схемы на основе телефонных электро-механических реле. Но, в отличие от ABC, данная ЭВМ была уже программируемой, то есть могла выполнять составленные заранее программы, а не требовала ввода каждой отдельной команды человеком. Для хранения программ Z3 использовала перфорированную ленту, то есть внешний носитель. Однако условные переходы и циклы в машинном языке Z3 отсутствовали - там, где они требовались в программе, было необходимо вмешательство оператора. Данная ЭВМ использовалась для расчётов в области самолётостроения и управления ракетами. Единственный экземпляр Z3 был уничтожен при бомбёжке Берлина в 1945 году.

В 1943 году в Великобритании была создана ЭВМ под названием Colossus. Основным элементом для реализации двоичных электронных схем впервые использовались электронные лампы. В 1944 году была выпущена усовершенствованная версия ЭВМ, названная Colossus Mark II. Эта ЭВМ предназначалась для расшифровки перехваченных немецких зашифрованных радиосообщений, получаемых из радиоэфира - с помощью этих радиограмм немецкое командование управляло и координировало действия различных войско-вых соединений. Colossus позволила сократить время расшифровки сообщений с недель до часов. После второй мировой войны почти все экземпляры данной ЭВМ, а также её черте-жи, были уничтожены, а секретность с проекта была снята лишь в 2000 году. Примерно в это же время Colossus был восстановлен и оказалось, что скорость его работы совпадает со скоростью работы компьютера с процессором Pentium 2 - но, разумеется, лишь при решении задач дешифровки данных.

В 1944 году, по заказу военно-морского флота США, компания IBM созда-ла ЭВМ под названием Mark I для использования в военных расчётах. Кроме того, Mark I применялась в Манхэттенском проекте по созданию в США атомной бомбы. Первая версия компьютера была установлена в Гарвардском университете. Разработкой руководил капитан второго ранга Говард Эйкен. При изготовлении Mark I были использованы двоичные электронные схемы на основе электромеханического реле, ЭВМ весила 4,5 тоны и имела корпус из нержавеющей стали. Данная ЭВМ была программируемой, считывая программу с бумаж-ной перфорированной ленты, но не поддерживала циклов и условных предложений. Циклы реализовывались с помощью замыкания начала и конца перфорированной ленты с командами программы. Mark I впервые реализовала концепцию раздельного хранения программы и данных, и эта


6

идея впоследствии получила название гарвардской архитектуры. Также следует отметить, что ЭВМ Mark I была первой полностью программируемой ЭВМ, которая работала без участия человека.

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

Поколения ЭВМ

Историю ЭВМ принято разбивать на так называемые поколения, которые сменялись по мере появления новых технологий производства ЭВМ.

К первому поколению относят ЭВМ, созданные во второй половине 40-х годах XX века. Эти ЭВМ основывались на электромеханических реле, ламповых диодах и триодах. Данные устройства использовались для создания логических элементов и схем управления первых компьютеров, позволяя выполнять вычислительные процессы. Примерами таких компьютеров являются ENIAC (США), EDVAC (США), Z4 (ФРГ, наследник Z3), МЭСМ (СССР), “Урал” (СССР), “Стрела” (СССР). Однако общепринятые принципы конструирования ЭВМ ещё не были выработаны. Некоторые из перечисленных ЭВМ использовали десятичную арифметику (например, ENIAC), некоторые - двоичную, но с необычным размером машинного слова (43 бита, “Стрела”), и т.д. Эти ЭВМ были весьма ненадёжными и часто не могли бесперебойно от-работать в течение одних суток. Большие физические размеры, значительное количество деталей, высокое энергопотребление, сложность обслуживания (прежде всего, громоздкие и дорогостоящие системы охлаждения) - все это было причиной того, что ЭВМ в это время были доступны только крупным научно-исследовательским институтам, военным и государственным учреждениям. Но быстродействие ЭВМ измерялось тысячами операций в секунду, что для человека с арифмометром было уже недостижимо. Становилось всё более очевидным, что дальнейший прогресс науки и техники уже однозначно связывался с использованием и развитием ЭВМ.

Примером ЭВМ первого поколения является ENIAC (Electronic Numerical Integrator and Computer). Данная ЭВМ была, фактически, первой, которую можно было использовать для решения широкого спектра задач. Она была выпущенная в 1945 году в США, имела массу около 30 тонн и потребляла мощность около 200 кВт (современная городская квартира потребляет, в среднем, менее 1 кВт). ENIAC применялась для артиллерийских и аэродинамических расчётов, а позже была использована при расчётах в области ядерной физики, в частности при разработке атомного оружия. Среди известных учёных той эпохи, оказавших влияние на развитие вычислительной техники, следует назвать физика и математика Джона фон Неймана.


7

Участвуя в расчётах в рамках Манхэттенского проекта и основываясь на выявленных недостатках ENIAC, он предложил ряд принципов для конструирования следующей, более совершенной ЭВМ под названием EDVAC. Позже совокупность этих принципов получила название архитектуры фон Неймана. Принципы архитектуры фон Неймана, пусть и в несколько изменённом виде, применяются при конструировании ЭВМ до сих пор.


Рис. 1.1. ЭВМ первого поколения ENIAC

Ко второму поколению относят ЭВМ 1950-х-60-х годов. В это время произо-шёл переход при построении электронных схем от электронных ламп и электромеханических реле к полупроводниковым элементам. Данный переход позволил значительно повысить вычислительную мощность ЭВМ, а также многократно уменьшить их размеры, снизить потребляемую электрическую мощность, а также цену и затраты на обслуживание. В итоге расширился спектр пользователей ЭВМ - их стали приобретать университеты и крупные промышленные предприятия (банки, заводы и т.д.), а также всё больше государственных учреждений. Среди известных ЭВМ второго поколения можно назвать IBM 7090, созданную в 1959 году и предназначенную для научных и инженерных расчётов. Следует также упомянуть DEC PDP-7, созданную в 1964 году; данная ЭВМ была универсальный и по тем временам недорогой. Наконец, следует назвать высокопроизводитель-ные компьютеры CDC-6600 (1964 год) и БЭСМ-6 (1968 год, СССР).


Рис. 1.2. ЭВМ второго поколения IBM 7090

8

К третьему поколению относятся ЭВМ 1960-х-70-х годов. В это время про-изошёл следующих эволюционный шаг - появились интегральные схемы, которые содержали до нескольких тысяч полупроводниковых элементов. Теперь все электронные схемы ЭВМ размещались на наборе интегральных схем. Таким образом принцип модульности сде-лал ещё один шаг вперёд, что положительно повлияло на технологии производства, позволив, в частности, реализовать взаимозаменяемость отдельных составляющих ЭВМ. В итоге удалось суще-ственно увеличить производительность и надёжность ЭВМ, а также уменьшить размеры и затраты на их эксплуатацию. Примерами ЭВМ этого поколения являются IBM/360, компьютеры семейства ЕС ЭВМ в СССР.


Рис. 1.3. ЭВМ третьего поколения IBM System/360

К четвёртому поколению относятся ЭВМ, выпускаемые с середины 1970-х годов вплоть до настоящего времени. Главным нововведением этих ЭВМ стало наличие микропроцессора (далее - просто процессора), который:


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


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

Первыми персональными компьютерами стали ЭВМ компаний Apple и IBM (последние получили название IBM PC). В настоящее время персональные компьютеры произво-дятся многими компаниями - Dell EMC, Lenovo, Huawei и др.


9

Рис. 1.4. ЭВМ четвёртого поколения IBM PC (слева) и Apple III (справа)

Закон Мура

В 1965 ГОДУ ИНЖЕНЕР ГОРДОН МУР (ПОЗДНЕЕ ОН ОСНОВАЛ КОМПАНИЮ INTEL) ВЫЯВИЛ И СФОРМУЛИРОВАЛ ЭМПИРИЧЕСКУЮ ЗАКОНОМЕРНОСТЬ, ПОЗЖЕ НАЗВАННУЮ ЗАКОНОМ МУРА.

Закон Мура утверждает, что количество полупроводнико-вых элементов в интегральных схемах каждые 24 месяца удваивается, то есть растёт экспоненци-ально.

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

Следствием закона Мура является утверждение о том, что производительность компьютеров каждые 24 месяца удваивается, то есть растёт экспонен-циально.

С момента своего появления и до настоящего времени закон Мура исправно выполняется. Однако в 1960-70-х годах и в настоящее время он реализуется разными путями. К настоящему вре-мени физические законы уже не позволяют наращивать производительность электронных схем за счет более “плотного” размещения транзисторов на одной кремниевой пластине. Так про-исходит потому, что размеры транзисторов становятся сопоставимы с размерами отдельных атомов, а скорость их взаимодействия приближается к скорости света. Делать транзисторы меньше атомов, а скорость их взаимодействия - быстрее скорости света не представляется возможным. Значительно увеличивать размер кремниевой пластины также не получается. Но такое увеличение и не является выходом, поскольку важно требование сохранения небольших размеров а также дальнейшей миниа-тюризации - как самих компьютеров, так и вычислительных устройств, встраиваемых в различные механические приборы.

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


10

Обзор отечественных ЭВМ


Говоря об отечественных ЭВМ первого поколения, укажем прежде всего на МЭСМ (Ма-лая Электронная Счетная Машина), которая была создана в 1951 году С.А. Лебедевым и была первой ЭВМ общего назначения в СССР и в континентальной Европе. Практически одновременно с МЭСМ была создана ЭВМ М-1, которая обладала схожими с МЭСМ характеристиками, но в ней наряду с лампами широко применялись полупроводниковые диоды. Позже была создана БЭСМ-1 (1955 год), которая поддерживала арифметику с плавающей запятой, а также БЭСМ-2 (1958 год), в которой широко применялись полупроводниковые диоды.


ЭВМ второго поколения БЭСМ-6 (1966 -1983 годы) поддерживала локальный параллелизм на базе конвейера, виртуальную память, многозадачность и защиту программ. Ламповые ЭВМ оборонного назначения “M-40” и “M-50” (конец 1950-х годов) были сконстру-ированы для управления комплекса противоракетной обороны (ПРО) СССР. Позже для использова-ния в системах ПРО были сконструированы полностью полупроводниковые ЭВМ Э92б (1961 год) и 5Э51 (1965 год). Сетунь (1959 год) и Сетунь-70 (1970 год) были основаны на троичной логике. Се-тунь является единственной в мире серийной троичной ЭВМ. Минск-222 (1966 год) была первой в мире распределённой вычислительной системой, она была создана на базе ЭВМ второго поколения “Минск-2”/”Минск-22” и обладала высокой гибкостью и настраиваемостью.


Рис. 1.5. Советские ЭВМ: МЭСМ (первое поколение, слева) БЭСМ-6 (второе поколение, справа)

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

В академии наук СССР в 1970 - 1990-х годах разрабатывалось семейство высокопроизво-дительных компьютеров “Эльбрус” (руководители проекта - В.С. Бурцев и Б.А. Бабаян). ЭВМ семейства “Эльбрус” предназначались для обработки больших объемов данных. Эти ЭВМ, конечно же, не были предназначены для небольших организаций или частных лиц: техника такого класса была доступна лишь крупным научным и оборонным центрам. Обладая высокой про-изводительностью, они использовались в ядерных исследовательских центрах, а также с конца 1980-х


11

Доступ онлайн
1 000 ₽
В корзину