Компьютер — это устройство, которое принимает, обрабатывает и хранит информацию с помощью заранее разработанных алгоритмов (программ).
Первые компьютеры изначально использовались как вычислительные устройства, так как все данные были исключительно числовыми. Компьютер следует обобщенным наборам команд, которые называются программами. Полноценный компьютер включает в себя всё необходимое оборудование, операционную систему (основное программное обеспечение) и периферийные устройства, которые необходимы для полноценной работы.
Антикитерская машина считается самым ранним механически компьютером, которая использовалась в 100 году до н. э., он был обнаружен в начале ХХ века у греческого острова Антикитера[1]. Устройство предназначалось для расчета астрономических позиций. Логарифмическая линейка была изобретена в начале XVII века[2]. Это ручной аналоговый компьютер, который позволял выполнять умножение и деление. В дальнейшем, в логарифмическую линейку были добавлены столбцы для расчет обратных чисел, квадратных и кубических корней и др.
В 1623 году Вильгельм Шикард создал первый цифровой механический компьютер, который автоматически выполял сложение, вычитание, умножение и деление[3]. Машина Шиккарда содержала суммирующее и множительное устройство, а также в устройстве был механизм для записи промежуточных результатов. В 1642 году была изоберетена машина Блезом Паскалем, в 1671 году Готфридом Вильгельмом фон Лейбницем. Лейбниц также первым описал двоичную систему исчисления, основной компонент любого современного компьютера.
В XIX веке начали использоваться технологии перфокарт. Графический дизайнер Герман Холлерит изобрел перфоратор, который позволял высверливать отверстия на карточках. В 1890 году он использовал эту технологию для создания механической машины, которая считывала данные с перфокарт и обрабатывала их. Перфокарты быстро стали популярными в бизнесе и государственных учреждениях, так как они позволяли хранить и обрабатывать большие объемы данных. В 1928 году IBM приобрела права на технологию Холлерита и начала массово производить перфокарты. В 1930-х годах перфокарты стали использоваться в качестве основного средства хранения информации в компьютерах. Они были удобными для программистов, так как позволяли легко записывать и читать данные. Перфокарты использовались в первых коммерческих компьютерах, таких как IBM 701 и UNIVAC 1. В 1960-х годах перфокарты постепенно уступили место более современным носителям информации, таким как магнитные ленты и диски. Однако они продолжали использоваться в некоторых областях, таких как бухгалтерия и учет.
В 1938 году немецкий инженер Конрад Цузе создал первый электромеханический компьютер[4]. Этот компьютер можно было запрограммировать, работать с двоичным кодом и оперировать 22-битными числами с плавающей запятой. В дальнейшем были выпущены усовершенствованные модели, которые работали на перфорированныз пленках и на телефонном реле.
В 1944 году в США компания IBM создает электромеханичекий компьютер Harvard Mark I[5], который разработал Говард Эйкен. Устройство содержало 750 000 деталей, его размеры составляли 17 метров в длину и высотой более 2 метров.
В 1949 году Кэтлин Бут создает язык ассемблер. Он позволял программировать оперции на компьютере без замены кабелей, с помощью перфокарт.
В 1952 году был разработан Harvard Mark IV, который был уже полностью электронным устройством. В машине была память на основе магнитных барабанов.
Olivetti P6060
В 1965 году компания Olivetti выпускает первый настольный компьютер[6]. Компьютер обладал съемной магнитной картой для хранения программ расчетов. Карта позволяла быстро загрузить программу. Компьютер мог складывать, вычитать умножать и делить, считать квадратный корень и дробную часть. Программы и результаты выводились на специльном рулоне бумажной ленты.
В 1971 году компания Intel представила первый коммерческий 4-х битный микропроцессор Intel 4004[7]. Процессор мог выполнять 60-70 тысяч инструкций в секунду.
В 1977 году компания Apple Inc. выпустила персональный компьютер Apple II. Компьютер имел графический режим, слоты для расширения постоянной и временной памяти. Программы можно было запускать с помощью магнитных дискет и результат выполнения программы получать прямо на экране монитора. Для этого устройства сторонние разработчики могли выпускать игры и программы, которые продавались на дискетах.
В 1981 году вышел один из самых коммерчески успешных компьютеров — IBM PC.
Компьютеры могут функционировать с помощью различных механических, электронных или других физических явлений. Несмотря на то, что компьютеры создаются с использованием различных технологий, почти все современные компьютеры являются электронными.
В большинстве случаев, задачи, возложенные на современные компьютеры, преобразуются в математические операции, представленные в двоичной системе счисления (система счисления, основанная на 0 и 1). Затем, используя булеву алгебру, производятся вычисления на основе этой информации.
Для описания вычислений Буля используются электронные схемы. Благодаря тому, что большинство математических расчетов могут быть преобразованы в операции Bool, электронные компьютеры могут быстро обрабатывать большинство математических задач (при условии, что информация о задаче была преобразована в математические операции).[8]
Когда компьютер завершает расчет задачи, результаты отображаются пользователю через устройства вывода, такие как мониторы, дисплеи и принтеры.
В настоящее время технологии, используемые в компьютерах, постоянно обновляются с момента создания первых компьютеров с неопределенным назначением в 1940-х годах, но большинство компьютеров все еще работает на основе архитектуры фон Неймана. Эта архитектура делит компьютеры на четыре основные части: арифметические и логические блоки (ALU), схему управления, память и устройства ввода/вывода[9]. Они связаны между собой проводами (называемыми шинами, когда каждая связка поддерживает более одной линии передачи данных) и обычно управляются таймером или часами (хотя другие события также могут управлять схемой управления).
Компьютерная память включает в себя формы и методы для долгосрочного хранения компьютерных данных (в конце компьютерного сеанса данные не теряются) или временного сохранения данных во время рабочего процесса компьютера (в конце компьютерного сеанса эта память теряется).
Центральный процессор — это часть компьютера, которая выполняет инструкции машинного языка, содержащиеся в компьютерной программе, включая арифметические, логические, сравнительные операции и операции ввода-вывода. Это одна из самых важных частей компьютера. В современных процессорах все части упакованы в один кристалл, поэтому они представляют собой микропроцессоры (MPU)[10].
Процессоры меняли свою форму, дизайн и реализацию на протяжении всей истории, но их основная функция остается неизменной. Главным компонентом процессора являются логические арифметические (ALU) блоки, которые выполняют арифметические и логические операции, регистры, которые хранят данные для ALU, вычисляют и сохраняют результаты, а также блок управления, который загружает скрипты из памяти и направляет скоординированные операции ALU, регистров и других компонентов для их выполнения.
Периферийные устройства позволяют получать информацию с помощью устройств ввода. После обработки результат работы программы отправляется на устройство вывода.
Коды инструкций в компьютере соответствуют двоичной системе счисления, где базовым числом является 2. Например, для директивы «копировать» может быть использован код 001. Совокупность всех директив, которые поддерживает компьютер, называется машинным языком.[11]
На практике программисты не используют машинный язык для написания инструкций для компьютера. Вместо этого они используют высокоуровневые языки программирования, которые затем автоматически переводятся на машинный язык с помощью специальных программ — интерпретаторов и компиляторов.
Некоторые языки программирования, такие как ассемблер, очень похожи на машинный язык и называются низкоуровневыми языками. В то же время, языки программирования, такие как C++, Basic и Delphi, основаны на абстрактных принципах и находятся на более высоком уровне абстракции от реальной работы компьютеров. Они называются языками высокого уровня.
Компьютерная программа — это список инструкций, которые компьютер выполняет вместе с таблицами данных. В таких программах может быть миллионы директив, часто повторяющихся. Современный компьютер может выполнять до 4-5 миллиардов инструкций в секунду.
Сегодня большинство компьютеров могут выполнять несколько программ одновременно, это называется многозадачностью. Центральный процессор выполняет инструкции одной программы, затем переключается на выполнение инструкций другой программы и т. д. Это происходит очень быстро и создает иллюзию одновременного выполнения программ. Операционная система контролирует это разделение времени.
С появлением микропроцессора в 1971 году компьютеры стремительно теряли в стоимости, в размерах и стали доступными для использования во многих сферах жизни обычными людьми, а не только для сложных расчетов в научных центрах. Компьютеры начали использоваться для систематизации собранной информации, для выполнения бизнес-задач, для работы с документами и электронными таблицами, а также для развлечений (видеоигры, просмотр фильмов). Ученые используют их для расчета и анализа, выполнения научных исследований и моделирования различных ситуаций. Микрокомпьютеры со встроенным программным обеспечением используются в различных бытовых устройствах, в оборудовании промышленных предприятий, автомобилях.