История ЭВМ

  • -

История ЭВМ

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

 

Блез Паскаль

Точкой отсчета можно считать начало XVII века (1623 год), когда ученый В. Шикард создал машину, умеющую складывать и вычитать числа. Но первым арифмометром, способным выполнять четыре основных арифметических действия, стал арифмометр знаменитого французского ученого и философа Блеза Паскаля . Основным элементом в нем было зубчатое колесо, изобретение которого уже само по себе стало ключевым событием в истории вычислительной техники. Хотелось бы отметить, что эволюция в области вычислительной техники носит неравномерный, скачкообразный характер: периоды накопления сил сменяются прорывами в разработках, после чего наступает период стабилизации, во время которого достигнутые результаты используются практически и одновременно накапливаются знания и силы для очередного рывка вперед. После каждого витка процесс эволюции выходит на новую, более высокую ступень.

 

Густав Лейбниц

В 1671 году немецкий философ и математик Густав Лейбниц также создает арифмометр на основе зубчатого колеса особенной конструкции — зубчатою колеса Лейбница. Арифмометр Лейбница, как и арифмометры его предшественников, выполнял четыре основных арифметических действия. На этом данный период закончился, и человечество в течение почти полутора веков копило силы и знания для следующего витка эволюции вычислительной техники. XVIII и XIX века были временем, когда бурно развивались различные науки, в том числе математика и астрономия. В них часто возникали задачи, требующие длительных и трудоемких вычислений.

 

Чарльз Бэббидж

Еще одним известным человеком в истории вычислительной техники стал английский математик Чарльз Бэббидж . В 1823 году Бэббидж начал работать над машиной для вычисления полиномов, но, что более интересно, эта машина должна была, кроме непосредственного производства вычислений, выдавать результаты — печатать их на негативной пластине для фотопечати. Планировалось, что машина будет приводиться в действие паровым двигателем. Из-за технических трудностей Бэббиджу до конца не удалось реализовать свой проект. Здесь впервые возникла идея использовать некоторое внешнее (периферийное) устройство для выдачи результатов вычислений. Отметим, что другой ученый, Шойц, в 1853 году все же реализовал машину, задуманную Бэббиджем (она получилась даже меньше, чем планировалась). Наверное, Бэббиджу больше нравился творческий процесс поиска новых идей, чем воплощение их в нечто материальное. В 1834 году он изложил принципы работы очередной машины, которая была названа им «Аналитической». Технические трудности вновь не позволили ему до конца реализовать свои идеи. Бэббидж смог довести машину лишь до стадии эксперимента. Но именно идея является двигателем научно-технического прогресса. Очередная машина Чарльза Бэббиджа была воплощением следующих идей:

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

В разработке этой машины принимала участие графиня Ада Августа Лавлейс, которую считают первой в мире программистом.

Идеи Чарльза Бэббиджа развивались и использовались другими учеными. Так, в 1890 году, на рубеже XX века, американец Герман Холлерит разработал машину, работающую с таблицами данных (первый Excel?). Машина управлялась программой на перфокартах. Она использовалась при проведении переписи населения в США в 1890 году. В 1896 году Холлерит основал фирму, явившуюся предшественницей корпорации IBM. Со смертью Бэббиджа в эволюции вычислительной техники наступил очередной перерыв вплоть до 30-х годов XX века. В дальнейшем все развитие человечества стало немыслимым без компьютеров.

В 1938 году центр разработок ненадолго смещается из Америки в Германию, где Конрад Цузе создает машину, которая оперирует, в отличие от своих предшественниц, не десятичными числами, а двоичными. Эта машина также была все еще механической, но ее несомненным достоинством было то, что в ней была реализована идея обработки данных в двоичном коде. Продолжая свои работы, Цузе в 1941 году создал электромеханическую машину, арифметическое устройство которой было выполнено на базе реле. Машина умела выполнять операции с плавающей точкой.

За океаном, в Америке, в этот период также шли работы по созданию подобных электромеханических машин. В 1944 году Говард Эйкен спроектировал машину, которую назвали Mark-1 . Она, как и машина Цузе, работала на реле. Но из-за того, что эта машина явно была создана под влиянием работ Бэббиджа, она оперировала с данными в десятичной форме.

