Компьютер

Страница полузащищенная
Из Википедии, бесплатной энциклопедии

Мужчина заменял одну вакуумную лампу из сотен в первом компьютере
Компьютерный зал с несколькими компьютерными шкафами и операционной панелью
Смартфон с радужным дисплеем, который можно держать в руке
Черный настольный компьютер с монитором сверху и клавиатурой спереди
Фиолетовая игровая консоль с подключенным контроллером
Ряды больших темных компьютерных шкафов в складской комнате
Компьютеры и вычислительные устройства разных эпох — слева направо, сверху вниз:

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

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

Первые компьютеры предназначались для использования только для вычислений. Простые ручные инструменты, такие как счеты, с древних времен помогали людям производить вычисления. В начале промышленной революции были созданы некоторые механические устройства для автоматизации длительных и утомительных задач, таких как создание направляющих для ткацких станков . более сложные электрические машины выполняли специализированные аналоговые В начале 20 века были разработаны первые цифровые электронные вычислительные машины вычисления. Во время 2-й мировой войны , как электромеханические , так и с использованием термоэмиссионных ламп . За первыми полупроводниковыми транзисторами в конце 1940-х годов последовали кремниевые ( МОП-транзисторы МОП-транзисторы) и технологии монолитных интегральных микросхем в конце 1950-х годов, что привело к микропроцессоров и революции микрокомпьютеров в 1970-х годах. С тех пор скорость, мощность и универсальность компьютеров резко возросли, при этом количество транзисторов увеличивалось быстрыми темпами ( закон Мура отмечает, что это число удваивается каждые два года), что привело к Цифровая революция конца 20-начала 21 веков.

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

Этимология

Человек-компьютер.
Человек -компьютер с микроскопом и калькулятором, 1952 год.

Лишь в середине 20 века это слово приобрело свое современное определение; Согласно Оксфордскому словарю английского языка , первое известное использование слова « компьютер» было в другом смысле, в книге « The Yong Mans Gleanings» английского писателя Ричарда Брэтуэйта 1613 года : «Я [ sic ] читал самый настоящий компьютер Times, и лучший арифметик, который когда-либо [ sic ] дышал, и он сокращает дни твои до короткого числа». Такое использование термина относилось к человеческому компьютеру , человеку, который выполнял расчеты или вычисления . Это слово сохраняло то же значение до середины 20 века. Во второй половине этого периода женщин часто нанимали в качестве компьютеров, потому что им могли платить меньше, чем их коллегам-мужчинам. [1] К 1943 году большинство людей-компьютеров составляли женщины. [2]

В онлайн-словаре этимологии приводится первое засвидетельствованное использование компьютера в 1640-х годах, что означает «тот, кто считает»; это «существительное агента от вычисления (v.)». В онлайн-словаре этимологии говорится, что этот термин в значении « вычислительная машина» (любого типа) используется с 1897 года. Онлайн -словарь этимологии указывает, что «современное использование» этого термина для обозначения «программируемого цифрового электронного компьютера» датируется «1945 годом под этим названием; [в] теоретическом [смысле] с 1937 года как машина Тьюринга ». [3] Название осталось, хотя современные компьютеры способны выполнять множество функций более высокого уровня.

История

До 20 века

Кость Ишанго , костяной инструмент , относящийся к доисторической Африке.

Устройства использовались для облегчения вычислений на протяжении тысячелетий, в основном используя прямую переписку с пальцами . Самое раннее счетное устройство, скорее всего, представляло собой форму счетной палочки . Более поздние средства ведения учета на территории Плодородного полумесяца включали исчисления (глиняные сферы, конусы и т. д.), которые представляли собой количество предметов, вероятно, домашнего скота или зерна, запечатанных в полых необожженных глиняных контейнерах. [а] [4] Одним из примеров является использование счетных стержней .

Китайский суанпан ( 算盘 ). Число, представленное на этих счетах, составляет 6 302 715 408.

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

Антикитерский механизм , возникший в Древней Греции примерно в 150–100 гг. до н. э., представляет собой раннее аналоговое вычислительное устройство.

считается механизм Антикитера самым ранним из известных механических аналоговых компьютеров . По словам Дерека Дж. де Соллы Прайса , [6] Он был разработан для расчета астрономических позиций. Он был обнаружен в 1901 году на месте крушения Антикитеры у греческого острова Антикитера , между Киферой и Критом , и был датирован примерно ок. 100 г. до н.э. Устройства, сравнимые по сложности с антикитерским механизмом, не появлялись до четырнадцатого века. [7]

Многие механические средства вычислений и измерений были созданы для астрономических и навигационных целей. Планисфера это звездная карта , изобретенная Абу Райханом аль-Бируни в начале 11 века. [8] Астролябия либо в I , была изобретена в эллинистическом мире либо во II веках до нашей эры, и ее часто приписывают Гиппарху . Комбинация планисферы и диоптры , астролябия фактически представляла собой аналоговый компьютер, способный решать несколько различных задач сферической астрономии . Астролябия с механическим календарным компьютером. [9] [10] и шестерни были изобретены Аби Бакром из Исфахана , Персия , в 1235 году. [11] Абу Райхан аль-Бируни изобрел первую астролябию с лунно-солнечным календарем с механическим приводом . [12] первая с фиксированной проводной связью машина обработки знаний [13] с зубчатой ​​передачей и шестернями, [14] в. 1000 год нашей эры .

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

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

линейка Логарифмическая

Логарифмическая линейка была изобретена около 1620–1630 годов английским священнослужителем Уильямом Отредом , вскоре после публикации понятия логарифма . Это аналоговый компьютер с ручным управлением, предназначенный для умножения и деления. По мере развития логарифмической линейки добавлялись шкалы, обеспечивающие обратные величины, квадраты и квадратные корни, кубы и кубические корни, а также трансцендентные функции , такие как логарифмы и экспоненты, круговая и гиперболическая тригонометрия и другие функции . Логизные линейки со специальными шкалами до сих пор используются для быстрого выполнения рутинных вычислений, например, круглая логарифмическая линейка E6B, используемая для расчета времени и расстояния на легких самолетах.

В 1770-х годах Пьер Жаке-Дро , швейцарский часовщик , построил механическую куклу ( автомат ), которая могла писать, держась за перо. Изменяя количество и порядок его внутренних колес, можно было создавать разные буквы и, следовательно, разные сообщения. По сути, его можно было механически «запрограммировать» на чтение инструкций. Вместе с двумя другими сложными машинами кукла находится в Музее искусства и истории в Невшателе , Швейцария , и работает до сих пор. [15]

В 1831–1835 годах математик и инженер Джованни Плана изобрел машину с вечным календарем , которая с помощью системы шкивов, цилиндров и более могла предсказывать вечный календарь на каждый год от 0 н. э. (то есть 1 до н. э.) до 4000 н. э. отслеживание високосных лет и различной продолжительности дня. Машина для прогнозирования приливов, изобретенная шотландским ученым сэром Уильямом Томсоном в 1872 году, оказала большую помощь в навигации на мелководье. Он использовал систему шкивов и проводов для автоматического расчета прогнозируемых уровней прилива на определенный период в определенном месте.

Дифференциальный анализатор , механический аналоговый компьютер, предназначенный для решения дифференциальных уравнений путем интегрирования , использовал механизмы колеса и диска для выполнения интегрирования. В 1876 году сэр Уильям Томсон уже обсуждал возможную конструкцию таких калькуляторов, но его остановил ограниченный выходной крутящий момент шарико -дисковых интеграторов . [16] В дифференциальном анализаторе выходные данные одного интегратора управляли входными данными следующего интегратора или отображали выходные данные в виде графика. Усилитель крутящего момента стал достижением, позволившим этим машинам работать. Начиная с 1920-х годов Ванневар Буш и другие разработали механические дифференциальные анализаторы.

В 1890-х годах испанский инженер Леонардо Торрес Кеведо начал разрабатывать серию усовершенствованных аналоговых машин , которые могли решать действительные и сложные корни многочленов . [17] [18] [19] [20] которые были опубликованы в 1901 году Парижской академией наук . [21]

Первый компьютер

Чарльз Бэббидж ок. 1850 г.
Разностная машина номер 2 в лаборатории Intellectual Ventures в Сиэтле.

Чарльз Бэббидж , английский инженер-механик и эрудит , придумал концепцию программируемого компьютера. Считается « отцом компьютера ». [22] он концептуализировал и изобрел первый механический компьютер в начале 19 века.

После работы над своей разностной машиной он объявил о своем изобретении в 1822 году в докладе Королевскому астрономическому обществу под названием «Заметка о применении машин для вычисления астрономических и математических таблиц». [23] он также разработал конструкцию, помогающую в навигационных расчетах, в 1833 году он понял, что гораздо более общая конструкция — аналитическая машина возможна . Ввод программ и данных должен был осуществляться в машину через перфокарты , метод, который использовался в то время для управления механическими ткацкими станками , такими как жаккардовые ткацкие станки . Для вывода у машины будет принтер, плоттер и звонок. Машина также сможет наносить числа на карты, чтобы их можно было прочитать позже. Двигатель включал в себя арифметико-логический блок , поток управления в форме условного ветвления и циклов , а также встроенную память , что делало его первой конструкцией компьютера общего назначения, которую в современных терминах можно было бы описать как полную по Тьюрингу . [24] [25]

Машина опередила свое время примерно на столетие. Все детали для его машины приходилось изготавливать вручную – это была серьезная проблема для устройства, состоящего из тысяч деталей. В конце концов, проект был распущен по решению британского правительства о прекращении финансирования. Неспособность Бэббиджа завершить аналитическую машину можно объяснить главным образом политическими и финансовыми трудностями, а также его желанием разработать все более совершенный компьютер и двигаться вперед быстрее, чем кто-либо другой мог бы последовать за ним. Тем не менее, его сын, Генри Бэббидж , в 1888 году завершил упрощенную версию вычислительного блока аналитической машины (мельницу ) . В 1906 году он успешно продемонстрировал ее использование в вычислительных таблицах.

Электромеханическая счетная машина

Электромеханический калькулятор (1920 г.) Леонардо Торреса Кеведо .

В своей работе «Очерки по автоматике» , опубликованной в 1914 году, Леонардо Торрес Кеведо написал краткую историю усилий Бэббиджа по созданию механической разностной машины и аналитической машины. Он описал аналитическую машину как пример своей теории о потенциальной мощности машин и воспринимает проблему разработки такой машины как вызов своим навыкам изобретателя электромеханических устройств. В статье представлена ​​конструкция машины, способной полностью автоматически вычислять значение формулы. , для последовательности наборов значений задействованных переменных. Вся машина должна была управляться программой, доступной только для чтения , которая была оснащена средствами условного ветвления . Он также представил идею арифметики с плавающей запятой . [26] [27] [28] В 1920 году, чтобы отпраздновать 100-летие изобретения арифмометра , Торрес представил в Париже электромеханический арифмометр , который состоял из арифметического устройства, подключенного к (возможно, удаленному) пишущей машинке, на которой можно было набирать команды и автоматически распечатывать результаты. [29] [30] [31] демонстрация возможности создания электромеханической аналитической машины. [32]

Аналоговые компьютеры

сэра Уильяма Томсона , 1879–1881 гг. Конструкция третьей машины для предсказания приливов и приливов

В первой половине 20-го века многие потребности в научных вычислениях удовлетворялись все более совершенными аналоговыми компьютерами, которые использовали прямую механическую или электрическую модель задачи в качестве основы для вычислений . Однако они не поддавались программированию и, как правило, не обладали универсальностью и точностью современных цифровых компьютеров. [33] Первым современным аналоговым компьютером была машина для прогнозирования приливов и отливов , изобретенная сэром Уильямом Томсоном (позже ставшим лордом Кельвином) в 1872 году. Дифференциальный анализатор — механический аналоговый компьютер, предназначенный для решения дифференциальных уравнений путем интегрирования с использованием колесно-дисковых механизмов. была концептуализирована в 1876 году Джеймсом Томсоном , старшим братом более известного сэра Уильяма Томсона. [16]

Искусство механических аналоговых вычислений достигло своего апогея с появлением дифференциального анализатора , созданного Х.Л. Хейзеном и Ванневаром Бушем в Массачусетском технологическом институте начиная с 1927 года. Он был основан на механических интеграторах Джеймса Томсона и усилителях крутящего момента, изобретенных Х.В. Ниманом. Дюжина таких устройств была построена до того, как их устаревание стало очевидным. К 1950-м годам успех цифровых электронных компьютеров положил конец большинству аналоговых вычислительных машин, но аналоговые компьютеры продолжали использоваться в 1950-е годы в некоторых специализированных приложениях, таких как образование ( логарифмическая линейка ) и авиация ( системы управления ).

Цифровые компьютеры

Электромеханический

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

Реплика Конрада Цузе , Z3 первого полностью автоматического цифрового (электромеханического) компьютера.

Ранние цифровые компьютеры были электромеханическими ; электрические переключатели приводили в действие механические реле для выполнения вычислений. Эти устройства имели низкую рабочую скорость и в конечном итоге были вытеснены гораздо более быстрыми полностью электрическими компьютерами, первоначально использовавшими электронные лампы . Z2 , созданный немецким инженером Конрадом Цузе в 1939 году в Берлине , был одним из первых примеров электромеханического релейного компьютера. [34]

Конрад Цузе , изобретатель современного компьютера [35] [36]

В 1941 году Цузе вслед за своей предыдущей машиной создал Z3 , первый в мире работающий электромеханический программируемый , полностью автоматический цифровой компьютер. [37] [38] Z3 был построен с 2000 реле 22 бита , реализующими длину слова и работающими на тактовой частоте около 5–10 Гц . [39] Программный код поставлялся на перфорированной пленке , а данные можно было хранить в 64 словах памяти или вводить с клавиатуры. В некоторых отношениях он был очень похож на современные машины и стал пионером в многочисленных достижениях, таких как числа с плавающей запятой . Вместо более сложной в реализации десятичной системы (использовавшейся в Чарльза Бэббиджа более ранней конструкции ) использование двоичной системы означало, что машины Цузе было легче построить и потенциально более надежными, учитывая технологии, доступные в то время. [40] Z3 сам по себе не был универсальным компьютером, но его можно было расширить до Тьюринга. [41] [42]

Следующий компьютер Цузе, Z4 , стал первым в мире коммерческим компьютером; после первоначальной задержки из-за Второй мировой войны он был завершен в 1950 году и доставлен в ETH Zurich . [43] Компьютер был изготовлен собственной компанией Цузе, Zuse KG , которая была основана в 1941 году как первая компания с единственной целью разработки компьютеров в Берлине. [43]

Электронные лампы и цифровые электронные схемы

Чисто электронные элементы схемы вскоре заменили их механические и электромеханические эквиваленты, в то же время цифровые вычисления заменили аналоговые. Инженер Томми Флауэрс , работавший на исследовательской станции почтового отделения в Лондоне в 1930-х годах, начал исследовать возможности использования электроники для телефонной станции . Экспериментальное оборудование, построенное им в 1934 году, вошло в эксплуатацию пять лет спустя, превратив часть телефонной сети в систему электронной обработки данных, использующую тысячи электронных ламп . [33] В США Джон Винсент Атанасов и Клиффорд Э. Берри из Университета штата Айова разработали и протестировали компьютер Атанасова-Берри (ABC) в 1942 году. [44] первый «автоматический электронный цифровой компьютер». [45] Эта конструкция также была полностью электронной и использовала около 300 электронных ламп с конденсаторами, закрепленными в механически вращающемся барабане для памяти. [46]

Компьютер «Колосс» видит двух женщин.
Колосс , первое электронное цифровое программируемое вычислительное устройство, использовалось для взлома немецких шифров во время Второй мировой войны. Здесь его можно увидеть в Блетчли-парке в 1943 году.

Во время Второй мировой войны британские взломщики кодов в Блетчли-парке добились ряда успехов во взломе зашифрованных немецких военных сообщений. Немецкая шифровальная машина «Энигма » сначала была атакована с помощью электромеханических бомб , которыми часто управляли женщины. [47] [48] Чтобы взломать более сложную немецкую машину Lorenz SZ 40/42 , используемую для армейской связи высокого уровня, Макс Ньюман и его коллеги поручили Флауэрсу построить « Колосс» . [46] С начала февраля 1943 года он потратил одиннадцать месяцев на проектирование и постройку первого Колосса. [49] После функциональных испытаний в декабре 1943 года «Колосс» был отправлен в Блетчли-Парк, куда он был доставлен 18 января 1944 года. [50] и атаковал свое первое сообщение 5 февраля. [46]

Colossus был первым в мире электронным цифровым программируемым компьютером. [33] В нем использовалось большое количество ламп (вакуумных трубок). Он имел ввод на бумажной ленте и мог быть настроен на выполнение различных логических операций над своими данными, но он не был полным по Тьюрингу. Было построено девять Mk II Colossus (Mk I был переоборудован в Mk II, всего было выпущено десять машин). Colossus Mark I содержал 1500 термоэмиссионных клапанов (трубок), но Mark II с 2400 клапанами был в пять раз быстрее и проще в эксплуатации, чем Mark I, что значительно ускоряло процесс декодирования. [51] [52]

ENIAC был первым электронным устройством, полным по Тьюрингу, которое выполняло баллистические расчеты траектории для армии США .

ЭНИАК [53] (Электронный числовой интегратор и компьютер) был первым электронным программируемым компьютером, построенным в США. Хотя ЭНИАК был похож на Колосса, он был намного быстрее, гибче и был полным по Тьюрингу. Как и в случае с Колоссом, «программа» ENIAC определялась состояниями его соединительных кабелей и переключателей, что сильно отличалось от электронных машин с хранимой программой , которые появились позже. После того как программа была написана, ее нужно было механически установить в машину с ручной переустановкой вилок и переключателей. Программистами ENIAC были шесть женщин, часто известных под общим названием «девочки ENIAC». [54] [55]

Он сочетал в себе высокую скорость электроники с возможностью программирования для решения многих сложных задач. Он мог складывать или вычитать 5000 раз в секунду, в тысячу раз быстрее, чем любая другая машина. В нем также были модули умножения, деления и извлечения квадратного корня. Высокоскоростная память была ограничена 20 словами (около 80 байт). Разработка и строительство ENIAC, построенного под руководством Джона Мочли и Дж. Преспера Эккерта в Пенсильванском университете, продолжались с 1943 года до полной эксплуатации в конце 1945 года. Машина была огромной, весила 30 тонн, потребляла 200 киловатт электроэнергии и содержал более 18 000 электронных ламп, 1500 реле и сотни тысяч резисторов, конденсаторов и катушек индуктивности. [56]

Современные компьютеры

Концепция современного компьютера

Принцип современного компьютера был предложен Аланом Тьюрингом в его основополагающей статье 1936 года: [57] О вычислимых числах . Тьюринг предложил простое устройство, которое он назвал «Универсальной вычислительной машиной» и которое теперь известно как универсальная машина Тьюринга . Он доказал, что такая машина способна вычислять все, что можно вычислить, выполняя инструкции (программы), хранящиеся на ленте, что позволяет программировать машину. Фундаментальной концепцией конструкции Тьюринга является хранимая программа , в которой все инструкции для вычислений хранятся в памяти. Фон Нейман признал, что центральная концепция современного компьютера возникла благодаря этой статье. [58] Машины Тьюринга по сей день являются центральным объектом изучения теории вычислений . За исключением ограничений, налагаемых их ограниченным объемом памяти, современные компьютеры считаются полными по Тьюрингу , то есть они обладают возможностями выполнения алгоритмов , эквивалентными универсальной машине Тьюринга.

Сохраненные программы

Три высокие стойки с электронными платами
Часть реконструированного Manchester Baby , первого электронного компьютера с хранимой программой.

Ранние вычислительные машины имели фиксированные программы. Изменение его функции потребовало перемонтажа и перестройки машины. [46] С появлением компьютера с хранимой программой ситуация изменилась. Компьютер с хранимой программой по своей конструкции включает в себя набор инструкций и может хранить в памяти набор инструкций ( программу ), подробно описывающих вычисления . Теоретическая основа компьютера с хранимой программой была заложена Аланом Тьюрингом в его статье 1936 года. В 1945 году Тьюринг присоединился к Национальной физической лаборатории и начал работу над разработкой электронного цифрового компьютера с хранимой программой. Его отчет 1945 года «Предлагаемый электронный калькулятор» был первой спецификацией такого устройства. Джон фон Нейман из Пенсильванского университета также распространил свой первый проект отчета о EDVAC в 1945 году. [33]

Manchester Baby был первым в мире компьютером с хранимой программой . Он был построен в Манчестерском университете в Англии Фредериком К. Уильямсом , Томом Килберном и Джеффом Тутиллом и запустил свою первую программу 21 июня 1948 года. [59] Он был разработан как испытательный стенд для трубки Уильямса , первого цифрового запоминающего устройства с произвольным доступом . [60] Хотя в ретроспективе 1998 года компьютер был описан как «маленький и примитивный», это была первая работающая машина, содержащая все элементы, необходимые для современного электронного компьютера. [61] Как только Baby продемонстрировал осуществимость своей конструкции, в университете начался проект по созданию из него практически полезного компьютера Manchester Mark 1 .

Mark 1, в свою очередь, быстро стал прототипом Ferranti Mark 1 , первого в мире коммерчески доступного компьютера общего назначения. [62] Построенный Ферранти , он был доставлен в Манчестерский университет в феврале 1951 года. По крайней мере семь из этих более поздних машин были доставлены в период с 1953 по 1957 год, одна из них - в лаборатории Shell в Амстердаме . [63] В октябре 1947 года директора британской кейтеринговой компании J. Lyons & Company решили принять активное участие в содействии коммерческому развитию компьютеров. компании Lyons Компьютер LEO I , созданный по образцу кембриджского EDSAC 1949 года, вступил в строй в апреле 1951 года. [64] и выполнил первую в мире рутинную работу на офисном компьютере .

Транзисторы

Биполярный транзистор (BJT)

Концепция полевого транзистора была предложена Юлиусом Эдгаром Лилиенфельдом в 1925 году. Джон Бардин и Уолтер Браттейн , работая под руководством Уильяма Шокли в Bell Labs , в 1947 году построили первый рабочий транзистор транзистор с точечным контактом , за которым последовали Шокли биполярным транзистором в 1948 году. [65] [66] С 1955 года транзисторы заменили электронные лампы в компьютерах, что привело к появлению «второго поколения» компьютеров. По сравнению с электронными лампами транзисторы имеют много преимуществ: они меньше по размеру и требуют меньше энергии, чем электронные лампы, поэтому выделяют меньше тепла. Соединительные транзисторы были намного надежнее электронных ламп и имели более длительный и неограниченный срок службы. Транзисторные компьютеры могут содержать десятки тысяч двоичных логических схем в относительно компактном пространстве. Однако первые переходные транзисторы были относительно громоздкими устройствами, которые было трудно производить в массовом производстве , что ограничивало их ряд специализированных применений. [67]

