Как устроен компьютер?


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

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

Археолог Н. Злобин представил и обосновал принципную возможность схожих построений-расчетов в границах мегалитических зданий, типа Стоунхенджа. Для этого он управлял 20-30 добровольцами с «шаманского места». Снаружи это смотрелось как танец одичавшего племени, но в конечном итоге определенный человек занимал конкретное место, соответственное, к примеру, фазе Луны на заблаговременно заданную дату. Также подтверждена возможность использования для вычислений особых каналов с перегородками-шиберами.

1-ые вычислители времен Паскаля, Ньютона и Лейбница были механическими, а в конце 19 века употреблялся пар. Современные ученые пробуют использовать пучки света и квантовые состояния простых частиц. А есть чудаки, которые обосновали принципную возможность использования для вычислений игры «Жизнь», моделирующей поведение колонии микробов. Видите ли, существует огромное количество принципов выполнения расчетов, и современные компы реализуют всего едва какой-то из них. Энергия не существует сама по для себя, непременно должен быть носитель. Будь то папуас в юбке из пальмовых листьев, линия на песке, шестеренка, электронный импульс, фотон в оптоволоконном кабеле, группа колебаний в радиосигнале либо наночастица в квантовом микромире.

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

В обычной десятичной системе – это одна цифра, в устной речи – звук, в письменной – буковка, в танцах на Стоунхедже – положение человека на воображаемой полосы. Бит – это малая неразделимая единица инфы. Попытайтесь написать половину буковкы либо числа и ответьте, что это значит? На битовом уровне компьютер работает с отдельными битами двоичной системы, как самой обычный. Вы изумитесь, но все обилие компьютерных действий состоит из 7 однобитных операций: И, Либо, НЕ, ДА (пустая операция), XOR (исключающее Либо, сопоставление), 0 (сброс) и 1 (выставление бита).

При этом любая операция производится одним элементом из 2-4 транзисторов. Подобно тому, как числа складываются из цифр, а слова – из букв, биты складываются в байты. IBM-совместимые компы оперируют 8-битными б, но это было не всегда так. К примеру, байты в калькуляторах состоят из 4 бит, а компы начала и середины прошедшего века использовали от 6 до 14 бит. Многие сети до сего времени употребляют пакеты по 7 бит, но большая часть – 9 (8 бит инфы + 1 бит четности для проверки корректности переданной инфы). Для современных компов 8 бит – это не достаточно. Они оперируют сходу 32 либо 64 битами. Практически это и есть их б.

Но ячейки памяти все равно 8-битные, ну и наружные устройства работают с 8-битными б. Потому размерность б поменять не стали, а для обозначения сборок из нескольких байтов употребляют термин «компьютерное слово».

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

1-й уровень – физический

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

К примеру, принтер напечатает знак, а звуковая карта издаст определенный звук, никак не связанный с эмблемой из принтера. Какую буковку и какой звук сгенерируют устройства, будет зависеть от прошивки, которая хранится в ПЗУ – специальной памяти устройства. Тут мы приходим к осознанию, что в одном корпусе находится сходу несколько устройств.

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

Звуковая карта также состоит из нескольких устройств: микшера каналов, MIDI-синтезатора, цифро-аналогового преобразователя, усилителя выходного сигнала, аналого-цифрового преобразователя микрофонного входа и др. Каждый таковой набор устройств управляется интегрированной в ПЗУ программкой – прошивкой. Конкретно она определяет, что принтер будет печатать российские буковкы, а не греческие; а MIDI– синтезатор генерирует звуки рояля, а не виолончели.

Соответственно, меняя прошивку, можно поменять некие функции составного устройства либо исправлять ошибки в его работе.

2-й уровень – виртуальное устройство, драйвер

Если в готовом сложном устройстве все обыкновенные блоки связаны меж собой агрессивно и нет нужды определять его состав всякий раз при включении, то компьютер – дело другое. Различные устройства могут быть подключены к компу и отключены от него как в моменты его выключения, так и во время работы. Заблаговременно непонятно, какие устройства и в какой разъем будут подключены.

