Опубликован: 08.11.2022 | Доступ: свободный | Студентов: 80 / 0 | Длительность: 06:05:00
Лекция 1:

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

Лекция 1: 12 || Лекция 2 >

Введение

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

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

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

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

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

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

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

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

Ранние ЭВМ

В 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 впервые реализовала концепцию раздельного хранения программы и данных, и эта идея впоследствии получила название гарвардской архитектуры. Также следует отметить, что ЭВМ Mark I была первой полностью программируемой ЭВМ, которая работала без участия человека.

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

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

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

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

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

ЭВМ первого поколения ENIAC

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

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

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

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

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

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

Рис. 1.3. ЭВМ третьего поколения IBM System/360
Лекция 1: 12 || Лекция 2 >
Наталья Ра
Наталья Ра

Здравствуйте! Когда появится возможность сдать экзамен на сертификат?