суббота, 13 августа 2022 г.

Компьютеры

 Идею цифровых компьютеров можно объяснить, сказав, что эти машины предназначены для выполнения любых операций, которые могут быть выполнены человеческим компьютером. Предполагается, что человеческий компьютер следует установленным правилам; он не имеет права отклоняться от них в деталях. Мы можем предположить, что эти правила содержатся в книге, которая изменяется всякий раз, когда его переводят на новую работу. У него также есть неограниченный запас бумаги, на которой он делает свои расчеты. Он также может выполнять свои умножения и сложения на «настольной машине», но это не важно.

Если мы используем приведенное выше объяснение в качестве определения, мы рискуем зациклиться на рассуждениях. Мы избегаем этого, описывая средства, с помощью которых достигается желаемый эффект. Цифровой компьютер обычно можно рассматривать как состоящий из трех частей:

  • Хранить.

  • Исполнительный блок.

  • Контроль.

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

Исполнительный блок - это часть, которая выполняет различные отдельные операции, связанные с вычислением. Что представляют собой эти отдельные операции, зависит от машины к машине. Обычно можно выполнять довольно длительные операции, такие как «Умножить 3540675445 на 7076345687», но на некоторых машинах возможны только очень простые, такие как «Записать 0».

Мы уже упоминали, что поставляемая компьютеру «книга правил» заменяется в машине частью хранилища. Тогда она называется «таблицей инструкций». Контрольная служба обязана следить за тем, чтобы эти инструкции выполнялись правильно и в правильном порядке. Управление так построено, что это обязательно происходит.

Информация в магазине обычно разбита на пакеты умеренно небольшого размера. Например, на одной машине пакет может состоять из десяти десятичных цифр. Частям хранилища, в которых хранятся различные пакеты информации, присваиваются номера некоторым систематическим образом. Типичная инструкция может сказать:

«Сложите число, хранящееся в позиции 6809, с числом в 4302 и поместите результат обратно в последнюю позицию хранения».

Излишне говорить, что это не произойдет в машине, выраженной на английском языке. Скорее всего, он будет закодирован в такой форме, как 6809430217. Здесь 17 говорит, какая из различных возможных операций должна быть выполнена с двумя числами. В этом случае операция аналогична описанной выше, а именно . «Добавь номер… .» Следует заметить, что инструкция занимает 10 цифр и, таким образом, формирует один пакет информации, что очень удобно. Система управления обычно принимает инструкции в том порядке, в котором они хранятся, но иногда такая инструкция, как

'Теперь подчинитесь инструкции, хранящейся в позиции 5606, и продолжайте оттуда' может встретиться, или снова

«Если позиция 4505 содержит 0, выполните следующую инструкцию, хранящуюся в 6707, в противном случае продолжайте прямо».

Инструкции этих последних типов очень важны, потому что они позволяют повторять последовательность операций снова и снова до тех пор, пока не будет выполнено какое-либо условие, но при этом подчиняться не новым инструкциям при каждом повторении, а одним и тем же на протяжении всей операции. и снова. Возьмем бытовую аналогию. Предположим, мама хочет, чтобы Томми каждое утро по пути в школу заходил к сапожнику, чтобы узнать, готова ли ее обувь, она может спрашивать его каждое утро заново. В качестве альтернативы она может раз и навсегда повесить объявление в холле, которое он увидит, уходя в школу, и которое предложит ему вызвать обувь, а также уничтожить объявление, когда он вернется, если туфли у него с собой. .

Читатель должен принять как факт, что цифровые компьютеры могут быть построены и действительно были построены в соответствии с описанными нами принципами и что они могут фактически очень точно имитировать действия человеческого компьютера.

Книга правил, которую мы описали как использование человеческого компьютера, — это, конечно, удобная фикция. Настоящие человеческие компьютеры действительно помнят, что они должны делать. Если кто-то хочет заставить машину имитировать поведение человека-компьютера в какой-то сложной операции, он должен спросить его, как это делается, а затем перевести ответ в форму таблицы инструкций. Составление таблиц инструкций обычно называют «программированием». «Запрограммировать машину на выполнение операции А» означает поместить в машину соответствующую таблицу команд, чтобы она выполняла А.

Интересным вариантом идеи цифрового компьютера является «цифровой компьютер со случайным элементом». У них есть инструкции, связанные с бросанием игральной кости или каким-либо эквивалентным электронным процессом; одной из таких инструкций может быть, например, «Бросьте кубик и поместите полученное число в хранилище 1000». Иногда такую ​​машину описывают как обладающую свободой воли (хотя сам я бы не использовал эту фразу). Обычно невозможно определить, наблюдая за машиной, есть ли в ней случайный элемент, поскольку такие устройства могут производить аналогичный эффект, например, делая выбор зависящим от цифр десятичного числа для π.

Большинство реальных цифровых компьютеров имеют только конечную память. В идее компьютера с неограниченным хранилищем нет теоретических трудностей. Конечно, только конечная часть может быть использована в любой момент времени. Точно так же может быть построено только конечное количество, но мы можем вообразить, что по мере необходимости будет добавляться все больше и больше. Такие компьютеры представляют особый теоретический интерес и будут называться компьютерами бесконечной мощности.

Идея цифрового компьютера старая. Чарльз Бэббидж, профессор математики Лукаса в Кембридже с 1828 по 1839 год, 



планировал такую ​​машину, названную аналитической машиной, но она так и не была завершена. Хотя у Бэббиджа были все основные идеи, его машина не представляла в то время такой уж привлекательной перспективы. Скорость, которая была бы доступна, была бы определенно выше, чем у человеческого компьютера, но примерно в 100 раз медленнее, чем у манчестерской машины, которая сама по себе является одной из самых медленных современных машин. Хранение должно было быть чисто механическим, с использованием колес и карт.

Тот факт, что аналитическая машина Бэббиджа должна была быть полностью механической, поможет нам избавиться от суеверия. Часто придается большое значение тому факту, что современные цифровые компьютеры являются электрическими и что нервная система также является электрической. Поскольку машина Бэббиджа не была электрической и поскольку все цифровые компьютеры в некотором смысле эквивалентны, мы видим, что такое использование электричества не может иметь теоретического значения. Конечно, электричество обычно появляется там, где речь идет о быстрой передаче сигналов, так что неудивительно, что мы находим его в обоих этих соединениях. В нервной системе химические явления не менее важны, чем электрические. В некоторых компьютерах система хранения в основном акустическая. Таким образом, особенность использования электричества представляется лишь очень поверхностным сходством.

Комментариев нет: