При втором выполнении последовательности команд в ячейках 1004h и 1005h будет содержаться 16-битное произведение чисел A7h и 2. При сложении 1Bh и FFh получается 1Ah. Это значение не равно 0, поэтому мы возвращаемся к началу.
При двадцать восьмом выполнении этой последовательности команд в ячейках 1004h и 1005h будет содержаться произведение чисел A7h и 1Ch. В ячейке 1003h будет храниться значение 1, которое прибавится к FFh, в результате чего получится 0. При этом значение флага нуля станет 1, поэтому вместо команды «Перейти, если 0» будет выполнена команда «Остановить».
Теперь я могу объявить, что нам наконец удалось собрать устройство, которое мы можем на полном основании назвать компьютером . Несмотря на примитивность, это уже компьютер. Его отличие заключается в условном переходе. Контролируемое повторение последовательности команд, или цикл, — это то, что отличает компьютеры от калькуляторов. Я только что продемонстрировал, как команда условного перехода позволяет машине перемножить два числа. Подобным образом она может выполнить и деление. Кроме того, она не ограничивается 8-битными значениями и способна складывать, вычитать, умножать и делить 16-, 24-, 32-битные числа и числа большей разрядности. Это значит, что такая машина может вычислять квадратные корни, логарифмы и тригонометрические функции.
Когда мы собрали компьютер, можем начать использовать соответствующую терминологию.
Собранный компьютер можно классифицировать как цифровой , поскольку он работает с дискретными числами. К другому типу относятся аналоговые компьютеры, которые в настоящее время уже практически не применяются. (Цифровые, или дискретные, данные могут принимать только определенные значения [21]. Аналоговые данные непрерывны и могут принимать любое значение в заданном диапазоне.)
Цифровой компьютер состоит из четырех основных частей: процессора , памяти , как минимум одного устройства ввода и одного устройства вывода . В нашей машине память — массив RAM емкостью 64 килобайт. Устройства ввода и вывода — ряд переключателей и лампочек на пульте управления массивом RAM. Эти переключатели и лампочки позволяют нам (людям) вводить в память числа и анализировать результаты.
Все остальное — процессор, который также называется центральным процессорным устройством (ЦПУ) . В обычной речи процессор иногда называют мозгом компьютера, но я не хотел бы использовать этот термин, поскольку собранное нами устройство совершенно не похоже на мозг. В наши дни часто употребляется слово « микропроцессор» — процессор, который благодаря использованию технологии, которую я опишу в главе 18, отличается очень малыми размерами. К тому, что мы собрали из реле в этой главе, вряд ли применима приставка « микро-» .
Созданный нами процессор является 8-битным . Ширина аккумулятора и большинства каналов данных составляет 8 бит. Шестнадцатибитное значение подается только на адресный вход массива RAM. Если бы значение адреса было 8-битным, то вместо 65 536 байт можно было бы адресовать только 256 байт памяти, что было бы значительным ограничением.
Процессор состоит из нескольких компонентов. Я уже упомянул аккумулятор , который представляет собой просто защелку, позволяющую хранить число внутри процессора. Восьмибитный инвертор и 8-битный сумматор нашего компьютера вместе образуют арифметико-логическое устройство (АЛУ) . Наше АЛУ выполняет только арифметические операции, в частности сложение и вычитание. В более сложных компьютерах АЛУ может производить такие логические функции, как И, ИЛИ и исключающее ИЛИ. Шестнадцатибитный счетчик называется счетчиком команд .
Собранный нами компьютер состоит из реле, проводов, переключателей и лампочек. Все это — аппаратное обеспечение (hardware, или хард) компьютера. Напротив, содержащиеся в памяти коды команд и числа называются программным обеспечением (software, или софт).
Когда мы говорим о компьютерах, термин « программное обеспечение» практически идентичен термину « компьютерная программа» (или просто « программа» ). Написание программного обеспечения называется программированием . Именно этим я занимался, когда определял серию команд, позволяющих нашему компьютеру перемножить два числа.
Как правило, в компьютерных программах мы можем различать код (который относится к самим командам) и данные , то есть числа, которыми манипулирует код. Иногда это различие не так очевидно. Например, команда «Остановить» в описанной выше последовательности выступала еще и в качестве числа –1.
Читать дальше
Конец ознакомительного отрывка
Купить книгу