stringtranslate.com

Компьютер

Компьютеры и вычислительные устройства разных эпох – по часовой стрелке сверху слева:

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

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

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

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

Этимология

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

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

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

История

До 20 века

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чарльз Бэббидж ок. 1850 г.

Чарльз Бэббидж , английский инженер-механик и эрудит , придумал концепцию программируемого компьютера. Считающийся « отцом компьютера » [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 был первым электронным устройством, полным по Тьюрингу, которое выполняло баллистические расчеты траектории для армии США .

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

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

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

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

Принцип современного компьютера был предложен Аланом Тьюрингом в его основополагающей статье 1936 года «О вычислимых числах » . Тьюринг предложил простое устройство, которое он назвал «Универсальной вычислительной машиной» и которое теперь известно как универсальная машина Тьюринга . Он доказал, что такая машина способна вычислять все, что можно вычислить, выполняя инструкции (программы), хранящиеся на ленте, что позволяет программировать машину. Фундаментальной концепцией конструкции Тьюринга является хранимая программа , в которой все инструкции для вычислений хранятся в памяти. Фон Нейман признал, что центральная концепция современного компьютера возникла благодаря этой статье. [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 решили принять активное участие в содействии коммерческому развитию компьютеров. Компьютер LEO I компании Lyons , созданный по образцу кембриджского EDSAC 1949 года, вступил в строй в апреле 1951 года [64] и выполнил первую в мире рутинную работу на офисном компьютере .

Грейс Хоппер была первой, кто разработал компилятор языка программирования. [2]

Транзисторы

Биполярный транзистор (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 Semiconductor в 1968 году. [97] С тех пор МОП-транзистор стал наиболее важным компонентом устройства в современных ИС. [94]

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

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

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

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

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

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

Типы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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]

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

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

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

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

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

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

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

Языки

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

Программы

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

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

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

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

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

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

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

 Begin: 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. Современные компьютеры фон Неймана в своей конструкции демонстрируют некоторые черты гарвардской архитектуры, например, кэш-память ЦП .

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

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

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

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

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

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

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

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

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

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

Ошибки

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

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

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

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

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

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

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

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

Будущее

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

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

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

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

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

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

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

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

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

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

Примечания

  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. ОСЛК  24660570.
  6. ^ Проект исследования антикитерского механизма. Архивировано 28 апреля 2008 г. в Wayback Machine , Исследовательский проект антикитерского механизма. Проверено 1 июля 2007 г.
  7. Марчант, Джо (1 ноября 2006 г.). «В поисках утраченного времени». Природа . 444 (7119): 534–538. Бибкод : 2006Natur.444..534M. дои : 10.1038/444534a . PMID  17136067. S2CID  4305761.
  8. ^ Г. Вит, В. Елисеев, П. Вольф, Дж. Науду (1975). История человечества, Том 3: Великие средневековые цивилизации , с. 649. Джордж Аллен и Анвин Лтд., ЮНЕСКО .
  9. ^ Фуат Сезгин «Каталог выставки Института истории арабо-исламской науки (в Университете Иоганна Вольфганга Гете», Франкфурт, Германия) Франкфуртская книжная ярмарка 2004, стр. 35 и 38.
  10. ^ Шаретт, Франсуа (2006). «Археология: высокие технологии Древней Греции». Природа . 444 (7119): 551–552. Бибкод : 2006Natur.444..551C. дои : 10.1038/444551a . PMID  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. ^ ab Рэй ​​Гирван, «Раскрытое изящество механизма: вычисления после Бэббиджа». Архивировано 3 ноября 2012 г. в Wayback Machine , Scientific Computing World , май/июнь 2003 г.
  17. Торрес, Леонардо (10 октября 1895 г.). «Memória sobre las Maquinas Algébricas» (PDF) . Revista de Obras Públicas (на испанском языке) (28): 217–222.
  18. ^ Леонардо Торрес. Memoria sobre las máquinas algébricas: con un information de la Real academia de Ciencias Finetas, Fisicas y Naturales , Misericordia, 1895.
  19. Томас, Федерико (1 августа 2008 г.). «Краткий отчет о бесконечном веретене Леонардо Торреса». Теория механизма и машин . IFToMM . 43 (8): 1055–1063. doi :10.1016/j.mechmachtheory.2007.07.003. hdl : 10261/30460 . ISSN  0094-114X.
  20. ^ Гомес-Хореги, Валентин; Гутьеррес-Гарсия, Андрес; Гонсалес-Редондо, Франсиско А.; Иглесиас, Мигель; Манчадо, Кристина; Отеро, Сезар (1 июня 2022 г.). «Механический калькулятор Торреса Кеведо для уравнений второй степени с комплексными коэффициентами». Теория механизма и машин . IFToMM . 172 (8): 104830. doi : 10.1016/j.mechmachtheory.2022.104830 . hdl : 10902/24391 . S2CID  247503677.
  21. ^ Торрес Кеведо, Леонардо (1901). «Машины-калькуляторы». Mémoires Présentés par Divers Savants à l'Académie des Scienes de l'Institut de France (на французском языке). Показ национальный (Париж). 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. ^ Л. Торрес Кеведо. Ensayos sobre Automática – ваше определение. Extension teórica de sus aplicaciones, Revista de la Academia de Ciencias Exacta, Revista 12, стр. 391–418, 1914.
  27. ^ Торрес Кеведо, Леонардо. Automática: Complemento de la Teoría de las Máquinas, (pdf), стр. 575–583, Revista de Obras Públicas, 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. ^ abcd Современная история вычислений. Стэнфордская энциклопедия философии. 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. ^ «Кто отец компьютера?». www.computerhope.com .
  37. ^ Цузе, Конрад (2010) [1984]. Компьютер – моя жизнь. Перевод Маккенны, Патрисии и Росс, Дж. Эндрю из: Der Computer, mein Lebenswerk (1984) . Берлин/Гейдельберг: Springer-Verlag. ISBN 978-3-642-08151-4.
  38. Зальц Траутман, Пегги (20 апреля 1994 г.). «Пионер компьютеров, заново открытый, 50 лет спустя». Нью-Йорк Таймс . Архивировано из оригинала 4 ноября 2016 года . Проверено 15 февраля 2017 г. .
  39. ^ Цузе, Конрад (1993). Компьютер. Mein Lebenswerk (на немецком языке) (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. ^ abcd Коупленд, Джек (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. ^ Лавингтон, Саймон. «Краткая история британских компьютеров: первые 25 лет (1948–1973)». Британское компьютерное общество . Архивировано из оригинала 5 июля 2010 года . Проверено 10 января 2010 г.
  65. ^ Ли, Томас Х. (2003). Проектирование КМОП радиочастотных интегральных схем (PDF) . Издательство Кембриджского университета . ISBN 978-1-139-64377-1. Архивировано из оригинала (PDF) 9 декабря 2019 года . Проверено 31 июля 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. ^ ab Кук-Ярборо, EH (июнь 1998 г.). «Некоторые ранние применения транзисторов в Великобритании». Журнал инженерной науки и образования . 7 (3): 100–106. doi : 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. doi :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. Marriott, 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. ^ ab «Интегральные схемы». НАСА . Архивировано из оригинала 21 июля 2019 года . Проверено 13 августа 2019 г.
  89. ^ Унитарная схема Роберта Нойса , патент США 2981877, «Структура полупроводникового устройства и вывода», выдан 25 апреля 1961 г., передан Fairchild Semiconductor Corporation  .
  90. ^ «1959: Запатентована практическая концепция монолитной интегральной схемы» . Музей истории компьютеров . Архивировано из оригинала 24 октября 2019 года . Проверено 13 августа 2019 г.
  91. ^ Лойек, Бо (2007). История полупроводниковой техники . Springer Science & Business Media . п. 120. ИСБН 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. ^ ab «Черепаха транзисторов выигрывает гонку - революция CHM». Музей истории компьютеров . Архивировано из оригинала 10 марта 2020 года . Проверено 22 июля 2019 г.
  96. ^ «1964 - Представлена ​​первая коммерческая МОП-ИС» . Музей истории компьютеров . Архивировано из оригинала 22 декабря 2015 года . Проверено 31 июля 2019 г.
  97. ^ «1968: Разработана технология кремниевых затворов для микросхем» . Музей истории компьютеров . Архивировано из оригинала 29 июля 2020 года . Проверено 22 июля 2019 г.
  98. ^ ab «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. ^ ab «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. ИСБН 978-0-471-05051-3.
  115. ^ Джерри Пик; Грейс Тодино; Джон Стрэнг (2002). Изучение операционной системы UNIX: краткое руководство для нового пользователя. О'Рейли. п. 130. ИСБН 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. ^ Лейнер, Барри М.; Серф, Винтон Г.; Кларк, Дэвид Д.; Кан, Роберт Э.; Кляйнрок, Леонард; Линч, Дэниел С.; Постел, Джон; Робертс, Ларри Г.; Вольф, Стивен (1999). «Краткая история Интернета». arXiv : cs/9901011 .
  130. ^ «Определение компьютера» . Thefreedictionary.com. Архивировано из оригинала 26 декабря 2009 года . Проверено 29 января 2012 г.
  131. ^ II, Джозеф Д. Дюма (2005). Компьютерная архитектура: основы и принципы компьютерного дизайна. ЦРК Пресс. п. 340. ИСБН 978-0-8493-2749-0. Проверено 9 ноября 2020 г.

Источники

Внешние ссылки