В Манчестерском университете группа под руководством Тома Килберна спроектировала и построила машину, использующую недавно разработанные транзисторы вместо ламп. [68] Их первый транзисторный компьютер и первый в мире был введен в эксплуатацию к 1953 году , а вторая версия была завершена там же в апреле 1955 года. Однако в машине использовались лампы для генерации тактовых импульсов частотой 125 кГц, а также в схемах для считывания и запись на его магнитном барабане памяти , поэтому это был не первый полностью транзисторный компьютер. Эта награда принадлежит Harwell CADET 1955 года. [69] построен отделом электроники Научно-исследовательского института атомной энергии в Харвелле . [69] [70]

МОП-транзистор (МОП-транзистор): клеммы затвора (G), корпуса (B), истока (S) и стока (D). Ворота отделены от корпуса изоляционным слоем (розового цвета).

( Полевой транзистор металл-оксид-кремний MOSFET), также известный как МОП-транзистор, был изобретен Мохамедом М. Аталлой и Давоном Кангом в Bell Labs в 1959 году. [71] Это был первый по-настоящему компактный транзистор, который можно было миниатюризировать и производить серийно для широкого спектра применений. [67] Благодаря высокой масштабируемости , [72] и гораздо более низкое энергопотребление и более высокая плотность, чем у транзисторов с биполярным переходом, [73] МОП-транзистор позволил создавать интегральные схемы высокой плотности . [74] [75] Помимо обработки данных, это также позволило практическое использование МОП-транзисторов в качестве элементов хранения ячеек памяти , что привело к разработке полупроводниковой МОП-памяти , которая заменила более раннюю память на магнитных сердечниках в компьютерах. MOSFET привел к революции в области микрокомпьютеров . [76] и стал движущей силой компьютерной революции . [77] [78] МОП-транзистор — наиболее широко используемый транзистор в компьютерах. [79] [80] и является фундаментальным строительным блоком цифровой электроники . [81]

Интегральные схемы

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

Следующим большим достижением в области вычислительной мощности стало появление интегральных схем (ИС). Идея интегральной схемы была впервые высказана ученым-радиологом, работающим в Королевском радиолокационном учреждении Министерства обороны , Джеффри В.А. Даммером . Даммер представил первое публичное описание интегральной схемы на Симпозиуме по прогрессу в области качественных электронных компонентов в Вашингтоне, округ Колумбия , 7 мая 1952 года. [82]

Первые работающие микросхемы были изобретены Джеком Килби из Texas Instruments и Робертом Нойсом из Fairchild Semiconductor . [83] Килби записал свои первоначальные идеи относительно интегральной схемы в июле 1958 года, успешно продемонстрировав первый работающий пример интегральной схемы 12 сентября 1958 года. [84] В своей заявке на патент от 6 февраля 1959 года Килби описал свое новое устройство как «корпус из полупроводникового материала… в котором все компоненты электронной схемы полностью интегрированы». [85] [86] Однако изобретением Килби была гибридная интегральная схема (гибридная ИС), а не монолитная интегральная схема (ИС). [87] Микросхема Килби имела внешние проводные соединения, что затрудняло ее массовое производство. [88]

Нойс также придумал свою собственную идею интегральной схемы на полгода позже Килби. [89] Изобретение Нойса стало первым по-настоящему монолитным микросхемой. [90] [88] Его чип решил многие практические проблемы, которых не было у Килби. Произведенный на Fairchild Semiconductor, он был изготовлен из кремния , тогда как чип Килби был изготовлен из германия . Монолитная ИС Нойса была изготовлена ​​с использованием планарного процесса , разработанного его коллегой Жаном Эрни в начале 1959 года. В свою очередь, планарный процесс был основан на работе Мохамеда М. Аталлы по пассивации поверхности полупроводников диоксидом кремния в конце 1950-х годов. [91] [92] [93]

Современные монолитные ИС представляют собой преимущественно МОП ( металл-оксид-полупроводник интегральные схемы ), построенные из МОП-транзисторов (МОП-транзисторов). [94] Самой ранней экспериментальной МОП-ИС, которая была изготовлена, была 16-транзисторная микросхема, созданная Фредом Хейманом и Стивеном Хофштейном в RCA в 1962 году. [95] Позже компания General Microelectronics представила первую коммерческую МОП-ИС в 1964 году. [96] разработан Робертом Норманом. [95] После разработки МОП-транзистора с самовыравнивающимся затвором (кремниевым затвором) Робертом Кервином, Дональдом Кляйном первую кремниевым затвором МОП-ИС с и самовыравнивающимися затворами. разработал и Джоном Сараче в Bell Labs в 1967 году Федерико Фаггин из Fairchild Полупроводник в 1968 году. [97] С тех пор MOSFET стал наиболее важным компонентом устройства в современных микросхемах. [94]

Фотография кристалла MOS 6502 , микропроцессора начала 1970-х годов, объединяющего 3500 транзисторов на одном кристалле.

Разработка интегральной схемы МОП привела к изобретению микропроцессора . [98] [99] и ознаменовал взрыв коммерческого и личного использования компьютеров. Хотя вопрос о том, какое именно устройство было первым микропроцессором, является спорным, отчасти из-за отсутствия согласия по точному определению термина «микропроцессор», в значительной степени неоспоримо, что первым однокристальным микропроцессором был Intel 4004 . [100] разработан и реализован Федерико Фаггином с использованием его технологии MOS IC с кремниевым затвором, [98] вместе с Тедом Хоффом , Масатоши Шимой и Стэнли Мазором из Intel . [б] [102] В начале 1970-х годов технология МОП-ИС позволила объединить более 10 000 транзисторов на одном кристалле. [75]

Система на чипе (SoC) — это полноценный компьютер на микрочипе (или чипе) размером с монету. [103] Они могут иметь или не иметь встроенную оперативную и флэш-память . Если ОЗУ не интегрировано, ОЗУ обычно размещается непосредственно над (так называемым « Пакет на упаковке ») или под (на противоположной стороне печатной платы ) SoC, а флэш-память обычно размещается рядом с SoC, и все это делается для того, чтобы повысить скорость передачи данных, поскольку сигналам данных не приходится преодолевать большие расстояния. Со времен ENIAC в 1945 году компьютеры значительно продвинулись вперед: современные SoC (такие как Snapdragon 865) имеют размер монеты, но при этом в сотни тысяч раз мощнее ENIAC, объединяют миллиарды транзисторов и потребляют всего несколько ватт. власти.

Мобильные компьютеры

Первые мобильные компьютеры были тяжелыми и работали от сети. весом 50 фунтов (23 кг) IBM 5100 был ранним примером. Более поздние портативные компьютеры, такие как Osborne 1 и Compaq Portable , были значительно легче, но их все равно нужно было подключать к сети. Первые ноутбуки, такие как Grid Compass , устранили это требование за счет включения батарей, а также с продолжающейся миниатюризацией вычислительных ресурсов и развитием портативных устройств. Время автономной работы, популярность портативных компьютеров в 2000-х годах возросла. [104] Те же разработки позволили производителям интегрировать вычислительные ресурсы в сотовые мобильные телефоны к началу 2000-х годов.

Эти смартфоны и планшеты работают под управлением различных операционных систем и в последнее время стали доминирующими вычислительными устройствами на рынке. [105] Они питаются от системы на чипе (SoC), которая представляет собой полноценный компьютер на микрочипе размером с монету. [103]

Типы

Компьютеры можно классифицировать по разным признакам, в том числе:

По архитектуре

По размеру, форм-фактору и назначению

Аппаратное обеспечение

Видео, демонстрирующее стандартные компоненты «тонкого» компьютера

Термин «аппаратное обеспечение» охватывает все те части компьютера, которые являются материальными физическими объектами. Схемы , компьютерные чипы, графические карты, звуковые карты, память (ОЗУ), материнская плата, дисплеи, блоки питания, кабели, клавиатуры, принтеры и устройства ввода «мыши» — все это аппаратные средства.

История вычислительной техники

Первое поколение
(механический/электромеханический)
Калькуляторы Калькулятор Паскаля , Арифмометр , Разностная машина , Аналитические машины Кеведо.
Программируемые устройства Жаккардовый ткацкий станок , Аналитическая машина , IBM ASCC/Harvard Mark I , Harvard Mark II , IBM SSEC , Z1 , Z2 , Z3
Второе поколение
(вакуумные трубки)
Калькуляторы Компьютер Атанасова – Берри , IBM 604 , UNIVAC 60 , UNIVAC 120
Программируемые устройства Колосс , ENIAC , Manchester Baby , EDSAC , Manchester Mark 1 , Ferranti Pegasus , Ferranti Mercury , CSIRAC , EDVAC , UNIVAC I , IBM 701 , IBM 702 , IBM 650 , Z22
Третье поколение
(дискретные транзисторы SSI, MSI, LSI и интегральные схемы )
Мэйнфреймы IBM 7090 , IBM 7080 , IBM System/360 , BUNCH
Мини-компьютер HP 2116A , IBM System/32 , IBM System/36 , LINC , PDP-8 , PDP-11
Настольный компьютер ХП 9100
Четвертое поколение
( СБИС ) интегральные схемы
Мини-компьютер ВАКС , IBM AS/400
4-битный микрокомпьютер Интел 4004 , Интел 4040
8-битный микрокомпьютер Intel 8008 , Intel 8080 , Motorola 6800 , Motorola 6809 , технология MOS 6502 , Zilog Z80
16-битный микрокомпьютер Интел 8088 , Зилог З8000 , ВДК 65816/65802
32-битный микрокомпьютер Intel 80386 , Pentium , Motorola 68000 , ARM
64-битный микрокомпьютер [с] Альфа , MIPS , PA-RISC , PowerPC , SPARC , x86-64 , ARMv8-A
Встраиваемый компьютер Интел 8048 , Интел 8051
Персональный компьютер Настольный компьютер , Домашний компьютер , Портативный компьютер, Персональный цифровой помощник (КПК), Портативный компьютер , Планшетный ПК , Носимый компьютер
Теоретический/экспериментальный Квантовый компьютер IBM Q Система Один
Химический компьютер
ДНК-вычисления
Оптический компьютер
спинтроники Компьютер на основе
Мокрые программы/Органический компьютер

Другие темы об оборудовании

Периферийное устройство ( ввод/вывод ) Вход Мышь , клавиатура , джойстик , сканер изображений , веб-камера , графический планшет , микрофон
Выход Монитор , принтер , динамик
Оба гибких дисков Дисковод , жесткий диск , привод оптических дисков , телетайп
Компьютерные автобусы На короткие расстояния RS-232 , SCSI , PCI , USB
Большой радиус действия ( компьютерная сеть ) Ethernet , банкомат , FDDI

Компьютер общего назначения состоит из четырех основных компонентов: арифметико-логического устройства (АЛУ), блока управления , памяти и устройств ввода и вывода (вместе называемых вводом-выводом). Эти части соединены между собой шинами , часто состоящими из групп проводов . Внутри каждой из этих частей находятся от тысяч до триллионов небольших электрических цепей , которые можно включать и выключать с помощью электронного переключателя . Каждая схема представляет бит (двоичную цифру) информации, поэтому, когда схема включена, она представляет «1», а когда выключена, она представляет «0» (в представлении положительной логики). Схемы организованы в виде логических элементов , так что одна или несколько схем могут управлять состоянием одной или нескольких других схем.

Устройства ввода

Когда необработанные данные передаются на компьютер с помощью устройств ввода, данные обрабатываются и отправляются на устройства вывода. Устройства ввода могут быть ручными или автоматизированными. Процесс обработки в основном регулируется процессором. Некоторые примеры устройств ввода:

Устройства вывода

Средства, с помощью которых компьютер выдает выходные данные, известны как устройства вывода. Некоторые примеры устройств вывода:

Устройство управления

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

