История компьютерного оборудования охватывает развитие от ранних простых устройств, помогающих в вычислениях, до современных компьютеров .
Первыми средствами вычислений были чисто механические устройства, которые требовали от оператора установить начальные значения элементарной арифметической операции, а затем манипулировать устройством для получения результата. Позже компьютеры представляли числа в непрерывной форме (например, расстояние по шкале, вращение вала или напряжение ) . Числа также могут быть представлены в виде цифр, которыми автоматически управляет механизм. Хотя этот подход обычно требовал более сложных механизмов, он значительно повышал точность результатов. Развитие транзисторной технологии, а затем и интегральных микросхем привело к серии прорывов, начиная с транзисторных компьютеров, а затем компьютеров с интегральными схемами, в результате чего цифровые компьютеры в значительной степени заменили аналоговые компьютеры . Затем крупномасштабная интеграция металл-оксид-полупроводник (МОП) (LSI) позволила создать полупроводниковую память и микропроцессор , что привело к еще одному ключевому прорыву - миниатюрному персональному компьютеру (ПК) в 1970-х годах. Стоимость компьютеров постепенно стала настолько низкой, что персональные компьютеры к 1990-м годам, а затем и мобильные компьютеры ( смартфоны и планшеты ) в 2000-х годах стали повсеместными.
Устройства использовались для облегчения вычислений на протяжении тысячелетий, в основном используя прямую переписку с пальцами . Самым ранним счетным устройством, вероятно, была разновидность счетной палочки . Кость Лебомбо из гор между Эсватини и Южной Африкой , возможно, является старейшим известным математическим артефактом. [2] Он датируется 35 000 годом до нашей эры и состоит из 29 отдельных насечек, которые намеренно были вырезаны на малоберцовой кости павиана . [3] [4] Более поздние средства ведения учета на территории Плодородного полумесяца включали исчисления (глиняные сферы, конусы и т. д.), которые представляли собой количество предметов, вероятно, домашнего скота или зерна, запечатанных в полых необожженных глиняных контейнерах. [b] [6] [c] Одним из примеров является использование счетных стержней . Счеты раньше использовались для арифметических задач . То, что мы сейчас называем римскими счетами, использовалось в Вавилонии еще ок. 2700–2300 гг. до н.э. С тех пор было изобретено множество других форм счетных досок или таблиц. В средневековой европейской счетной конторе на стол клали клетчатую ткань и перемещали по ней маркеры в соответствии с определенными правилами, чтобы облегчить расчет денежных сумм.
Несколько аналоговых компьютеров были построены в древние и средневековые времена для выполнения астрономических вычислений. К ним относятся астролябия и механизм Антикиферы из эллинистического мира (ок. 150–100 до н.э.). [8] В Римском Египте Герой Александрийский (ок. 10–70 гг. н.э.) изготовил механические устройства, включая автоматы и программируемую тележку . [9] Другие ранние механические устройства, используемые для выполнения того или иного типа вычислений, включают планисферу и другие механические вычислительные устройства, изобретенные Аль-Бируни (ок. 1000 г. н.э.); экваторий и универсальная, независимая от широты астролябия Аль-Заркали (ок. 1015 г. н.э.) ; астрономические аналоговые компьютеры других средневековых мусульманских астрономов и инженеров; и башня с астрономическими часами Су Сун (1094 г.) во времена династии Сун . Замковые часы , механические астрономические часы с гидроприводом, изобретенные Исмаилом аль-Джазари в 1206 году, были первым программируемым аналоговым компьютером. [ оспаривается (по причине: Цитируемый источник не подтверждает это утверждение, и утверждение вводит в заблуждение.) ] [10] [11] [12] Рамон Луллий изобрел круг Луллия: воображаемую машину для расчета ответов на философские вопросы (в данном случае имеющее отношение к христианству) посредством логической комбинаторики. Эта идея была подхвачена Лейбницем столетия спустя и, таким образом, является одним из основополагающих элементов вычислительной техники и информатики .
Шотландский математик и физик Джон Непер обнаружил, что умножение и деление чисел можно выполнять путем сложения и вычитания соответственно логарифмов этих чисел. Создавая первые логарифмические таблицы, Нейпиру пришлось выполнить множество утомительных умножений. Именно в этот момент он сконструировал свои « кости Непера » — устройство, похожее на счеты, которое значительно упрощало вычисления, включающие умножение и деление. [д]
Поскольку действительные числа можно представить в виде расстояний или интервалов на линии, логарифмическая линейка была изобретена в 1620-х годах, вскоре после работы Нейпира, чтобы позволить выполнять операции умножения и деления значительно быстрее, чем это было возможно раньше. [13] Эдмунд Гюнтер построил в Оксфордском университете счетное устройство с единой логарифмической шкалой . Его устройство значительно упростило арифметические вычисления, включая умножение и деление. Уильям Отред значительно улучшил это в 1630 году с помощью своей круглой логарифмической линейки. В 1632 году он разработал современную логарифмическую линейку, по сути представляющую собой комбинацию двух линеек Гюнтера , скрепленных руками. Логарифмические линейки использовались поколениями инженеров и других профессиональных работников, занимающихся математикой, вплоть до изобретения карманного калькулятора . [14]
В 1609 году Гвидобальдо дель Монте изготовил механический умножитель для вычисления долей градуса. В системе из четырех шестерен вращение индекса в одном квадранте соответствует 60 вращениям другого индекса в противоположном квадранте. [15] Благодаря этой машине можно избежать ошибок при расчете первой, второй, третьей и четверти градусов. Гвидобальдо первым задокументировал использование зубчатых колес для механических расчетов.
Вильгельм Шикард , немецкий эрудит , в 1623 году спроектировал счетную машину, которая объединила механизированную форму стержней Непера с первой в мире механической арифметической машиной, встроенной в основание. Поскольку в нем использовалась однозубая шестерня, в некоторых обстоятельствах его механизм переноски заклинивал. [16] Пожар уничтожил по крайней мере одну из машин в 1624 году, и считается, что Шикард был слишком разочарован, чтобы построить еще одну.
В 1642 году, будучи еще подростком, Блез Паскаль начал новаторскую работу над вычислительными машинами и после трех лет усилий и 50 прототипов [17] изобрел механический калькулятор . [18] [19] За следующие десять лет он построил двадцать таких машин (так называемых калькуляторов Паскаля или Паскалина). [20] Сохранилось девять паскалин, большинство из которых выставлены в европейских музеях. [e] Продолжаются споры о том, следует ли считать Шикарда или Паскаля «изобретателем механического калькулятора», и круг вопросов, которые следует рассмотреть, обсуждается в другом месте. [21]
Готфрид Вильгельм фон Лейбниц изобрел ступенчатый счетчик и свой знаменитый ступенчатый барабанный механизм примерно в 1672 году. Он попытался создать машину, которую можно было бы использовать не только для сложения и вычитания, но и использовать подвижную каретку для умножения и деления. Лейбниц однажды сказал: «Недостойно выдающихся людей терять часы, как рабы, на расчетах, которые можно было бы безопасно поручить кому-либо другому, если бы использовались машины». [22] Однако Лейбниц не внедрил полностью успешный механизм переноски. Лейбниц также описал двоичную систему счисления , [23] центральную составляющую всех современных компьютеров. Однако вплоть до 1940-х годов многие последующие конструкции (включая машины Чарльза Бэббиджа 1822 года и даже ЭНИАК 1945 года) основывались на десятичной системе. [ф]
Примерно в 1820 году Шарль Ксавье Томас де Кольмар создал то, что в течение оставшейся части столетия стало первым успешным механическим калькулятором массового производства — арифмометром Томаса . Его можно было использовать для сложения и вычитания, а с помощью подвижной каретки оператор также мог умножать и делить, используя процесс длинного умножения и длинного деления. [24] В нем использовался ступенчатый барабан, по своей концепции аналогичный тому, который изобрел Лейбниц. Механические калькуляторы использовались до 1970-х годов.
В 1804 году французский ткач Жозеф Мари Жаккар разработал ткацкий станок , в котором вытканный узор контролировался бумажной лентой, сделанной из перфокарт . Бумажную ленту можно было заменить, не меняя механическую конструкцию ткацкого станка. Это было знаковое достижение в области программирования. Его машина была усовершенствованием аналогичных ткацких станков. Перфокартам предшествовали перфоленты, как в машине, предложенной Базилем Бушоном . Эти группы послужили вдохновением для записи информации для автоматических пианино, а в последнее время и для станков с числовым программным управлением .
В конце 1880-х годов американец Герман Холлерит изобрел хранение данных на перфокартах , которые затем могла быть прочитана машиной. [25] Для обработки этих перфокарт он изобрел табулятор и перфокарту . В его машинах использовались электромеханические реле и счетчики . [26] Метод Холлерита использовался при переписи населения США 1890 года . Эта перепись была обработана на два года быстрее, чем предыдущая. [27] Компания Холлерита в конечном итоге стала ядром IBM .
К 1920 году электромеханические счетные машины могли складывать, вычитать и печатать накопленные суммы. [28] Функции машины управлялись путем установки десятков проволочных перемычек в съемные панели управления . Когда в 1935 году в США было введено социальное обеспечение , системы перфокарт IBM использовались для обработки записей 26 миллионов рабочих. [29] Перфокарты стали повсеместно использоваться в промышленности и правительстве для бухгалтерского учета и управления.
В статьях Лесли Комри о методах перфокарт [30] и публикации У. Дж. Эккерта « Методы перфокарт в научных вычислениях» в 1940 году описаны методы перфокарт, достаточно продвинутые для решения некоторых дифференциальных уравнений или выполнения умножения и деления с использованием чисел с плавающей запятой. представления, все на перфокартах и записывающих машинах . [31] Такие машины использовались во время Второй мировой войны для криптографической статистической обработки, а также для огромного количества административных целей. [ нужна цитата ] Бюро астрономических вычислений Колумбийского университета выполнило астрономические расчеты, отражающие современный уровень вычислений . [32] [33]
К 20 веку более ранние механические калькуляторы, кассовые аппараты, счетные машины и т. д. были перепроектированы для использования электродвигателей, а положение шестерни служило представлением состояния переменной. Слово «компьютер» было названием должности, предназначенной в основном для женщин, которые использовали эти калькуляторы для выполнения математических расчетов. [34] К 1920-м годам интерес британского учёного Льюиса Фрая Ричардсона к предсказанию погоды побудил его предложить человеческие компьютеры и численный анализ для моделирования погоды; по сей день необходимы самые мощные компьютеры на Земле , чтобы адекватно моделировать ее погоду с помощью уравнений Навье-Стокса . [35]
Такие компании, как Friden , Marchant Calculator и Monroe , в 1930-х годах производили настольные механические калькуляторы, которые могли складывать, вычитать, умножать и делить. [36] В 1948 году Curta был представлен австрийским изобретателем Куртом Герцстарком . Это был небольшой механический калькулятор с ручным заводом, являвшийся потомком ступенчатого счетчика Готфрида Лейбница и арифмометра Томаса .
Первым в мире полностью электронным настольным калькулятором был британский Bell Punch ANITA , выпущенный в 1961 году. [37] [38] В его схемах использовались электронные лампы , лампы с холодным катодом и декатроны , а также 12 ламп Никси с холодным катодом для его отображение. ANITA хорошо продавалась , поскольку это был единственный доступный электронный настольный калькулятор, работавший бесшумно и быстро. В июне 1963 года ламповая технология была заменена произведенным в США Friden EC-130, который имел полностью транзисторную конструкцию, набор из четырех 13-значных чисел, отображаемых на 5-дюймовой (13 см) ЭЛТ , и ввел обратную польскую систему обозначений. (РПН).
Чарльз Бэббидж , английский инженер-механик и эрудит , придумал концепцию программируемого компьютера. Его часто называют « отцом компьютера », [39] он разработал концепцию и изобрел первый механический компьютер в начале 19 века. После работы над своей революционной разностной машиной , предназначенной для помощи в навигационных расчетах, в 1833 году он понял, что возможна гораздо более общая конструкция — аналитическая машина . Ввод программ и данных должен был осуществляться в машину через перфокарты , метод, который использовался в то время для управления механическими ткацкими станками , такими как жаккардовые ткацкие станки . Для вывода у машины будет принтер, плоттер и звонок. Машина также сможет наносить числа на карты, чтобы их можно было прочитать позже. В нем использовалась обычная арифметика с основанием 10 и фиксированной запятой.
Двигатель включал в себя арифметико-логический блок , поток управления в форме условного ветвления и циклов , а также встроенную память , что делало его первой конструкцией компьютера общего назначения, которую в современных терминах можно было бы описать как полную по Тьюрингу . [40] [41]
Должно было быть хранилище или память, способная хранить 1000 чисел по 40 десятичных цифр каждое (около 16,7 КБ ). Арифметическое устройство , называемое «мельница», сможет выполнять все четыре арифметические операции , а также сравнения и, при необходимости, извлечение квадратного корня . Первоначально он был задуман как разностная машина , загнутая назад, обычно круглой формы [42] с длинным магазином, выходящим в одну сторону. (Более поздние рисунки изображают упорядоченную сетку.) [43] Подобно центральному процессору (ЦП) в современном компьютере, завод будет полагаться на свои собственные внутренние процедуры, примерно эквивалентные микрокоду в современных ЦП, которые будут храниться в виде колышек, вставленных во вращающиеся барабаны, называемые «бочками», для выполнения некоторых более сложных инструкций, которые может указать программа пользователя. [44]
Язык программирования, используемый пользователями, был похож на современные языки ассемблера . Были возможны циклы и условное ветвление, и поэтому задуманный язык был бы Тьюринг-полным , как позже определил Алан Тьюринг . Использовались три разных типа перфокарт: одна для арифметических операций, одна для числовых констант и одна для операций загрузки и сохранения, переноса чисел из хранилища в арифметическую единицу или обратно. Для трех типов карт было три отдельных считывателя.
Машина опередила свое время примерно на столетие. Однако реализация проекта тормозилась из-за различных проблем, в том числе из-за споров с главным машинистом строительных частей. Все детали его машины приходилось изготавливать вручную — это была серьезная проблема для машины, состоящей из тысяч деталей. В конце концов, проект был распущен по решению британского правительства о прекращении финансирования. Неспособность Бэббиджа завершить аналитическую машину можно главным образом объяснить трудностями не только политики и финансирования, но и его желанием разработать все более совершенный компьютер и двигаться вперед быстрее, чем кто-либо другой мог бы последовать за ним. Ада Лавлейс перевела и добавила примечания к « Очерку аналитической машины » Луиджи Федерико Менабреа . Похоже, это первое опубликованное описание программирования, поэтому Аду Лавлейс многие считают первым программистом. [45]
Следом за Бэббиджем, хотя поначалу он и не знал о его более ранних работах, был Перси Ладгейт , клерк торговца кукурузой в Дублине, Ирландия. Он независимо разработал программируемый механический компьютер, который описал в работе, опубликованной в 1909 году. [46] [47]
Два других изобретателя, Леонардо Торрес Кеведо и Ванневар Буш , также последовали исследованиям, основанным на работах Бэббиджа. В 1914 году Торрес опубликовал «Очерки по автоматике» , где он написал об усилиях Бэббиджа по созданию механической аналитической машины и разработал электромеханическую аналитическую машину, которая должна была управляться программой, доступной только для чтения. В статье также была представлена идея арифметики с плавающей запятой . [48] [49] [50] В 1920 году он представил на Парижской конференции электромеханический арифмометр , арифметическое устройство, которое могло выполнять операции автоматически. [51] В статье Буша «Инструментальный анализ» (1936) обсуждалось использование существующих машин IBM для перфокарт для реализации конструкции Бэббиджа. В том же году он начал проект «Быстрая арифметическая машина» для исследования проблем построения электронного цифрового компьютера. [52]
В первой половине 20 века многие считали аналоговые компьютеры будущим вычислительной техники. Эти устройства использовали постоянно изменяющиеся аспекты физических явлений, таких как электрические , механические или гидравлические величины, для моделирования решаемой проблемы, в отличие от цифровых компьютеров , которые символически представляли изменяющиеся величины по мере изменения их числовых значений. Поскольку аналоговый компьютер использует не дискретные значения, а непрерывные значения, процессы не могут быть надежно повторены с точной эквивалентностью, как это возможно с машинами Тьюринга . [53]
Первым современным аналоговым компьютером была машина для прогнозирования приливов , изобретенная сэром Уильямом Томсоном , позже лордом Кельвином, в 1872 году. Он использовал систему шкивов и проводов для автоматического расчета прогнозируемых уровней приливов на определенный период в определенном месте и имел большая полезность для навигации на мелководье. Его устройство стало основой для дальнейших разработок в области аналоговых вычислений. [54]
Дифференциальный анализатор , механический аналоговый компьютер, предназначенный для решения дифференциальных уравнений путем интегрирования с использованием колесно-дисковых механизмов, был концептуализирован в 1876 году Джеймсом Томсоном , братом более известного лорда Кельвина. Он исследовал возможную конструкцию таких калькуляторов, но был загнан в тупик из-за ограниченного выходного крутящего момента шарико -дисковых интеграторов . [55] В дифференциальном анализаторе выходной сигнал одного интегратора управлял входным сигналом следующего интегратора или отображал выходной сигнал в виде графика.
Известная серия аналоговых вычислительных машин была разработана Леонардо Торресом Кеведо с 1895 года, в том числе машина, способная вычислять корни произвольных многочленов восьмого порядка, включая комплексные, с точностью до тысячных долей. [56] [57] [58]
Важным достижением в области аналоговых вычислений стала разработка первых систем управления огнем для стрельбы по кораблям на большие дистанции . Когда в конце XIX века дальность стрельбы резко возросла, расчет правильной точки прицеливания с учетом времени полета снарядов уже не был простым вопросом. Различные корректировщики на борту корабля передавали данные о расстоянии и наблюдения на центральную станцию построения графиков. Там группы управления огнем сообщали о местоположении, скорости и направлении корабля и его цели, а также о различных корректировках эффекта Кориолиса , погодных эффектов в воздухе и других корректировках; Затем компьютер выдавал решение для стрельбы, которое подавалось в турели для наводки. В 1912 году британский инженер Артур Поллен разработал первый механический аналоговый компьютер с электрическим приводом (названный в то время «Часы Арго»). [ нужна ссылка ] Он использовался Императорским флотом России в Первой мировой войне . [ нужна цитата ] Альтернативная система управления огнем «Таблица Дрейера» была установлена на британских крупных кораблях к середине 1916 года.
Механические устройства также использовались для повышения точности бомбардировки с воздуха . Drift Sight был первым подобным средством, разработанным Гарри Вимперисом в 1916 году для Королевской военно-морской воздушной службы ; он измерил скорость ветра с воздуха и использовал это измерение для расчета воздействия ветра на траекторию полета бомб. Позднее система была усовершенствована с помощью бомбового прицела Course Setting Bomb Sight и достигла апогея с бомбовыми прицелами времен Второй мировой войны , бомбовым прицелом Mark XIV ( бомбардировочное командование Королевских ВВС ) и Norden [59] ( ВВС США ).
Искусство механических аналоговых вычислений достигло своего апогея с появлением дифференциального анализатора [60] , созданного Х.Л. Хейзеном и Ванневаром Бушем в Массачусетском технологическом институте начиная с 1927 года и основанного на механических интеграторах Джеймса Томсона и усилителях крутящего момента, изобретенных Х.В. Ниманом. Дюжина таких устройств была построена до того, как их устаревание стало очевидным; Самый мощный из них был построен в Школе электротехники Мура Пенсильванского университета , где был построен ENIAC .
Полностью электронный аналоговый компьютер был построен Гельмутом Хельцером в 1942 году в армейском исследовательском центре Пенемюнде . [61] [62] [63]
К 1950-м годам успех цифровых электронных компьютеров положил конец большинству аналоговых вычислительных машин, но гибридные аналоговые компьютеры , управляемые цифровой электроникой, продолжали широко использоваться в 1950-х и 1960-х годах, а затем и в некоторых специализированных приложениях.
Принцип работы современного компьютера был впервые описан учёным-компьютерщиком Аланом Тьюрингом , который изложил эту идею в своей основополагающей статье 1936 года [64] «О вычислимых числах» . Тьюринг переформулировал результаты Курта Гёделя 1931 года о пределах доказательства и вычислений, заменив универсальный формальный язык Гёделя, основанный на арифметике, формальными и простыми гипотетическими устройствами, которые стали известны как машины Тьюринга . Он доказал, что такая машина была бы способна выполнять любые мыслимые математические вычисления, если бы ее можно было представить в виде алгоритма . Далее он доказал, что не существует решения проблемы Entscheidungs, сначала показав, что проблема остановки для машин Тьюринга неразрешима : в общем, невозможно алгоритмически решить, остановится ли когда-либо данная машина Тьюринга.
Он также ввел понятие «универсальной машины» (теперь известной как универсальная машина Тьюринга ), имея в виду, что такая машина может выполнять задачи любой другой машины, или, другими словами, она доказуемо способна вычислить все, что вычислим путем выполнения программы, хранящейся на ленте, что позволяет программировать машину. Фон Нейман признал, что центральная концепция современного компьютера возникла благодаря этой статье. [65] Машины Тьюринга по сей день являются центральным объектом изучения теории вычислений . За исключением ограничений, налагаемых их ограниченным объемом памяти, современные компьютеры считаются полными по Тьюрингу , то есть они обладают способностью выполнения алгоритмов, эквивалентной универсальной машине Тьюринга .
Эра современных компьютеров началась с бурного развития перед и во время Второй мировой войны. Большинство цифровых компьютеров, построенных в этот период, были электромеханическими: электрические переключатели приводили в действие механические реле для выполнения вычислений. Эти устройства имели низкую рабочую скорость и в конечном итоге были вытеснены гораздо более быстрыми полностью электрическими компьютерами, первоначально использовавшими электронные лампы .
Z2 был одним из самых ранних примеров электромеханического релейного компьютера и был создан немецким инженером Конрадом Цузе в 1940 году . Это было усовершенствование его более раннего Z1 ; хотя он использовал ту же механическую память , он заменил арифметику и логику управления электрическими релейными схемами. [66]
В том же году британские криптологи построили электромеханические устройства, называемые бомбами, для расшифровки секретных сообщений, зашифрованных немецкой машиной «Энигма», во время Второй мировой войны . Первоначальный проект бомбы был создан в 1939 году в Школе кодирования и шифрования правительства Великобритании (GC&CS) в Блетчли -парке Аланом Тьюрингом [67] с важными усовершенствованиями, разработанными в 1940 году Гордоном Уэлчманом . [68] Инженерное проектирование и строительство были работой Гарольда Кина из британской компании по производству табуляторов . Это было существенное развитие устройства, разработанного в 1938 году криптологом Польского бюро шифров Марианом Реевским и известного как « криптологическая бомба » ( польский : «bomba kryptologiczna» ).
В 1941 году Цузе вслед за своей предыдущей машиной создал Z3 , [66] первый в мире работающий электромеханический программируемый , полностью автоматический цифровой компьютер. [69] Z3 был построен с 2000 реле , реализующими 22- битную длину слова , которые работали на тактовой частоте около 5–10 Гц . [70] Программный код и данные хранились на перфорированной пленке . В некоторых отношениях он был очень похож на современные машины и стал пионером в многочисленных достижениях, таких как числа с плавающей запятой . Замена сложной в реализации десятичной системы (использовавшейся в более ранней конструкции Чарльза Бэббиджа ) более простой двоичной системой означала, что машины Цузе было легче построить и потенциально более надежными, учитывая технологии, доступные в то время. [71] В 1998 году Рауль Рохас доказал, что Z3 является полной по Тьюрингу машиной . [72] В двух патентных заявках 1936 года Цузе также предположил, что машинные инструкции могут храниться в том же хранилище, что и данные — ключевое открытие того, что стало известно как архитектура фон Неймана , впервые реализованная в 1948 году в Америке в электромеханическом IBM SSEC. а в Великобритании — полностью электронный Manchester Baby . [73]
Цузе потерпел неудачу во время Второй мировой войны, когда некоторые из его машин были уничтожены в ходе бомбардировок союзников . Судя по всему, его работа оставалась в значительной степени неизвестной инженерам в Великобритании и США до гораздо более позднего времени, хотя, по крайней мере, IBM знала о ней, поскольку финансировала его послевоенную стартап-компанию в 1946 году в обмен на опцион на патенты Цузе.
В 1944 году в лабораториях IBM Endicott был построен Harvard Mark I. [74] Это был аналогичный электромеханический компьютер общего назначения Z3, но не совсем тьюринговский.
Термин «цифровой» был впервые предложен Джорджем Робертом Стибицем и относится к ситуации, когда сигнал, например напряжение, используется не для непосредственного представления значения (как это было бы в аналоговом компьютере ), а для его кодирования. В ноябре 1937 года Стибиц, тогда работавший в Bell Labs (1930–1941), [75] завершил работу над релейным калькулятором, который он позже назвал « Модель К » (от « кухонного стола», на котором он его собрал). который стал первым двоичным сумматором . [76] Обычно сигналы имеют два состояния – низкое (обычно обозначающее 0) и высокое (обычно обозначающее 1), но иногда используется трехзначная логика , особенно в памяти с высокой плотностью записи. Современные компьютеры обычно используют двоичную логику , но многие ранние машины были десятичными . В этих машинах основной единицей данных была десятичная цифра, закодированная в одной из нескольких схем, включая двоично-десятичный или BCD, двоично-десятичный , код с избытком-3 и код «два из пяти» .
Математической основой цифровых вычислений является булева алгебра , разработанная британским математиком Джорджем Булем в его работе «Законы мышления» , опубликованной в 1854 году. Его булева алгебра была дополнительно уточнена в 1860-х годах Уильямом Джевонсом и Чарльзом Сандерсом Пирсом и впервые была представлена. систематически Эрнстом Шредером и А.Н. Уайтхедом . [77] В 1879 году Готтлоб Фреге развивает формальный подход к логике и предлагает первый логический язык для логических уравнений. [78]
В 1930-х годах, работая независимо, американский инженер-электронщик Клод Шеннон и советский логик Виктор Шестаков показали взаимно однозначное соответствие между концепциями булевой логики и определенными электрическими схемами, которые теперь называются логическими вентилями и которые сейчас повсеместно используются в цифровых компьютерах. [79] Они показали, что электронные реле и переключатели могут реализовывать выражения булевой алгебры . [80] Эта диссертация по существу легла в основу практического проектирования цифровых схем . Кроме того, в статье Шеннона приведена правильная принципиальная схема 4-битного цифрового двоичного сумматора. [81]
Чисто электронные элементы схемы вскоре заменили их механические и электромеханические эквиваленты, в то же время цифровые вычисления заменили аналоговые. Такие машины, как Z3 , компьютер Атанасова-Берри , компьютеры Colossus и ENIAC , были построены вручную с использованием схем, содержащих реле или клапаны (вакуумные лампы), и часто использовали перфокарты или перфоленту для ввода и в качестве основного (энергонезависимый) носитель информации. [82]
Инженер Томми Флауэрс присоединился к телекоммуникационному отделению Главпочтамта в 1926 году. Работая на исследовательской станции в Доллис-Хилл в 1930-х годах, он начал изучать возможности использования электроники для телефонной станции . Экспериментальное оборудование, построенное им в 1934 году, вошло в строй спустя 5 лет, превратив часть телефонной сети в систему электронной обработки данных, используя тысячи электронных ламп . [54]
В США в 1940 году Артур Дикинсон (IBM) изобрел первый цифровой электронный компьютер. [83] Это счетное устройство было полностью электронным – управление, расчеты и вывод (первый электронный дисплей). [84] Джон Винсент Атанасов и Клиффорд Э. Берри из Университета штата Айова разработали компьютер Атанасова-Берри (ABC) в 1942 году, [85] первое двоичное электронное цифровое вычислительное устройство. [86] Эта конструкция была полуэлектронной (электромеханическое управление и электронные расчеты) и использовала около 300 электронных ламп с конденсаторами, закрепленными в механически вращающемся барабане для памяти. Однако его устройство записи/считывания бумажных карт было ненадежным, а контактная система регенеративного барабана была механической. Специализация машины и отсутствие изменяемой, хранимой программы отличают ее от современных компьютеров. [87]
Компьютеры, логика которых в основном была построена с использованием электронных ламп, теперь известны как компьютеры первого поколения .
Во время Второй мировой войны британские взломщики кодов в Блетчли-парке , в 40 милях (64 км) к северу от Лондона, добились ряда успехов во взломе зашифрованных военных сообщений противника. Немецкая шифровальная машина «Энигма» впервые была атакована с помощью электромеханических бомб . [88] Они исключили возможные настройки «Энигмы», выполнив цепочки логических выводов, реализованных электрически. Большинство возможностей приводило к противоречию, а немногие оставшиеся можно было проверить вручную.
Немцы также разработали серию систем шифрования телетайпов, сильно отличающихся от «Энигмы». Машина Lorenz SZ 40/42 использовалась для армейской связи высокого уровня, получившая у британцев кодовое название «Тунни». Первые перехваты сообщений Лоренца начались в 1941 году. В рамках атаки на Танни Макс Ньюман и его коллеги разработали Хит Робинсон , машину с фиксированными функциями, помогающую взламывать коды. [89] Томми Флауэрс , старший инженер исследовательской станции почтового отделения [90] , был рекомендован Максу Ньюману Аланом Тьюрингом [91] и с начала февраля 1943 года потратил одиннадцать месяцев на проектирование и создание более гибкого компьютера «Колосс» (который пришел на смену компьютеру « Хит» ). Робинсон ). [92] [93] После функциональных испытаний в декабре 1943 года «Колосс» был отправлен в Блетчли-Парк, куда он был доставлен 18 января 1944 года [94] и атаковал свое первое сообщение 5 февраля. [95] К моменту капитуляции Германии в мае 1945 года в Блетчли-парке работало десять Колоссов. [96]
Colossus был первым в мире электронным цифровым программируемым компьютером . [54] В нем использовалось большое количество клапанов (вакуумных ламп). Он имел ввод на бумажной ленте и мог быть сконфигурирован для выполнения множества логических операций над своими данными, [97] но он не был полным по Тьюрингу . Ввод данных в «Колосс» осуществлялся путем фотоэлектрического считывания с бумажной ленты транскрипции зашифрованного перехваченного сообщения. Это было организовано в виде непрерывного цикла, чтобы его можно было читать и перечитывать несколько раз — внутреннего хранилища данных не было. Механизм считывания работал со скоростью 5000 символов в секунду, а бумажная лента двигалась со скоростью 40 футов/с (12,2 м/с; 27,3 миль в час). Colossus Mark 1 содержал 1500 термоэмиссионных ламп (ламп), но Mark 2 с 2400 лампами и пятью параллельно работающими процессорами был в 5 раз быстрее и проще в эксплуатации, чем Mark 1, что значительно ускоряло процесс декодирования. Марк 2 был спроектирован во время строительства Марка 1. Аллен Кумбс взял на себя руководство проектом Colossus Mark 2, когда Томми Флауэрс перешел к другим проектам. [98] Первый Mark 2 Colossus вступил в строй 1 июня 1944 года, как раз к вторжению союзников в Нормандию в день «Д» .
В основном Колосс использовался для определения начальных положений роторов Танни для сообщения, которое называлось «постановкой колес». Colossus впервые в истории использовал регистры сдвига и систолические массивы , что позволило провести пять одновременных тестов, каждый из которых включал до 100 логических вычислений . Это позволило проверить пять различных возможных начальных положений за один проход бумажной ленты. [99] Помимо настройки колес, некоторые более поздние Колоссы включали в себя механизмы, предназначенные для определения расположения штифтов, известных как «ломка колеса». Обе модели можно было программировать с помощью переключателей и штепсельных панелей, чего не было у их предшественников.
Без использования этих машин союзники были бы лишены очень ценной разведывательной информации , полученной в результате чтения огромного количества зашифрованных телеграфных сообщений высокого уровня между немецким верховным командованием (ОКВ) и командованием их армий по всей оккупированной Европе. Подробности их существования, конструкции и использования держались в секрете вплоть до 1970-х годов. Уинстон Черчилль лично отдал приказ уничтожить их на куски размером не больше человеческой руки, чтобы сохранить в секрете, что британцы были способны взломать шифры Лоренца SZ (с немецких роторных поточных шифровальных машин) во время надвигающейся холодной войны. Две машины были переданы недавно сформированному GCHQ , а остальные были уничтожены. В результате машины не были включены во многие истории вычислений. [g] Реконструированная рабочая копия одной из машин Колосса сейчас выставлена в Блетчли-парке.
ENIAC (электронный числовой интегратор и компьютер) был первым электронным программируемым компьютером, созданным в США . Хотя ЭНИАК использовал технологию, аналогичную Колоссам, он был намного быстрее, гибче и был полным по Тьюрингу. Как и в случае с «Колоссами», «программа» ENIAC определялась состояниями его соединительных кабелей и переключателей, что сильно отличалось от электронных машин с хранимой программой , которые появились позже. После того как программа была написана, ее нужно было механически установить в машину с ручной переустановкой вилок и переключателей. Программистами ENIAC были женщины с математическим образованием. [101]
Он сочетал в себе высокую скорость электроники с возможностью программирования для решения многих сложных задач. Он мог складывать или вычитать 5000 раз в секунду, в тысячу раз быстрее, чем любая другая машина. У него также были модули умножения, деления и извлечения квадратного корня. Высокоскоростная память была ограничена 20 словами (что эквивалентно примерно 80 байтам). Разработка и строительство ENIAC , построенного под руководством Джона Мочли и Дж. Преспера Эккерта в Пенсильванском университете, продолжались с 1943 года до полной эксплуатации в конце 1945 года. Машина была огромной, весила 30 тонн, потребляла 200 киловатт электроэнергии и содержал более 18 000 электронных ламп, 1500 реле и сотни тысяч резисторов, конденсаторов и катушек индуктивности. [102] Одним из главных инженерных достижений компании была минимизация последствий перегорания трубок, что в то время было распространенной проблемой, связанной с надежностью машин. Следующие десять лет машина практически постоянно использовалась.
Теоретическая основа компьютера с хранимой программой была предложена Аланом Тьюрингом в его статье 1936 года «О вычислимых числах» . [64] Пока Тьюринг работал в Принстоне над докторской диссертацией, Джон фон Нейман познакомился с ним и был заинтригован его концепцией универсальной вычислительной машины. [103]
Ранние вычислительные машины выполняли заданную последовательность шагов, известную как « программа », которую можно было изменить, изменив электрические соединения с помощью переключателей или патч-панели (или коммутационной панели ). Однако этот процесс «перепрограммирования» часто был трудным и трудоемким, требуя от инженеров создания блок-схем и физического переподключения машин. [104] Компьютеры с хранимыми программами, напротив, были разработаны для хранения набора инструкций ( программы ) в памяти – обычно в той же памяти, что и хранимые данные.
Изобретатели ENIAC Джон Моучли и Дж. Преспер Эккерт предложили в августе 1944 года построить машину под названием «Электронный автоматический компьютер с дискретной переменной» ( EDVAC ), и работы по ее проектированию начались в Школе электротехники Мура Пенсильванского университета . ENIAC был полностью работоспособен. В конструкции реализован ряд важных архитектурных и логических усовершенствований, задуманных при создании ENIAC, а также высокоскоростная память с последовательным доступом . [105] Однако Эккерт и Моучли покинули проект, и его строительство застопорилось.
В 1945 году фон Нейман посетил школу Мура и написал заметки об увиденном, которые отправил в проект. Представитель армии США там напечатал их и распространил как первый проект отчета о EDVAC . В проекте не упоминались Эккерт и Моучли, и, несмотря на его неполный характер и сомнительное отсутствие указания источников некоторых идей, [54] изложенная в нем компьютерная архитектура стала известна как « архитектура фон Неймана ».
В 1945 году Тьюринг присоединился к Национальной физической лаборатории Великобритании и начал работу над разработкой электронного цифрового компьютера с хранимой программой. Его отчет конца 1945 года «Предлагаемый электронный калькулятор» был первой достаточно подробной спецификацией такого устройства. В марте 1946 года Тьюринг представил исполнительному комитету Национальной физической лаборатории (NPL) более подробный документ , в котором представил первую практически полную конструкцию компьютера с хранимой программой — устройства, которое называлось автоматическим вычислительным двигателем (ACE).
Тьюринг считал, что скорость и размер компьютерной памяти являются решающими элементами, [106] : стр. 4 , поэтому он предложил высокоскоростную память объемом, которую сегодня назвали бы 25 КБ , доступ к которой осуществляется со скоростью 1 МГц . ACE реализовал вызовы подпрограмм , тогда как EDVAC этого не сделал, и ACE также использовал сокращенные компьютерные инструкции, раннюю форму языка программирования .
Manchester Baby (Маломасштабная экспериментальная машина, SSEM) был первым в мире электронным компьютером с хранимой программой . Он был построен в Манчестерском университете Виктории Фредериком К. Уильямсом , Томом Килберном и Джеффом Тутиллом, и первая программа была запущена 21 июня 1948 года .
Машина не предназначалась для использования в качестве практического компьютера, а вместо этого была спроектирована как испытательный стенд для трубки Уильямса , первого цифрового запоминающего устройства с произвольным доступом . [108] Изобретенная Фредди Уильямсом и Томом Килберном [109] [110] в Манчестерском университете в 1946 и 1947 годах, это была электронно-лучевая трубка , которая использовала эффект, называемый вторичной эмиссией, для временного хранения электронных двоичных данных , и использовалась успешно на нескольких ранних компьютерах.
Описанный в ретроспективе 1998 года как маленький и примитивный, Baby был первой рабочей машиной, содержащей все элементы, необходимые для современного электронного компьютера. [111] Как только была продемонстрирована осуществимость своей конструкции, в университете был начат проект по разработке проекта в более удобный компьютер, Manchester Mark 1 . Mark 1, в свою очередь, быстро стал прототипом Ferranti Mark 1 , первого в мире коммерчески доступного компьютера общего назначения. [112]
Малыш имел длину слова 32 бита и память на 32 слова. Поскольку он был спроектирован как простейший компьютер с хранимой программой, единственными арифметическими операциями, реализованными на аппаратном уровне , были вычитание и отрицание ; другие арифметические операции были реализованы программно. Первая из трех программ, написанных для машины, нашла наибольший собственный делитель 2 18 (262 144), вычисление, которое, как было известно, заняло много времени - и, таким образом, доказало надежность компьютера - путем проверки каждого целого числа от 2 18 - 1. вниз, так как деление осуществлялось путем многократного вычитания делителя. Программа состояла из 17 инструкций и работала 52 минуты, прежде чем достигла правильного ответа в 131 072 после того, как Baby выполнил 3,5 миллиона операций (при эффективной скорости процессора 1,1 kIPS ). Последовательные приближения к ответу отображались в виде набора точек на выходной ЭЛТ , который отражал рисунок, хранящийся на трубке Вильямса, используемой для хранения.
SSEM привел к разработке Manchester Mark 1 в Манчестерском университете. [113] Работы начались в августе 1948 года, а первая версия была введена в эксплуатацию к апрелю 1949 года; программа, написанная для поиска простых чисел Мерсенна , работала без ошибок в течение девяти часов в ночь с 16 на 17 июня 1949 года. Успешная работа машины широко освещалась в британской прессе, которая использовала фразу «электронный мозг», описывая ее своим читатели.
Компьютер имеет особое историческое значение из-за новаторского включения индексных регистров — нововведения, которое облегчило программе последовательное чтение массива слов в памяти. В результате разработки машины было получено тридцать четыре патента, и многие идеи, лежащие в основе ее конструкции, были включены в последующие коммерческие продукты, такие как IBM 701 и 702 , а также Ferranti Mark 1. Главные конструкторы Фредерик К. Уильямс и Том Килберн. , на основании своего опыта работы с Mark 1 пришли к выводу, что компьютеры будут использоваться больше в научных целях, чем в чистой математике. В 1951 году они начали разработку Meg , преемника Mark 1, который будет включать в себя модуль вычислений с плавающей запятой .
Другим претендентом на звание первого узнаваемо современного цифрового компьютера с хранимой программой [114] был EDSAC , [115] спроектированный и построенный Морисом Уилксом и его командой в математической лаборатории Кембриджского университета в Англии в 1949 году. Машина была вдохновлена плодотворным Первым проектом отчета Джона фон Неймана о EDVAC и была одним из первых эффективно работающих электронных цифровых компьютеров с хранимой программой . [час]
EDSAC запустил свои первые программы 6 мая 1949 года, когда он рассчитал таблицу квадратов [118] и список простых чисел . EDSAC также послужил основой для первого коммерчески прикладного компьютера LEO I , используемого компанией по производству продуктов питания. J. Lyons & Co. Ltd. EDSAC 1 был окончательно закрыт 11 июля 1958 года, его заменил EDSAC 2, который использовался до 1965 года .
«Мозг» [компьютер] однажды может опуститься до нашего уровня [простых людей] и помочь нам с расчетами подоходного налога и бухгалтерским учетом. Но это предположения и пока никаких признаков этого нет.
- Британская газета The Star в новостной статье в июне 1949 года о компьютере EDSAC , задолго до эры персональных компьютеров. [120]
Изобретатели ENIAC Джон Мочли и Дж. Преспер Эккерт предложили конструкцию EDVAC в августе 1944 года, а проектные работы по EDVAC начались в Школе электротехники Мура Пенсильванского университета еще до того, как ENIAC был полностью введен в эксплуатацию. В конструкции реализован ряд важных архитектурных и логических усовершенствований, задуманных при создании ENIAC, а также высокоскоростная память с последовательным доступом . [105] Однако Эккерт и Моучли покинули проект, и его строительство застопорилось.
В конце концов он был доставлен в Лабораторию баллистических исследований армии США на Абердинском полигоне в августе 1949 года, но из-за ряда проблем компьютер начал работу только в 1951 году, и то лишь в ограниченном объеме.
Первым коммерческим компьютером был Ferranti Mark 1 , построенный компанией Ferranti и доставленный в Манчестерский университет в феврале 1951 года. Он был основан на Manchester Mark 1 . Основные улучшения по сравнению с Manchester Mark 1 заключались в размере первичной памяти (с использованием трубок Вильямса с произвольным доступом ), вторичной памяти (с использованием магнитного барабана ), более быстрого умножителя и дополнительных инструкций. Базовое время цикла составляло 1,2 миллисекунды, а умножение можно было выполнить примерно за 2,16 миллисекунды. В мультипликаторе использовалась почти четверть из 4050 электронных ламп (клапанов) машины. [121] Вторая машина была приобретена Университетом Торонто до того, как ее конструкция была изменена на Mark 1 Star . По крайней мере семь из этих более поздних машин были поставлены в период с 1953 по 1957 год, одна из них - в лаборатории Shell в Амстердаме. [122]
В октябре 1947 года директора J. Lyons & Company , британской кейтеринговой компании, известной своими чайными, но проявлявшей большой интерес к новым методам офисного управления, решили принять активное участие в содействии коммерческому развитию компьютеров. Компьютер LEO I (Lyons Electronic Office) вступил в строй в апреле 1951 года [123] и выполнил первую в мире регулярную рутинную офисную компьютерную работу . 17 ноября 1951 года компания Дж. Лайонса начала еженедельную работу по оценке хлебобулочных изделий на LEO - первом бизнес- приложении , запущенном на компьютере с хранимой программой. [я]
В июне 1951 года UNIVAC I (Универсальный автоматический компьютер) был доставлен в Бюро переписи населения США . В конечном итоге Remington Rand продала 46 машин по цене более 1 миллиона долларов США каждая (11,3 миллиона долларов по состоянию на 2024 год). [124] UNIVAC был первым компьютером массового производства. Он использовал 5200 электронных ламп и потреблялМощность 125 кВт . Его основным хранилищем были ртутные линии задержки с последовательным доступом , способные хранить 1000 слов из 11 десятичных цифр плюс знак (72-битные слова).
В 1952 году компания Compagnie des Machines Bull выпустила компьютер Gamma 3 , который имел большой успех в Европе, в конечном итоге было продано более 1200 единиц, а также первый компьютер, выпущенный тиражом более 1000 единиц. [125] Gamma 3 обладал инновационными для своего времени функциями, включая двухрежимный программно переключаемый формат BCD и двоичный ALU, а также встроенную библиотеку вычислений с плавающей запятой для научных вычислений. [125] В конфигурации ET барабанная память Gamma 3 могла вместить около 50 000 инструкций емкостью 16 384 слова (около 100 КБ), что для того времени было большим объемом. [125]
По сравнению с UNIVAC, IBM в 1954 году представила меньший по размеру и более доступный компьютер, который оказался очень популярным. [j] [127] IBM 650 весил более900 кг , подключенный блок питания весил около1350 кг , и оба хранились в отдельных шкафах размером примерно 1,5 × 0,9 × 1,8 м . Система стоила 500 000 долларов США [128] (5,45 миллиона долларов США по состоянию на 2024 год) или могла быть сдана в аренду за 3500 долларов США в месяц (40 000 долларов США по состоянию на 2024 год). [124] Его барабанная память первоначально составляла 2000 десятизначных слов, позже была расширена до 4000 слов. Ограничения памяти, подобные этому, стали доминировать в программировании десятилетия спустя. Инструкции программы извлекались из вращающегося барабана во время выполнения кода. Эффективное выполнение с использованием барабанной памяти обеспечивалось сочетанием аппаратной архитектуры (формат инструкции включал адрес следующей инструкции) и программного обеспечения: программа символической оптимальной сборки SOAP [129] назначала инструкции по оптимальным адресам (насколько это возможно). статическим анализом исходной программы). Таким образом, многие инструкции при необходимости располагались в следующей строке барабана, которую нужно было прочитать, и дополнительное время ожидания вращения барабана было сокращено.
В 1951 году британский учёный Морис Уилкс разработал концепцию микропрограммирования , осознав, что центральным процессором компьютера может управлять миниатюрная узкоспециализированная компьютерная программа в высокоскоростном ПЗУ . Микропрограммирование позволяет определять или расширять базовый набор команд с помощью встроенных программ (теперь называемых прошивкой или микрокодом ). [130] Эта концепция значительно упростила разработку ЦП. Впервые он описал это на инаугурационной компьютерной конференции Манчестерского университета в 1951 году, а затем опубликовал в расширенном виде в IEEE Spectrum в 1955 году .
Он широко использовался в процессорах и устройствах с плавающей запятой мэйнфреймов и других компьютеров; впервые он был реализован в EDSAC 2 , [131] который также использовал несколько идентичных «битовых срезов» для упрощения конструкции. Для каждого бита процессора использовались взаимозаменяемые, сменные трубки в сборе. [к]
Магнитно- барабанная память была разработана для ВМС США во время Второй мировой войны, а работа продолжалась в Engineering Research Associates (ERA) в 1946 и 1947 годах. ERA, тогда входившая в состав Univac, включила барабанную память в свою модель 1103 , анонсированную в феврале 1953 года. Первая Компьютер массового производства IBM 650 , также анонсированный в 1953 году, имел около 8,5 килобайт барабанной памяти.
Память на магнитном сердечнике была запатентована в 1949 году [133] , а ее первое использование было продемонстрировано для компьютера Whirlwind в августе 1953 года. [134] Коммерциализация последовала быстро. Магнитный сердечник использовался в периферийных устройствах IBM 702, поставленных в июле 1955 года, а затем и в самом IBM 702. IBM 704 (1955 г.) и Ferranti Mercury (1957 г.) использовали память на магнитном сердечнике. Она продолжала доминировать в этой области до 1970-х годов, когда на смену ей пришла полупроводниковая память. Максимальный объем производства магнитного сердечника пришелся примерно на 1975 год, после чего его использование и доля рынка снизились. [135]
Еще в 1980 году машины PDP-11/45, использующие основную память с магнитным сердечником и барабаны для подкачки, все еще использовались на многих первоначальных сайтах UNIX.
Биполярный транзистор был изобретен в 1947 году. С 1955 года транзисторы заменили электронные лампы в компьютерных конструкциях, [137] дав начало «второму поколению» компьютеров. По сравнению с электронными лампами транзисторы имеют много преимуществ: они меньше по размеру и требуют меньше энергии, чем электронные лампы, поэтому выделяют меньше тепла. Транзисторы с кремниевым переходом были намного надежнее электронных ламп и имели более длительный срок службы. Транзисторные компьютеры могут содержать десятки тысяч двоичных логических схем в относительно компактном пространстве. Транзисторы значительно уменьшили размер компьютеров, первоначальную стоимость и эксплуатационные расходы . Обычно компьютеры второго поколения состояли из большого количества печатных плат , таких как стандартная модульная система IBM , [138] каждая из которых содержала от одного до четырех логических элементов или триггеров .
В Манчестерском университете группа под руководством Тома Килберна спроектировала и построила машину, использующую недавно разработанные транзисторы вместо ламп. Первоначально единственными доступными устройствами были германиевые транзисторы с точечным контактом , менее надежные, чем лампы, которые они заменили, но потреблявшие гораздо меньше энергии. [139] Их первый транзисторный компьютер , и первый в мире, был введен в эксплуатацию к 1953 году , [140] а вторая версия была завершена там же в апреле 1955 года . [140] Версия 1955 года использовала 200 транзисторов, 1300 твердотельных диодов , и имел потребляемую мощность 150 Вт. Тем не менее, машина использовала лампы для генерации тактовых сигналов частотой 125 кГц, а также в схемах для чтения и записи в память на магнитном барабане, так что это был не первый полностью транзисторный компьютер.
Этой наградой обладает Harwell CADET 1955 года, [141] построенный отделом электроники Научно-исследовательского института атомной энергии в Харвелле . В конструкции использовался 64-килобайтный магнитный барабан памяти с несколькими движущимися головками, разработанный в Национальной физической лаборатории Великобритании . К 1953 году у этой команды были транзисторные схемы, работающие для чтения и записи на меньшем по размеру магнитном барабане из Королевского радиолокационного учреждения . Машина использовала низкую тактовую частоту всего 58 кГц, чтобы избежать необходимости использования каких-либо ламп для генерации тактовых сигналов. [142] [141]
CADET использовал транзисторы с 324 точками контакта, предоставленные британской компанией Standard Telephones and Cables ; В усилителях первого каскада для считывания данных с барабана было использовано 76 переходных транзисторов , так как точечные транзисторы были слишком шумными. С августа 1956 года CADET предлагал регулярные вычислительные услуги, в ходе которых часто выполнял непрерывные вычислительные работы продолжительностью 80 и более часов. [143] [144] Проблемы с надежностью ранних партий транзисторов с точечным контактом и легированным переходом означали, что среднее время наработки на отказ машины составляло около 90 минут, но ситуация улучшилась, когда стали доступны более надежные транзисторы с биполярным переходом . [145]
Проект транзисторного компьютера Манчестерского университета был принят местной инженерной фирмой Metropolitan-Vickers в их Metrovick 950 , первом коммерческом транзисторном компьютере в мире. [146] Было построено шесть Metrovick 950, первый из которых был построен в 1956 году. Они были успешно развернуты в различных подразделениях компании и использовались около пяти лет. [140] Компьютер второго поколения, IBM 1401 , захватил около трети мирового рынка. IBM установила более десяти тысяч 1401 в период с 1960 по 1964 год.
Транзисторная электроника улучшила не только ЦП (центральный процессор), но и периферийные устройства . Дисковые накопители данных второго поколения были способны хранить десятки миллионов букв и цифр. Рядом с фиксированными дисковыми накопителями, подключенными к ЦП посредством высокоскоростной передачи данных, находились съемные дисковые накопители данных. Съемный комплект дисков можно легко заменить на другой за несколько секунд. Даже если емкость съемных дисков меньше, чем у фиксированных, их взаимозаменяемость гарантирует практически неограниченное количество данных под рукой. Магнитная лента обеспечивала возможность архивирования этих данных при меньших затратах, чем диск.
Многие процессоры второго поколения делегировали связь с периферийными устройствами вторичному процессору. Например, в то время как коммуникационный процессор управлял чтением и перфорацией карты , основной процессор выполнял вычисления и инструкции двоичного перехода . Одна шина данных будет передавать данные между основным ЦП и основной памятью с частотой цикла выборки-выполнения ЦП , а другие шины данных обычно обслуживают периферийные устройства. На PDP-1 время цикла основной памяти составляло 5 микросекунд; следовательно, большинство арифметических инструкций занимало 10 микросекунд (100 000 операций в секунду), поскольку большинство операций требовало как минимум двух циклов памяти; один для инструкции, другой для выборки данных операнда .
Во втором поколении удаленные терминалы (часто в виде телепринтеров , таких как флексорайтер Friden ) стали широко использоваться. [l] Телефонная связь обеспечивала достаточную скорость для первых удаленных терминалов и позволяла разделять удаленные терминалы и вычислительный центр на сотни километров. В конечном итоге эти автономные компьютерные сети будут объединены во взаимосвязанную сеть сетей — Интернет. [м]
В начале 1960-х годов появились суперкомпьютеры . Атлас был совместной разработкой Манчестерского университета , Ферранти и Плесси , он был впервые установлен в Манчестерском университете и официально введен в эксплуатацию в 1962 году как один из первых в мире суперкомпьютеров , который в то время считался самым мощным компьютером в мире. . [149] Говорили, что всякий раз, когда Атлас отключался от сети, половина компьютерных мощностей Соединенного Королевства терялась. [150] Это была машина второго поколения, в которой использовались дискретные германиевые транзисторы . Компания Atlas также разработала Atlas Supervisor , «которую многие считают первой узнаваемой современной операционной системой ». [151]
В США серия компьютеров Control Data Corporation (CDC) была разработана Сеймуром Креем с использованием инновационных конструкций и параллелизма для достижения превосходной пиковой вычислительной производительности. [152] CDC 6600 , выпущенный в 1964 году, обычно считается первым суперкомпьютером. [153] [154] CDC 6600 превзошел своего предшественника, IBM 7030 Stretch , примерно в 3 раза. Имея производительность около 1 мегафлопс , CDC 6600 был самым быстрым компьютером в мире с 1964 по 1969 год, когда он отказался от этого статуса. его преемнику, CDC 7600 .
«Третье поколение» цифровых электронных компьютеров использовало интегральные схемы (ИС) в качестве основы своей логики.
Идея интегральной схемы была придумана ученым-радиологом, работающим в Королевском радиолокационном учреждении Министерства обороны , Джеффри В.А. Даммером .
Первые работающие интегральные схемы были изобретены Джеком Килби из Texas Instruments и Робертом Нойсом из Fairchild Semiconductor . [155] Килби записал свои первоначальные идеи относительно интегральной схемы в июле 1958 года, успешно продемонстрировав первый работающий пример интегральной схемы 12 сентября 1958 года. [156] Изобретением Килби была гибридная интегральная схема (гибридная ИС). [157] У него были внешние проводные соединения, что затрудняло массовое производство. [158]
Нойс придумал свою собственную идею интегральной схемы спустя полгода после Килби. [159] Изобретением Нойса была монолитная интегральная схема (ИС). [160] [158] Его чип решал многие практические проблемы, которых не было у Килби. Произведенный на Fairchild Semiconductor, он был изготовлен из кремния , тогда как чип Килби был изготовлен из германия . Основой монолитной ИС Нойса стал планарный процесс Фэйрчайлда , который позволял компоновать интегральные схемы с использованием тех же принципов, что и печатные схемы . Планарный процесс был разработан коллегой Нойса Жаном Эрни в начале 1959 года на основе работы Мохамеда М. Аталлы по пассивации поверхности полупроводников диоксидом кремния в Bell Labs в конце 1950-х годов. [161] [162] [163]
Компьютеры третьего поколения (интегральные схемы) впервые появились в начале 1960-х годов в компьютерах, разработанных для государственных целей, а затем, начиная с середины 1960-х годов, в коммерческих компьютерах. Первым компьютером с кремниевой интегральной схемой был компьютер управления Apollo или AGC. [164] Хотя это и не был самый мощный компьютер своего времени, крайние ограничения по размеру, массе и мощности космического корабля «Аполлон» требовали, чтобы AGC был намного меньше и плотнее, чем любой предыдущий компьютер, и весил всего 70 фунтов (32 кг). ). Каждая миссия по высадке на Луну имела два AGC, по одному в командном и лунном модулях.
МОП -транзистор (полевой транзистор металл-оксид-полупроводник, или МОП-транзистор) был изобретен Мохамедом М. Аталлой и Давоном Кангом в Bell Labs в 1959 году . [165] Помимо обработки данных, МОП-транзистор позволил практическое использование МОП-транзистора. Транзисторы в качестве запоминающих элементов ячеек памяти — функция, ранее выполнявшаяся магнитными сердечниками . Полупроводниковая память , также известная как МОП-память , была дешевле и потребляла меньше энергии, чем память с магнитным сердечником . [166] МОП -память с произвольным доступом (ОЗУ) в форме статической оперативной памяти (SRAM) была разработана Джоном Шмидтом из Fairchild Semiconductor в 1964 году . [166] [167] В 1966 году Роберт Деннард из IBM Thomas J. Исследовательский центр Уотсона разработал динамическую оперативную память МОП (DRAM). [168] В 1967 году Давон Кан и Саймон Сзе из Bell Labs разработали МОП-транзистор с плавающим затвором , ставший основой для МОП -энергонезависимой памяти, такой как EPROM , EEPROM и флэш-память . [169] [170]
«Четвертое поколение» цифровых электронных компьютеров использовало микропроцессоры в качестве основы своей логики. Микропроцессор берет свое начало от микросхемы интегральной схемы МОП (MOS IC). [171] Из-за быстрого масштабирования МОП-транзисторов сложность МОП-ИС микросхем быстро увеличивалась со скоростью, предсказанной законом Мура , что привело к крупномасштабной интеграции (БИС) с сотнями транзисторов на одном МОП-чипе к концу 1960-х годов. Применение микросхем MOS LSI для вычислений стало основой для первых микропроцессоров, поскольку инженеры начали осознавать, что полный компьютерный процессор может содержаться на одном чипе MOS LSI. [171]
Вопрос о том, какое именно устройство было первым микропроцессором, является спорным, отчасти из-за отсутствия согласия по точному определению термина «микропроцессор». Самыми ранними многокристальными микропроцессорами были Four-Phase Systems AL-1 в 1969 году и Garrett AiResearch MP944 в 1970 году, разработанные с использованием нескольких микросхем MOS LSI. [171] Первым однокристальным микропроцессором был Intel 4004 , [172] разработанный на одном чипе PMOS LSI. [171] Он был разработан и реализован Тедом Хоффом , Федерико Фаггином , Масатоши Шимой и Стэнли Мазором в Intel и выпущен в 1971 году. [n] Тадаши Сасаки и Масатоши Сима из компании Busicom , производителя калькуляторов, впервые поняли, что процессор может быть один чип MOS LSI, поставляемый Intel. [174] [172]
Хотя самые ранние микропроцессорные микросхемы буквально содержали только процессор, то есть центральный процессор компьютера, их прогрессивное развитие естественным образом привело к созданию микросхем, содержащих большую часть или все внутренние электронные части компьютера. Интегральная схема на изображении справа, например, Intel 8742, представляет собой 8-битный микроконтроллер , который включает в себя процессор, работающий на частоте 12 МГц, 128 байт ОЗУ , 2048 байт EPROM и устройства ввода-вывода в одном чипе. .
В 1960-е годы технологии второго и третьего поколений существенно пересекались. [o] IBM реализовала свои модули IBM Solid Logic Technology в гибридных схемах для IBM System / 360 в 1964 году. Еще в 1975 году Sperry Univac продолжала производство машин второго поколения, таких как UNIVAC 494. Большие системы Burroughs , такие как B5000 представляли собой стековые машины , что позволяло упростить программирование. Эти автоматы с выталкиванием вниз были позже реализованы в миникомпьютерах и микропроцессорах, что повлияло на разработку языков программирования. Миникомпьютеры служили недорогими компьютерными центрами для промышленности, бизнеса и университетов. [175] Стало возможным моделировать аналоговые схемы с помощью программы моделирования с акцентом на интегральные схемы , или SPICE (1971) на миникомпьютерах, одной из программ для автоматизации электронного проектирования ( EDA ). Микропроцессор привел к развитию микрокомпьютеров — небольших недорогих компьютеров, которыми могли владеть частные лица и малые предприятия. Микрокомпьютеры, первые из которых появились в 1970-х годах, стали повсеместными в 1980-х и далее.
Хотя какой конкретный продукт считается первой микрокомпьютерной системой, остается предметом споров, одним из первых является Micral N компании R2E ( Франсуа Жернель , Андре Труонг ), выпущенный «в начале 1973 года» с использованием Intel 8008. [176] Первый коммерчески доступный комплект микрокомпьютера. Был Altair 8800 на базе Intel 8080 , о котором было объявлено в январской 1975 года обложке журнала Popular Electronics . Однако на начальных стадиях Altair 8800 был чрезвычайно ограниченной системой: в исходном пакете он имел всего 256 байт DRAM и не имел ввода-вывода, за исключением тумблеров и светодиодного регистрового дисплея. Несмотря на это, поначалу он пользовался на удивление популярностью: в первый год было продано несколько сотен человек, а спрос быстро превысил предложение. Несколько первых сторонних поставщиков, таких как Cromemco и Processor Technology, вскоре начали поставлять дополнительное оборудование шины S-100 для Altair 8800.
В апреле 1975 года на Ганноверской ярмарке Olivetti представила P6060 , первую в мире полную, предварительно собранную персональную компьютерную систему. Центральный процессор состоял из двух карт под кодовыми названиями PUCE1 и PUCE2 и, в отличие от большинства других персональных компьютеров, был построен на основе TTL- компонентов, а не микропроцессора. Он имел один или два 8- дюймовых флоппи-дисковода , 32-символьный плазменный дисплей , графический термопринтер с 80 столбцами , 48 Кбайт оперативной памяти и язык BASIC . Он весил 40 кг (88 фунтов). Как законченная система, это было Это значительный шаг вперед по сравнению с Altair, хотя он никогда не достиг такого же успеха. Он конкурировал с аналогичным продуктом IBM, который имел внешний дисковод для гибких дисков.
С 1975 по 1977 год большинство микрокомпьютеров, таких как MOS Technology KIM-1 , Altair 8800 и некоторые версии Apple I , продавались в виде наборов для самостоятельного изготовления. Предварительно собранные системы не получили большого распространения до 1977 года, с появлением Apple II , Tandy TRS-80 , первых компьютеров SWTPC и Commodore PET . Вычисления развивались вместе с микрокомпьютерными архитектурами, в которые добавлялись функции от их более крупных собратьев, которые сейчас доминируют в большинстве сегментов рынка.
Компьютер NeXT и его объектно-ориентированные инструменты разработки и библиотеки использовались Тимом Бернерсом-Ли и Робертом Кайо в CERN для разработки первого в мире программного обеспечения веб-сервера CERN httpd , а также для написания первого веб-браузера WorldWideWeb .
Такие сложные системы, как компьютеры, требуют очень высокой надежности . ENIAC продолжал работать непрерывно с 1947 по 1955 год в течение восьми лет, прежде чем был остановлен. Хотя вакуумная трубка может выйти из строя, ее можно будет заменить, не выводя из строя систему. Благодаря простой стратегии никогда не выключать ENIAC количество сбоев было значительно уменьшено. Компьютеры противовоздушной обороны SAGE на электронных лампах стали удивительно надежными — их устанавливали парами, одна была отключена от сети, и лампы, скорее всего, выходили из строя, когда компьютер намеренно запускался на пониженной мощности, чтобы найти их. Жесткие диски с возможностью «горячей» замены, как и электронные лампы прошлых лет с возможностью «горячей» замены, продолжают традицию ремонта во время непрерывной работы. Полупроводниковая память обычно не имеет ошибок при работе, хотя операционные системы, такие как Unix, используют тесты памяти при запуске для обнаружения неисправного оборудования. Сегодня требования к надежной производительности становятся еще более строгими, когда платформой доставки являются серверные фермы . [177] Google удалось добиться этого, используя отказоустойчивое программное обеспечение для восстановления после аппаратных сбоев, и даже работает над концепцией замены целых ферм серверов «на лету», во время сервисного события. [178] [179]
В 21 веке многоядерные процессоры стали коммерчески доступны. [180] Контентно-адресуемая память (CAM) [181] стала достаточно недорогой, чтобы ее можно было использовать в сетях, и часто используется для встроенной кэш- памяти в современных микропроцессорах, хотя ни одна компьютерная система еще не реализовала аппаратные CAM для использования в программировании. языки. В настоящее время CAM (или ассоциативные массивы) в программном обеспечении зависят от языка программирования. Массивы ячеек полупроводниковой памяти представляют собой очень регулярные структуры, и производители проверяют на них свои процессы; это позволяет снизить цены на продукты памяти. В 1980-х годах логические элементы КМОП превратились в устройства, которые можно было изготавливать так же быстро, как и другие типы схем; Таким образом, энергопотребление компьютера может быть значительно снижено. В отличие от постоянного потребления тока вентиля на основе других типов логики, вентиль КМОП потребляет значительный ток, за исключением утечки, только во время «перехода» между логическими состояниями. [182]
КМОП-схемы позволили вычислительной технике стать повсеместным товаром , внедренным во многих формах , от поздравительных открыток и телефонов до спутников . Расчетная тепловая мощность , рассеиваемая во время работы, стала такой же важной, как и скорость вычислений. В 2006 году серверы потребляли 1,5% общего энергетического бюджета США [183]. Ожидалось, что к 2011 году потребление энергии компьютерными центрами обработки данных удвоится до 3% мирового потребления . интегральная схема в одном чипе; SoC позволяют телефонам и ПК объединяться в одно портативное беспроводное мобильное устройство . [184]
Квантовые вычисления — это новая технология в области вычислений. MIT Technology Review сообщил 10 ноября 2017 года, что IBM создала 50- кубитный компьютер; в настоящее время его квантовое состояние длится 50 микросекунд. [185] Исследователи Google смогли продлить временной лимит в 50 микросекунд, как сообщалось 14 июля 2021 года в журнале Nature ; [186] стабильность была увеличена в 100 раз за счет распределения одного логического кубита по цепочкам кубитов данных для квантовой коррекции ошибок . [186] 26 ноября 2018 года Physical Review X сообщил о методе «однозатворного зондирования как жизнеспособного метода считывания спиновых кубитов» (синглет-триплетное спиновое состояние в кремнии). [187] Команда Google преуспела в использовании своего Чип модулятора радиочастотных импульсов при температуре 3 К, упрощающий криогенику их 72-кубитного компьютера, который настроен на работу при температуре 0,3 К; но в криогенику осталось внедрить схему считывания и еще один драйвер. [188] [p] См.: Квантовое превосходство [190] [191] Системы кремниевых кубитов продемонстрировали запутанность на нелокальных расстояниях. [192]
Компьютерное оборудование и его программное обеспечение даже стали метафорой функционирования Вселенной. [193]
О быстроте развития этой области можно судить по истории основополагающей статьи Бёркса, Голдстайна и фон Неймана, опубликованной в 1947 году. [194] К тому времени, когда кто-нибудь успел что-либо записать, оно уже устарело. После 1945 года другие прочитали первый проект отчета Джона фон Неймана о EDVAC и сразу же начали внедрять свои собственные системы. По сей день во всем мире продолжаются быстрые темпы развития. [д] [р]
исчисления использовались в Ираке для примитивных систем учета еще в 3200–3000 гг. до н.э. с системами представления подсчета, специфичными для конкретных товаров. Сбалансированный учет использовался в 3000–2350 годах до нашей эры, а шестидесятеричная система счисления использовалась в 2350–2000 годах до нашей эры.
{{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка )