Компьютер


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

Компьютерный зал с несколькими компьютерными шкафами и панелью управления
Смартфон с радужным дисплеем в руке
Черный настольный компьютер с монитором сверху и клавиатурой спереди
Фиолетовая игровая консоль с подключенным контроллером
Ряды больших темных компьютерных шкафов в складской комнате
Компьютеры и вычислительные устройства разных эпох - по часовой стрелке сверху слева:
Ранний вакуумный компьютер ( ENIAC )
Мэйнфрейм ( IBM System 360 )
Настольный компьютер (IBM ThinkCentre S50 с монитором)
Суперкомпьютер (IBM Summit )
Игровая консоль (Nintendo GameCube )
Смартфон ( LYF Вода 2)

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

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

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

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

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

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

До 20 века

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

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

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

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

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

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

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

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

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

Правила скольжения .

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

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

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

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

Первое вычислительное устройство

Часть разностной машины Бэббиджа .

Чарльз Бэббидж , английский инженер-механик и эрудит , создал концепцию программируемого компьютера. Считающийся « отцом компьютера » [17], он концептуализировал и изобрел первый механический компьютер в начале 19 века. После работы над своей революционной разностной машиной , предназначенной для помощи в навигационных расчетах, в 1833 году он понял, что возможна гораздо более общая конструкция - аналитическая машина . Ввод программ и данных в машину должен был производиться с помощью перфокарт. Этот метод использовался в то время для управления механическими ткацкими станками, такими как жаккардов . Для вывода машина будет иметь принтер, плоттер кривых и звонок. Машина также сможет вводить числа на карточки, чтобы их можно было прочитать позже. Движок включал в себя арифметико-логический блок , поток управления в форме условного ветвления и циклов и интегрированную память , что делало его первым проектом универсального компьютера, который в современных терминах можно описать как полный по Тьюрингу . [18] [19]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Транзисторы

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

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

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

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

Металл-оксид-кремний полевой транзистор (MOSFET), также известный как МОП - транзистор, был изобретен Mohamed М. Atalla и Давоном Кангом в Bell Labs в 1959 г. [55] Это был первым действительно компактный транзистор , который может быть миниатюрные и серийно выпускаемые для широкого спектра применений. [51] Благодаря высокой масштабируемости , [56] и гораздо более низкому энергопотреблению и более высокой плотности, чем у транзисторов с биполярным переходом, [57] MOSFET позволил создавать интегральные схемы с высокой плотностью . [58] [59] В дополнение к обработке данных, это также позволило практическое использование МОП-транзисторов в качестве элементов хранения ячеек памяти, что привело к развитию полупроводниковой МОП- памяти , которая заменила более раннюю память на магнитных сердечниках в компьютерах. МОП - транзистор привел к революции микрокомпьютера , [60] и стал движущей силой компьютерной революции . [61] [62] МОП-транзистор является наиболее широко используемым транзистором в компьютерах, [63] [64] и является фундаментальным строительным блоком цифровой электроники . [65]

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

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

Первые рабочие ИС были изобретены Джеком Килби из Texas Instruments и Робертом Нойсом из Fairchild Semiconductor . [67] Килби записал свои первоначальные идеи относительно интегральной схемы в июле 1958 года, успешно продемонстрировав первый работающий интегральный пример 12 сентября 1958 года. [68] В своей патентной заявке от 6 февраля 1959 года Килби описал свое новое устройство как «совокупность полупроводниковый материал ... в котором все компоненты электронной схемы полностью интегрированы ". [69] [70] Однако изобретением Килби была гибридная интегральная схема (гибридная ИС), а не монолитная интегральная схема (ИС). [71] ИС Килби имела внешние проводные соединения, что затрудняло серийное производство. [72]

Нойс также выступил с собственной идеей интегральной схемы на полгода позже Килби. [73] Изобретение Нойса было первым по-настоящему монолитным ИС. [74] [72] Его чип решал многие практические проблемы, которых не было у Килби. Изготовленный в Fairchild Semiconductor, он был сделан из кремния , тогда как чип Килби был сделан из германия . Монолитная ИС Нойса была изготовлена с использованием планарного процесса , разработанного его коллегой Жаном Хорни в начале 1959 года. В свою очередь, планарный процесс был основан на работе Мохамеда М. Аталлы по пассивации поверхности полупроводников диоксидом кремния в конце 1950-х годов. [75] [76] [77]

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

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

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

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

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

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

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

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

  • Аналоговый компьютер
  • Цифровой компьютер
  • Гибридный компьютер
  • Гарвардская архитектура
  • Архитектура фон Неймана
  • Компьютер со сложной системой команд
  • Компьютер с сокращенным набором команд

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

  • Суперкомпьютер
  • Мэйнфрейм компьютер
  • Миникомпьютер (термин больше не используется)
  • Сервер
    • Стоечный сервер
    • Блейд-сервер
    • Сервер башни
  • Персональный компьютер
    • Рабочая станция
    • Микрокомпьютер (термин больше не используется)
      • Домашний компьютер
    • Настольный компьютер
      • Рабочий стол в корпусе Tower
      • Тонкий рабочий стол
        • Мультимедийный компьютер ( компьютеры с системами нелинейного монтажа , ПК для редактирования видео и т. Д.)
        • Игровой компьютер
      • Моноблочный ПК
      • Неттоп ( ПК в малом форм-факторе , мини-ПК)
      • Домашний кинотеатр ПК
      • Клавиатура компьютера
      • Портативный компьютер
      • Тонкий клиент
      • Интернет-устройство
    • Ноутбук
      • Замена настольного компьютера
      • Игровой ноутбук
      • Прочный ноутбук
      • 2-в-1 ПК
      • Ультрабук
      • Chromebook
      • Субноутбук
      • Нетбук
  • Мобильные компьютеры :
    • Планшетный компьютер
    • Смартфон
    • Ультрамобильный ПК
    • Карманные ПК
    • Карманный ПК
    • Портативный ПК
  • Носимый компьютер
    • Умные часы
    • Умные очки
  • Одноплатный компьютер
  • Подключите компьютер
  • Stick PC
  • Программируемый логический контроллер
  • Компьютер на модуле
  • Система на модуле
  • Система в пакете
  • Система на кристалле (также известная как прикладной процессор или точка доступа, если в ней отсутствуют схемы, например радиосхемы)
  • Микроконтроллер

"> Воспроизвести медиа
Видео, демонстрирующее стандартные компоненты "тонкого" компьютера

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

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

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

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

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

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

  • Компьютерная клавиатура
  • Цифровая камера
  • Цифровое видео
  • Графический планшет
  • Сканер изображений
  • Джойстик
  • Микрофон
  • Мышь
  • Оверлейная клавиатура
  • Часы реального времени
  • Трекбол
  • Сенсорный экран
  • Световое перо

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

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

  • Компьютерный монитор
  • Принтер
  • Динамик ПК
  • Проектор
  • Звуковая карта
  • Видеокарта

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

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

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

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

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

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

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

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

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

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

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

ALU может выполнять два класса операций: арифметические и логические. [94] Набор арифметических операций, которые поддерживает конкретный ALU, может быть ограничен сложением и вычитанием или может включать в себя функции умножения, деления, тригонометрии, такие как синус, косинус и т. Д., И квадратные корни . Некоторые могут работать только с целыми числами ( целыми числами ), в то время как другие используют числа с плавающей запятой для представления действительных чисел , хотя и с ограниченной точностью. Однако любой компьютер, способный выполнять только простейшие операции, можно запрограммировать так, чтобы разбивать более сложные операции на простые шаги, которые он может выполнять. Следовательно, любой компьютер можно запрограммировать на выполнение любых арифметических операций, хотя это займет больше времени, если его ALU не поддерживает эту операцию напрямую. ALU может также сравнивать числа и возвращать логические значения истинности (истина или ложь) в зависимости от того, равно ли одно другому, больше или меньше («64 больше 65?»). Логические операции включают в себя булеву логику : И , ИЛИ , ИСКЛЮЧАЮЩЕЕ ИЛИ и НЕ . Они могут быть полезны для создания сложных условных операторов и обработки логической логики .

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

объем памяти

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

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

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

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

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

  • оперативная память или ОЗУ
  • постоянная память или ПЗУ

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

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

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

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

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

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

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

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

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

Cray разработал множество суперкомпьютеров, в которых интенсивно использовалась многопроцессорная обработка.

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

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

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

Языки

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

Программ

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

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

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

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

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

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

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

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

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

Машинный код

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

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

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

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

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

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

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

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

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

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

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