Блок управления (часто называемый системой управления или центральным контроллером) управляет различными компонентами компьютера; он читает и интерпретирует (декодирует) инструкции программы, преобразуя их в управляющие сигналы, которые активируют другие части компьютера. [д] Системы управления в современных компьютерах могут изменять порядок выполнения некоторых инструкций для повышения производительности.

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

Функция системы управления заключается в следующем — это упрощенное описание, и некоторые из этих шагов могут выполняться одновременно или в другом порядке в зависимости от типа ЦП:

  1. Считайте код следующей инструкции из ячейки, указанной программным счетчиком.
  2. Декодируйте цифровой код инструкции в набор команд или сигналов для каждой из других систем.
  3. Увеличьте счетчик программ, чтобы он указывал на следующую инструкцию.
  4. Считайте любые данные, необходимые инструкции, из ячеек памяти (или, возможно, из устройства ввода). Местоположение этих необходимых данных обычно хранится в коде инструкции.
  5. Предоставьте необходимые данные в АЛУ или зарегистрируйте.
  6. Если для выполнения инструкции требуется АЛУ или специализированное оборудование, дайте команду оборудованию выполнить запрошенную операцию.
  7. Запишите результат из АЛУ обратно в ячейку памяти, в регистр или, возможно, на устройство вывода.
  8. Вернитесь к шагу (1).

Поскольку программный счетчик (концептуально) представляет собой просто еще один набор ячеек памяти, его можно изменить посредством вычислений, выполняемых в АЛУ. Добавление 100 к счетчику программы приведет к чтению следующей инструкции с места, находящегося на 100 позиций дальше по программе. Инструкции, которые изменяют счетчик программ, часто называются «переходами» и допускают циклы (инструкции, которые повторяются компьютером) и часто условное выполнение инструкций (оба примера потока управления ).

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

Центральный процессор (ЦП)

Блок управления, АЛУ и регистры вместе называются центральным процессором (ЦП). Ранние процессоры состояли из множества отдельных компонентов. С 1970-х годов центральные процессоры обычно создавались на базе одной интегральной микросхемы МОП, называемой микропроцессором .

Арифметико-логическое устройство (АЛУ)

АЛУ способно выполнять два класса операций: арифметические и логические. [110] Набор арифметических операций, поддерживаемых конкретным АЛУ, может быть ограничен сложением и вычитанием или может включать в себя умножение, деление, тригонометрические функции, такие как синус, косинус и т. д., а также квадратные корни . Некоторые могут работать только с целыми числами ( целыми числами ), в то время как другие используют плавающую запятую для представления действительных чисел , хотя и с ограниченной точностью. Однако любой компьютер, способный выполнять только самые простые операции, можно запрограммировать так, чтобы разбивать более сложные операции на простые шаги, которые он может выполнить. Следовательно, любой компьютер можно запрограммировать на выполнение любой арифметической операции, хотя это займет больше времени, если его АЛУ не поддерживает эту операцию напрямую. АЛУ также может сравнивать числа и возвращать логические значения истинности (истина или ложь) в зависимости от того, равно ли одно другому, больше или меньше («64 больше, чем 65?»). Логические операции включают булеву логику : AND , OR , XOR и NOT . Они могут быть полезны для создания сложных условные операторы и обработка логической логики .

Суперскалярные компьютеры могут содержать несколько ALU, что позволяет им обрабатывать несколько инструкций одновременно. [111] Графические процессоры и компьютеры с функциями SIMD и MIMD часто содержат ALU, которые могут выполнять арифметические операции с векторами и матрицами .

Память

Память на магнитных сердечниках (с использованием магнитных сердечников ) была компьютерной памятью в 1960-х годах, пока она не была заменена полупроводниковой памятью (с использованием МОП ячеек памяти ).

Память компьютера можно рассматривать как список ячеек, в которые можно помещать или читать числа. Каждая ячейка имеет пронумерованный «адрес» и может хранить одно число. Компьютеру можно дать указание «поместить число 123 в ячейку с номером 1357» или «прибавить число, находящееся в ячейке 1357, к числу, находящемуся в ячейке 2468, и поместить ответ в ячейку 1595». Информация, хранящаяся в памяти, может представлять собой практически что угодно. Буквы, цифры и даже компьютерные инструкции можно с одинаковой легкостью поместить в память. Поскольку ЦП не различает разные типы информации, ответственность программного обеспечения заключается в том, чтобы придать значение тому, что память воспринимает как не что иное, как серию чисел.

Почти во всех современных компьютерах каждая ячейка памяти настроена на хранение двоичных чисел группами по восемь бит (называемыми байтами ). Каждый байт может представлять 256 различных чисел (2 8 = 256); либо от 0 до 255, либо от -128 до +127. Для хранения больших чисел можно использовать несколько последовательных байтов (обычно два, четыре или восемь). Когда требуются отрицательные числа, они обычно сохраняются в виде дополнения до двух . Возможны и другие варианты, но они обычно не рассматриваются вне специализированных приложений или исторического контекста. Компьютер может хранить в памяти любой вид информации, если ее можно представить в числовом виде. Современные компьютеры имеют миллиарды или даже триллионы байт памяти.

ЦП содержит специальный набор ячеек памяти, называемых регистрами , которые можно читать и записывать гораздо быстрее, чем в область основной памяти. Обычно имеется от двух до ста регистров в зависимости от типа ЦП. Регистры используются для наиболее часто используемых элементов данных, чтобы избежать необходимости обращаться к основной памяти каждый раз, когда необходимы данные. Поскольку обработка данных ведется постоянно, уменьшение необходимости доступа к основной памяти (которая часто медленнее по сравнению с АЛУ и блоками управления) значительно увеличивает скорость компьютера.

Основная память компьютера бывает двух основных разновидностей:

Оперативная память может быть прочитана и записана в любое время, когда процессор подает ей команду, но в ПЗУ предварительно загружены данные и программное обеспечение, которые никогда не изменяются, поэтому ЦП может только читать из нее. ПЗУ обычно используется для хранения инструкций по первоначальному запуску компьютера. Как правило, содержимое ОЗУ стирается при отключении питания компьютера, но ПЗУ сохраняет свои данные на неопределенный срок. В ПК ПЗУ содержит специализированную программу, называемую BIOS, которая компьютера организует загрузку операционной системы с жесткого диска в ОЗУ при каждом включении или перезагрузке компьютера. Во встроенных компьютерах , которые часто не имеют дисковых накопителей, все необходимое программное обеспечение может храниться в ПЗУ. Программное обеспечение, хранящееся в ПЗУ, часто называют прошивкой , поскольку теоретически оно больше похоже на аппаратное обеспечение, чем на программное обеспечение. Флэш-память стирает различие между ПЗУ и ОЗУ, поскольку сохраняет данные при выключении, но при этом может перезаписываться. Однако обычно он намного медленнее, чем обычные ПЗУ и ОЗУ, поэтому его использование ограничено приложениями, где высокая скорость не требуется. [ф]

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

Ввод/вывод (В/В)

Жесткие диски — это распространенные устройства хранения данных, используемые в компьютерах.

Ввод-вывод — это средство, с помощью которого компьютер обменивается информацией с внешним миром. [113] Устройства, обеспечивающие ввод или вывод данных в компьютер, называются периферийными устройствами . [114] На типичном персональном компьютере периферийные устройства включают в себя устройства ввода, такие как клавиатура и мышь , и устройства вывода, такие как дисплей и принтер . Жесткие диски , дисководы гибких дисков и приводы оптических дисков служат устройствами ввода и вывода. Компьютерные сети — это еще одна форма ввода-вывода. Устройства ввода-вывода часто сами по себе представляют собой сложные компьютеры с собственным процессором и памятью. Графический процессор может содержать пятьдесят или более крошечных компьютеров, выполняющих вычисления, необходимые для отображения 3D-графики . [ нужна цитата ] Современные настольные компьютеры содержат множество компьютеров меньшего размера, которые помогают главному процессору выполнять ввод-вывод. Плоский экран 2016 года выпуска содержит собственную компьютерную схему.

Многозадачность

Хотя компьютер можно рассматривать как запускающую одну гигантскую программу, хранящуюся в его основной памяти, в некоторых системах необходимо создать видимость одновременного запуска нескольких программ. Это достигается за счет многозадачности, то есть быстрого переключения компьютера между запуском каждой программы по очереди. [115] Одним из способов, с помощью которого это делается, является специальный сигнал, называемый прерыванием , который может периодически заставлять компьютер прекращать выполнение инструкций там, где он был, и вместо этого делать что-то другое. Помня, где оно выполнялось до прерывания, компьютер может вернуться к этой задаче позже. Если несколько программ запущены «одновременно». тогда генератор прерываний может вызывать несколько сотен прерываний в секунду, каждый раз вызывая переключение программы. Поскольку современные компьютеры обычно выполняют инструкции на несколько порядков быстрее, чем человеческое восприятие, может показаться, что одновременно выполняется множество программ, хотя в любой момент времени выполняется только одна. Этот метод многозадачности иногда называют «разделением времени», поскольку каждой программе по очереди выделяется «кусок» времени. [116]

До наступления эры недорогих компьютеров основное применение многозадачности заключалось в том, чтобы позволить множеству людей использовать один и тот же компьютер. Казалось бы, многозадачность приведет к тому, что компьютер, переключающийся между несколькими программами, будет работать медленнее, прямо пропорционально количеству запущенных на нем программ, но большинство программ тратят большую часть своего времени в ожидании, пока медленные устройства ввода-вывода завершат свои задачи. Если программа ожидает, пока пользователь щелкнет мышью или нажмет клавишу на клавиатуре, то она не будет принимать «отрезок времени», пока не произойдет событие , которого она ожидает. Это освобождает время для выполнения других программ, поэтому многие программы могут выполняться одновременно без неприемлемой потери скорости.

Многопроцессорность

Крэй разработал множество суперкомпьютеров, активно использующих многопроцессорную обработку.

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

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

Программное обеспечение

Программное обеспечение — это части компьютера, не имеющие материальной формы, такие как программы, данные, протоколы и т. д. Программное обеспечение — это та часть компьютерной системы, которая состоит из закодированной информации или компьютерных инструкций, в отличие от физического оборудования , из которого система построена. Компьютерное программное обеспечение включает в себя компьютерные программы, библиотеки и связанные с ними неисполняемые данные , такие как онлайн-документация или цифровые носители . Его часто делят на системное программное обеспечение и прикладное программное обеспечение . Компьютерное оборудование и программное обеспечение требуют друг друга, и ни одно из них невозможно использовать отдельно. Когда программное обеспечение хранится на аппаратном обеспечении, которое невозможно легко модифицировать, например, в BIOS ПЗУ на компьютере , совместимом с IBM PC , его иногда называют «прошивкой».