Эту неизвестность разрешают драйверы – они обрисовывают, какое устройство куда подключено и как обрабатывать данные. Для примера очень упрощенно можно представить проигрывание музыки с CD на звуковую карту так: – луч лазера считывает очередной кусочек данных с поверхности диска и передает их в порт CD; – драйвер CD считывает данные из порта, отделяет полезную информацию от служебной, передает «чистые данные» в память и дает указание считать последующий кусочек данных; – драйвер звуковой карты берет данные из памяти, наделяет их управляющими командами, нарезает на кусочки и передает их в звуковую карту; – по переданным данным звуковая карта генерирует звук.

Это очень облегченный вариант с понятными устройствами. А пока задумаемся вот о чем: к компу, в принципе, может быть подключено несколько CD-приводов. Появляется неувязка их идентификации. А если на звуковую карту попробуют выводить звук несколько программ, то как быть в данном случае? Вот тут-то и приходит на помощь виртуальное устройство. Виртуальное устройство – это программка, типа драйвера. Она занимает некое промежуточное место меж драйверами и «решает», какое устройство и как использовать.

К примеру, звук из нескольких источников для одной реальной звуковой карты виртуальная замикширует (смешает). Виртуальный принтер воспримет данные для печати и будет хранить их, пока реальный принтер занят. Если к компу подключено несколько однотипных принтеров, то пул (pool) принтеров распределит, какой документ на какой принтер выслать так, чтоб они не перемешались. И т.д.. Другими словами в рамках вышеперечисленной модели обусловит, какую обработку произвести над данными, передаваемыми из 1-го драйвера в другой.

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

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

3-й уровень – операционная система

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

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

Всё просто: щелчок – итог. И никаких понятий о драйверах мышки, винчестера, памяти и монитора. Правда, комфортно? Вот это удобство и обеспечивает операционная система. Операционная система задает общие правила работы программ. К примеру, в операционной системе Windows каждый файловый носитель имеет собственное буквенное имя, а в Linux-образных системах – все носители соединяются воединыжды в одно «дерево», и следует знать, кто какой веткой является. Различаются методы выбора, какую программку включить/выключить в каждый определенный момент. И как должен быть «оформлен» код программки, из-за чего программка для Linux не запустится в Windows, и напротив…

Существует довольно огромное количество операционных систем. Большая часть из их разработаны для работы на специфичных устройствах. Не достаточно кто думал над тем, что SIM-карта в вашем мобильнике имеет свою свою операционную систему, а сам сотовый – другую. Соответственно, операционных систем существует величавое огромное количество. Для компьютера на слуху Windows, Linux и MacOS, но есть и другие.

4-й уровень – прикладные программки

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

Есть сотки тыщ (!!!) программ для Windows и тыщи для Linux. При этом программки есть как исполняемые без помощи других, так и при помощи различного рода интерпретаторов. Во 2-м случает идет речь не о всеполноценных программках, о приложениях на JavaScript, Perl либо макросах. Соответственно, нужный интерпретатор должен быть установлен на компьютере. Макросы Excel не будут работать, если у вас не стоит сам Excel либо отключено выполнение макросов; конфигурация 1С-Торговля не работает без платформы 1С; видео-ролики на YouTube не будут показываться без FlashPlayer; и т.д.

5-й уровень – личные данные

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

Итак, пройдемся по иерархии на этом определенном примере, но уже в оборотную сторону. Допустим, что вы желаете прочесть реферат про геологию реки Ржавки. Для этого он должен существовать в виде какого-то файла, к примеру TXT. Но этого не достаточно. Чтоб его узреть, нужна программка, работающая с файлами такового типа. Это может быть MS-Word либо Блокнот. Не достаточно того, программка должна быть установлена в операционной системе, к примеру, в Windows. По другому программка не сумеет получить данных и отослать их на устройство вывода.

Дальше: в системе должны быть установлены какие-нибудь драйверы устройства отображения – видео-карты либо мультимедийного проектора. А на сервере печати, к примеру, может не быть монитора. Тогда Windows автоматом воспримет решение о выводе реферата на принтер. Тогда и, если у вас есть это самое устройство отображения и оно включено, и в розетке есть электроэнергия, то вы увидите собственный реферат. Вот такая непростая цепочка.

Создатель: Вадим Поспелов


Copyright © 2020 Компьютерный блог.