Электронно-вычислительная машина
Электронно-вычислительная машина
Возрастание количества вычислений в XIV–XVI вв. требовало увеличения скорости вычислений. В 1614 г. шотландец Дж. Непер выпустил первые таблицы логарифмов, содержавшие 8-значные логарифмы синусов, косинусов и тангенсов для углов от 0 до 90°. В 1623 г. английский математик Э. Гантер изобрел логарифмическую линейку. Это была логарифмическая шкала, на которой сложение отрезков производилось с помощью циркуля. В 1630 г. англичанин У. Отред заменил циркуль второй линейкой (движком).
В 1645 г. французский физик Блез Паскаль построил суммирующую машину, модифицированную в 1694 г. немецким ученым Лейбницем. Именно Лейбниц предложил двоичное исчисление, применяемое в современных электронно-вычислительных машинах. Его суть заключается в том, что вместо 10 знаков, как в десятичной системе, для записи числа применяются всего два: 0 и 1.
Истинным предком современной электронной вычислительной машины следует считать вычислительное устройство, которое может переходить к следующей операции после выполнения предыдущей самостоятельно, то есть способно выполнять не просто вычислительную операцию, а последовательность операций. Приоритет в данной области принадлежит англичанину Ч. Бэббиджу. В 1818 г. Бэббидж предложил идею устройства для вычисления конечных разностей, работающего на механическом принципе, и спустя 10 лет построил это устройство.
В 1834 г. появилась новая наука – аналитическая механика, изучавшая принципы управления ходом вычислений в счетных машинах, подобно тому как сегодня это делается с помощью машинных программ. В то время электрические сигналы еще не применялись, и информация проходила по устройству через систему зубчатых колес, а источником энергии был масляный привод. Вычислительная машина, спроектированная Бэббиджем, была несовершенна по своему техническому уровню и не была доведена до конца. Тем не менее, замысел Бэббиджа впоследствии лег в основу современных компьютеров.
Во II половине XIX в. стали применяться различные механические и электромеханические счетные устройства. Они служили главным образом для ускорения вычислений в бухгалтерии и статистике. В 1878 г. в России П. Л. Чебышев сконструировал оригинальную суммирующую машину типа арифмометра для сложения и вычитания, дополнив ее вскоре устройством для умножения, что позволило выполнять все четыре арифметические действия. В 1874 г. в России инженер В. Т. Однор сконструировал новый арифмометр, применив в нем более совершенный установочный механизм.
В 1887 г. была создана первая клавишная суммирующая машина – комптометр Фельта. Одной из первых цифровых систем управления, использующих принципы счетно-машинной техники, явилась система управления (правда, довольно примитивная) в ткацкой машине французского изобретателя Ж. М. Жаккара. В середине 1880-х годов он разработал специальное приспособление к ткацкому станку. Лента с отверстиями, расположенными в определенном порядке, управляла механизмом станка, предназначенного для выработки крупноузорчатых тканей, причем в соответствии с расположением отверстий на ленте получались и соответствующие узоры.
В 1889 г. американец Холлерит построил систему для работы с перфокартами, работающую на механическом принципе. Она предназначалась для обработки статистической информации. Через год эта система вступила в строй. В 1896 г. Холлерит учредил акционерное общество, известное сегодня как фирма IBM.
Создание математических устройств, оперирующих не числами, а непрерывно меняющимися величинами, было вызвано потребностями землеустройства и геодезии (например, для измерения площадей криволинейных фигур) еще в середине XIX века.
Такими машинами были планиметры русского инженера П. А. Зарубина и немецкого изобретателя Л. Амслера, созданные в 1854 году.
Первая в мире математическая машина для интегрирования дифференциальных уравнений была создана академиком А. Н. Крыловым при участии механика Р. М. Ветцера в 1911–1912 гг. в Петербурге. В ней были применены механические суммирующие, множительные и интегрирующие устройства. В основном эта машина была сходна с более поздними устройствами для решения дифференциальных уравнений – дифференциальными анализаторами (механическими интегрирующими машинами). В США над аналогичными машинами работал В. Буш, создавший свой первый дифференциальный анализатор в 1925 году. В СССР в 1938 г. был сконструирован механический дифференциальный анализатор с шестью фрикционными интеграторами. Подобные машины, в которых информация представлена в виде непрерывно изменяющихся переменных, выраженных физическими величинами, называются аналоговыми вычислительными машинами.
С 1935 г. в Советском Союзе начались исследования по созданию гидравлических устройств для решения ряда дифференциальных уравнений – гидроинтеграторов.
В годы Второй мировой войны в США появились электромеханические автоматические машины с программным управлением на электромагнитных реле.
Первая такая машина была построена в 1944 г. в Гарвардском университете и называлась «МАРК-1». В ней использовались элементы техники построения счетно-аналитических машин с применением перфокарт.
В 1946 г. П. Эккерт и Дж. Моучли создали вычислительную машину ENIAC (электронный интегратор и вычислитель) для расчета баллистических траекторий снарядов. В 1947 г. они начали разработку первой электронной серийной машины UNIVAC (Universal Automatic Computer).
В 1949 г. англичанином Уилксом была создана вычислительная машина EDSAC.
В 1951 г. Эккерт и Моучли создали машину UNIVAC-1 (Universal Automatic Computer). UNIVAC-1 была создана на базе ЭВМ ENIAC и EDVAC. Она работала с тактовой частотой 2,25 МГц и содержала около 5000 электронных ламп. Внутреннее запоминающее устройство емкостью 1000 12-разрядных десятичных чисел было выполнено на 100 ртутных линиях задержки. Она была построена для бюро переписи США и пущена в эксплуатацию весной 1951 года.
Первые компьютеры строились на релейных схемах или на вакуумных лампах. По размерам они были настолько большими, что занимали большую комнату. Сейчас такие компьютеры принято называть компьютерами первого поколения.
Компьютеры на вакуумных лампах часто выходили из строя, занимали много места и имели очень ограниченную область применения. В основном они использовались для научно-технических расчетов, которые проводились создателями этих машин. Программы для таких компьютеров составлялись в машинных кодах или на языках, близких к машинным языкам.
Машины с электромеханическими реле позволяли решать довольно сложные задачи, но были относительно тихоходны в счетах.
Сильным сдерживающим фактором в работе конструкторов ЭВМ начала 1950-х годов было отсутствие быстродействующей памяти. По словам одного из пионеров вычислительной техники Д. Эккерта, «архитектура машины определяется памятью». Исследователи сосредоточили свои усилия на запоминающих свойствах ферритовых колец, нанизанных на проволочные матрицы.
В 1951 г. Дж. Форрестер опубликовал статью о применении магнитных сердечников для хранения цифровой информации. В машине «Whirlwind-1» впервые была применена память на магнитных носителях. Она представляла собой 2 куба с 323 217 сердечниками, которые обеспечивали хранение 2048 слов для 16-разрядных двоичных чисел с одним разрядом контроля на четность.
В связи с бурным развитием электроники появилась возможность создания совершенных математических машин – устройств, производящих математические и логические операции над вводимыми в них данными и дающих результаты в удобном для использования виде.
Электронные вычислительные машины оперируют с числами, представленными в виде определенной последовательности электрических импульсов – кода данного числа. Перед началом решения той или иной задачи она должна быть сформулирована в виде определенных математических соотношений, причем самые сложные задачи можно решать посредством четырех действий арифметики. Электронно-вычислительная машина осуществляет тот же порядок решения задач, что и человек-оператор, работающий на арифмометре, хотя скорость выполнения операций при этом намного выше. В отличие от таких вычислительных машин, как арифмометр, в электронных машинах весь вычислительный процесс полностью автоматизирован. Операции представлены в виде задания, называемого командой, с помощью определенного кода. Из последовательных команд образуется программа для работы машины, т. е. программа вычислений. Команды хранятся в так называемом запоминающем устройстве (или накопителе).
При программировании стремятся сравнительно небольшим количеством команд обеспечить выполнение большого числа арифметических действий.
После того как в машину введены исходные данные и программа вычислений, записанная в виде условного кода, полная автоматичность вычислительного процесса обеспечивается устройством управления. Введенные в машину коды переносятся в запоминающее устройство, разбитое на множество перенумерованных ячеек. Емкость запоминающего устройства во многом определяет способность машины решать разнообразные задачи.
Основными элементами первых электронных вычислительных машин были электронные реле, электронные вентили и счетчики импульсов. В качестве запоминающей ячейки применялись вакуумные электронные реле – триггерные ячейки. Из комбинаций отдельных деталей и отдельных стандартных ячеек составлялись блоки машины. Основными из них являлись следующие устройства.
Вводное (или входное) устройство служило для первоначального ввода исходных числовых данных и команд (программы вычислений).
Арифметическое устройство, объединяющее электронные счетные схемы, выполняло арифметические действия и логические операции. Оно приводило заданное действие в соответствие с заранее установленным кодом операции. Применение двоичной системы счисления позволяло все арифметические операции свести к операциям сложения и вычитания кодов чисел этой системы. Сложение и вычитание производилось электронным сумматором. Это устройство являлось важнейшим элементом электронной счетной машины.
Запоминающее устройство использовало электронные реле и различного типа линии задержки импульсов, а также магнитные ленты и барабаны, перфорированные ленты и т. п.
Устройство управления, превращало команды в систему импульсов и обеспечивало полную автоматичность всех вычислений по заданной программе.
Устройство контроля позволяло контролировать производимые машиной расчеты, правильность вычислений, сигнализировало о возникших в машине неисправностях и ошибках в вычислениях. Контроль над работой машины осуществлялся с центрального пульта управления.
Выводные (выходные) и печатающие устройства служили для фиксирования полученных результатов вычислений. Эти результаты записывались в виде импульсов кода, а специальные дешифрирующие печатающие устройства преобразовывали записанный код в цифры и печатали их.
Вслед за первым серийным компьютером UNIVAC-1 фирма «Ремингтон – Рэнд» в 1952 г. выпустила ЭВМ UNIVAC-1103, которая работала в 50 раз быстрее своего предшественника. Позже в компьютере UNIVAC-1103 впервые были применены программные прерывания.
Сотрудники фирмы «Ремингтон – Рэнд» использовали алгебраическую форму записи алгоритмов под названием «Short Code». Это был первый интерпретатор, созданный в 1949 году Джоном Моучли. Капитан ВМФ США (в дальнейшем единственная в ВМФ женщина-адмирал) Грейс Хоппер разработала первую программу-компилятор А-0. Эта программа производила трансляцию на машинный язык всей программы, записанной в удобной для обработки алгебраической форме.
В начале 1950-х годов в разработку электронных компьютеров включилась фирма IBM. В 1952 г. она выпустила свой первый промышленный электронный компьютер IBM-701, который представлял собой синхронную ЭВМ параллельного действия, содержащую 4000 электронных ламп и 12 000 германиевых диодов. Усовершенствованный вариант этой машины – IBM-704 отличался высокой скоростью работы. В ней использовались индексные регистры и данные представлялись в форме с плавающей запятой.
После IBM-704 была выпущена машина IBM-709, которая в архитектурном плане приближалась к машинам второго и третьего поколений. В ней впервые была применена косвенная адресация и впервые появились каналы ввода – вывода.
В 1956 г. фирмой IBM были разработаны плавающие магнитные головки на воздушной подушке. Их изобретение позволило создать новый тип памяти – дисковые запоминающие устройства, значимость которых была в полной мере оценена в последующие десятилетия развития вычислительной техники. Первые ЗУ на дисках появились в машинах IBM-305 и RAMAC.
RAMAC имела пакет, состоявший из 50 металлических дисков с магнитным покрытием, которые вращались со скоростью 12 000 об/мин. На поверхности диска размещалось 100 дорожек для записи данных, по 10 000 знаков каждая.
Фирма IBM также сделала первые шаги в области автоматизации программирования, создав в 1953 г. для машины IBM-701 «Систему быстрого кодирования».
В Советском Союзе в 1948 г. развитие вычислительной техники было объявлено общегосударственной задачей. Развернулись работы по созданию серийных ЭВМ первого поколения.
В 1950 г. в Институте точной механики и вычислительной техники (ИТМ и ВТ) организован отдел цифровых ЭВМ для разработки и создания большой ЭВМ. В 1951 г. здесь была спроектирована БЭСМ (Большая Электронная Счетная Машина), а в 1952 г. началась ее опытная эксплуатация.
В проекте вначале предполагалось применить память на трубках Вильямса, но до 1955 г. в качестве элементов памяти в ней использовались ртутные линии задержки. По тем временам БЭСМ была весьма производительной машиной – 800 операций в секунду. Она имела трехадресную систему команд, а для упрощения программирования широко применялся метод стандартных программ, который в дальнейшем положил начало модульному программированию и пакетам прикладных программ. Серийно эта машина стала выпускаться в 1956 г. под названием БЭСМ-2.
В этот же период в КБ, руководимом М. А. Лесечко, началось проектирование другой ЭВМ, получившей название «Стрела».
Условия серийного производства предопределили некоторые особенности «Стрелы»: невысокое по сравнению с БЭСМ быстродействие, просторный монтаж и т. д. В этой машине в качестве внешней памяти применялись 45-дорожечные магнитные ленты, а оперативная память была на трубках Вильямса. «Стрела» имела большую разрядность и удобную систему команд. В конце 1953 г. началось ее серийное производство.
В лаборатории электросхем Энергетического института под руководством И. С. Брука в 1951 г. построили макет небольшой ЭВМ под названием М-1.
В следующем году здесь была создана вычислительная машина М-2, положившая начало созданию экономичных машин среднего класса.
В машине М-2 использовались 1879 ламп – меньше, чем в «Стреле», а средняя производительность составляла 2000 операций в секунду. Были задействованы 3 типа памяти: электростатическая на 34 трубках Вильямса, на магнитном барабане и на магнитной ленте с использованием магнитофона МАГ-8.
В 1955–1956 гг. коллектив лаборатории выпустил малую ЭВМ М-3 с быстродействием 30 операций в секунду и оперативной памятью на магнитном барабане. Особенность М-3 заключалась в том, что для центрального устройства управления был использован асинхронный принцип работы.
Разработка еще одной малой вычислительной машины под названием «Урал» была закончена в 1954 г. коллективом сотрудников под руководством Рамеева. Эта машина стала родоначальником целого семейства «Уралов», последняя серия которых («Урал-16») была выпущена в 1967 году. Простота машины, удачная конструкция, невысокая стоимость обусловили ее широкое применение.
В 1958 г. под руководством В. М. Глушкова в Институте кибернетики Академии наук Украины была создана вычислительная машина «Киев», имевшая производительность 6–10 тыс. операций в секунду. Она впервые в СССР использовалась для дистанционного управления технологическими процессами.
В середине 1950-х годов в ЭВМ вместо электронных ламп стали применяться полупроводниковые приборы – диоды и транзисторы. Поскольку срок службы цифровых элементов на полупроводниках значительно выше, чем у электронных ламп, то с переходом на новую элементную базу возросла надежность ЭВМ и уменьшились их габариты. Это обусловило начало создания ЭВМ 2-го поколения. Машины этого поколения просуществовали с первой половины 50-х годов до первой половины 60-х годов. В ЭВМ 2-го поколения можно было использовать несколько языков программирования. Базовое программное обеспечение еще составлялось на языках, близких к машинно-ориентированным языкам, однако в пакетах прикладных программ уже использовались языки более высокого уровня.
Внедрение полупроводников позволило значительно повысить быстродействие ЭВМ: машины 1-го поколения имели максимальное быстродействие несколько десятков тысяч операций в секунду, первые транзисторные ЭВМ – примерно 5000 операций в секунду, затем они достигли уровня 10–15 млн операций в секунду.
В 1960-е годы произошло существенное изменение структуры ЭВМ, в результате которого их различные устройства получили возможность работать независимо друг от друга по разным программам. Это позволило одновременно решать на машине несколько задач. Работой ЭВМ и формированием потока задач занимается особая программа – операционная система. Мультипрограммный режим не ускоряет решение одной определенной задачи, но повышает общую производительность ЭВМ.
Развитие мультипрограммных режимов работы привело к появлению ЭВМ коллективного пользования. В этих машинах устройства ввода располагаются не в машинном зале, а у потребителей услуг, удаленных от ЭВМ. С помощью таких устройств (терминалов) задачи вводятся в машину по линиям связи, а машина, в свою очередь, сама определяет очередность их выполнения. Результаты решения по этим же линиям направлялись на терминалы, где были печатающие устройства или дисплей.
Следующим этапом было объединение ЭВМ коллективного пользования в системы, включающие несколько машин, отдаленных друг от друга на большое расстояние. Это требовало расширения возможностей ЭВМ и усложнения их структуры. Полупроводниковая техника не отвечала новым требованиям в отношении габаритов, надежности, экономичности и технологичности.
На смену ЭВМ 2-го поколения пришли машины 3-го поколения, построенные на интегральных микросхемах. В машинах 2-го поколения блоки собирались из отдельных деталей, соединяемых при помощи пайки. Они имели большие размеры, а места соединений были причиной частых неисправностей. Применение интегральных микросхем дало возможность повысить надежность без увеличения размеров.
Особенностями ЭВМ 4-го поколения были как применение больших интегральных микросхем, заменявших несколько десятков полупроводниковых блоков, так и изменение основных элементов оперативной памяти. Запоминающие устройства на ферритовых сердечниках, применявшиеся на машинах 1–3-го поколений, в этих машинах стали использоваться в качестве дополнительной «медленной» памяти, а оперативная память была основана на полупроводниках.
В 1960–1970-е годы в сверхмощных ЭВМ применялись несколько процессоров, использовавшихся одновременно. Это позволило разделить процесс решения задачи на ряд ветвей, выполнение которых может проводиться независимо друг от друга, что сокращает время выполнения программы.
Число областей, в которых применяются ЭВМ, растет. Это научно-технические расчеты, базирующиеся на математических методах; автоматизация проектирования объектов; экономические расчеты; информационно-справочная служба; математическое моделирование в биологии, медицине, геологии, социологии; автоматическое управление технологическими процессами и сложными установками.
Возможности увеличения скорости быстродействия при помощи обычных процессоров практически исчерпались. Это требует использования новых технологий, в частности оптических.
Данный текст является ознакомительным фрагментом.