Операционная система /Системное программное обеспечение Юникс и БСД UNIX System V , IBM AIX , HP-UX , Solaris ( SunOS ), IRIX , Список операционных систем BSD
Линукс Список дистрибутивов Linux , Сравнение дистрибутивов Linux
Майкрософт Виндоус Windows 95 , Windows 98 , Windows NT , Windows 2000 , Windows ME , Windows XP , Windows Vista , Windows 7 , Windows 8 , Windows 8.1 , Windows 10 , Windows 11
ПРИНАДЛЕЖАЩИЙ 86-DOS (QDOS), IBM PC DOS , MS-DOS , DR-DOS , FreeDOS
Операционные системы Макинтош Классическая Mac OS , macOS (ранее OS X и Mac OS X)
Встроенное и в режиме реального времени Список встроенных операционных систем
Экспериментальный Амеба , Оберон AOS, Bluebottle, A2 , План 9 от Bell Labs
Библиотека Мультимедиа DirectX , OpenGL , OpenAL , Вулкан (API)
Библиотека программирования Стандартная библиотека C , Стандартная библиотека шаблонов
Данные Протокол TCP/IP , Кермит , FTP , HTTP , SMTP
Формат файла HTML , XML , JPEG , MPEG , PNG
Пользовательский интерфейс Графический интерфейс пользователя ( WIMP ) Microsoft Windows , GNOME , KDE , QNX Photon, CDE , GEM , Aqua
Текстовый пользовательский интерфейс Интерфейс командной строки , текстовый пользовательский интерфейс
Программное обеспечение Офисная одежда Текстовый процессор , Настольные издательские системы , Программа для презентаций , Система управления базами данных , Планирование и управление временем, Электронные таблицы , Программное обеспечение для бухгалтерского учета
Доступ в Интернет Браузер , Почтовый клиент , Веб-сервер , Агент передачи почты , Мгновенные сообщения
Проектирование и производство Компьютерное проектирование , Автоматизированное производство , Управление производством, Робототехническое производство, Управление цепочками поставок
Графика Редактор растровой графики , Редактор векторной графики , Разработчик 3D-моделей , Редактор анимации , 3D-компьютерная графика , Монтаж видео , Обработка изображений
Аудио Цифровой аудиоредактор , Воспроизведение звука , Сведение , Синтез звука , Компьютерная музыка
Программная инженерия Компилятор , Ассемблер , Интерпретатор , Отладчик , Текстовый редактор , Интегрированная среда разработки , Анализ производительности программного обеспечения , Контроль версий , Управление конфигурацией программного обеспечения
Образовательный Edutainment , Обучающая игра , Серьезная игра , Симулятор полета
Игры Стратегии , Аркады , Головоломки , Симуляторы , Шутер от первого лица , Платформер , ММО , Текстовая игра
Разное Искусственный интеллект , Антивирусное программное обеспечение , Сканер вредоносных программ , Установщик / Системы управления пакетами , Файловый менеджер

Языки

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

Языки программирования
Списки языков программирования Хронология языков программирования , Список языков программирования по категориям , Список поколений языков программирования , Список языков программирования , Языки программирования, не основанные на английском языке
Часто используемые языки ассемблера ARM , MIPS , x86
Часто используемые языки программирования высокого уровня Ада , BASIC , C , C++ , C# , COBOL , Фортран , PL/I , REXX , Java , Lisp , Паскаль , Object Pascal
Часто используемые языки сценариев Сценарий Борна , JavaScript , Python , Ruby , PHP , Perl

Программы

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

Архитектура хранимой программы

Реплика Manchester Baby , первого в мире электронного компьютера с хранимой программой , в Музее науки и промышленности в Манчестере, Англия.

Этот раздел относится к наиболее распространенным компьютерам с оперативной памятью .

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

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

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

  начало: 
   addi   $8  ,   $0  ,   0             # инициализируем сумму до 0 
   addi   $9  ,   $0  ,   1             # устанавливаем первое число для добавления = 1 
   цикл: 
   slti   $10  ,   $9  ,   1000         # проверяем, меньше ли число 1000, 
   начиная с   $10  ,   $0  ,   Finish        # если нечетное число больше n, то выходим из 
   add   $8  ,   $8  ,   $9             # обновляем сумму 
   addi   $9  ,   $9  ,   1             # получаем следующее число 
   j   цикл                     # повторяем процесс суммирования 
   завершаем: 
   добавляем   $2  ,   $8  ,   $0             # помещаем сумму в выходной регистр 

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

Машинный код

В большинстве компьютеров отдельные инструкции хранятся в виде машинного кода , причем каждой инструкции присваивается уникальный номер (код операции или для краткости код операции ). Команда сложения двух чисел будет иметь один код операции; команда их умножения будет иметь другой код операции и так далее. Простейшие компьютеры способны выполнять любую из нескольких различных инструкций; более сложные компьютеры имеют на выбор несколько сотен, каждый из которых имеет уникальный числовой код. Поскольку память компьютера способна хранить числа, она также может хранить коды инструкций. Это приводит к тому важному факту, что целые программы (которые представляют собой всего лишь списки этих инструкций) могут быть представлены в виде списков чисел, и ими можно манипулировать внутри компьютера так же, как и числовыми данными. Фундаментальная концепция хранения программ в памяти компьютера вместе с данными, с которыми они работают, составляет суть архитектуры фон Неймана, или хранимой программы. [118] [119] В некоторых случаях компьютер может хранить часть или всю свою программу в памяти отдельно от данных, с которыми он работает. Это называется Гарвардской архитектурой в честь Harvard Mark I. компьютера Современные компьютеры фон Неймана в своей конструкции демонстрируют некоторые черты гарвардской архитектуры, например, кэш-память ЦП .

Хотя можно писать компьютерные программы в виде длинных списков чисел ( машинный язык ), и хотя этот метод использовался на многих ранних компьютерах, [час] на практике это чрезвычайно утомительно и потенциально чревато ошибками, особенно для сложных программ. Вместо этого каждой базовой инструкции можно дать короткое имя, указывающее на ее функцию и легко запоминающееся – мнемоническое обозначение , такое как ADD, SUB, MULT или JUMP. компьютера» Эта мнемоника известна под общим названием « язык ассемблера . Преобразование программ, написанных на языке ассемблера, в то, что компьютер действительно может понять (машинный язык), обычно выполняется с помощью компьютерной программы, называемой ассемблером.

1970-х годов, Перфокарта содержащая одну строку из программы на Фортране . На карте написано: «Z(1) = Y + W(1)» и для целей идентификации имеется маркировка «PROJ039».

Язык программирования

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

Языки низкого уровня

Машинные языки и языки ассемблера, которые их представляют (совместно называемые языками программирования низкого уровня ), как правило, уникальны для конкретной архитектуры центрального процессора компьютера ( ЦП ). Например, процессор с архитектурой ARM (который можно найти в смартфоне или портативной видеоигре ) не может понимать машинный язык процессора x86 , который может быть в ПК . [я] Исторически было создано и широко использовалось значительное количество других архитектур процессоров, в частности, MOS Technology 6502 и 6510 в дополнение к Zilog Z80.

Языки высокого уровня

Написание длинных программ на языке ассемблера, хотя и значительно проще, чем на машинном языке, часто представляет собой трудную задачу, а также подвержено ошибкам. Поэтому большинство практических программ пишутся на более абстрактных языках программирования высокого уровня , которые способны более удобно выражать потребности программиста ( и тем самым помогают уменьшить ошибки программиста). Языки высокого уровня обычно «компилируются» в машинный язык (или иногда в язык ассемблера, а затем в машинный язык) с помощью другой компьютерной программы, называемой компилятором . [Дж] Языки высокого уровня меньше связаны с работой целевого компьютера, чем язык ассемблера, и больше связаны с языком и структурой проблемы (проблем), которые должна решить конечная программа. Поэтому часто можно использовать разные компиляторы для перевода одной и той же программы на языке высокого уровня на машинный язык множества разных типов компьютеров. Это часть средств, с помощью которых программное обеспечение, такое как видеоигры, может быть доступно для различных компьютерных архитектур, таких как персональные компьютеры и различные игровые консоли .

Дизайн программы

Разработка небольших программ относительно проста и включает в себя анализ проблемы, сбор входных данных, использование программных конструкций внутри языков, разработку или использование установленных процедур и алгоритмов, предоставление данных для устройств вывода и решений проблемы, если это применимо. [120] По мере того, как проблемы становятся больше и сложнее, возникают такие функции, как подпрограммы, модули, формальная документация и новые парадигмы, такие как объектно-ориентированное программирование. [121] Большие программы, включающие тысячи строк кода и более, требуют формальных методологий программного обеспечения. [122] Задача разработки больших программных систем представляет собой серьезную интеллектуальную задачу. [123] Производство программного обеспечения с приемлемо высокой надежностью в рамках предсказуемого графика и бюджета исторически было трудным; [124] академическая и профессиональная дисциплина разработки программного обеспечения сосредоточена именно на этой задаче. [125]

Ошибки

Настоящая первая компьютерная ошибка: мотылек, обнаруженный на реле Harvard Mark II. компьютера

Ошибки в компьютерных программах называются « багами ». Они могут быть безобидными и не влиять на полезность программы или иметь лишь незначительные последствия. Однако в некоторых случаях они могут привести к тому, что программа или вся система « зависнут », перестанут реагировать на вводимые данные, такие как щелчки мыши или нажатия клавиш, полностью перестанут работать или дадут сбой . [126] В противном случае неопасные ошибки иногда могут быть использованы со злым умыслом недобросовестным пользователем, написавшим эксплойт , код, предназначенный для того, чтобы воспользоваться ошибкой и нарушить правильную работу компьютера. Ошибки обычно возникают не по вине компьютера. Поскольку компьютеры просто выполняют данные им инструкции, ошибки почти всегда являются результатом ошибок программиста или недосмотра, допущенного при разработке программы. [к] Адмиралу Грейс Хоппер , американскому ученому-компьютерщику и разработчику первого компилятора , приписывают первое использование термина «ошибки» в вычислениях после того, как в сентябре 1947 года была обнаружена дохлая моль, закоротившая реле в компьютере Harvard Mark II . [127]

Сети и Интернет

Визуализация части маршрутов в Интернете

Компьютеры использовались для координации информации между несколькими местами с 1950-х годов. вооруженных сил США Система SAGE стала первым крупномасштабным примером такой системы, что привело к созданию ряда коммерческих систем специального назначения, таких как Sabre . [128] В 1970-х годах компьютерные инженеры исследовательских институтов по всей территории США начали объединять свои компьютеры с помощью телекоммуникационных технологий. Эта работа финансировалась ARPA (ныне DARPA ), а созданная в результате компьютерная сеть получила название ARPANET . [129] Технологии, которые сделали возможным Arpanet, распространялись и развивались.

Со временем сеть распространилась за пределы академических и военных учреждений и стала известна как Интернет. Появление сетей повлекло за собой переопределение природы и границ компьютера. Компьютерные операционные системы и приложения были модифицированы, чтобы включить возможность определять и получать доступ к ресурсам других компьютеров в сети, таким как периферийные устройства, хранимая информация и т.п., как расширения ресурсов отдельного компьютера. Первоначально эти возможности были доступны в первую очередь людям, работающим в высокотехнологичных средах, но в 1990-х годах распространение таких приложений, как электронная почта и Всемирная паутина , в сочетании с развитием дешевых и быстрых сетевых технологий, таких как Ethernet и ADSL, привело к созданию компьютерных сетей. стали почти повсеместными. Фактически, количество компьютеров, подключенных к сети, растет феноменально. Очень большая часть персональных компьютеров регулярно подключаются к Интернету для общения и получения информации. «Беспроводные» сети, часто использующие сети мобильных телефонов, привели к тому, что сетевые технологии становятся все более повсеместными даже в средах мобильных компьютеров.

Нетрадиционные компьютеры

Компьютер не обязательно должен быть электронным , иметь процессор , оперативную память или даже жесткий диск . Хотя популярное использование слова «компьютер» является синонимом персонального электронного компьютера, [л] Типичное современное определение компьютера таково: « Вычислительное устройство , особенно программируемая [обычно] электронная машина, выполняющая высокоскоростные математические или логические операции или собирающая, хранящая, сопоставляющая или иным образом обрабатывающая информацию». [130] Согласно этому определению, любое устройство, обрабатывающее информацию, квалифицируется как компьютер.

Будущее

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

Парадигмы компьютерной архитектуры

Существует множество типов компьютерных архитектур :

