Нет, нет, это не статья про то, как найти системный блок компьютера, а потом еще и кнопку включения, чтобы поиграть в DOOM. Расскажу, как работает компьютер на примере 8-разрядного процессора. Конечно, вряд ли вы или я найдете такое чудо у себя дома. Это даже не 8086, который является 16-разрядным процессором, и стал символом начала персональных компьютеров. Этот процессор 8085 появился в 1976 году с тактовой частотой 5 МГц.
Существует одно заблуждение, что процессор – это вентилятор, находящийся на самом видном месте в системном блоке. Он разбивает воздух на волны и управляет работой компьютера. Это не правильно! Процессор – это микросхема с большим количеством выводов, а в случае с 8085 содержит 6500 транзисторов. Он, конечно, выглядит не так эффектно, как вентилятор, но устройство его намного интереснее и сложнее. При нажатии на кнопку включения компьютера, кроме того, что загораются всякие лампочки на передней панели системного блока, на один из входов процессора поступает сигнал сброса, обнуляя большинство значений. В микропроцессоре есть специальное устройство – счетчик команд – оно предназначено для указания процессору следующего действия. Как это работает? Память компьютера делится на ПЗУ, ОЗУ и внешние запоминающие устройства. Вся память естественно адресована. В счетчике команд при включении хранится адрес первой выполняемой команды: 0000h (в шестнадцатеричном формате). Этот адрес указывает на ячейку памяти в ПЗУ (постоянном запоминающем устройстве), так как начальные операции всегда выполняются одни и те же и введены в микросхему на заводе-изготовителе. Это происходит через 16-разрядную адресную шину. А вот по шине данных (8-битовой) поступает код команды. Он записывается в регистр команд для временного хранения. После этого команда должна попасть в дешифратор. При дешифрации команды процессор понимает свою истинную задачу и вырабатывает через устройство управления и синхронизации все возможные управляющие сигналы, которые помогают связываться с внешними или внутренними устройствами. Допустим, если надо сложить 2 числа, нам не обойтись без АЛУ – арифметическо-логического устройства – которое берет на себя всю эту ужасную работу: сложение, вычитание, сравнение, сдвиги и т.п. Ну, а чтобы хранить промежуточные результаты и операнды, надо бы располагать быстрой внутренней памятью. И это есть, называемое регистрами. Главный регистр, который работает напрямую с АЛУ, называется аккумулятором. Ну и последнее. Вот компьютер работает, работает, прямо робот какой-то, ноль внимания на пользователя. А мы то все хотим запустить супер игру DOOM, и забыть про всякие АЛУ и дешифраторы. Нет проблем! В тот момент, когда пользователь щелкает мышкой по значку с игрой в нашей любимой операционной системе Windows, от мышки поступает сигнал прерывания. Т.е. мы хотим прервать обычную работу компьютера и всех врагов перестрелять. Этот сигнал поступает в микропроцессор, в этот момент процессор останавливает свои действия и посылает сигнал подтверждения прерывания на контроллер прерывания. Но, чтобы после игры вернуться обратно в систему, ему надо запомнить где-то текущий адрес выполняемой команды. Этот адрес из счетчика команд поступает в еще одно внутреннее запоминающее устройство – стек. Также туда заносятся всякие промежуточные результаты от выполнения последней команды. Вообщем все то, что нам понадобиться для возврата. И после этих действий, в счетчик команд поступает адрес начала игры и все довольны кроме монстров, которых мы начинаем истреблять. Казалось бы, на первый взгляд, так много частей, из которых состоит процессор. Но ведь все очень логично и полезно. Другие процессоры, более мощные, конечно, немного по-другому функционируют, но принцип остается тот же. Главное запомнить то, что все модификации делаются не для того, чтобы запутать или запугать программиста, а чтобы ему было удобно и комфортно творить.
|
Комментарии