Компьютер
Материал из Википедии — свободной энциклопедии
Компью́тер (англ. computer — «вычислитель»), ЭВМ (электронная вычислительная машина) — машина для проведения вычислений, а также приёма, переработки, хранения и выдачи информации по заранее определённому алгоритму (компьютерной программе). На заре эры компьютеров считалось, что основная функция компьютера — вычисление. Однако в настоящее время полагают, что основная их функция — управление.
Содержание |
[править] Основные принципы
Выполнение поставленных перед ним задач компьютер может обеспечивать при помощи перемещения каких-либо механических частей, движения потоков электронов, фотонов, квантовых частиц или за счёт использования эффектов от любых других хорошо изученных физических явлений. Большинству из нас наиболее знаком самый распространённый из типов используемых компьютеров — электронный персональный компьютер.
Архитектура компьютеров может непосредственно моделировать решаемую проблему, максимально близко (в смысле математического описания) отражая исследуемые физические явления. Так, электронные потоки могут использоваться в качестве моделей потоков воды при моделировании дамб или плотин. Подобным образом сконструированные аналоговые компьютеры были обычны в 60-х годах XX века, однако сегодня стали достаточно редким явлением.
В большинстве современных компьютеров проблема сначала описывается в математических терминах, при этом вся необходимая информация представляется в двоичной форме (в виде единиц и нулей), после чего действия по её обработке сводятся к применению простой алгебры логики. Поскольку практически вся математика может быть сведена к выполнению булевых операций, достаточно быстрый электронный компьютер может быть применим для решения большинства математических задач (а также и большинства задач по обработке информации, которые могут быть легко сведены к математическим).
Было обнаружено, что компьютеры всё-таки могут решить не любую математическую задачу. Впервые задачи, которые не могут быть решены при помощи компьютеров, были описаны английским математиком Аланом Тьюрингом.
Результат выполненной задачи может быть представлен пользователю при помощи различных устройств ввода-вывода информации, таких, как лампочные индикаторы, мониторы, принтеры и т. п.
Начинающие пользователи и особенно дети зачастую с трудом воспринимают идею того, что компьютер — просто машина и не может самостоятельно «думать» или «понимать» те слова, которые он показывает. Компьютер лишь механически отображает заданные программой линии и цвета при помощи устройств ввода-вывода. Человеческий мозг сам признаёт в изображённом на экране образы, числа или слова и придаёт им те или иные значения.
[править] Этимология
Слово компьютер является производным от английских слов to compute, computer, которые переводятся как «вычислять», «вычислитель» (английское слово, в свою очередь, происходит от латинского computo — «вычисляю»). Первоначально в английском языке это слово означало человека, производящего арифметические вычисления с привлечением или без привлечения механических устройств. В дальнейшем его значение было перенесено на сами машины, однако современные компьютеры выполняют множество задач, не связанных напрямую с математикой.
Впервые трактовка слова компьютер появилась в 1897 году в Оксфордском английском словаре. Его составители тогда понимали компьютер как механическое вычислительное устройство. В 1946 году словарь пополнился дополнениями, позволяющими разделить понятия цифрового, аналогового и электронного компьютеров.
[править] История
- Подробнее см. История вычислительной техники
[править] Нулевое поколение
- 3000 лет до н. э. — в Древнем Вавилоне были изобретены первые счёты — абак.
- 500 лет до н. э. — в Китае появился более «современный» вариант абака с косточками на проволоке.
- 1492 год — Леонардо да Винчи в одном из своих дневников приводит эскиз 13-разрядного суммирующего устройства с десятизубцовыми кольцами. Хотя работающее устройство на базе этих чертежей было построено только в XX веке, всё же реальность проекта Леонардо да Винчи подтвердилась.
- 1623 год — Вильгельм Шиккард, профессор университета Тюбингена, разрабатывает устройство на основе зубчатых колес («считающие часы») для сложения и вычитания шестиразрядных десятичных чисел. Было ли устройство реализовано при жизни изобретателя, достоверно неизвестно, но в 1960 году оно было воссоздано и проявило себя вполне работоспособным.
- 1630 год — Ричард Деламейн создаёт круговую логарифмическую линейку.
- 1642 год — Блез Паскаль представляет «Паскалин» — первое реально осуществлённое и получившее известность механическое цифровое вычислительное устройство. Прототип устройства суммировал и вычитал пятиразрядные десятичные числа. Паскаль изготовил более десяти таких вычислителей, причём последние модели оперировали числами с восемью десятичными разрядами.
- 1673 год — известный немецкий философ и математик Готфрид Вильгельм Лейбниц построил механический калькулятор, который при помощи двоичной системы счисления выполнял умножение, деление, сложение и вычитание.
- Примерно в это же время Исаак Ньютон закладывает основы математического анализа.
- 1723 год — немецкий математик и астроном Христиан Людвиг Герстен на основе работ Лейбница создал арифметическую машину. Машина высчитывала частное и число последовательных операций сложения при умножении чисел. Кроме того, в ней была предусмотрена возможность контроля за правильностью ввода данных.
- 1786 год — немецкий военный инженер Иоганн Мюллер выдвигает идею «разностной машины» — специализированного калькулятора для табулирования логарифмов, вычисляемых разностным методом. Калькулятор, построенный на ступенчатых валиках Лейбница, получился достаточно небольшим (13 см в высоту и 30 см в диаметре), но при этом мог выполнять все четыре арифметических действия над 14-разрядными числами.
- 1801 год — Жозеф Мария Жаккард строит ткацкий станок с программным управлением, программа работы которого задается с помощью комплекта перфокарт.
- 1820 год — первый промышленный выпуск арифмометров. Первенство принадлежит французу Тома де Кальмару.
- 1822 год — английский математик Чарльз Бэббидж изобрёл, но не смог построить, первую разностную машину (специализированный арифмометр для автоматического построения математических таблиц) (см. Разностная машина Чарльза Бэббиджа).
- 1855 год — братья Георг и Эдвард Шутц (англ. George & Edvard Scheutz) из Стокгольма построили первую разностную машину на основе работ Чарльза Бэббиджа.
- 1884—1887 годы — Холлерит разработал электрическую табулирующую систему, которая использовалась в переписях населения США в 1890-м и 1900-м годах.
- 1927 год — в Массачусетском технологическом институте (MIT) был изобретён аналоговый компьютер.
- 1938 год — немецкий инженер Конрад Цузе вскоре после окончания в 1935 году Берлинского политехнического института построил свою первую машину, названную Z1. (В качестве его соавтора упоминается также Гельмут Шрейер (нем. Helmut Schreyer)). Это полностью механическая программируемая цифровая машина. Модель была пробной и в практической работе не использовалась. Её восстановленная версия хранится в Немецком техническом музее в Берлине. В том же году Цузе приступил к созданию машины Z2.
- 1941 год — Конрад Цузе создаёт первую вычислительную машину Z3, обладающую всеми свойствами современного компьютера.
- 1942 год — в Университете штата Айова (англ. Iowa State University) Джон Атанасов (англ. John Atanasoff) и его аспирант Клиффорд Берри (англ. Clifford Berry) создали (а точнее — разработали и начали монтировать) первый в США электронный цифровой компьютер (англ. Atanasoff-Berry Computer — ABC). Хотя эта машина так и не была завершена (Атанасов ушёл в действующую армию), она, как пишут историки, оказала большое влияние на Джона Мочли, создавшего двумя годами позже ЭВМ Эниак.
- В начале 1943 года успешные испытания прошла первая американская вычислительная машина Марк I, предназначенная для выполнения сложных баллистических расчётов американского ВМФ.
- В конце 1943 года заработала английская вычислительная машина специального назначения Колосс. Машина работала над расшифровкой секретных кодов фашистской Германии.
- В 1944 году Конрад Цузе разработал ещё более быстрый компьютер Z4.
- В Советском Союзе первая электронная вычислительная машина была создана в Киеве группой Лебедева в 1950 году.
- С начала 90-х годов XX века слово компьютер практически вытеснило из русского языка, а также и из многих других языков, термин электронная вычислительная машина (ЭВМ).
Подробнее об истории вычислительной техники можно узнать, посетив Виртуальный музей.
[править] Экспоненциальное развитие компьютерной техники
Если проследить историю развития вычислительных устройств, начиная с 1900 года, можно заметить характерное удвоение производительности за каждые 18—24 месяца. Впервые эту особенность в 1965 году описал соучредитель компании «Intel» Гордон Е. Мур. (см. Закон Мура). Столь же стремительно развивается и процесс миниатюризации компьютеров. Первые электронно-вычислительные машины (например, такие, как созданный в 1946 году Эниак) были огромными устройствами, весящими многие тонны, занимавшими целые комнаты и требовавшими большого количества обслуживающего персонала для успешного функционирования. Они были настолько дороги, что их могли позволить себе только правительства и большие исследовательские организации, и представлялись настолько экзотическими, что казалось — небольшая горстка таких систем сможет удовлетворить любые будущие потребности. В контрасте с этим, современные компьютеры — гораздо более мощные и компактные и гораздо менее дорогие — стали воистину вездесущими.
[править] Классификация
[править] Типизация по назначению
- Калькулятор
- Консольный компьютер
- Миникомпьютер
- Мэйнфрейм
- Персональный компьютер
- Игровая приставка (Игровая консоль)
- Карманный компьютер (КПК)
- Рабочая станция
- Настольный компьютер
- Ноутбук (Лэптоп)
- Сервер
- Суперкомпьютер
Поверхностный характер представленного подхода к классификации компьютеров очевиден. Он обычно используется лишь для обозначения общих черт наиболее часто встречающихся компьютерных устройств. Быстрые темпы развития вычислительной техники означают постоянное расширение областей её применения и быстрое устаревание используемых понятий. Для более строгого описания особенностей того или иного компьютера обычно требуется использовать другие схемы классификаций.
[править] Физическая реализация
Более строгий подход к классификации основан на отслеживании используемых при создании компьютеров технологий. Не секрет, что самые ранние компьютеры были полностью механическими системами. Тем не менее уже в 30-х годах XX века телекоммуникационная промышленность предложила разработчикам новые, электромеханические компоненты (реле), а в 40-х были созданы первые полностью электронные компьютеры, имевшие в своей основе вакуумные электронные лампы. В 50-х — 60-х годах на смену лампам пришли транзисторы, а в конце 60-х — начале 70-х годов — используемые и сегодня полупроводниковые интегральные схемы (кремниевые чипы).
Приведённый перечень технологий не является исчерпывающим; он описывает только основную тенденцию развития вычислительной техники. В разные периоды истории исследовалась возможность создания вычислительных машин на основе множества других, ныне позабытых и порою весьма экзотических технологий. Например, существовали планы создания гидравлических и пневматических компьютеров, между 1903 и 1909 годами некто Перси И. Луджет даже разрабатывал проект программируемой аналитической машины, работающей на базе пошивочных механизмов (переменные этого вычислителя планировалось определять при помощи ниточных катушек).
В настоящее время ведутся серьёзные работы по созданию оптических компьютеров, использующих вместо традиционного электричества световые сигналы. Другое перспективное направление подразумевает использование достижений молекулярной биологии и исследований ДНК. И, наконец, один из самых новых подходов, способный привести к грандиозным изменениям в области вычислительной техники, основан на разработке квантовых компьютеров.
Впрочем, в большинстве случаев технология исполнения компьютера является гораздо менее важной, чем заложенные в его основу конструкторские решения.
- Квантовый компьютер
- Механический компьютер
- Оптический компьютер
- Пневматический компьютер
- Электронный компьютер
[править] Конструктивные особенности
Современные компьютеры используют весь спектр конструкторских решений, разработанных за всё время развития вычислительной техники. Эти решения, как правило, не зависят от физической реализации компьютеров, а сами являются основой, на которую опираются разработчики. Ниже приведены наиболее важные вопросы, решаемые создателями компьютеров:
[править] Цифровой или аналоговый
Фундаментальным решением при проектировании компьютера является выбор, будет ли он цифровой или аналоговой системой. Если цифровые компьютеры работают с дискретными численными или символьными переменными, то аналоговые предназначены для обработки непрерывных потоков поступающих данных. Сегодня цифровые компьютеры имеют значительно более широкий диапазон применения, хотя их аналоговые собратья все ещё используются для некоторых специальных целей. Следует также упомянуть, что здесь возможны и другие подходы, применяемые, к примеру, в импульсных и квантовых вычислениях, однако пока что они являются либо узкоспециализированными, либо экспериментальными решениями.
Примерами аналоговых вычислителей, от простого к сложному, являются: логарифмическая линейка, астролябия, осциллограф, телевизор, аналоговый звуковой процессор, автопилот, мозг.
Среди наиболее простых дискретных вычислителей известен абак, или обыкновенные счёты; наиболее сложной из такого рода систем является суперкомпьютер.
[править] Двоичный, десятичный или троичный
Важнейшим шагом в развитии вычислительной техники стал переход к внутреннему представлению чисел в двоичной форме. Это значительно упростило конструкции вычислительных устройств и периферийного оборудования. Принятие за основу двоичной системы счисления позволило более просто реализовывать арифметические функции и логические операции.
Тем не менее переход к двоичной логике был не мгновенным и безоговорочным процессом. Многие конструкторы пытались разработать компьютеры на основе более привычной для человека десятичной системы счисления. Применялись и другие конструктивные решения. Так, одна из ранних советских машин работала на базе троичной системы счисления, использование которой во многих отношениях более выгодно и удобно по сравнению с двоичной системой (проект троичного компьютера Сетунь был разработан и реализован талантливым советским инженером Н. П. Брусенцовым.)
Примером компьютера на основе десятичной системы счисления является первая американская вычислительная машина Марк I.
В целом, однако, выбор внутренней системы представления данных не меняет базовых принципов работы компьютера — любой компьютер может эмулировать любой другой.
[править] Программируемый
Способность машины к выполнению изменяемого набора инструкций (программы) без необходимости физической переконфигурации является фундаментальной особенностью компьютеров. Дальнейшее развитие эта особенность получила, когда машины приобрели способность динамически управлять процессом выполнения программы. Это позволяет компьютерам самостоятельно изменять порядок выполнения инструкций программы в зависимости от состояния данных.
[править] Хранящий программы и данные
Во время выполнения вычислений часто бывает необходимо сохранить промежуточные данные для их дальнейшего использования. Производительность многих компьютеров в значительной степени определяется скоростью, с которой они могут читать и писать значения в (из) памяти и её общей ёмкости. Первоначально компьютерная память использовалась только для хранения промежуточных значений, но вскоре было предложено сохранять код программы в той же самой памяти (См. Архитектура фон Неймана), что и данные. Это удачное решение используется сегодня в большинстве компьютерных систем. Однако для управляющих контроллеров (микро-ЭВМ) более удобной оказалась схема, при которой данные и программы хранятся в различных разделах памяти (гарвардская архитектура).
[править] Классификация по способностям
Одним из наиболее простых способов классифицировать различные типы вычислительных устройств является определение их способностей. Все вычислители могут, таким образом, быть отнесены к одному из трёх типов:
- специализированные устройства, умеющие выполнять только одну функцию (например, Антикитерский механизм 87 год до н. э. или ниточный предсказатель Вильяма Томсона 1876 года);
- устройства специального назначения, которые могут выполнять ограниченный диапазон функций (первая разностная машина Чарльза Бэббиджа и разнообразные дифференциальные анализаторы);
- устройства общего назначения, используемые сегодня. Название компьютер применяется, как правило, именно к машинам общего назначения.
[править] Современный компьютер общего назначения
При рассмотрении современных компьютеров наиболее важной особенностью, отличающей их от ранних вычислительных устройств, является то, что при соответствующем программировании любой компьютер может подражать поведению любого другого (хоть эта возможность и ограничена, к примеру, вместимостью средств хранения данных или различием в скорости). Таким образом, предполагается, что современные машины могут эмулировать любое вычислительное устройство будущего, которое когда-либо может быть создано. В некотором смысле эта пороговая способность полезна для различия компьютеров общего назначения и устройств специального назначения. Определение «компьютер общего назначения» может быть формализовано в требовании, чтобы конкретный компьютер был способен подражать поведению универсальной машины Тьюринга. Первым компьютером, удовлетворяющим такому условию, считается машина Z3, созданная немецким инженером Конрадом Цузе в 1941 году (доказательство этого факта было сделано в 1998).
[править] Применение компьютеров
Первые компьютеры создавались исключительно для вычислений (что отражено в названиях «компьютер» и «ЭВМ»). Даже самые примитивные компьютеры в этой области во много раз превосходят людей (если не считать некоторых уникальных людей-счётчиков). Не случайно первым высокоуровневым языком программирования был Фортран, предназначенный исключительно для выполнения расчётов.
Вторым крупным применением были базы данных. Прежде всего они были нужны правительствам и банкам. Базы данных требуют уже более сложных компьютеров с развитыми системами ввода-вывода и хранения информации. Для этих целей был разработан язык Кобол. Позже появились СУБД со своими собственными языками программирования.
Третьим применением было управление всевозможными устройствами. Здесь развитие шло от узкоспециализированных устройств (часто аналоговых) к постепенному внедрению стандартных компьютерных систем, на которых запускаются управляющие программы. Кроме того, всё бо́льшая часть техники начинает включать в себя управляющий компьютер.
Наконец, компьютеры развились настолько, что компьютер стал главным информационным инструментом как в офисе, так и дома. Т. е. теперь почти любая работа с информацией осуществляется через компьютер — будь то набор текста или просмотр фильмов. Это относится и к хранению информации, и к её пересылке по каналам связи.
Наиболее сложным и слаборазвитым применением компьютеров является искусственный интеллект — применение компьютеров для решения таких задач, где нет чётко определённого более или менее простого алгоритма. Примеры таких задач — игры, машинный перевод текста, экспертные системы.
[править] Математические модели
- Автомат Фон-Неймана
- Машина Фон-Неймана
- Абстрактный автомат
- Конечный автомат
- Конечный автомат с памятью
- Универсальная машина Тьюринга
- Нанокомпьютер
- Квантовый компьютер
- Биокомпьютер Эдлмана
- Конечный биоавтомат Шапиро
[править] Архитектура компьютеров
- Архитектура фон Неймана
- Гарвардская архитектура
- Шинная архитектура компьютера против канальной архитектуры
- Архитектура IBM PC
- Классификация параллельных вычислительных систем
[править] См. также
Компьютер в Викицитатнике | |
Компьютер на Викискладе |
- Программное обеспечение
- Список алгоритмов
- Виртуальная реальность
- Вычислительная машина
- Вычислительный центр
- Главный компьютер
- Гипертекст
- Интернет
- Информатика
- Компьютерная игра
- Компьютерная сеть
- Компьютерная система
- Криптография
- Машинный носитель
- Программирование
- Персональный компьютер
- Компьютерный сленг
- Список советских компьютерных систем
- Транспьютер
- Хакер
- Язык разметки
- Языки программирования