Из всех этих абстрактных машин квантовый компьютер является наиболее многообещающим для революции в вычислениях. [131] Логические вентили — это распространенная абстракция, которая может применяться к большинству вышеупомянутых цифровых или аналоговых парадигм. Способность хранить и выполнять списки инструкций, называемых программами, делает компьютеры чрезвычайно универсальными, отличая их от калькуляторов . Тезис Чёрча-Тьюринга представляет собой математическое утверждение этой универсальности: любой компьютер с минимальными возможностями (будучи полным по Тьюрингу) в принципе способен выполнять те же задачи, что и любой другой компьютер. Таким образом, любой тип компьютера ( нетбук , суперкомпьютер , клеточный автомат и т. д.) способен выполнять одни и те же вычислительные задачи, если имеется достаточно времени и емкости памяти.

Искусственный интеллект

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

Профессии и организации

Поскольку использование компьютеров распространилось по всему обществу, растет число профессий, связанных с компьютерами.

Профессии, связанные с компьютером
Аппаратное обеспечение Электротехника , Электронная инженерия , Компьютерная инженерия , Телекоммуникационная инженерия , Оптическая инженерия , Наноинженерия
Программное обеспечение Информатика , Компьютерная инженерия , Настольная издательская деятельность , Взаимодействие человека и компьютера , Информационные технологии , Информационные системы , Вычислительная наука , Разработка программного обеспечения , Индустрия видеоигр , Веб-дизайн

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

Организации
Группы стандартов ANSI , IEC , IEEE , IETF , ISO , W3C
Профессиональные общества АСМ , АИС , ИЭПП , ИФИП , БКС
бесплатного / открытого программного обеспечения Группы Фонд свободного программного обеспечения , Фонд Mozilla , Фонд программного обеспечения Apache

Смотрите также

Примечания

  1. ^ Согласно Шмандту-Бессерату 1981 , эти глиняные контейнеры содержали жетоны, общее количество которых представляло собой количество передаваемых объектов. Таким образом, контейнеры служили чем-то вроде коносамента или бухгалтерской книги. Чтобы избежать вскрытия контейнеров, сначала для подсчета снаружи контейнеров клали глиняные оттиски жетонов; формы отпечатков были абстрагированы в стилизованные знаки; наконец, абстрактные знаки систематически использовались как цифры; эти цифры были окончательно оформлены как числа.
    В конце концов отметки на внешней стороне контейнеров оказались всем необходимым для записи счета, а глиняные контейнеры превратились в глиняные таблички с отметками для счета. По оценкам Шмандта-Бессерата, 1999 г., на это ушло 4000 лет.
  2. ^ Размер кристалла Intel 4004 (1971) составлял 12 мм. 2 , состоящий из 2300 транзисторов; для сравнения, у Pentium Pro был 306 мм. 2 , состоящий из 5,5 миллионов транзисторов. [101]
  3. ^ Большинство основных 64-битных архитектур набора команд являются расширениями более ранних разработок. Все архитектуры, перечисленные в этой таблице, за исключением Alpha, существовали в 32-битных формах до появления их 64-битных воплощений.
  4. ^ Роль блока управления в интерпретации инструкций в прошлом несколько менялась. Хотя в большинстве современных компьютеров за интерпретацию инструкций отвечает исключительно блок управления, это не всегда так. Некоторые компьютеры имеют инструкции, которые частично интерпретируются блоком управления, а дальнейшая интерпретация выполняется другим устройством. Например, EDVAC , один из первых компьютеров с хранимой программой, использовал центральный блок управления, который интерпретировал только четыре инструкции. Все арифметические инструкции передавались в его арифметический блок и далее декодировались там.
  5. ^ Инструкции часто занимают более одного адреса памяти, поэтому счетчик программ обычно увеличивается на количество ячеек памяти, необходимых для хранения одной инструкции.
  6. ^ Флэш-память также может перезаписываться только ограниченное количество раз, прежде чем она изнашивается, что делает ее менее полезной для интенсивного использования с произвольным доступом. [112]
  7. ^ Однако также очень распространено создание суперкомпьютеров из множества дешёвых аппаратных средств; обычно отдельные компьютеры, соединенные сетями. Эти так называемые компьютерные кластеры часто могут обеспечить производительность суперкомпьютера при гораздо меньших затратах, чем индивидуальные конструкции. Хотя в большинстве самых мощных суперкомпьютеров по-прежнему используются специальные архитектуры, в последние годы наблюдается распространение кластерных компьютеров. [117]
  8. ^ Даже некоторые более поздние компьютеры обычно программировались непосредственно в машинном коде. Некоторые миникомпьютеры, такие как DEC PDP-8, можно было программировать непосредственно с панели переключателей. Однако этот метод обычно использовался только как часть процесса загрузки . Большинство современных компьютеров загружаются полностью автоматически, считывая загрузочную программу из энергонезависимой памяти .
  9. ^ Однако иногда между разными компьютерами существует некоторая форма совместимости машинного языка. Микропроцессор , совместимый с x86-64 , например AMD Athlon 64, способен запускать большинство тех же программ, что и микропроцессор Intel Core 2 , а также программы, разработанные для более ранних микропроцессоров, таких как Intel Pentium и Intel 80486 . Это контрастирует с очень ранними коммерческими компьютерами, которые часто были единственными в своем роде и совершенно несовместимыми с другими компьютерами.
  10. ^ Языки высокого уровня также часто интерпретируются , а не компилируются. Интерпретируемые языки переводятся в машинный код во время работы другой программой, называемой интерпретатором .
  11. ^ Не всегда верно, что ошибки возникают исключительно из-за недосмотра программистов. Компьютерное оборудование может выйти из строя или иметь фундаментальную проблему, которая в определенных ситуациях приводит к неожиданным результатам. Например, ошибка Pentium FDIV привела к тому, что некоторые Intel микропроцессоры в начале 1990-х годов выдавали неточные результаты для некоторых с плавающей запятой операций деления . Это было вызвано ошибкой в ​​конструкции микропроцессора и привело к частичному отзыву затронутых устройств.
  12. ^ Согласно Краткому Оксфордскому словарю английского языка (6-е изд., 2007 г.), слово « компьютер» восходит к середине 17 века, когда оно относилось к «человеку, который производит расчеты; в частности, к человеку, работающему для этого в обсерватории и т. д.».

