Компьютер глазами программиста

Дневник разработчика

Центральный процессор

Это мозг компьютера. Их может быть несколько. Один может состоять из нескольких микро-процессоров. Интересный факт — если сравнивать процессор компьютера с человеческим мозгом, то обнаруживается особенность — в отличии от человеческого мозга. процессоры почти не имеют памяти. Вернее память у процессора есть, но она не предназначена для хранения. Первостепенная обязанность процессора — обработка и управление. За хранение отвечают другая часть компьютера — память! Ты наверняка привык называть память оперативкой, RAM или ОЗУ.

Устройство компьютера так же содержит наборы модулей, для работы с устройствами ввода и вывода. В профессиональной среде обобщают ввод и вывод и обозначают это аббревиатурой I/O.

Системная шина

Компьютер глазами программиста

Устройства I/O, Процессор и память соединены между собой по средствам системной шины. Системная шина состоит из нескольких полос для передачи данных. Под каждый тип данных выделяется своя отдельная полоса. Например команды и адреса идут по разным полосам.

Вернёмся к мозгу. Процессор отвечает за обработку и управление и имеет небольшую по объёму внутреннюю память — регистры. Соответственно физически процессор состоит из двух частей: Арифметически логическая часть (ALU) и Управляющий автомат (control unit).

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

Чаще всего в регистрах хранится информация о статусе выполнения задачи — регистр флагов. Пользователям он доступен только для чтения.

Арифметикологическое устройство (АЛУ) — центральная часть процессора, выполняющая арифметические и логические операции. АЛУ реализует важную часть процесса обработки данных. Она заключается в выполнении набора простых операций. Операции АЛУ подразделяются на три основные категории: арифметическиелогические и операции над битами.

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

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

Если говорить о основной памяти в абстрактном понимании, то можно сказать, что оперативка состоит из ячеек. У каждой ячейки есть свой персональный адрес.

I/O модули

I/O отвечают за перемещение данных между компьютером и устройствами (жесткий диск, сетевая карта, терминал)

Программы и инструкции

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

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

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

Так же теперь тебе стало понятней, зачем используются многоядерные процессоры — для увеличения производительности по средствам увеличения количества Арифметически логических частей (ALU) и Управляющих автоматов (control unit) и регистров памяти. Как следствие большая пропускная способность, больше операций в единицу времени и так далее.

Компьютер глазами программиста
Схема выполнения задач с учетом прерываний.

Мультипрограммирование

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

Компьютер глазами программиста

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

А как же жёсткий диск?

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

В отличии от оперативной памяти. на жёстком диске данные хранятся БЕЗ питания и если ты сохранил туда информацию, то при перезагрузке компьютера информация сохранится.

В этой стате использовалась информация из лекции Рахима Давлеткалиева, записанного для Хекслета. Ниже ссылочка на вводный урок.

Юрий Ронин