Первый проект отчета по EDVAC

редактировать
Первое опубликованное описание логической схемы компьютера с хранимой программой

Первый проект отчета по EDVAC (обычно сокращается до Первый проект ) - это неполный 101-страничный документ, написанный Джоном фон Нейманом и распространен 30 июня 1945 г. Германом Голдстайном, офицером службы безопасности секретного проекта ENIAC. Он содержит первое опубликованное описание логической конструкции компьютера с использованием концепции хранимых программ, которая получила неоднозначное название архитектура фон Неймана.

Содержание

  • 1 История
  • 2 Краткое содержание
    • 2.1 Схемотехника
    • 2.2 Дизайн памяти
    • 2.3 Приказы (инструкции)
  • 3 Противоречие
  • 4 См. Также
  • 5 Ссылки
  • 6 Библиография
  • 7 Внешние ссылки

История

Титульный лист Первого проекта, копия принадлежит Сэмюэлю Н. Александру, который разработал компьютер SEAC на основе отчета.

Фон Нейман написал отчет от руки, пока ехал поездом в Лос-Аламос, Нью-Мексико и отправил рукописные заметки обратно в Филадельфию. Голдстайн напечатал и продублировал отчет. Хотя дата напечатанного отчета - 30 июня, 24 экземпляра Первого проекта были розданы лицам, тесно связанным с проектом EDVAC пятью днями ранее, 25 июня. Интерес к отчету заставил его разослать все. по всему миру; Морис Уилкс из Кембриджского университета назвал свое волнение по поводу содержания отчета толчком для его решения поехать в Соединенные Штаты на лекции в школе Мура. летом 1946 года.

Краткое содержание

Фон Нейман описывает детальный проект «очень высокоскоростной автоматической цифровой вычислительной системы». Он делит его на шесть основных подразделений: центральная арифметическая часть, CA, центральная часть управления, CC, память, M, ввод, I, вывод, O и (медленная) внешняя память, R, например перфокарты., Телетайп, или магнитный провод, или стальная лента.

СА выполнит сложение, вычитание, умножение, деление и извлечение квадратного корня. Другие математические операции, такие как логарифмы и тригонометрические функции, должны выполняться с помощью поиска в таблице и интерполяции, возможно, биквадратичного. Он отмечает, что умножение и деление можно выполнять с помощью таблиц логарифмов, но чтобы таблицы оставались достаточно маленькими, потребуется интерполяция, а это, в свою очередь, требует умножения, хотя, возможно, с меньшей точностью.

Числа должны быть представлены в двоичной записи. По его оценке, 27 двоичных цифр (он не использовал термин «бит, который был введен в обращение Клодом Шенноном в 1948 году) было бы достаточно (что дает точность до 8 знаков после запятой), но округляет в большую сторону к 30-битным числам с битом знака и битом, чтобы отличать числа от заказов, в результате чего 32-битное слово он называет второстепенным циклом. Используется арифметика с дополнением до двух, упрощающая вычитание. Для умножения и деления он предлагает ставить двоичную точку после знакового бита, что означает, что все числа рассматриваются как находящиеся в диапазоне от -1 до +1, и поэтому вычислительные задачи должны масштабироваться соответствующим образом.

Конструкция схемы

Вакуумные лампы должны использоваться вместо реле из-за способности ламп работать за одну микросекунду по сравнению с 10 миллисекундами для реле.

Фон Нейман предлагает (раздел 5.6) сохранять компьютер как можно более простым, избегая любых попыток повышения производительности за счет наложения операций. Арифметические операции должны выполняться по одной двоичной цифре за раз. По его оценке, сложение двух двоичных цифр занимает одну микросекунду, и, следовательно, 30-битное умножение должно занимать около 30 микросекунд или около одной миллисекунды, что намного быстрее, чем любое вычислительное устройство, доступное в то время.

Дизайн фон Неймана построен с использованием того, что он называет «Е-элементами», которые основаны на биологическом нейроне в качестве модели, но представляют собой цифровые устройства, которые, по его словам, могут быть сконструированы с использованием одного или две вакуумные лампы. Говоря современным языком, его простейший элемент E - это два входа И вентиль с одним инвертированным входом (вход запрета). Элементы E с большим количеством входов имеют связанный порог и выдают выходной сигнал, когда количество положительных входных сигналов соответствует или превышает пороговое значение, пока (единственная) линия запрета не является импульсной. Он заявляет, что элементы E с большим количеством входов могут быть сконструированы из простейшей версии, но предлагает, чтобы они были построены непосредственно в виде цепей на электронных лампах, поскольку потребуется меньше ламп.

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