Рекомендации

  1. ^ Эванс 2018 , с. 23.
  2. ^ Смит 2013 , с. 6.
  3. ^ «компьютер (сущ.)» . Интернет-словарь этимологии . Архивировано из оригинала 16 ноября 2016 года . Проверено 19 августа 2021 г.
  4. ^ Робсон, Элеонора (2008). Математика в Древнем Ираке . Издательство Принстонского университета. п. 5. ISBN  978-0-691-09182-2 . : исчисления использовались в Ираке для примитивных систем бухгалтерского учета еще в 3200–3000 годах до нашей эры, с системами представления подсчета, специфичными для конкретных товаров. Сбалансированный учет использовался в 3000–2350 годах до нашей эры, а шестидесятеричная система счисления использовалась в 2350–2000 годах до нашей эры.
  5. ^ Флегг, Грэм. (1989). Числа сквозь века . Хаундмиллс, Бейзингсток, Хэмпшир: Macmillan Education. ISBN  0-333-49130-0 . OCLC   24660570 .
  6. ^ Проект исследования антикитерского механизма. Архивировано 28 апреля 2008 г. в Wayback Machine , Исследовательский проект антикитерского механизма. Проверено 1 июля 2007 г.
  7. ^ Марчант, Джо (1 ноября 2006 г.). «В поисках утраченного времени» . Природа . 444 (7119): 534–538. Бибкод : 2006Natur.444..534M . дои : 10.1038/444534a . ПМИД   17136067 . S2CID   4305761 .
  8. ^ Г. Вит, В. Елисеев, П. Вольф, Дж. Науду (1975). История человечества, Том 3: Великие средневековые цивилизации , с. 649. Джордж Аллен и Анвин Лтд., ЮНЕСКО .
  9. ^ Фуат Сезгин «Каталог выставки Института истории арабо-исламской науки (в Университете Иоганна Вольфганга Гете», Франкфурт, Германия) Франкфуртская книжная ярмарка 2004, стр. 35 и 38.
  10. ^ Шаретт, Франсуа (2006). «Археология: Высокие технологии Древней Греции» . Природа . 444 (7119): 551–552. Бибкод : 2006Natur.444..551C . дои : 10.1038/444551a . ПМИД   17136077 . S2CID   33513516 .
  11. ^ Бедини, Сильвио А.; Мэддисон, Фрэнсис Р. (1966). «Механическая вселенная: Астрариум Джованни де Донди». Труды Американского философского общества . 56 (5): 1–69. дои : 10.2307/1006002 . JSTOR   1006002 .
  12. ^ Прайс, Дерек де С. (1984). «История счетных машин». IEEE микро . 4 (1): 22–52. дои : 10.1109/MM.1984.291305 .
  13. ^ Орен, Тунцер (2001). «Достижения в области компьютерных и информационных наук: от счетов к холоническим агентам» (PDF) . Тюрк Дж. Элек Энгин . 9 (1): 63–70. Архивировано (PDF) из оригинала 15 сентября 2009 г. Проверено 21 апреля 2016 г.
  14. ^ Дональд Рутледж Хилл (1985). «Механический календарь Аль-Бируни», Annals of Science 42 , стр. 139–163.
  15. ^ «Писатель-автомат, Швейцария» . chonday.com. 11 июля 2013 года. Архивировано из оригинала 20 февраля 2015 года . Проверено 28 января 2015 г.
  16. ^ Перейти обратно: а б Рэй Гирван, «Раскрытое изящество механизма: вычисления после Бэббиджа». Архивировано 3 ноября 2012 г. в Wayback Machine , Scientific Computing World , май/июнь 2003 г.
  17. ^ Торрес, Леонардо (10 октября 1895 г.). «Память на алгебраических машинах» (PDF) . Revista de Obras Públicas (на испанском языке) (28): 217–222.
  18. ^ Леонардо Торрес. Отчет об алгебраических машинах: с отчетом Королевской академии точных, физических и естественных наук , Мизерикордия, 1895 г.
  19. ^ Томас, Федерико (1 августа 2008 г.). «Краткий отчет о бесконечном веретене Леонардо Торреса» . Теория механизма и машин . 43 (8). IFToMM : 1055–1063. doi : 10.1016/j.mechmachtheory.2007.07.003 . hdl : 10261/30460 . ISSN   0094-114X .
  20. ^ Гомес-Хореги, Валентин; Гутьеррес-Гарсия, Андрес; Гонсалес-Редондо, Франсиско А.; Иглесиас, Мигель; Манчадо, Кристина; Отеро, Сезар (1 июня 2022 г.). «Механический калькулятор Торреса Кеведо для уравнений второй степени с комплексными коэффициентами» . Теория механизма и машин . 172 (8). IFToMM : 104830. doi : 10.1016/j.mechmachtheory.2022.104830 . hdl : 10902/24391 . S2CID   247503677 .
  21. ^ Торрес Кеведо, Леонардо (1901). «Счетные машины» . Мемуары, представленные различными учеными Академии наук Института Франции (на французском языке). XXXII . Распечатать национальный (Париж).
  22. ^ Халаси, Дэниел Стивен (1970). Чарльз Бэббидж, отец компьютера . Кроуэлл-Коллиер Пресс. ISBN  978-0-02-741370-0 .
  23. ^ О'Коннор, Джон Дж.; Робертсон, Эдмунд Ф. (1998). «Чарльз Бэббидж» . MacTutor Архив истории математики . Школа математики и статистики, Университет Сент-Эндрюс, Шотландия. Архивировано из оригинала 16 июня 2006 года . Проверено 14 июня 2006 г.
  24. ^ «Бэббидж» . Интернет-штуки . Музей науки. 19 января 2007 года. Архивировано из оригинала 7 августа 2012 года . Проверено 1 августа 2012 г.
  25. ^ Грэм-Камминг, Джон (23 декабря 2010 г.). «Давайте создадим совершенный механический компьютер Бэббиджа» . мнение . Новый учёный. Архивировано из оригинала 5 августа 2012 года . Проверено 1 августа 2012 г.
  26. ^ Л. Торрес Кеведо. Очерки автоматики – ее определение. Теоретическое расширение его приложений, Журнал Академии Точных Наук, Журнал 12, стр. 391–418, 1914.
  27. ^ Торрес Кеведо, Леонардо. Автомат: Дополнение к теории машин, (pdf) , стр. 575–583, Журнал общественных работ, 19 ноября 1914 г.
  28. ^ Рональд Т. Кнезель. Числа и компьютеры , Springer, стр. 84–85, 2017 г. ISBN   978-3-319-50508-4
  29. ^ Рэнделл 1982 , с. 6, 11–13.
  30. ^ Б. Рэнделл. Электромеханическая вычислительная машина, «Происхождение цифровых компьютеров», стр. 109–120, 1982.
  31. ^ Бромли 1990 .
  32. ^ Рэнделл, Брайан. Цифровые компьютеры, История происхождения, (pdf) , с. 545, Цифровые компьютеры: происхождение, Энциклопедия информатики, январь 2003 г.
  33. ^ Перейти обратно: а б с д Современная история вычислительной техники . Стэнфордская энциклопедия философии. 2017. Архивировано из оригинала 12 июля 2010 года . Проверено 7 января 2014 г.
  34. ^ Цузе, Хорст. «Часть 4: Компьютеры Конрада Цузе Z1 и Z3» . Жизнь и творчество Конрада Цузе . ЭПЭ онлайн. Архивировано из оригинала 1 июня 2008 года . Проверено 17 июня 2008 г.
  35. ^ Беллис, Мэри (15 мая 2019 г.) [Впервые опубликовано в 2006 г. на сайте изобретателей.about.com/library/weekly/aa050298.htm]. «Биография Конрада Цузе, изобретателя и программиста первых компьютеров» . thinkco.com . Дотдаш Мередит. Архивировано из оригинала 13 декабря 2020 года . Проверено 3 февраля 2021 г. Конрад Цузе получил полуофициальный титул «изобретатель современного компьютера». [ ВОЗ? ]
  36. ^ «Кто отец компьютера?» . КомпьютерНадежда .
  37. ^ Цузе, Конрад (2010) [1984]. Компьютер - моя жизнь. Перевод Маккенны, Патриции и Росс, Дж. Эндрю из: Компьютер, дело моей жизни (1984) . Берлин/Гейдельберг: Springer Verlag. ISBN  978-3-642-08151-4 .
  38. ^ Зальц Траутман, Пегги (20 апреля 1994 г.). «Пионер компьютеров, заново открытый, 50 лет спустя» . Нью-Йорк Таймс . Архивировано из оригинала 4 ноября 2016 года . Проверено 15 февраля 2017 г.
  39. ^ Цузе, Конрад (1993). Компьютер. Дело моей жизни (на немецком языке) (3-е изд.). Берлин: Springer Verlag. п. 55. ИСБН  978-3-540-56292-4 .
  40. ^ «Авария! История ЭТОГО: Цузе» . Архивировано из оригинала 18 сентября 2016 года . Проверено 1 июня 2016 г.
  41. ^ Рохас, Р. (1998). «Как сделать Zuse Z3 универсальным компьютером». IEEE Анналы истории вычислений . 20 (3): 51–54. дои : 10.1109/85.707574 . S2CID   14606587 .
  42. ^ Рохас, Рауль. «Как сделать Z3 Zuse универсальным компьютером» (PDF) . fu-berlin.de . Архивировано (PDF) из оригинала 9 августа 2017 года . Проверено 28 сентября 2015 г.
  43. ^ Перейти обратно: а б О'Риган, Джерард (2010). Краткая история вычислений . Спрингер Природа. п. 65. ИСБН  978-3-030-66599-9 .
  44. ^ "уведомление". Регистр Де-Мойна . 15 января 1941 года.
  45. ^ Артур В. Беркс (1989). Первый электронный компьютер . Издательство Мичиганского университета. ISBN  0-472-08104-7 . Проверено 1 июня 2019 г.
  46. ^ Перейти обратно: а б с д Коупленд, Джек (2006). Колосс: Секреты компьютеров для взлома кодов в Блетчли-Парке . Оксфорд: Издательство Оксфордского университета . стр. 101–115. ISBN  978-0-19-284055-4 .
  47. ^ Миллер, Джо (10 ноября 2014 г.). «Женщина, взломавшая шифры «Энигмы»» . Новости BBC . Архивировано из оригинала 10 ноября 2014 года . Проверено 14 октября 2018 г.
  48. ^ Беарн, Сюзанна (24 июля 2018 г.). «Познакомьтесь с женщинами-взломщиками кодов из Блетчли-Парка» . Хранитель . Архивировано из оригинала 7 февраля 2019 года . Проверено 14 октября 2018 г.
  49. ^ «Колосс Блетчли для взлома кодов» . Би-би-си . Архивировано из оригинала 4 февраля 2010 года . Проверено 24 ноября 2021 г.
  50. ^ «Колосс – История восстановления» . Национальный музей вычислительной техники . Архивировано из оригинала 18 апреля 2015 года . Проверено 7 января 2014 г.
  51. ^ Рэнделл, Брайан ; Фенсом, Гарри; Милн, Фрэнк А. (15 марта 1995 г.). «Некролог: Аллен Кумбс» . Независимый . Архивировано из оригинала 3 февраля 2012 года . Проверено 18 октября 2012 г.
  52. ^ Фенсом, Джим (8 ноября 2010 г.). «Некролог Гарри Фенсома» . Хранитель . Архивировано из оригинала 17 сентября 2013 года . Проверено 17 октября 2012 г.
  53. ^ Джон Преспер Эккерт-младший и Джон В. Мочли, электронный цифровой интегратор и компьютер, Патентное ведомство США, патент США № 3,120,606, поданный 26 июня 1947 г., выданный 4 февраля 1964 г. и признанный недействительным 19 октября 1973 г. после решения суда по делу Honeywell против Сперри Рэнд .
  54. ^ Эванс 2018 , с. 39.
  55. ^ Свет 1999 , с. 459.
  56. ^ «Поколения компьютера» . techiwarehouse.com. Архивировано из оригинала 2 июля 2015 года . Проверено 7 января 2014 г.
  57. ^ Тьюринг, AM (1937). «О вычислимых числах с применением к проблеме Entscheidungs». Труды Лондонского математического общества . 2. 42 (1): 230–265. дои : 10.1112/plms/s2-42.1.230 . S2CID   73712 .
  58. ^ Коупленд, Джек (2004). Эссенциальный Тьюринг . п. 22: фон Нейман... твердо подчеркнул мне и, я уверен, другим, что фундаментальная концепция принадлежит Тьюрингу - насколько это не было предвосхищено Бэббиджем, Лавлейсом и другими. Письмо Стэнли Франкеля Брайану Рэнделлу , 1972 год.
  59. ^ Энтикнап, Николас (лето 1998 г.). «Золотой юбилей компьютерной техники» . Воскресение (20). ISSN   0958-7403 . Архивировано из оригинала 9 января 2012 года . Проверено 19 апреля 2008 г.
  60. ^ «Ранние компьютеры в Манчестерском университете» . Воскрешение . 1 (4). Лето 1992 г. ISSN   0958-7403 . Архивировано из оригинала 28 августа 2017 года . Проверено 7 июля 2010 г.
  61. ^ «Ранние электронные компьютеры (1946–51)» . Университет Манчестера. Архивировано из оригинала 5 января 2009 года . Проверено 16 ноября 2008 г.
  62. ^ Нэппер, RBE «Знакомство с Mark 1» . Манчестерский университет. Архивировано из оригинала 26 октября 2008 года . Проверено 4 ноября 2008 г.
  63. ^ «Наше пилотное исследование компьютерного наследия: поставки компьютеров Ferranti Mark I и Mark I Star» . Общество охраны компьютеров . Архивировано из оригинала 11 декабря 2016 года . Проверено 9 января 2010 г.
  64. ^ Lavington, Simon. "A brief history of British computers: the first 25 years (1948–1973)". British Computer Society. Archived from the original on 5 July 2010. Retrieved 10 January 2010.
  65. ^ Lee, Thomas H. (2003). The Design of CMOS Radio-Frequency Integrated Circuits (PDF). Cambridge University Press. ISBN 978-1-139-64377-1. Archived from the original (PDF) on 9 December 2019. Retrieved 31 July 2019.
  66. ^ Пуэрс, Роберт; Бальди, Ливио; Вурде, Марсель Ван де; Нутен, Себастьян Э. ван (2017). Наноэлектроника: материалы, устройства, применение, 2 тома . Джон Уайли и сыновья . п. 14. ISBN  978-3-527-34053-8 . Проверено 31 июля 2019 г.
  67. ^ Перейти обратно: а б Московиц, Сэнфорд Л. (2016). Инновации в области передовых материалов: управление глобальными технологиями в 21 веке . Джон Уайли и сыновья . стр. 165–167. ISBN  978-0-470-50892-3 . Проверено 28 августа 2019 г.
  68. ^ Лавингтон 1998 , стр. 34–35.
  69. ^ Перейти обратно: а б Кук-Ярборо, Э.Г. (июнь 1998 г.). «Некоторые ранние применения транзисторов в Великобритании» . Журнал инженерной науки и образования . 7 (3): 100–106. дои : 10.1049/esej:19980301 . ISSN   0963-7346 . Архивировано из оригинала 8 ноября 2020 года . Проверено 7 июня 2009 г. (требуется подписка)
  70. ^ Кук-Ярборо, Э.Г. (1957). Введение в транзисторные схемы . Эдинбург: Оливер и Бойд. п. 139.
  71. ^ «1960: Демонстрация металлооксидно-полупроводникового (МОП) транзистора» . Кремниевый двигатель: хронология полупроводников в компьютерах . Музей истории компьютеров . Архивировано из оригинала 27 октября 2019 года . Проверено 31 августа 2019 г.
  72. ^ Мотоёси, М. (2009). «Сквозное кремниевое отверстие (ТСВ)». Труды IEEE . 97 (1): 43–48. дои : 10.1109/JPROC.2008.2007462 . ISSN   0018-9219 . S2CID   29105721 .
  73. ^ Янг, Ян (12 декабря 2018 г.). «Транзисторы поддерживают закон Мура» . ЭТаймс . Архивировано из оригинала 24 сентября 2019 года . Проверено 18 июля 2019 г.
  74. ^ Лоус, Дэвид (4 декабря 2013 г.). «Кто изобрел транзистор?» . Музей истории компьютеров . Архивировано из оригинала 13 декабря 2013 года . Проверено 20 июля 2019 г.
  75. ^ Перейти обратно: а б Хиттингер, Уильям К. (1973). «Технология металл-оксид-полупроводник». Научный американец . 229 (2): 48–59. Бибкод : 1973SciAm.229b..48H . doi : 10.1038/scientificamerican0873-48 . ISSN   0036-8733 . JSTOR   24923169 .
  76. ^ Мальмштадт, Ховард В.; Энке, Кристи Г.; Крауч, Стэнли Р. (1994). Создание правильных соединений: микрокомпьютеры и электронные приборы . Американское химическое общество . п. 389. ИСБН  978-0-8412-2861-0 . Проверено 28 августа 2019 г. Относительная простота и малое энергопотребление МОП-транзисторов способствовали современной микрокомпьютерной революции.
  77. ^ Фоссум, Джерри Г .; Триведи, Вишал П. (2013). Основы создания сверхтонких МОП-транзисторов и FinFET . Издательство Кембриджского университета . п. VII. ISBN  978-1-107-43449-3 . Проверено 28 августа 2019 г.
  78. ^ Марриотт, JW (10 июня 2019 г.). «Выступление директора Янку на Международной конференции по интеллектуальной собственности 2019 года» . Ведомство США по патентам и товарным знакам . Архивировано из оригинала 17 декабря 2019 года . Проверено 20 июля 2019 г.
  79. ^ «Давон Кан» . Национальный зал славы изобретателей . Архивировано из оригинала 27 октября 2019 года . Проверено 27 июня 2019 г.
  80. ^ «Мартин Аталла в Зале славы изобретателей, 2009» . Архивировано из оригинала 19 сентября 2019 года . Проверено 21 июня 2013 г.
  81. ^ Триумф МОП-транзистора . Музей истории компьютеров . 6 августа 2010 г. Архивировано из оригинала 18 августа 2021 г. . Проверено 21 июля 2019 г. - через YouTube.
  82. ^ «Несчастная история Джеффри Даммера». Архивировано 11 мая 2013 года в Wayback Machine , (nd), (HTML), Electronic Product News , по состоянию на 8 июля 2008 года.
  83. ^ Килби, Джек (2000). «Нобелевская лекция» (PDF) . Стокгольм: Нобелевский фонд. Архивировано (PDF) из оригинала 29 мая 2008 г. Проверено 15 мая 2008 г.
  84. Чип, который построил Джек. Архивировано 1 мая 2015 года в Wayback Machine (ок. 2008 г.), (HTML), Texas Instruments, дата обращения 29 мая 2008 г.
  85. ^ Джек С. Килби, Миниатюрные электронные схемы, Патентное ведомство США, патент США № 3,138,743, подан 6 февраля 1959 г., выдан 23 июня 1964 г.
  86. ^ Уинстон, Брайан (1998). Медиа-технологии и общество: история: от телеграфа к Интернету . Рутледж. п. 221. ИСБН  978-0-415-14230-4 . Проверено 6 июня 2020 г.
  87. ^ Саксена, Арджун Н. (2009). Изобретение интегральных схем: неописанные важные факты . Всемирная научная . п. 140. ИСБН  978-981-281-445-6 . Проверено 28 августа 2019 г.
  88. ^ Перейти обратно: а б "Интегральные схемы" . НАСА . Архивировано из оригинала 21 июля 2019 года . Проверено 13 августа 2019 г.
  89. ^ Роберта Нойса , Унитарная схема Патент США 2981877 «Полупроводниковое устройство и выводная структура», выданный 25 апреля 1961 г., передан компании Fairchild Semiconductor Corporation   .
  90. ^ «1959: Запатентована практическая концепция монолитной интегральной схемы» . Музей истории компьютеров . Архивировано из оригинала 24 октября 2019 года . Проверено 13 августа 2019 г.
  91. ^ Лоек, Бо (2007). История полупроводниковой техники . Springer Science & Business Media . п. 120 . ISBN  978-3-540-34258-8 .
  92. ^ Бассетт, Росс Нокс (2007). В эпоху цифровых технологий: исследовательские лаборатории, стартапы и развитие MOS-технологий . Издательство Университета Джонса Хопкинса. п. 46. ​​ИСБН  978-0-8018-8639-3 . Проверено 31 июля 2019 г.
  93. ^ Хафф, Ховард Р.; Цуя, Х.; Гёзеле, У. (1998). Кремниевое материаловедение и технология: материалы восьмого международного симпозиума по кремниевому материаловедению и технологии . Электрохимическое общество . стр. 181–182. ISBN  978-1-56677-193-1 . Проверено 28 августа 2019 г.
  94. ^ Перейти обратно: а б Куо, Юэ (1 января 2013 г.). «Технология тонкопленочных транзисторов — прошлое, настоящее и будущее» (PDF) . Интерфейс электрохимического общества . 22 (1): 55–61. Бибкод : 2013ECSIn..22a..55K . дои : 10.1149/2.F06131if . ISSN   1064-8208 . Архивировано (PDF) из оригинала 29 августа 2017 года . Проверено 31 июля 2019 г.
  95. ^ Перейти обратно: а б «Черепаха транзисторов побеждает в гонке - революция CHM» . Музей истории компьютеров . Архивировано из оригинала 10 марта 2020 года . Проверено 22 июля 2019 г.
  96. ^ «1964 – Представлена ​​первая коммерческая МОП-ИС» . Музей истории компьютеров . Архивировано из оригинала 22 декабря 2015 года . Проверено 31 июля 2019 г.
  97. ^ «1968: Разработана технология кремниевых затворов для микросхем» . Музей истории компьютеров . Архивировано из оригинала 29 июля 2020 года . Проверено 22 июля 2019 г.
  98. ^ Перейти обратно: а б «1971: Микропроцессор объединяет функции ЦП в одном кристалле» . Музей истории компьютеров . Архивировано из оригинала 12 августа 2021 года . Проверено 22 июля 2019 г.
  99. ^ Колинг, Жан-Пьер; Грир, Джеймс К. (2016). Нанопроволочные транзисторы: физика устройств и материалов в одном измерении . Издательство Кембриджского университета . п. 2. ISBN  978-1-107-05240-6 . Проверено 31 июля 2019 г.
  100. ^ «Первый микропроцессор Intel — Intel 4004» . Intel Corp., ноябрь 1971 г. Архивировано из оригинала 13 мая 2008 г. Проверено 17 мая 2008 г.
  101. ^ Паттерсон, Дэвид; Хеннесси, Джон (1998). Компьютерная организация и дизайн . Сан-Франциско: Морган Кауфманн . стр. 27–39 . ISBN  978-1-55860-428-5 .
  102. ^ Федерико Фаггин , Создание первого микропроцессора. Архивировано 27 октября 2019 г. в Wayback Machine , журнал IEEE Solid-State Circuits Magazine , зима 2009 г., IEEE Xplore.
  103. ^ Перейти обратно: а б «7 потрясающих улучшений смартфона с чипом Qualcomm Snapdragon 835» . 3 января 2017 г. Архивировано из оригинала 30 сентября 2019 г. . Проверено 5 апреля 2019 г.
  104. ^ Шартье, Дэвид (23 декабря 2008 г.). «Глобальные поставки ноутбуков наконец-то обогнали настольные компьютеры» . Арс Техника . Архивировано из оригинала 4 июля 2017 года . Проверено 14 июня 2017 г.
  105. ^ IDC (25 июля 2013 г.). «По данным IDC, рост мировых рынков мобильных телефонов и смартфонов во втором квартале ускоряется» . Архивировано из оригинала 26 июня 2014 года.
  106. ^ «Программа просмотра Ngram Google Книг» . book.google.com .
  107. ^ «Программа просмотра Ngram Google Книг» . book.google.com .
  108. ^ «Программа просмотра Ngram Google Книг» . book.google.com .
  109. ^ «Программа просмотра Ngram Google Книг» . book.google.com .
  110. ^ Дэвид Дж. Эк (2000). Самая сложная машина: обзор компьютеров и вычислительной техники . АК Петерс, ООО с. 54. ИСБН  978-1-56881-128-4 .
  111. ^ Эррикос Джон Контогиоргес (2006). Справочник по параллельным вычислениям и статистике . ЦРК Пресс. п. 45. ИСБН  978-0-8247-4067-2 .
  112. ^ Верма и Мильке 1988 .
  113. ^ Дональд Иди (1968). Введение в базовый компьютер . Прентис-Холл. п. 12.
  114. ^ Арпад Барна; Дэн И. Порат (1976). Введение в микрокомпьютеры и микропроцессоры . Уайли. п. 85 . ISBN  978-0-471-05051-3 .
  115. ^ Джерри Пик; Грейс Тодино; Джон Стрэнг (2002). Изучение операционной системы UNIX: краткое руководство для нового пользователя . О'Рейли. п. 130 . ISBN  978-0-596-00261-9 .
  116. ^ Джиллиан М. Дэвис (2002). Снижение шума в речевых приложениях . ЦРК Пресс. п. 111. ИСБН  978-0-8493-0949-6 .
  117. ^ ТОП500 2006 , с. [ нужна страница ] .
  118. ^ Крагон, Харви (2000). Компьютерная архитектура и реализация . Издательство Кембриджского университета. п. 5. ISBN  978-0-521-65168-4 . Архивировано из оригинала 30 июля 2022 года . Проверено 10 июня 2022 г.
  119. ^ Сюй, Живэй; Чжан, Цзялин (2021). Вычислительное мышление: взгляд на информатику . Сингапур: Спрингер. п. 60. ИСБН  978-981-16-3848-0 . Архивировано из оригинала 30 июля 2022 года . Проверено 10 июня 2022 г. Это называется архитектурой хранимой программы или моделью хранимой программы, также известной как архитектура фон Неймана. Мы будем использовать эти термины взаимозаменяемо.
  120. ^ Рональд Дж. Лич (27 января 2016 г.). Введение в программную инженерию . ЦРК Пресс. п. 11. ISBN  978-1-4987-0528-8 . Проверено 26 ноября 2022 г.
  121. ^ Хун Чжу (22 марта 2005 г.). Методология проектирования программного обеспечения: от принципов к архитектурным стилям . Эльзевир. стр. 47–72. ISBN  978-0-08-045496-2 . Проверено 26 ноября 2022 г.
  122. ^ Рональд Дж. Лич (27 января 2016 г.). Введение в программную инженерию . ЦРК Пресс. п. 56. ИСБН  978-1-4987-0528-8 . Проверено 26 ноября 2022 г.
  123. ^ Джон Найт (12 января 2012 г.). Основы надежных вычислений для инженеров-программистов . ЦРК Пресс. п. 186. ИСБН  978-1-4665-1821-6 . Проверено 26 ноября 2022 г.
  124. ^ Фредерик П. Брукс (младший) (1975). Мифический человеко-месяц: Очерки программной инженерии . Издательство Аддисон-Уэсли. ISBN  978-0-201-00650-6 . Проверено 26 ноября 2022 г.
  125. ^ Ян Соммервилл (2007). Программная инженерия . Пирсон Образование. стр. 4–17. ISBN  978-0-321-31379-9 . Проверено 26 ноября 2022 г.
  126. ^ «Почему компьютеры выходят из строя?» . Научный американец . Архивировано из оригинала 1 мая 2018 года . Проверено 3 марта 2022 г.
  127. ^ Тейлор, Александр Л. III (16 апреля 1984 г.). «Волшебник внутри машины» . Время . Архивировано из оригинала 16 марта 2007 года . Проверено 17 февраля 2007 г.
  128. ^ Агата К. Хьюз (2000). Системы, эксперты и компьютеры . МТИ Пресс . п. 161. ИСБН  978-0-262-08285-3 . Опыт SAGE помог создать первую по-настоящему крупномасштабную коммерческую сеть реального времени: компьютеризированную систему бронирования авиабилетов SABRE.
  129. ^ Leiner, Barry M.; Cerf, Vinton G.; Clark, David D.; Kahn, Robert E.; Kleinrock, Leonard; Lynch, Daniel C.; Postel, Jon; Roberts, Larry G.; Wolf, Stephen (1999). "A Brief History of the Internet". arXiv:cs/9901011.
  130. ^ "Definition of computer". Thefreedictionary.com. Archived from the original on 26 December 2009. Retrieved 29 January 2012.
  131. ^ II, Joseph D. Dumas (2005). Computer Architecture: Fundamentals and Principles of Computer Design. CRC Press. p. 340. ISBN 978-0-8493-2749-0. Retrieved 9 November 2020.

Sources

External links