Файл: История развития средств вычислительной техники (Информационных технологий).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 610

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В XVI в. термин «счеты» еще не существовал – прибор назывался «дощаным счетом» (рис.4)[21]. Одним из самых ранних примеров такой «счета» были две соединенные между собой коробки, поровну разделенные по высоте перегородками. Каждая коробка имеет два счетных поля с натянутыми веревками или проводами. На верхних 10 веревках – 9 костей (четок), на 11-й – четыре из них, на остальных веревках – одна. Были и другие версии «дощаного счета».

Рисунок 4 – Дощаный счет

Русские счеты широко использовались в качестве учебного пособия для обучения элементарной арифметике. Благодаря известному французскому математику и механику Ж. Понселе, который познакомился со счетами в Саратове, будучи военнопленным офицером наполеоновской армии, подобный прибор появился во французских школах, а затем и в некоторых других европейских странах[22].

1.2 Механическая Эра (1623-1945).

Идея использования машин для решения математических задач прослеживается, по крайней мере, до начала XVII века.

Математиками, разработавшими и внедрившими калькуляторы, способные к сложению, вычитанию, умножению и делению, были Вильгельм Шикхард, Блез Паскаль и Готфрид Лейбниц[23].

Первым многоцелевым, то есть программируемым, вычислительным устройством, вероятно, была разностная машина Чарльза Бэббиджа, которая была начата в 1823 году, но так и не была завершена[24].

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

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

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

Машина, вдохновленная дизайном Бэббиджа, возможно, была первой, которая использовалась в вычислительной науке. Джордж Шойц прочитал о разностном двигателе в 1833 году, и вместе со своим сыном Эдвардом Шойцем начал работу над уменьшенной версией[25]. К 1853 году они построили машину, которая могла обрабатывать 15-значные числа и вычислять разности четвертого порядка. Их аппарат получил золотую медаль на Парижской выставке в 1855 году, а позже они продали его обсерватории Дадли в Олбани, штат Нью-Йорк, которая использовала его для расчета орбиты Марса[26].


Одним из первых коммерческих применений механических компьютеров было Бюро переписи населения США, которое использовало перфокарты, разработанные Германом Холлеритом для составления таблиц данных переписи 1890 года. В 1911 году компания Холлерита объединилась с конкурентом, чтобы основать корпорацию, которая в 1924 году стала международной бизнес-машиной[27].

2. Электронные Вычислительные Машины Первого Поколения (1937-1953).

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

Однако у электронных компонентов было одно важное преимущество: они могли «открываться» и «закрываться» примерно в 1000 раз быстрее, чем механические переключатели.

Д.В. Атанасов, профессор физики и математики в Университете штата Айова, предпринял первую попытку построить электронный компьютер в 1937 году[28].

Д.В. Атанасов решил построить машину, которая помогла бы его аспирантам решать системы уравнений в частных производных. К 1941 году ему и аспиранту Клиффорду Берри удалось построить машину, которая могла решать 29 одновременных уравнений с 29 неизвестными[29]. Однако машина не была программируемой и представляла собой скорее электронный калькулятор.

Второй ранней электронной машиной был Colossus, разработанный Аланом Тьюрингом для британских военных в 1943 году[30]. Эта машина сыграла важную роль в взломе кодов, используемых немецкой армией во время Второй мировой войны.

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


Первым программируемым электронным компьютером общего назначения был электронный числовой интегратор и компьютер (ENIAC), построенный Дж.Преспером Эккертом и Дж. В. Маучли в Пенсильванском университете.

Работа началась в 1943 году, финансируемая Департаментом боеприпасов армии, который нуждался в способе вычисления баллистики во время Второй мировой войны.

Машина не была завершена до 1945 года, но затем она широко использовалась для расчетов при проектировании водородной бомбы[31]. К моменту вывода его из эксплуатации в 1955 году он использовался для исследований по проектированию аэродинамических труб, генераторов случайных чисел и прогноза погоды.

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

