Всесильный калькулятор: как устроены компьютеры

Оригинал: Крис Вудфорд

Перевод и редактура: Павел «Rumiflan» Очкин

Гениев прошлого поразила бы популярность, которой пользуется сегодня вычислительная техника. Говорят, в 1943 году генеральный директор IBM Томас Джон Уотсон-старший сказал: «На мой взгляд, мировой спрос на компьютеры не превысит и пяти экземпляров». Его прогноз не сбылся: за прошедшие с тех пор восемьдесят с лишним лет количество вычислительных устройств перевалило за пять миллиардов. И речь не только о ноутбуках с Windows, macOS и Linux, но и о смартфонах с Android и iOS.

Ранее люди имели дело с крупногабаритными машинами. В 1940-х средний компьютер достигал пятнадцати метров в длину и девяти метров в ширину и весил несколько тонн. Чтобы переместить его из одного помещения в другое, понадобился бы мощный грузоподъёмник.

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

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

В чём же их секрет? Чем объясняется их многофункциональность? Что стоит за их успехом? Как именно они устроены? Если решили выяснить, эта статья для вас.

Что такое компьютер

Работу с любым таким устройством можно разделить на четыре этапа

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

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

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

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

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

  • Ввод. Большинству пользователей для добавления информации в компьютер достаточно клавиатуры или мыши. Тем же, кто работает с голосом и вообще с аудио-материалами, понадобятся микрофон и стерео микшер.
  • Запись и хранение. Конструкция среднего персонального компьютера включает по крайней мере один жёсткий диск или твердотельный накопитель. В малогабаритных устройствах вроде цифровых камер или смартфонов эту функцию выполняют карты памяти.
  • Обработка. Всеми преобразованиями информации в компьютере занимается «центральное процессорное устройство», или просто «процессор». Он представляет собой микросхему в «сердце» машины. Ему под силу одновременно проводить сотни, даже тысячи вычислений. При этом он сильно нагревается. Если его не обдувать мощным вентилятором, он выйдет из строя.
  • Вывод. В большинстве случаев результаты операций с данными достигают пользователей компьютеров в виде детальных изображений на жидкокристаллических экранах или звуков в стереодинамиках. Если на выходе получилась картинка, можно распечатать её на струйном принтере, вставить в рамку и повесить на стену.

Что такое программа

Функциональность калькулятора и компьютера определяют операции с числами, но второй легче «научить» решать и более сложные задачи

Хотя с 1940-х компьютеры уменьшились в размерах и стали полезнее, суть их не изменилась. Они остаются вычислительными машинами, то есть решают арифметические выражения, делают долгие расчёты и так далее. Любой процесс, от манипуляции с картинкой до отображения веб-страницы, — всего лишь серия математических операций.

Представим себе пользователя по имени Ричард. Он берёт цифровую камеру, делает снимок своего кота Паскаля, переносит его к себе на компьютер и открывает в графическом редакторе. Он хочет зеркально отразить эту фотографию по горизонтали. Ему надо, чтобы его кот смотрел вправо, а не влево.

Это тоже операция с числами. Любой графический файл представляет собой сетку с микроскопическими квадратными ячейками. Каждая такая ячейка залита определённым цветом и называется «пикселем». В памяти компьютера она хранится в виде числа. Это позволяет сравнить графические файлы с живописью по номерам: поля с двойками надо закрасить рыжим, поля с пятёрками — синим, и так далее. Разница лишь в размахе и скорости: когда пользователь открывает ту или иную картинку, компьютер заливает разными цветами миллионы полей, причём за долю секунды.

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

Если же снимок покажется Ричарду слишком тёмным, он откроет окно настроек яркости и контрастности и переместит нужный бегунок правее. Машина при этом увеличит у каждого пикселя ту часть его числа, которая отвечает за яркость. То есть речь об очередном математическом действии.

Но, в отличие от калькулятора, компьютер умеет работать самостоятельно. Здесь ему помогают специальные цифровые инструкции, или «программы». Если запустить такую, процессор начнёт обрабатывать данные без чьей-либо поддержки. Чтобы из колонок полилась музыка, от пользователя требуется лишь открыть в проигрывателе аудиофайл и нажать на кнопку с треугольником. Воспроизведение устройство берёт на себя.

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

  1. Распознавать, какие символы он вводит на клавиатуре.
  2. Записывать и хранить их в памяти.
  3. Выводить их на экран.

