Первый проект отчета о EDVAC
Первый проект отчета о EDVAC (обычно сокращается до First Draft ) — неполный 101-страничный документ, написанный Джоном фон Нейманом и распространенный 30 июня 1945 года Германом Гольдстайном , офицером службы безопасности секретного проекта ENIAC . Он содержит первое опубликованное описание логического проектирования компьютера с использованием концепции хранимой программы , которая стала известна как архитектура фон Неймана ; название стало спорным из-за того, что фон Нейман не назвал имена других участников.
История [ править ]
Фон Нейман написал отчет от руки, когда ехал на поезде в Лос-Аламос, штат Нью-Мексико , и отправил рукописные заметки обратно в Филадельфию . Голдстайн приказал напечатать и продублировать отчет. Хотя дата напечатанного отчета — 30 июня, 24 экземпляра первого черновика были розданы лицам, тесно связанным с проектом EDVAC, пятью днями ранее, 25 июня. Интерес к отчету привел к тому, что его разослали по всему миру; Морис Уилкс из Кембриджского университета назвал свое волнение по поводу содержания отчета толчком к своему решению поехать в Соединенные Штаты на лекции в школе Мура летом 1946 года.
Краткое содержание [ править ]
Фон Нейман описывает детальный проект «очень высокоскоростной автоматической цифровой вычислительной системы». Он делит его на шесть основных подразделений: центральную арифметическую часть, CA; центральная часть управления, ЦУ; память, М; вход, я; выход, О; и (медленная) внешняя память R, такая как перфокарты , телетайпная лента , магнитная проволока или стальная лента .
CA будет выполнять сложение, вычитание, умножение, деление и извлечение квадратного корня. Другие математические операции, такие как логарифмы и тригонометрические функции, должны выполняться с помощью поиска по таблице и интерполяции , возможно, биквадратичной . Он отмечает, что умножение и деление можно выполнять с помощью таблиц логарифмов, но чтобы таблицы оставались достаточно маленькими, потребуется интерполяция, а это, в свою очередь, требует умножения, хотя, возможно, с меньшей точностью.
Числа должны быть представлены в двоичной системе счисления . По его оценкам, 27 двоичных цифр (он не использовал термин « бит », который был придуман Клодом Шенноном в 1948 году) будет достаточно (с точностью до 8 знаков после запятой), но округляет до 30-битных чисел со знаком и битом. чтобы отличать числа от порядков, в результате чего получается 32-битное слово, которое он называет второстепенным циклом. с дополнением до двух Следует использовать арифметику , упрощающую вычитание. Для умножения и деления он предлагает помещать двоичную точку после знакового бита, что означает, что все числа рассматриваются как находящиеся в диапазоне от -1 до +1. [а] и поэтому задачи вычислений должны масштабироваться соответствующим образом.
Схемотехника [ править ]
вакуумные лампы следует использовать Вместо реле , поскольку лампы способны срабатывать за одну микросекунду вместо 10 миллисекунд для реле.
Фон Нейман предлагает (раздел 5.6) делать компьютер максимально простым, избегая любых попыток повысить производительность за счет перекрытия операций. Арифметические операции должны выполняться по одной двоичной цифре за раз. По его оценкам, сложение двух двоичных цифр занимает одну микросекунду, и поэтому 30-битное умножение должно занять около 30. 2 микросекунды или около одной миллисекунды, что намного быстрее, чем любое вычислительное устройство, доступное в то время.
Конструкция фон Неймана построена с использованием того, что он называет «Е-элементами», которые основаны на биологическом нейроне как модели. [1] [2] но это цифровые устройства, которые, по его словам, можно сконструировать с использованием одной или двух электронных ламп. с двумя входами Говоря современным языком, его простейший элемент E представляет собой вентиль И и одним инвертированным входом (вход запрета). Элементы E с большим количеством входов имеют связанный порог и выдают выходной сигнал, когда количество положительных входных сигналов достигает порогового значения или превышает его, при условии, что (единственная) линия запрета не является импульсной. Он утверждает, что элементы E с большим количеством входов могут быть построены на основе простейшей версии, но предлагает создавать их непосредственно в виде ламповых схем, поскольку потребуется меньше ламп.
Из этих элементов E должны быть построены более сложные функциональные блоки. Он показывает, как использовать эти элементы E для построения схем сложения, вычитания, умножения, деления и извлечения квадратного корня, а также двух блоков памяти состояний и схем управления. Он не использует терминологию булевой логики .
Схемы должны быть синхронизированы с генератором тактовой частоты главной системы, полученным от лампового генератора , возможно, управляемого кристаллом . Его логические диаграммы включают символ стрелки, обозначающий единичную задержку, поскольку временные задержки необходимо учитывать в синхронном проекте. Он указывает, что за одну микросекунду электрический импульс проходит 300 метров, так что до тех пор, пока тактовые частоты не станут намного выше, например 10 8 циклов в секунду (100 МГц), длина провода не будет проблемой.
Необходимость обнаружения и исправления ошибок упоминается, но не уточняется.
Дизайн памяти [ править ]
Ключевая концепция проектирования, которая была сформулирована и позже названа архитектурой фон Неймана , представляет собой единую память, содержащую как числа (данные), так и приказы (инструкции).
«Это устройство требует значительной памяти. Хотя казалось, что различные части этой памяти должны выполнять функции, несколько различающиеся по своей природе и значительно по своему назначению, тем не менее заманчиво рассматривать всю память как один орган и иметь ее части, по возможности взаимозаменяемые для различных функций, перечисленных выше». (раздел 2.5)
«Приказы, поступающие в ЦК, исходят из М, т. е. из того же места, где хранится числовой материал». (раздел 14.0)
Фон Нейман оценивает необходимый объем памяти на основе нескольких классов математических задач, включая обыкновенные уравнения и уравнения в частных производных , сортировку и вероятностные эксперименты . Из них уравнения в частных производных в двух измерениях плюс время потребуют наибольшей памяти, а три измерения плюс время выходят за рамки того, что можно было сделать с помощью доступных тогда технологий. Он приходит к выводу, что память будет самым большим подразделением системы, и предлагает в качестве цели проектирования 8192 младших цикла (слова) по 32 бита, при этом 2048 младших циклов все еще остаются полезными. По его оценкам, для хранения программы будет достаточно нескольких сотен второстепенных циклов.
Он предлагает два типа быстрой памяти: линию задержки и иконоскопа трубку . Каждый младший цикл должен рассматриваться как единица (словная адресация, раздел 12.8).Инструкции должны выполняться последовательно, со специальной инструкцией для переключения на другую точку памяти (т. е. командой перехода).
Двоичные цифры в памяти линии задержки проходят через линию и возвращаются в начало. Доступ к данным по линии задержки накладывает штраф по времени на ожидание повторного поступления нужных данных. Проанализировав эти проблемы синхронизации, он предлагает организовать память линии задержки в 256 «органов» линий задержки (DLA), каждый из которых хранит 1024 бита или 32 второстепенных цикла, называемых основным циклом. При доступе к памяти сначала выбирается DLA (8 бит), а затем младший цикл внутри DLA (5 бит), всего 13 бит адреса.
Что касается памяти иконоскопа, он понимает, что каждая точка сканирования на поверхности трубки является конденсатором и что конденсатор может хранить один бит. Потребуется сканирование с очень высокой точностью, а памяти хватит на короткое время, возможно, всего на секунду, и поэтому ее необходимо будет периодически перекопировать ( обновлять ).
Приказы (распоряжения) [ править ]
В разделе 14.1 фон Нейман предлагает формат приказов, который он называет кодом. Типы заказов включают в себя основные арифметические операции, перемещение второстепенных циклов между CA и M (загрузка и сохранение слов в современных терминах), заказ( ы ), который выбирает одно из двух чисел на основе знака предыдущей операции, ввод и вывод, а также передачу CC в другую ячейку памяти (прыжок). Он определяет количество битов, необходимых для различных типов заказов, предлагает немедленные приказы , в которых следующее слово является операндом, и обсуждает желательность оставить запасные биты в формате заказа, чтобы обеспечить больше адресуемой памяти в будущем, а также другие неуказанные вопросы. целей. Обсуждается возможность хранения более одного заказа в малом цикле, но такой подход вызывает мало энтузиазма. Представлена таблица заказов, но в первый черновик не было включено обсуждение инструкций по вводу и выводу.
Споры [ править ]
Выпуск и распространение отчета стали источником ожесточенной вражды между фракциями команды разработчиков EDVAC по двум причинам. [3] Во-первых, позже отчет был признан публично раскрытым, что произошло более чем за год до подачи заявки на патент EDVAC, что сделало будущий патент не имеющим исковой силы; во-вторых, некоторые члены команды разработчиков EDVAC утверждали, что концепция хранимой программы возникла в результате встреч в университета, Пенсильванского Школе электротехники Мура предшествовавших работе фон Неймана в качестве консультанта там, и что большая часть работ, представленных в Первый черновик был не более чем переводом обсуждавшихся концепций на язык формальной логики , которым свободно владел фон Нейман. Следовательно, неспособность фон Неймана и Гольдштейна указать других авторов в качестве авторов в первом черновике привела к тому, что заслуга была приписана только фон Нейману. (См. Эффект Мэтью и закон Стиглера .)
См. также [ править ]
- Электронный автоматический калькулятор с памятью задержки (EDSAC), ранний британский компьютер, вдохновленный первым проектом отчета о EDVAC.
- Гарвард Марк I , ранний электромеханический компьютер с отдельными инструкциями и числовыми данными ( Гарвардская архитектура )
Примечания [ править ]
- ^ На самом деле наибольшее значение составляет 1–2. -30 , 0,99999999906 в десятичной записи.
Ссылки [ править ]
- ^ Фон Нейман приписывает эту модель Уоррену Маккаллоху и Уолтеру Питтсу , «Логическое исчисление идей, имманентных нервной деятельности» , Bull. Математика. Биофизика, Vol. 5 (1943), стр. 115–133.
- ^ Фон Нейман тесно сотрудничал с Маккалоком и Питтсом. См. «Человек, который пытался искупить мир с помощью логики» , Аманда Гефтер, «Наутилус», выпуск 21, 4 февраля 2015 г.
- ^ Мой, Уильям Т. (январь 1996 г.), ENIAC: Революция, спонсируемая армией , Исследовательская лаборатория армии США , заархивировано из оригинала 05 марта 2013 г. , получено 26 ноября 2012 г.
Библиография [ править ]
- фон Нейман, Джон (1945), Первый проект отчета о EDVAC (PDF) , получено 31 августа 2020 г.
- Голдстайн, Герман Х. (1972). Компьютер: от Паскаля до фон Неймана . Принстон, Нью-Джерси: Издательство Принстонского университета. ISBN 0-691-02367-0 .
- Стерн, Нэнси (1981). От ENIAC до UNIVAC, оценка компьютеров Эккерта-Мокли . Бедфорд, Массачусетс: Digital Press. ISBN 0-932376-14-2 .
- Годфри, Майкл Д.; Хендри, Д.Ф. (январь 1993 г.). «Компьютер, как его планировал фон Нейман» (PDF) . IEEE Анналы истории вычислений . 15 (1): 11–21. CiteSeerX 10.1.1.705.7264 . дои : 10.1109/85.194088 .
Внешние ссылки [ править ]
- Интервью по устной истории с Дж. Преспером Эккертом , Институт Чарльза Бэббиджа , Университет Миннесоты. Эккерт , соавтор ENIAC , Пенсильванского университета Мура обсуждает его разработку в Школе электротехники ; описывает трудности в обеспечении патентных прав на ENIAC и проблемы, связанные с распространением Джона фон Неймана 1945 года первого проекта отчета по EDVAC , в котором изобретения ENIAC стали достоянием общественности. Интервью Нэнси Стерн, 28 октября 1977 г.