Этими сведениями завершается наша подготовка, и мы переходим к знакомству с реальной ЭВМ (Р-166).
Р-166
В нашей условной ЭВМ есть сумматор — схема, которая умеет складывать два двоичных числа (Т-273). Кроме того, существуют схемы, которые могут выполнять и другие арифметические операции. Так, в сумматоре можно выполнить вычитание, если одно из чисел заменить на обратное (например, вместо 1010 взять 0101) и выполнить еще кое-какие процедуры. А обратное число легко получить с помощью элементов НЕ — они как раз и превращают 0 в 1 и 1 в 0. Если же записать двоичное число в цепочке триггеров, именуемой регистром, а затем управляющим импульсом сдвинуть это число на один разряд влево, то оно окажется умноженным на 2 (С-16). Пример: число 110011 (десятичное 51) сдвигаем в регистре влево на один разряд и получаем 1 100 110 (десятичное 102). Два таких сдвига — это умножение на 4, три сдвига — умножение на 8 и т. д. Возможны и различные комбинированные действия, например, два сдвига и прибавление первоначального числа дают умножение на 5; суммирование результатов умножения числа на 8 и на 2 — это умножение данного числа на 10. Пример: 4 х 10 = 4 х 8 + 4 х 2 = 40.
Все элементы компьютера, выполняющие арифметические операции и различные их сочетания, объединены в АЛУ — арифметико-логическое устройство. Быстродействующие коммутаторы производят в АЛУ переключения, необходимые для выполнения заданной операции, а управляет коммутаторами поступающий в АЛУ код операции — двоичное число, которое распознают дешифраторы. Командует всей этой системой устройство управления УУ, которое в свою очередь запрашивает из ОЗУ и получает оттуда, опять-таки в закодированном виде, программу вычислений. И здесь работают неутомимые труженики — коммутаторы и дешифраторы. Последние распознают поступающие из ОЗУ закодированные двоичными числами общие указания программы «…сложить полученный в предыдущем действии результат с первым введенным числом…», и УУ превращает эти общие указания в конкретные, направляемые в ОЗУ, ПЗУ и АЛУ команды «…переключить АЛУ на режим сложения…», «…извлечь число из ячейки 011 011 ОЗУ и направить его на
Комплекс АЛУ-УУ есть главная действующая сила вычислительной машины. Этот комплекс шаг за шагом, такт за тактом продвигает вперед вычисления, он так и называется — продвигатель, процессор (от латинского слова «процессус» — «продвижение»). Ближайшие сотрудники процессора — ПЗУ и особенно ОЗУ. Отсюда процессор может запросить инструкции на очередные свои действия, из ОЗУ он получает исходные данные и программу вычислений, сюда же, в ОЗУ, процессор направляет промежуточные и окончательные результаты. Программа и исходные данные попадают в ОЗУ из устройства ввода, и отсюда же, из ОЗУ, окончательный результат уходит в устройство вывода.
Здесь, пожалуй, уместно сделать два важных сообщения.
Первое. Из всего многообразия современных вычислительных машин мы выбрали для знакомства самую небольшую — микроЭВМ. И даже более конкретно; выбрана одна из разновидностей микроЭВМ — персональный компьютер, ПК (Р-166). В нем есть много такого, что можно встретить во всех других машинах, но есть, конечно, и свои особенности.
Второе. В нашей условной машине (Р-160) импульсы и паузы какого-либо числа, так же как импульсы и паузы адресов и команд, шли последовательно, друг за другом, напоминая короткие пулеметные очереди. Но во всех современных машинах это, скорее, залпы из многоствольного миномета — импульсы и паузы какого-либо числа, адреса или команды рождаются, путешествуют и обрабатываются одновременно, параллельно, что, конечно, намного ускоряет все операции. Если, например, машина работает с восьмиразрядными числами, то все ее узлы соединены восьмипроводными линиями (проводами), по которым одновременно движутся все восемь электрических импульсов и пауз данного числа («движется пауза» надо понимать так — по проводу в данный момент ничего не идет). Более того, внутренняя система связи компьютера — это три линии, как говорят обычно, три шины: шина данных, шина адресов и шина управления. И все это многопроводные линии, по которым одновременно идет и все целиком обрабатываемое число, и весь адрес, и вся команда управления.