Основой любого компьютера является ячейка памяти, которая может хранить данные или команды. Основой любой ячейки памяти является триггер – устройство, которой по команде может принять или выдать один двоичный бит, а главное, сохранять его сколько угодно долго. Триггер строится на основе базового набора логических схем. Триггер служит основой для построения регистров – функциональные узлы, способные хранить двоичные числа, осуществлять их синхронную параллельную передачу, а также выполнять с ними некоторые специальные операции. Число триггеров, входящих в регистр, определяет разрядность регистра. Разрядность регистра кратна восьми битам: 8-, 16-, 32-, 64-разрядные регистры. Кроме того, в состав регистра входят дополнительные схемы, управляющие его работой и организующие такие операции как сдвиг информации (регистры сдвига), подсчет поступающих единичных сигналов (регистры счетчики).
Обработка информации в компьютере производится арифметико-логическим устройством (АЛУ), в основе которого лежит устройство, реализующее арифметические и логические операции и операции сдвига.
Основное отличие вычислительной машины от таких счетных устройств как счеты, арифмометр, калькулятор, заключается в том, что вся последовательность команд на вычисление предварительно записывается в память ВМ и выполняется последовательно автоматически. Впервые принцип ВМ с автоматическим выполнением команд предложил американский ученый фон Нейман. Он описал основные узлы, которые должна содержать такая машина:
– арифметико-логическое устройство АЛУ;
– устройство управления УУ, которое организует процесс выполнения программ;
– запоминающее устройство ЗУ (память, состоящая из набора регистров), для хранения программ и данных. Его можно разделить на оперативное запоминающее устройство ОЗУ и внешнее запоминающее устройство ВЗУ;
– внешние, или периферийные, устройства, к которым относятся устройства ввода (УВв), устройство вывода (УВыв) и ВЗУ.
Объединение АЛУ, УУ и нескольких ячеек памяти представляет собой центральный процессор (ЦП).
Принцип действия
Вначале с помощью каких-либо внешних устройств, все команды, совокупность которых называется программой, записываются в память в соседние ячейки по возрастанию их адресов, а данные, которые требуют обработки,— в ячейки с произвольными адресами. Последняя команда программы - это обязательно команда остановки работы. Каждая команда содержит код операции, которую необходимо выполнять, и адреса ячеек, в которых находятся данные, обрабатываемые этой командой. Устройство управления содержит специальный регистр, который называется «Счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. После чего вычислительная машина переходит в режим автоматического выполнения программы.
Устройство управления считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». Регистр команд хранит команду во время ее исполнения. Устройство управления расшифровывает тип операции команды, считывает из памяти данные, адреса которых указаны в команде, и приступает к ее выполнению. Для выполнения команд, образующих вводимую программу, используется арифметико-логическое устройство. После завершения выполнения очередной команды, счетчик команд указывает на следующую ячейку памяти, в которой находится следующая команда программы. Устройство управления читает команду, адрес которой находится в счетчике команд, помещает ее в регистр команд и т.д. Этот процесс продолжается до тех пор, пока очередная исполняемая команда не оказывается командой останова исполнения программы.
Особым случаем можно считать команды безусловного или условного перехода, когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов. В этом случае команда перехода содержит адрес ячейки, куда требуется передать управление. Этот адрес записывается устройством управления непосредственно в счетчик команд и происходит переход на соответствующую команду программы.