Цепи должны быть синхронизированы с тактовыми импульсами главной системы, полученными от генератора на электронных лампах, возможно, с кварцевым управлением. Его логические схемы включают в себя стрелку, обозначающую единичную временную задержку, поскольку временные задержки должны учитываться в синхронном проекте. Он указывает, что за одну микросекунду электрический импульс перемещается на 300 метров, так что до тех пор, пока тактовая частота не станет намного выше, например 10 циклов в секунду (100 МГц), длина провода не будет проблемой.

Необходимость обнаружения и исправления ошибок упоминается, но не уточняется.

Дизайн памяти

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

«Устройство требует значительного объема памяти. Хотя выяснилось, что различные части этой памяти должны выполнять функции, которые несколько различаются по своей природе и значительно по назначению, тем не менее возникает соблазн рассматривать всю память как один орган и чтобы его части были как можно более взаимозаменяемыми для различных функций, перечисленных выше ". (Раздел 2.5)

«Заказы, которые получает CC, поступают от M, то есть из того же места, где хранится числовой материал». (Раздел 14.0)

Фон Нейман оценивает объем необходимой памяти на основе нескольких классов математических задач, включая обычные и уравнения в частных производных, сортировку и вероятностные эксперименты. Из них уравнения в частных производных в двух измерениях плюс время потребуют наибольшего объема памяти, а три измерения плюс время выходят за рамки того, что можно было бы сделать с использованием технологий, которые были тогда доступны. Он приходит к выводу, что память будет самым большим подразделением системы, и предлагает 8192 второстепенных 32-битных цикла (слова) в качестве цели проектирования, при этом 2048 второстепенных циклов все еще могут быть полезны. По его оценке, для сохранения программы будет достаточно нескольких сотен второстепенных циклов.

Он предлагает два типа быстрой памяти: линия задержки и трубка Iconoscope. К каждому второстепенному циклу следует обращаться как к единице (адресация слов, раздел 12.8). Инструкции должны выполняться последовательно со специальной инструкцией для переключения в другую точку памяти (например, инструкцией перехода).

Двоичные цифры в памяти линии задержки проходят через линию и возвращаются в начало. Доступ к данным в линии задержки налагает штраф по времени на ожидание, пока желаемые данные не появятся снова. Проанализировав эти проблемы синхронизации, он предлагает организовать память линии задержки в 256 «органов» линии задержки (DLA), каждый из которых хранит 1024 бита или 32 второстепенных цикла, называемых главным циклом. При доступе к памяти сначала выбирается DLA (8 бит), а затем второстепенный цикл в DLA (5 бит), всего 13 бит адреса.

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

Заказы (инструкции)

В разделе 14.1 фон Нейман предлагает формат для заказов, который он называет кодом. Типы заказов включают в себя основные арифметические операции, перемещение второстепенных циклов между CA и M (загрузка слова и сохранение в современных терминах), порядок (-ы), который выбирает одно из двух чисел на основе знака предыдущей операции, ввод и вывод и передача CC в другое место в памяти (скачок). Он определяет количество битов, необходимых для различных типов порядка, предлагает немедленные порядки, где следующее слово является операндом, и обсуждает желательность оставить запасные биты в формате заказа, чтобы в будущем иметь больше адресуемой памяти, а также другие неопределенные целей. Обсуждается возможность хранения более одного заказа в малом цикле, но такой подход не вызывает особого энтузиазма. Приведена таблица заказов, но в первый черновик не включены инструкции по вводу и выводу.

Противоречие

Отношение к предварительному отчету как к публикации (в юридическом смысле) было источником ожесточенных разногласий между фракциями команды разработчиков EDVAC по двум причинам.. Во-первых, публикация представляла собой публичное раскрытие информации, которое не позволило запатентовать EDVAC; во-вторых, некоторые из команды разработчиков EDVAC утверждали, что концепция хранимой программы возникла в результате встреч в Школе электротехники Мура Университета Пенсильвании, предшествовавших деятельности фон Неймана в качестве специалиста. консультантом, и большая часть работы, представленной в Первом проекте, была не более чем переводом обсуждаемых концепций на язык формальной логики, которым фон Нейман свободно владел. Следовательно, неспособность фон Неймана и Голдстайна указать других авторов в Первом черновике привела к тому, что заслуги приписали только фон Нейману. (См. эффект Мэтью и закон Стиглера.)

См. Также

Ссылки

Библиография

Внешние ссылки

Последняя правка сделана 2021-05-20 06:39:10
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте