Компьютер

Компью́тер (англ. computer, МФА: [kəmˈpjuː.tə(ɹ)][1] — «вычислитель», от лат. computare — считать, вычислять[2]) — устройство или система, способная автоматически выполнять заданную, изменяемую последовательность операций.

Компьютеры разных эпох и областей применения. По часовой стрелке от левого верхнего:

Это чаще всего операции численных расчётов и манипулирования данными, однако сюда относятся и операции ввода-вывода. Описание последовательности операций называется программой[3].

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

Этимология и особенности терминологии

Слово компьютер является производным от английских слов to compute, computer, которые переводятся как «вычислять», «вычислитель» (английское слово, в свою очередь, происходит от латинского computāre — «вычислять»). Первоначально в английском языке это слово означало человека, производящего арифметические вычисления с привлечением или без привлечения механических устройств. В дальнейшем его значение было перенесено на сами машины, однако современные компьютеры выполняют множество задач, не связанных напрямую с математикой.

Впервые трактовка слова компьютер появилась в 1897 году в Оксфордском словаре английского языка. Его составители тогда понимали компьютер как механическое вычислительное устройство. В 1946 году словарь пополнился дополнениями, позволяющими разделить понятия цифрового, аналогового и электронного компьютера.

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

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

История

  • 3000 лет до н. э. — в Древнем Вавилоне были изобретены первые счёты — абак.
  • 500 лет до н. э. — в Китае появился более «современный» вариант абака с косточками на соломинках — суаньпань.
  • 87 год до н. э. — в Греции был изготовлен «антикитерский механизм» — механическое устройство на базе зубчатых передач, представляющее собой специализированный астрономический вычислитель.
  • В XIII веке Луллий Раймунд создал логическую машину в виде бумажных кругов, построенных по троичной логике.
  • 1492 год — Леонардо да Винчи в одном из своих дневников приводит эскиз 13-разрядного суммирующего устройства с десятизубцовыми кольцами. Хотя работающее устройство на базе этих чертежей было построено только в XX веке, всё же реальность проекта Леонардо да Винчи подтвердилась.
Суммирующая машина Паскаля
Зал счётных машин «Computing Division» Казначейства США. 1920-е
  • 1927 год — в Массачусетском технологическом институте (MIT) Вэниваром Бушем был разработан механический аналоговый компьютер[9].
  • 1938 год — немецкий инженер Конрад Цузе вскоре после окончания в 1935 году Берлинского политехнического института построил свою первую машину, названную Z1. (В качестве его соавтора упоминается также Гельмут Шрейер (нем. Helmut Schreyer)). Это полностью механическая программируемая цифровая машина. Модель была пробной и в практической работе не использовалась. Её восстановленная версия хранится в Немецком техническом музее в Берлине. В том же году Цузе приступил к созданию машины Z2 (Сначала эти компьютеры назывались V1 и V2. По-немецки это звучит «Фау-1» и «Фау-2» и чтобы их не путали с ракетами, компьютеры переименовали в Z1 и Z2).
Компьютер ЭНИАК

Экспоненциальное развитие компьютерной техники

Диаграмма Закона Мура. Количество транзисторов удваивается каждые 2 года

После изобретения интегральной схемы развитие компьютерной техники резко ускорилось. Этот эмпирический факт, замеченный в 1965 году соучредителем компании Intel Гордоном Е. Муром, назвали по его имени Законом Мура. Столь же стремительно развивается и процесс миниатюризации компьютеров. Первые электронно-вычислительные машины (например, такие, как созданный в 1946 году ЭНИАК) были огромными устройствами, весившими тонны, занимавшими целые комнаты и требовавшими большого количества обслуживающего персонала для успешного функционирования. Они были настолько дороги, что их могли позволить себе только правительства и большие исследовательские организации, и представлялись настолько экзотическими, что казалось, будто небольшая горстка таких систем сможет удовлетворить любые будущие потребности. В контрасте с этим, современные компьютеры — гораздо более мощные и компактные и гораздо менее дорогие — стали воистину вездесущими.

Математические модели

Архитектура и структура

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

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

Квантовые ЭВМ

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

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