ENIAC управлялся набором внешних переключателей и циферблатов; для изменения программы требовалось физически изменить настройки на этих элементах управления[32]. Эти средства управления также ограничивали скорость внутренних электронных операций. Благодаря использованию памяти, которая была достаточно большой, чтобы хранить как инструкции, так и данные, и, используя программу, хранящуюся в памяти для управления порядком арифметических операций, EDVAC смог работать на порядки быстрее, чем ENIAC. Храня инструкции на том же носителе, что и данные, проектировщики могли сконцентрироваться на улучшении внутренней структуры машины, не беспокоясь о ее соответствии скорости внешнего управления[33].

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

Идея использования чисел для представления функций была ключевым шагом, использованным Геделем в его теореме о неполноте в 1937 году, работе, с которой фон Нейман, как логик, был хорошо знаком[34]. Опыт фон Неймана в области логики в сочетании с навыками Эккерта и Мохли в области электротехники сформировали очень мощную междисциплинарную команду.


Технология программного обеспечения в этот период была очень примитивной. Первые программы были написаны машинным кодом, то есть программисты непосредственно записывали числа, соответствующие инструкциям, которые они хотели сохранить в памяти. К 1950-м годам программисты использовали символическую нотацию, известную как язык ассемблера, а затем вручную переводили символическую нотацию в машинный код. Более поздние программы, известные как ассемблеры, выполняли задачу перевода.

Какими бы примитивными они ни были, эти первые электронные машины были весьма полезны в прикладной науке и технике. Атанасов подсчитал, что потребуется восемь часов, чтобы решить набор уравнений с восемью неизвестными с помощью калькулятора Марчанта, и 381 час, чтобы решить 29 уравнений для 29 неизвестных[35]. Компьютер Атанасова-Берри смог выполнить эту задачу менее чем за час. Первая задача, выполненная на ENIAC, численное моделирование, используемое при проектировании водородной бомбы, потребовало 20 секунд, в отличие от сорока часов с использованием механических калькуляторов[36]. Позже Экерт и Мохли разработали, возможно, первый коммерчески успешный компьютер-UNIVAC; в 1952 году, через 45 минут после закрытия избирательных участков и подсчета 7% голосов, UNIVAC предсказал, что Эйзенхауэр победит Стивенсона с 438 голосами избирателей (в итоге он получил 442).

3. Второе Поколение (1954-1962).

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

Электронные переключатели в эту эпоху были основаны на дискретной диодной и транзисторной технологии с временем переключения приблизительно 0,3 микросекунды[37]. Первые машины, построенные с использованием этой технологии, включают TRADIC в Bell Laboratories в 1954 году и TX-0 в лаборатории Линкольна Массачусетского технологического института[38].

Технология памяти базировалась на магнитных сердечниках, доступ к которым осуществлялся в произвольном порядке, в отличие от ртутных линий задержки, в которых данные хранились в виде акустической волны, проходящей последовательно через носитель и доступной только при перемещении данных по интерфейсу ввода-вывода[39].


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

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

Во время этого второго поколения было введено много языков программирования высокого уровня, включая FORTRAN (1956), ALGOL (1958) и COBOL (1959)[40]. Важными коммерческими машинами этой эпохи являются IBM 704 и его преемники, 709 и 7094[41]. Последние ввели процессоры ввода-вывода для лучшей пропускной способности между устройствами ввода-вывода и основной памятью.

Второе поколение также увидело первые два суперкомпьютера, разработанные специально для числовой обработки в научных приложениях. Термин «суперкомпьютер» обычно используется для обозначения машины, которая на порядок мощнее других машин своей эпохи. Два автомата 1950-х годов заслуживают этого звания. Ливерморский атомный исследовательский компьютер (LARC) и IBM 7030 (он же Stretch) были ранними примерами машин, которые перекрывали операции памяти с операциями процессора и имели примитивные формы параллельной обработки[42].

4. Третье Поколение (1963-1972).

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

Первые интегральные схемы были основаны на схемах малой интеграции (SSI), которые имели около 10 устройств на схему (или «Чип»), и эволюционировали до использования схем средней интеграции (MSI), которые имели до 100 устройств на чип[43]. Были разработаны многослойные печатные схемы, и память ядра была заменена более быстрой, твердотельной памятью.