Помог зародившийся ещё в конце 1960-х рынок программного обеспечения. Разработчики вроде Питера Р. Дженнингса и сотрудников Microsoft облегчили владельцам компьютеров жизнь. В конце концов, программирование было и остаётся трудоёмким процессом. На создание текстового процессора уйдёт в разы больше времени и сил, чем на письмо другу. Многим проще купить установочный диск или лицензионный пакет.

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

Сегодня программной инженерией интересуются немногие. Новые браузеры и игровые движки пишут и выпускают преимущественно энтузиасты. Для большинства же компьютер — всего лишь средство облегчить себе жизнь. Мало кто считает машинный код набором деталей для конструктора. Копаться в нём и собирать из него новые приложения простому обывателю покажется очень скучным занятием.

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

Навыки эти были и остаются востребованными. Количество энтузиастов пусть медленно, но растёт. Программирование, или «кодинг», преподают в специальных школах. В Великобритании даже организовали волонтёрский проект Code Club. Для обучения детей и подростков используют визуально-блочные приложения вроде Scratch. Кроме того, набирают популярность различные самоделки вроде Raspberry Pi и Arduino.

Что такое операционная система

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

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

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

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

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

Хотя каждое из приложений Исаака выполняет свою функцию, принцип работы у них один и тот же. Все они распознают символы, которые он вводит на клавиатуре, записывают и хранят их в памяти, обрабатывают определённым образом и выводят на экран. Исаак получает нужный ему текст или набор картинок.

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

Но сама по себе операционная система не имеет полного доступа ко всем частям компьютера. Связь между ней и устройствами существует благодаря «базовой системе ввода-вывода», или BIOS. Хотя обе они считаются программами, между ними есть отличие. Если установить на сотню разных компьютеров Windows 10, получится сотня машин со схожей функциональностью. Процессор у каждой из них свой, а базовые цифровые инструкции одинаковые. BIOS же зависит от конфигурации, то есть конкретного набора комплектующих. Потому она уникальна для каждого компьютера.

BIOS обеспечивает контакт между операционной системой и оборудованием из специальной микросхемы. Называется она «постоянным запоминающим устройством», или ПЗУ. BIOS хранится в ней на полупостоянной основе: её код содержит всё необходимое для нормальной работы компьютера, но время от времени для неё выходят обновления. Их установку, как и саму такую программу, называют «прошивкой».

Операционные системы облегчили людям жизнь. В 1970-х и первой половине 1980-х отдельные компьютеры отличались друг от друга сильнее, чем сегодня. У каждого была не только своя конфигурация, но и собственные принципы работы с данными. Как правило, если приложение написали для Apple II, на IBM оно даже не запускалось. Желающим воспользоваться им на других машинах приходилось адаптировать под них его код. На это уходило много времени и сил.

Программы как цифровые инструкции для компьютеров унифицировали. Установка операционной системы требует правильной настройки BIOS. Её же собственный код остаётся без изменений. Это избавляет от необходимости каждый раз переписывать приложения. Если текстовый процессор работает на персональном компьютере с Windows 10, он заработает и на ноутбуке с Windows 10.

Совершил этот прорыв основатель Microsoft Билл Гейтс. Хотя первой в истории операционной системой считается разработанная IBM в 1950-х GM-NAA I/O, унифицировать программы отдельных компьютеров она не смогла.

В чём разница между программным и аппаратным обеспечением

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

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

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

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

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

Что у компьютера внутри

«Начинкой» стандартного ПК прошлых лет выступают: блок питания (зелёный), материнская плата (синий), адаптеры (красный) и отсеки для запоминающих устройств и дисководов (золотой)

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

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

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

Энергией его снабжает «блок питания». Как правило, он находится в левом-верхнем углу корпуса. Он берёт переменный ток из розетки, преобразует его в постоянный и передаёт остальным комплектующим. Каждой детали достаётся ровно столько, сколько ей требуется для нормального функционирования. Среднему жёсткому диску достаточно напряжения в 5 или 12 вольт. Подобно процессору, блок питания во время работы нагревается и потому нуждается в мощном вентиляторе. Однако в его случае последний специально покупать не надо: он уже включен в его конструкцию.

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