Ошибки

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

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

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

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

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

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

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

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

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

  • Квантовый компьютер против химического компьютера
  • Скалярный процессор против векторного процессора
  • Компьютеры с неоднородным доступом к памяти (NUMA)
  • Регистрационная машина и штабелеукладчик
  • Гарвардская архитектура против архитектуры фон Неймана
  • Сотовая архитектура

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

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

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

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

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

  • Глоссарий компьютеров
  • Теория вычислимости
  • Компьютерная незащищенность
  • Компьютерная безопасность
  • Глоссарий терминов компьютерного оборудования
  • История информатики
  • Список этимологий компьютерных терминов
  • Список вымышленных компьютеров
  • Список пионеров информатики
  • Расчет импульса
  • ТОП500 (список самых мощных компьютеров)
  • Нетрадиционные вычисления

  1. ^ Эванс 2018 , стр. 23.
  2. ^ а б Смит 2013 , стр. 6.
  3. ^ "компьютер (сущ.)" . Интернет-словарь этимологии .
  4. ^ По Шмандт-Бессера 1981, эти глиняные контейнеры содержали жетоны, общее количество которых было количеством перемещаемых предметов. Таким образом, контейнеры служили чем-то вроде коносамента или бухгалтерской книги. Во избежание взлома контейнеров, во-первых, глиняные оттиски жетонов были помещены на внешнюю сторону контейнеров для подсчета; формы оттисков абстрагировались в стилизованные знаки; наконец, абстрактные знаки систематически использовались как числа; окончательно эти цифры были формализованы как числа. В конце концов (по оценкам Шмандт-Бессера, это заняло 4000 лет. Архивировано 30 января 2012 года в Wayback Machine ), отметки на внешней стороне контейнеров были всем, что было необходимо для подсчета, и глиняные контейнеры превратились в глиняные таблички с отметками для подсчета. .
  5. ^ Робсон, Элеонора (2008), Математика в Древнем Ираке , ISBN 978-0-691-09182-2. п. 5: исчисления использовались в Ираке для примитивных систем бухгалтерского учета еще в 3200–3000 гг. До н.э. с системами представления подсчета для конкретных товаров. Сбалансированный учет использовался в 3000–2350 годах до нашей эры, а шестидесятеричная система счисления использовалась в 2350–2000 годах до нашей эры.
  6. ^ Числа сквозь века . Флегг, Грэм. Хаундмиллс, Бейзингсток, Хэмпшир: Macmillan Education. 1989. ISBN. 0-333-49130-0. OCLC  24660570 .CS1 maint: другие ( ссылка )
  7. ^ Antikythera Механизм научно - исследовательский проект архивации 28 апреля 2008 в Wayback Machine , The Antikythera механизм научноисследовательский проект. Проверено 1 июля 2007 года.
  8. ^ Г. Wiet, В. Elisseeff, П. Вольф, J. Naudu (1975). История человечества, Том 3: Великие средневековые цивилизации , с. 649. Джордж Аллен и Анвин Лтд., ЮНЕСКО .
  9. ^ Фуат Сезгин "Каталог выставки Института истории арабско-исламской науки (в Университете Иоганна Вольфганга Гете", Франкфурт, Германия) Франкфуртская книжная ярмарка 2004, стр. 35 и 38.
  10. ^ Шаретт, Франсуа (2006). «Археология: высокие технологии Древней Греции» . Природа . 444 (7119): 551–552. Bibcode : 2006Natur.444..551C . DOI : 10.1038 / 444551a . PMID  17136077 . S2CID  33513516 .
  11. ^ Бедини, Сильвио А .; Мэддисон, Фрэнсис Р. (1966). «Механическая вселенная: Астрариум Джованни де Донди». Труды Американского философского общества . 56 (5): 1–69. DOI : 10.2307 / 1006002 . JSTOR  1006002 .
  12. ^ Прайс, Дерек де С. (1984). «История счетных машин». IEEE Micro . 4 (1): 22–52. DOI : 10.1109 / MM.1984.291305 .
  13. ^ Эрен, Тунцер (2001). "Достижения в области компьютерных и информационных наук: от абак до холонических агентов" (PDF) . Turk J Elec Engin . 9 (1): 63–70.
  14. ^ Дональд Рутледж Хилл (1985). «Механический календарь Аль-Бируни», Annals of Science 42 , стр. 139–163.
  15. ^ «Писатель-автомат, Швейцария» . chonday.com. 11 июля 2013 г.
  16. ^ a b Рэй Гирван, «Раскрытая изящество механизма: вычисления после Бэббиджа». Архивировано 3 ноября 2012 г. в Wayback Machine , Scientific Computing World , май / июнь 2003 г.
  17. ^ Халаси, Дэниел Стивен (1970). Чарльз Бэббидж, отец компьютера . Crowell-Collier Press. ISBN 978-0-02-741370-0.
  18. ^ «Бэббидж» . Интернет-материалы . Музей науки. 19 января 2007 . Проверено 1 августа 2012 года .
  19. ^ "Let's build Babbage's ultimate mechanical computer". opinion. New Scientist. 23 December 2010. Retrieved 1 August 2012.
  20. ^ a b c d The Modern History of Computing. Stanford Encyclopedia of Philosophy. 2017.
  21. ^ Zuse, Horst. "Part 4: Konrad Zuse's Z1 and Z3 Computers". The Life and Work of Konrad Zuse. EPE Online. Archived from the original on 1 June 2008. Retrieved 17 June 2008.
  22. ^ Zuse, Konrad (2010) [1984], The Computer – My Life Translated by McKenna, Patricia and Ross, J. Andrew from: Der Computer, mein Lebenswerk (1984), Berlin/Heidelberg: Springer-Verlag, ISBN 978-3-642-08151-4
  23. ^ Salz Trautman, Peggy (20 April 1994). "A Computer Pioneer Rediscovered, 50 Years On". The New York Times.
  24. ^ Zuse, Konrad (1993). Der Computer. Mein Lebenswerk (in German) (3rd ed.). Berlin: Springer-Verlag. p. 55. ISBN 978-3-540-56292-4.
  25. ^ "Crash! The Story of IT: Zuse". Archived from the original on 18 September 2016. Retrieved 1 June 2016.
  26. ^ Rojas, R. (1998). "How to make Zuse's Z3 a universal computer". IEEE Annals of the History of Computing. 20 (3): 51–54. doi:10.1109/85.707574. S2CID 14606587.
  27. ^ Rojas, Raúl. "How to Make Zuse's Z3 a Universal Computer" (PDF).
  28. ^ 15 January 1941 notice in the Des Moines Register,
  29. ^ Arthur W. Burks (1989). The First Electronic Computer. ISBN 0472081047.
  30. ^ a b c d Copeland, Jack (2006), Colossus: The Secrets of Bletchley Park's Codebreaking Computers, Oxford: Oxford University Press, pp. 101–115, ISBN 978-0-19-284055-4
  31. ^ Miller, Joe (10 November 2014). "The woman who cracked Enigma cyphers". BBC News. Retrieved 14 October 2018.
  32. ^ Bearne, Suzanne (24 July 2018). "Meet the female codebreakers of Bletchley Park". the Guardian. Retrieved 14 October 2018.
  33. ^ "Bletchley's code-cracking Colossus", BBC News, 2 February 2010, retrieved 19 October 2012
  34. ^ "Colossus – The Rebuild Story". The National Museum of Computing. Archived from the original on 18 April 2015. Retrieved 7 January 2014.
  35. ^ Randell, Brian; Fensom, Harry; Milne, Frank A. (15 March 1995), "Obituary: Allen Coombs", The Independent, retrieved 18 October 2012
  36. ^ Fensom, Jim (8 November 2010), "Harry Fensom obituary", The Guardian, retrieved 17 October 2012
  37. ^ John Presper Eckert Jr. and John W. Mauchly, Electronic Numerical Integrator and Computer, United States Patent Office, US Patent 3,120,606, filed 26 June 1947, issued 4 February 1964, and invalidated 19 October 1973 after court ruling on Honeywell v. Sperry Rand.
  38. ^ Evans 2018, p. 39.
  39. ^ Light 1999, p. 459.
  40. ^ "Generations of Computer". techiwarehouse.com. Archived from the original on 2 July 2015. Retrieved 7 January 2014.
  41. ^ Turing, A. M. (1937). "On Computable Numbers, with an Application to the Entscheidungsproblem". Proceedings of the London Mathematical Society. 2. 42 (1): 230–265. doi:10.1112/plms/s2-42.1.230.
  42. ^ "von Neumann ... firmly emphasized to me, and to others I am sure, that the fundamental conception is owing to Turing—insofar as not anticipated by Babbage, Lovelace and others." Letter by Stanley Frankel to Brian Randell, 1972, quoted in Jack Copeland (2004) The Essential Turing, p22.
  43. ^ Enticknap, Nicholas (Summer 1998), "Computing's Golden Jubilee", Resurrection (20), ISSN 0958-7403, archived from the original on 9 January 2012, retrieved 19 April 2008
  44. ^ "Early computers at Manchester University", Resurrection, 1 (4), Summer 1992, ISSN 0958-7403, archived from the original on 28 August 2017, retrieved 7 July 2010
  45. ^ Early Electronic Computers (1946–51), University of Manchester, archived from the original on 5 January 2009, retrieved 16 November 2008
  46. ^ Napper, R. B. E., Introduction to the Mark 1, The University of Manchester, archived from the original on 26 October 2008, retrieved 4 November 2008
  47. ^ Computer Conservation Society, Our Computer Heritage Pilot Study: Deliveries of Ferranti Mark I and Mark I Star computers, archived from the original on 11 December 2016, retrieved 9 January 2010
  48. ^ Lavington, Simon. "A brief history of British computers: the first 25 years (1948–1973)". British Computer Society. Retrieved 10 January 2010.
  49. ^ Lee, Thomas H. (2003). The Design of CMOS Radio-Frequency Integrated Circuits (PDF). Cambridge University Press. ISBN 9781139643771.
  50. ^ Puers, Robert; Baldi, Livio; Voorde, Marcel Van de; Nooten, Sebastiaan E. van (2017). Nanoelectronics: Materials, Devices, Applications, 2 Volumes. John Wiley & Sons. p. 14. ISBN 9783527340538.
  51. ^ a b Moskowitz, Sanford L. (2016). Advanced Materials Innovation: Managing Global Technology in the 21st century. John Wiley & Sons. pp. 165–167. ISBN 9780470508923.
  52. ^ Lavington, Simon (1998), A History of Manchester Computers (2 ed.), Swindon: The British Computer Society, pp. 34–35
  53. ^ a b Cooke-Yarborough, E. H. (June 1998), "Some early transistor applications in the UK", Engineering Science & Education Journal, 7 (3): 100–106, doi:10.1049/esej:19980301, ISSN 0963-7346, retrieved 7 June 2009 (subscription required)
  54. ^ Cooke-Yarborough, E.H. (1957). Introduction to Transistor Circuits. Edinburgh: Oliver and Boyd. p. 139.
  55. ^ "1960: Metal Oxide Semiconductor (MOS) Transistor Demonstrated". The Silicon Engine: A Timeline of Semiconductors in Computers. Computer History Museum. Retrieved 31 August 2019.
  56. ^ Motoyoshi, M. (2009). "Through-Silicon Via (TSV)". Proceedings of the IEEE. 97 (1): 43–48. doi:10.1109/JPROC.2008.2007462. ISSN 0018-9219. S2CID 29105721.
  57. ^ "Transistors Keep Moore's Law Alive". EETimes. 12 December 2018. Retrieved 18 July 2019.
  58. ^ "Who Invented the Transistor?". Computer History Museum. 4 December 2013. Retrieved 20 July 2019.
  59. ^ a b Hittinger, William C. (1973). "Metal-Oxide-Semiconductor Technology". Scientific American. 229 (2): 48–59. Bibcode:1973SciAm.229b..48H. doi:10.1038/scientificamerican0873-48. ISSN 0036-8733. JSTOR 24923169.
  60. ^ Malmstadt, Howard V.; Enke, Christie G.; Crouch, Stanley R. (1994). Making the Right Connections: Microcomputers and Electronic Instrumentation. American Chemical Society. p. 389. ISBN 9780841228610. The relative simplicity and low power requirements of MOSFETs have fostered today's microcomputer revolution.
  61. ^ Fossum, Jerry G.; Trivedi, Vishal P. (2013). Fundamentals of Ultra-Thin-Body MOSFETs and FinFETs. Cambridge University Press. p. vii. ISBN 9781107434493.
  62. ^ "Remarks by Director Iancu at the 2019 International Intellectual Property Conference". United States Patent and Trademark Office. 10 June 2019. Archived from the original on 17 December 2019. Retrieved 20 July 2019.
  63. ^ "Dawon Kahng". National Inventors Hall of Fame. Retrieved 27 June 2019.
  64. ^ "Martin Atalla in Inventors Hall of Fame, 2009". Retrieved 21 June 2013.
  65. ^ "Triumph of the MOS Transistor". YouTube. Computer History Museum. 6 August 2010. Retrieved 21 July 2019.
  66. ^ "The Hapless Tale of Geoffrey Dummer" Archived 11 May 2013 at the Wayback Machine, (n.d.), (HTML), Electronic Product News, accessed 8 July 2008.
  67. ^ Kilby, Jack (2000), Nobel lecture (PDF), Stockholm: Nobel Foundation, retrieved 15 May 2008
  68. ^ The Chip that Jack Built, (c. 2008), (HTML), Texas Instruments, Retrieved 29 May 2008.
  69. ^ Jack S. Kilby, Miniaturized Electronic Circuits, United States Patent Office, US Patent 3,138,743, filed 6 February 1959, issued 23 June 1964.
  70. ^ Winston, Brian (1998). Media Technology and Society: A History : From the Telegraph to the Internet. Routledge. p. 221. ISBN 978-0-415-14230-4.
  71. ^ Saxena, Arjun N. (2009). Invention of Integrated Circuits: Untold Important Facts. World Scientific. p. 140. ISBN 9789812814456.
  72. ^ a b "Integrated circuits". NASA. Retrieved 13 August 2019.
  73. ^ Robert Noyce's Unitary circuit, US patent 2981877, "Semiconductor device-and-lead structure", issued 1961-04-25, assigned to Fairchild Semiconductor Corporation 
  74. ^ "1959: Practical Monolithic Integrated Circuit Concept Patented". Computer History Museum. Retrieved 13 August 2019.
  75. ^ Lojek, Bo (2007). History of Semiconductor Engineering. Springer Science & Business Media. p. 120. ISBN 9783540342588.
  76. ^ Bassett, Ross Knox (2007). To the Digital Age: Research Labs, Start-up Companies, and the Rise of MOS Technology. Johns Hopkins University Press. p. 46. ISBN 9780801886393.
  77. ^ Huff, Howard R.; Tsuya, H.; Gösele, U. (1998). Silicon Materials Science and Technology: Proceedings of the Eighth International Symposium on Silicon Materials Science and Technology. Electrochemical Society. pp. 181–182. ISBN 9781566771931.
  78. ^ Kuo, Yue (1 January 2013). "Thin Film Transistor Technology—Past, Present, and Future" (PDF). The Electrochemical Society Interface. 22 (1): 55–61. doi:10.1149/2.F06131if. ISSN 1064-8208.
  79. ^ a b "Tortoise of Transistors Wins the Race - CHM Revolution". Computer History Museum. Retrieved 22 July 2019.
  80. ^ "1964 – First Commercial MOS IC Introduced". Computer History Museum.
  81. ^ "1968: Silicon Gate Technology Developed for ICs". Computer History Museum. Retrieved 22 July 2019.
  82. ^ Kuo, Yue (1 January 2013). "Thin Film Transistor Technology—Past, Present, and Future" (PDF). The Electrochemical Society Interface. 22 (1): 55–61. doi:10.1149/2.F06131if. ISSN 1064-8208.
  83. ^ a b "1971: Microprocessor Integrates CPU Function onto a Single Chip". Computer History Museum. Retrieved 22 July 2019.
  84. ^ Colinge, Jean-Pierre; Greer, James C. (2016). Nanowire Transistors: Physics of Devices and Materials in One Dimension. Cambridge University Press. p. 2. ISBN 9781107052406.
  85. ^ Intel's First Microprocessor—the Intel 4004, Intel Corp., November 1971, archived from the original on 13 May 2008, retrieved 17 May 2008
  86. ^ The Intel 4004 (1971) die was 12 mm2, composed of 2300 transistors; by comparison, the Pentium Pro was 306 mm2, composed of 5.5 million transistors, according to Patterson, David; Hennessy, John (1998), Computer Organization and Design, San Francisco: Morgan Kaufmann, pp. 27–39, ISBN 978-1-55860-428-5
  87. ^ Federico Faggin, The Making of the First Microprocessor, IEEE Solid-State Circuits Magazine, Winter 2009, IEEE Xplore
  88. ^ a b "7 dazzling smartphone improvements with Qualcomm's Snapdragon 835 chip". 3 January 2017.
  89. ^ Chartier, David (23 December 2008). "Global notebook shipments finally overtake desktops". Ars Technica.
  90. ^ IDC (25 July 2013). "Growth Accelerates in the Worldwide Mobile Phone and Smartphone Markets in the Second Quarter, According to IDC". Archived from the original on 26 June 2014.
  91. ^ Most major 64-bit instruction set architectures are extensions of earlier designs. All of the architectures listed in this table, except for Alpha, existed in 32-bit forms before their 64-bit incarnations were introduced.
  92. ^ The control unit's role in interpreting instructions has varied somewhat in the past. Although the control unit is solely responsible for instruction interpretation in most modern computers, this is not always the case. Some computers have instructions that are partially interpreted by the control unit with further interpretation performed by another device. For example, EDVAC, one of the earliest stored-program computers, used a central control unit that only interpreted four instructions. All of the arithmetic-related instructions were passed on to its arithmetic unit and further decoded there.
  93. ^ Instructions often occupy more than one memory address, therefore the program counter usually increases by the number of memory locations required to store one instruction.
  94. ^ David J. Eck (2000). The Most Complex Machine: A Survey of Computers and Computing. A K Peters, Ltd. p. 54. ISBN 978-1-56881-128-4.
  95. ^ Erricos John Kontoghiorghes (2006). Handbook of Parallel Computing and Statistics. CRC Press. p. 45. ISBN 978-0-8247-4067-2.
  96. ^ Flash memory also may only be rewritten a limited number of times before wearing out, making it less useful for heavy random access usage. (Verma & Mielke 1988)
  97. ^ Donald Eadie (1968). Introduction to the Basic Computer. Prentice-Hall. p. 12.
  98. ^ Arpad Barna; Dan I. Porat (1976). Introduction to Microcomputers and the Microprocessors. Wiley. p. 85. ISBN 978-0-471-05051-3.
  99. ^ Jerry Peek; Grace Todino; John Strang (2002). Learning the UNIX Operating System: A Concise Guide for the New User. O'Reilly. p. 130. ISBN 978-0-596-00261-9.
  100. ^ Gillian M. Davis (2002). Noise Reduction in Speech Applications. CRC Press. p. 111. ISBN 978-0-8493-0949-6.
  101. ^ However, it is also very common to construct supercomputers out of many pieces of cheap commodity hardware; usually individual computers connected by networks. These so-called computer clusters can often provide supercomputer performance at a much lower cost than customized designs. While custom architectures are still used for most of the most powerful supercomputers, there has been a proliferation of cluster computers in recent years. (TOP500 2006)
  102. ^ Even some later computers were commonly programmed directly in machine code. Some minicomputers like the DEC PDP-8 could be programmed directly from a panel of switches. However, this method was usually used only as part of the booting process. Most modern computers boot entirely automatically by reading a boot program from some non-volatile memory.
  103. ^ However, there is sometimes some form of machine language compatibility between different computers. An x86-64 compatible microprocessor like the AMD Athlon 64 is able to run most of the same programs that an Intel Core 2 microprocessor can, as well as programs designed for earlier microprocessors like the Intel Pentiums and Intel 80486. This contrasts with very early commercial computers, which were often one-of-a-kind and totally incompatible with other computers.
  104. ^ High level languages are also often interpreted rather than compiled. Interpreted languages are translated into machine code on the fly, while running, by another program called an interpreter.
  105. ^ It is not universally true that bugs are solely due to programmer oversight. Computer hardware may fail or may itself have a fundamental problem that produces unexpected results in certain situations. For instance, the Pentium FDIV bug caused some Intel microprocessors in the early 1990s to produce inaccurate results for certain floating point division operations. This was caused by a flaw in the microprocessor design and resulted in a partial recall of the affected devices.
  106. ^ Taylor, Alexander L., III (16 April 1984). "The Wizard Inside the Machine". TIME. Retrieved 17 February 2007. (subscription required)
  107. ^ Agatha C. Hughes (2000). Systems, Experts, and Computers. MIT Press. p. 161. ISBN 978-0-262-08285-3. The experience of SAGE helped make possible the first truly large-scale commercial real-time network: the SABRE computerized airline reservations system ...
  108. ^ Leiner, Barry M.; Cerf, Vinton G.; Clark, David D.; Kahn, Robert E.; Kleinrock, Leonard; Lynch, Daniel C.; Postel, Jon; Roberts, Larry G.; Wolf, Stephen (1999). "A Brief History of the Internet". Internet Society. arXiv:cs/9901011. Bibcode:1999cs........1011L. Retrieved 20 September 2008. Cite journal requires |journal= (help)
  109. ^ According to the Shorter Oxford English Dictionary (6th ed, 2007), the word computer dates back to the mid 17th century, when it referred to "A person who makes calculations; specifically a person employed for this in an observatory etc."
  110. ^ "Definition of computer". Thefreedictionary.com. Retrieved 29 January 2012.
  111. ^ II, Joseph D. Dumas (2005). Computer Architecture: Fundamentals and Principles of Computer Design. CRC Press. p. 340. ISBN 9780849327490.

  • Evans, Claire L. (2018). Broad Band: The Untold Story of the Women Who Made the Internet. New York: Portfolio/Penguin. ISBN 9780735211759.
  • Fuegi, J.; Francis, J. (2003). "Lovelace & Babbage and the creation of the 1843 'notes'". IEEE Annals of the History of Computing. 25 (4): 16. doi:10.1109/MAHC.2003.1253887. S2CID 40077111.
  • aKempf, Karl (1961). "Historical Monograph: Electronic Computers Within the Ordnance Corps". Aberdeen Proving Ground (United States Army). Cite journal requires |journal= (help)
  • aPhillips, Tony (2000). "The Antikythera Mechanism I". American Mathematical Society. Retrieved 5 April 2006.
  • aShannon, Claude Elwood (1940). A symbolic analysis of relay and switching circuits (Thesis). Massachusetts Institute of Technology. hdl:1721.1/11173.
  • Digital Equipment Corporation (1972). PDP-11/40 Processor Handbook (PDF). Maynard, MA: Digital Equipment Corporation.
  • Verma, G.; Mielke, N. (1988). "Reliability performance of ETOX based flash memories". IEEE International Reliability Physics Symposium. Cite journal requires |journal= (help)
  • Swade, Doron D. (February 1993). "Redeeming Charles Babbage's Mechanical Computer". Scientific American. 268 (2): 86–91. Bibcode:1993SciAm.268b..86S. doi:10.1038/scientificamerican0293-86. JSTOR 24941379.
  • Meuer, Hans; Strohmaier, Erich; Simon, Horst; Dongarra, Jack (13 November 2006). "Architectures Share Over Time". TOP500. Archived from the original on 20 February 2007. Retrieved 27 November 2006.
  • Lavington, Simon (1998). A History of Manchester Computers (2 ed.). Swindon: The British Computer Society. ISBN 978-0-902505-01-8.
  • Light, Jennifer S. (1999). "When Computers Were Women". Technology and Culture. 40 (3): 455–483. doi:10.1353/tech.1999.0128. JSTOR 25147356. S2CID 108407884.
  • Stokes, Jon (2007). Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture. San Francisco: No Starch Press. ISBN 978-1-59327-104-6.
  • Zuse, Konrad (1993). The Computer – My life. Berlin: Pringler-Verlag. ISBN 978-0-387-56453-1.
  • Felt, Dorr E. (1916). Mechanical arithmetic, or The history of the counting machine. Chicago: Washington Institute.
  • Ifrah, Georges (2001). The Universal History of Computing: From the Abacus to the Quantum Computer. New York: John Wiley & Sons. ISBN 978-0-471-39671-0.
  • Berkeley, Edmund (1949). Giant Brains, or Machines That Think. John Wiley & Sons.
  • Cohen, Bernard (2000). Howard Aiken, Portrait of a computer pioneer. Physics Today. 53. Cambridge, Massachusetts: The MIT Press. pp. 74–75. Bibcode:2000PhT....53c..74C. doi:10.1063/1.883007. ISBN 978-0-262-53179-5.
  • Ligonnière, Robert (1987). Préhistoire et Histoire des ordinateurs. Paris: Robert Laffont. ISBN 978-2-221-05261-7.
  • Couffignal, Louis (1933). Les machines à calculer; leurs principes, leur évolution. Paris: Gauthier-Villars.
  • Essinger, James (2004). Jacquard's Web, How a hand loom led to the birth of the information age. Oxford University Press. ISBN 978-0-19-280577-5.
  • Hyman, Anthony (1985). Charles Babbage: Pioneer of the Computer. Princeton University Press. ISBN 978-0-691-02377-9.
  • Bowden, B. V. (1953). Faster than thought. New York, Toronto, London: Pitman publishing corporation.
  • Moseley, Maboth (1964). Irascible Genius, Charles Babbage, inventor. London: Hutchinson.
  • Collier, Bruce (1970). The little engine that could've: The calculating machines of Charles Babbage. Garland Publishing Inc. ISBN 978-0-8240-0043-1.
  • Randell, Brian (1982). "From Analytical Engine to Electronic Digital Computer: The Contributions of Ludgate, Torres, and Bush" (PDF). Archived from the original (PDF) on 21 September 2013. Retrieved 29 October 2013.
  • Smith, Erika E. (2013). "Recognizing a Collective Inheritance through the History of Women in Computing". CLCWeb: Comparative Literature and Culture. 15 (1): 1–9. doi:10.7771/1481-4374.1972.

  • Media related to Computers at Wikimedia Commons
  • Wikiversity has a quiz on this article
  • Warhol & The Computer