Первым практическим высокоуровневым языком программирования для такого вида компьютеров считается язык Quipper, основанный на Haskell (см. Квантовое программирование).

Классификация

По назначению

Персональный компьютер IBM PC/XT
Компьютер PDP-11/40

Суперкомпьютеры

Малые и мобильные

Другие

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

Первая троичная ЭВМ «Сетунь» на ферритдиодных ячейках была построена Брусенцовым в МГУ.

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

Физическая реализация

Более строгий подход к классификации основан на отслеживании используемых при создании компьютеров технологий. Самые ранние компьютеры были полностью механическими системами. Тем не менее, уже в 1930-х годах телекоммуникационная промышленность предложила разработчикам новые, электромеханические компоненты (реле), а в 1940-х были созданы первые полностью электронные компьютеры, имевшие в своей основе электронные лампы. В 19501960-х годах на смену лампам пришли транзисторы, а в конце 1960-х — начале 1970-х годов — используемые и сегодня полупроводниковые интегральные схемы (кремниевые чипы).

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

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

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

По способностям

Одним из наиболее простых способов классифицировать различные типы вычислительных устройств является определение их способностей. Все вычислители могут, таким образом, быть отнесены к одному из трёх типов:

Современный компьютер общего назначения

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

Конструктивные особенности

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

Цифровой или аналоговый

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

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

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

Система счисления

Примером компьютера на основе десятичной системы счисления является первая американская вычислительная машина Марк I.

Важнейшим шагом в развитии вычислительной техники стал переход к внутреннему представлению чисел в двоичной форме[10]. Это значительно упростило конструкции вычислительных устройств и периферийного оборудования. Принятие за основу двоичной системы счисления позволило более просто реализовывать арифметические функции и логические операции.

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

Под руководством академика Хетагурова Я. А. разработан «высоконадёжный и защищённый микропроцессор недвоичной системы кодирования для устройств реального времени», использующий систему кодирования 1 из 4 с активным нулём.

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

Хранение программ и данных

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

Программирование

Джон фон Нейман — один из основоположников создания архитектуры современных компьютеров

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

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

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

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

Применение

Трёхмерная карта поверхности участка земной суши, построенная при помощи компьютерной программы

Первые компьютеры создавались исключительно для вычислений (что отражено в названиях «компьютер» и «ЭВМ»). Даже самые примитивные компьютеры в этой области во много раз превосходят людей (если не считать некоторых уникальных людей-счётчиков). Не случайно первым высокоуровневым языком программирования был Фортран, предназначенный исключительно для выполнения математических расчётов.

Вторым крупным применением были базы данных. Прежде всего, они были нужны правительствам и банкам. Базы данных требуют уже более сложных компьютеров с развитыми системами ввода-вывода и хранения информации. Для этих целей был разработан язык Кобол. Позже появились СУБД со своими собственными языками программирования.

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

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

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

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

Примечания

  1. Представлено британское произношение слова; также возможен американский вариант: [kəmˈpjuː.tɚ]. Нормативное произношение в русском языке: [kɐmˈpʲjʉtʲɪr]
  2. Словарь иностранных слов. — М.: «Русский язык», 1989. — 624 с. ISBN 5-200-00408-8
  3. Толковый словарь по вычислительным системам = Dictionary of Computing / Под ред. В. Иллингуорта и др.: Пер. с англ. А. К. Белоцкого и др.; Под ред. Е. К. Масловского. М.: Машиностроение, 1990. — 560 с. 70 000 (доп.) экз. — ISBN 5-217-00617-X (СССР), ISBN 0-19-853913-4 (Великобритания).
  4. Конвенция о преступности в сфере компьютерной информации
  5. Деятели философии. Жизнь и труды Лейбница (недоступная ссылка). Дата обращения: 17 февраля 2012. Архивировано 7 июля 2012 года.
  6. The calculating machines of Johann Helfrich Müller (англ.)
  7. The ternary calculating machine of Thomas Fowler
  8. Сайт Томаса Фоулера
  9. Vannevar Bush’s Differential Analyzer (англ.)
  10. Раздел 5.2 Choice of binary system (Выбор двоичной системы)

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.