Её нередко дополняют «адаптерами». Слоты для них находятся в левом-нижнем углу. Они позволяют снять с процессора часть нагрузки. Существует множество разных адаптеров, но самыми популярными считаются сетевые, видео- и аудиокарты. Каждая служит своей цели:

  • Сетевая карта, или NIC (Network Interface Controller), позволяет объединить компьютеры и другие устройства в систему для хранения и передачи информации. Если такая действует в пределах дома или офиса, речь о локальной сети. Если же она охватывает миллионы машин из разных стран мира, её называют глобальной сетью, или интернетом. Существует две основных технологии такого подключения: кабельная, или Ethernet, и беспроводная, или Wi-Fi. Как правило, современные сетевые адаптеры поддерживают обе из них.
  • Видеокарта, или GPU (Graphics Processing Unit), отвечает за скорость и качество вывода на экран всевозможных изображений, от окон приложений до трёхмерных моделей персонажей азиатских RPG. Последние особенно требовательны к оборудованию. Среднего процессора для них мало: если попытаться запустить такую игру на компьютере без мощной видеокарты, она и сама будет медленно грузиться, и затормозит жизненно важные вычисления. Поэтому работу с графикой высокого разрешения лучше поручить адаптеру.
  • Аудиокарта позволяет слушать музыку, записывать речь и вообще проводить различные операции со звуком. Основную работу в ней выполняет узел из цифро-аналогового и аналого-цифрового преобразователей. Когда пользователь открывает файл с любимой песней, плата считывает её код, превращает его в сигнал и транслирует через колонки или наушники. Если же надо записать аудиокнигу, плата принимает аналоговые сигналы с микрофона, составляет из них код и отправляет его процессору. Последний размещает его в памяти.

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

Компьютеры одной компании нередко содержат детали чужого производства. Обычная ситуация: ноутбук выпустила Lenovo, но жёсткий диск у него от Toshiba, видеокарта — от Nvidia, аудиокарта — от Realtek, а процессор — от Intel. «Родная» у него только материнская плата.

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

Сколько периферийных устройств можно подключить к компьютеру

Сегодня клавиатуры, мыши, принтеры и другое оборудование соединяют с компьютерами через USB-кабели

Расширить возможности компьютера позволяют периферийные устройства. Если пользователь хочет распечатать и повесить на стене любимую фотографию, ему понадобится струйный или лазерный принтер. Интернет-звонки и собеседования с потенциальными работодателями немыслимы без веб-камер. Хранить большие объёмы данных вне компьютера позволяют флеш-накопители. Всё это подключается к нему либо через кабели, либо по беспроводным технологиям вроде Bluetooth или Wi-Fi.

Раньше чуть ли не у каждого периферийного устройства был свой разъём. Мыши и клавиатуры использовали вилки Mini-DIN 6 и розетки PS/2. Приспособлениям вроде геймпадов и музыкальных синтезаторов требовались золотистые «игровые порты». Для принтеров существовали «параллельные порты», для мониторов — VGA-порты. Производителям материнских плат приходилось размещать на них множество разных розеток.

Сегодня на смену большинству из них пришёл единый разъём. Называется он «универсальной последовательной шиной», или USB (Universal Serial Bus). Устройствами с ним можно пользоваться почти сразу после подключения. Как правило, система самостоятельно находит и скачивает все необходимые «драйверы», то есть понятные компьютеру инструкции по эксплуатации оборудования.

Он не только облегчает передачу данных, но и снабжает энергией устройства вроде внешних жёстких дисков. Стандартная вилка USB-A включает четыре проводника. Первый, VBus, находится справа и выступает источником питания в +5 вольт. Четвёртый, GND, располагается слева и служит заземлением, то есть защищает от перенапряжения. За передачу информации отвечают второй и третий контакты. Для зарядки смартфона достаточно первого и четвёртого проводников, а чтобы скопировать туда любимую песню или инструкцию по замене процессора в ноутбуке, понадобится вся вилка.

USB позволяет одновременно работать со множеством устройств. Если на материнской плате мало розеток, можно подключить специальную коробку с дополнительными. Называется такая коробка «разветвителем». Она занимает одну розетку, но взамен даёт пользователю шесть или даже больше. Это и обеспечило USB превосходство над последовательными разъёмами прошлых лет.

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

Комментариев нет:

Отправить комментарий