Естественно, из-за большого удельного веса механических частей эти машины были обречены. Нужно было искать новую, более технологичную элементную базу. И тогда вспомнили об изобретении Фореста, который в 1906 году создал трех электродную вакуумную лампу, названную триодом. В силу своих функциональных свойств она стала наиболее естественной заменой реле. В 1946 году в США, в университете города Пенсильвания, была создана первая универсальная ЭВМ — ENIAC . ЭВМ ENIAC содержала 18 тыс. ламп, весила 30 тонн, занимала площадь около 200 квадратных метров и потребляла огромную мощность. В ней все еще использовались десятичные операции, и программирование осуществлял ось путем коммутации разъемов и установки переключателей. Естественно, что такое «программирование» влекло за собой появление множества проблем, вызванных, прежде всего, неверной установкой переключателей. С проектом ENIAC связано имя еще одной ключевой фигуры в истории вычислительной техники — математика Джона фон Неймана. Именно он впервые предложил записывать программу и ее данные в память машины так, чтобы их можно было при необходимости модифицировать в процессе работы. Этот ключевой принцип, был использован в дальнейшем при создании принципиально новой ЭВМ EDVAC (1951 год). В этой машине уже при меняется двоичная арифметика и используется оперативная память, построенная на ультразвуковых ртутных линиях задержки. Память могла хранить 1024 слова. Каждое слово состояло из 44 двоичных разрядов.

 EDVACДжон фон Нейман на фоне компьютера EDVAC. После создания EDVAC человечество осознало, какие высоты науки и техники могут быть достигнуты тандемом человек-компьютер. Данная отрасль стала развиваться очень быстро и динамично, хотя здесь тоже наблюдалась некоторая периодичность, связанная с необходимостью накопления определенного багажа знаний для очередного прорыва. До середины 80-х годов процесс эволюции вычислительной техники принято делить на поколения. Для полноты изложения дадим этим поколениям краткие качественные характеристики:

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

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

Появились языки программирования высокого уровня — Algol, FORTRAN, COBOL, — создавшие предпосылки для появления переносимого программного обеспечения, не зависящего от типа ЭВМ. С появлением языков высокого уровня возникли компиляторы для них, библиотеки стандартных подпрограмм и другие хорошо знакомые нам сейчас вещи.

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

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

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

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

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

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

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

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

 

Intel 4004

 

Intel 4004. Итак, первый микропроцессор 4004 был создан фирмой Intel на рубеже 70-х годов. Он представлял собой 4-разрядное параллельное вычислительное устройство, и его возможности были сильно ограничены. 4004 мог производить четыре основные арифметические операции и применялся поначалу только в карманных калькуляторах. Позднее сфера его применения была расширена за счет использования в различных системах управления (например, для управления светофорами). Фирма Intel, правильно предугадав перспективность микропроцессоров, продолжила интенсивные разработки, и один из ее проектов в конечном итоге привел к крупному успеху, предопределившему будущий путь развития вычислительной техники.

 

Intel 8080

 

Intel 8080. Им стал проект по разработке 8-разрядного процессора 8080 (1974 г.). Этот микропроцессор имел довольно развитую систему команд и умел делить числа. Именно он был использован при создании персонального компьютера Альтаир, для которого молодой Билл Гейтс написал один из своих первых интерпретаторов языка BASIC. Наверное, именно с этого момента следует вести отсчет 5-го поколения.

Пятое поколение ЭВМ (1984 г. – наши дни) можно назвать микропроцессорным. Заметьте, что четвертое поколение закончилось только в начале 80-х, то есть родители в лице больших машин и их быстро взрослеющее и набирающее силы «чадо» В течение почти 10 лет относительно мирно существовали вместе. Для них обоих это время пошло только на пользу. Проектировщики больших компьютеров накопили огромный теоретический и практический опыт, а программисты микропроцессоров сумели найти свою, пусть поначалу очень узкую, нишу на рынке.

 

Intel 8086

 

Intel 8086. В 1976 году фирма Intel закончила разработку 16-разрядного процессора 8086. Он имел достаточно большую разрядность регистров (16 бит) и системной шины адреса (20 бит), за счет чего мог адресовать до 1 Мбайт оперативной памяти.

В 1982 году был создан 80286. Этот процессор представлял собой улучшенный вариант 8086. Он поддерживал уже несколько режимов работы: реальный, когда формирование адреса производилось по правилам i8086, и защищенный, который аппаратно реализовывал многозадачность и управление виртуальной памятью. 80286 имел также большую разрядность шины адреса — 24 разряда против 20 у 8086, и поэтому он мог адресовать до 16 Мбайт оперативной памяти. Первые компьютеры на базе этого процессора появились в 1984 году. По своим вычислительным возможностям этот компьютер стал сопоставим с IBM System/370. Поэтому можно считать, что на этом четвертое поколение развития ЭВМ завершилось.

 

Intel 80266

 

Intel 80286. В 1985 году фирма Intel представила первый 32-разрядный микропроцессор 80386, аппаратно совместимый снизу вверх со всеми предыдущими процессорами этой фирмы. Он был гораздо мощнее своих предшественников, имел 32-разрядную архитектуру и мог прямо адресовать до 4 Гбайт оперативной памяти. Процессор 386 стал поддерживать новый режим работы — режим виртуального 8086, который обеспечил не только большую эффективность работы программ, разработанных для 8086, но и позволил осуществлять параллельную работу нескольких таких программ. Еще одно важное нововведение — поддержка страничной организации оперативной памяти — позволило иметь виртуальное пространство памяти размером до 4 Тбайт.

 

Intel 80386

 

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

 

Intel 80486

 

Intel 80486. Вскоре после процессора 386 появился 486. В его архитектуре получили дальнейшее развитие идеи параллельной обработки. Устройство декодирования и исполнения команд было организовано в виде пятиступенчатого конвейера, на втором в различной стадии исполнения могло находиться до 5 команд. На кристалл была помещена кэш-память первого уровня, которая содержала часто используемые код и данные. Кроме этого, появилась кэш-память второго уровня емкостью до 512 Кбайт. Появилась возможность строить многопроцессорные конфигурации. В систему команд процессора были добавлены новые команды. Все эти нововведения, наряду со значительным (до 133 МГц) повышением тактовой частоты микропроцессора, значительно позволили повысить скорость выполнения про грамм.

С 1993 года стали выпускаться микропроцессоры Intel Pentium. Их появление, начале омрачилось ошибкой в блоке операций с плавающей точкой. Эта ошибка была быстро устранена, но недоверие к этим микропроцессорам еще некоторое время оставалось.

 

Intel Pentium

Intel Pentium

Pentium продолжил развитие идей параллельной обработки. В устройство декодирования и исполнения команд был добавлен второй конвейер. Теперь два конвейера (называемых u и v) вместе могли исполнять две инструкции за такт. Внутренний кэш был увеличен вдвое — до 8 Кбайт для кода и 8 Кбайт для данных. Процессор стал более интеллектуальным. В него была добавлена возможность предсказания ветвлений, в связи с чем значительно возросла эффективность исполнения нелинейных алгоритмов. Несмотря на то что архитектура системы оставалась все еще 32-разрядной, внутри микропроцессора стали использоваться 128- и 256-разрядные шины передачи данных. Внешняя шина данных была увеличена до 64 бит. Продолжили свое развитие технологии, связанные с многопроцессорной обработкой информации.

Появление микропроцессора Pentium Pro разделило рынок на два сектора — высокопроизводительных рабочих станций и дешевых домашних компьютеров. В процессоре Pentium Pro были реализованы самые передовые технологии. В частности был добавлен еще один конвейер к имевшимся двум у процессора Pentium. Тем самым за один такт работы микропроцессор стал выполнять до трех инструкций.

 

Intel Pentium II

 

Intel Pentium II. Более того, процессор Pentium Pro позволил осуществлять динамическое исполнение команд (Dynamic Execution). Суть его в том, что три устройства декодирования команд, работая параллельно, делят команды на более мелкие части, называемые микрооперациями. Далее эти микрооперации могут исполняться параллельно пятью устройствами (двумя целочисленными, двумя с плавающей точкой и одним устройством интерфейса с памятью). На выходе эти инструкции опять собираются в первоначальном виде и порядке. Мощь Pentium Pro дополняется усовершенствованной организацией его кэш-памяти. Как и процессор Pentium, он имеет 8 Кбайт кэш-памяти первого уровня и 256 Кбайт кэш-памяти второго уровня. Однако за счет схемных решений (использование архитектуры двойной независимой шины) кэш-память второго уровня расположили на одном кристалле с микропроцессором, что значительно повысило производительность. В Pentium Pro реализовали 36-разрядную адресную шину, что позволило адресовать до 64 Гбайт оперативной памяти.

Процесс развития семейства обычных процессоров Pentium тоже не стоял на месте. Если в процессорах Pentium Pro параллелизм вычислений был реализован за счет архитектурных и схемотехнических решений, то при создании моделей процессора Pentium пошли по другому пути. В них включили новые команды, для поддержки которых несколько изменили программную модель микропроцессора. Эти команды, получившие название MMX-команд (MultiMedia eXtention — мультимедийное расширение системы команд), позволили одновременно обрабатывать несколько единиц однотипных данных.

 

Intel Pentium III

Intel Pentium III

Следующий выпущенный в свет процессор, названный Pentium II, объединил в себе все технологические достижения обоих направлений развития архитектуры Pentium. Кроме этого он имел новые конструктивные особенности, в частности, его корпус выполнен в соответствии с новой технологией изготовления корпусов. Не забыт и рынок портативных компьютеров, в связи с чем процессором поддерживаются несколько режимов энергосбережения.

Процессор Pentium III. Традиционно он поддерживает все достижения своих предшественников, главное (и, возможно, единственное?!) его достоинство — наличие новых 70 команд, Эти команды дополняют группу MMX-команд, но для чисел с плавающей точкой. Для поддержки этих команд в архитектуру процессора был включен специальный блок.