stringtranslate.com

Манчестер Марк 1

Manchester Mark 1 был одним из самых ранних компьютеров с хранимой программой , разработанным в Университете Виктории в Манчестере , Англия, на основе Manchester Baby (введен в эксплуатацию в июне 1948 года). Работа началась в августе 1948 года, а первая версия была введена в эксплуатацию в апреле 1949 года; программа, написанная для поиска простых чисел Мерсенна, работала без ошибок в течение девяти часов в ночь с 16 на 17 июня 1949 года.

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

Mark 1 должен был обеспечить вычислительный ресурс в университете, чтобы позволить исследователям получить опыт практического использования компьютеров, но он также очень быстро стал прототипом, на котором могла быть основана конструкция коммерческой версии Ferranti . Разработка прекратилась в конце 1949 года, и машина была списана к концу 1950 года, замененная в феврале 1951 года Ferranti Mark 1 , первым в мире коммерчески доступным универсальным электронным компьютером. [1]

Компьютер особенно историчен из-за его новаторского включения индексных регистров , нововведения, которое облегчило программе последовательное чтение массива слов в памяти. Тридцать четыре патента стали результатом разработки машины, и многие идеи, лежащие в основе ее конструкции, были включены в последующие коммерческие продукты, такие как IBM 701 и 702 , а также Ferranti Mark 1. Главные конструкторы Фредерик К. Уильямс и Том Килберн пришли к выводу из своего опыта работы с Mark 1, что компьютеры будут использоваться больше в научных ролях, чем в чистой математике. В 1951 году они начали разработку Meg , преемника Mark 1, который должен был включать блок с плавающей точкой .

Его также называли Манчестерской автоматической цифровой машиной , или MADM . [2]

Фон

В 1936 году математик Алан Тьюринг опубликовал определение теоретической «универсальной вычислительной машины», компьютера, который хранит свою программу на ленте вместе с обрабатываемыми данными. Тьюринг доказал, что такая машина способна решить любую мыслимую математическую задачу, для которой можно написать алгоритм . [3] В 1940-х годах Тьюринг и другие, такие как Конрад Цузе, разработали идею использования собственной памяти компьютера для хранения как программы, так и данных, вместо ленты, [4] но именно математик Джон фон Нейман получил широкое признание за определение архитектуры компьютера с хранимой программой , на которой был основан Manchester Mark 1. [5]

Практическая конструкция компьютера фон Неймана зависела от наличия подходящего запоминающего устройства. Baby Манчестерского университета , первый в мире электронный компьютер с хранимой программой, успешно продемонстрировал практичность подхода с хранимой программой и трубки Уильямса , ранней формы компьютерной памяти, основанной на стандартной электронно-лучевой трубке (ЭЛТ), запустив свою первую программу 21 июня 1948 года. [6] Ранние электронные компьютеры обычно программировались путем перемонтажа или с помощью штекеров и коммутационных панелей ; в памяти не хранилось отдельной программы, как в современных компьютерах. Например, перепрограммирование ENIAC могло занять несколько дней . [7] Компьютеры с хранимой программой также разрабатывались другими исследователями, в частности, Pilot ACE Национальной физической лаборатории , EDSAC Кембриджского университета и EDVAC армии США . [ 8] Baby и Mark 1 отличались в первую очередь тем, что в качестве запоминающих устройств использовались трубки Уильямса вместо ртутных линий задержки . [9]

Примерно с августа 1948 года Baby интенсивно разрабатывался как прототип для Manchester Mark 1, изначально с целью предоставить университету более реалистичное вычислительное оборудование. [10] В октябре 1948 года главному ученому правительства Великобритании Бену Локспайзеру была продемонстрирована демонстрация прототипа Mark 1 во время визита в Манчестерский университет. Локспайзер был настолько впечатлен увиденным, что немедленно инициировал государственный контракт с местной фирмой Ferranti на создание коммерческой версии машины, Ferranti Mark 1. [11] В своем письме компании от 26 октября 1948 года Локспайзер уполномочил компанию «продолжать в том направлении, которое мы обсудили, а именно, построить электронную вычислительную машину по инструкциям профессора ФК Уильямса». [12] С этого момента разработка Mark 1 имела дополнительную цель — предоставить Ferranti проект, на котором можно было бы основывать их коммерческую машину. [13] Правительственный контракт с Ferranti действовал в течение пяти лет с ноября 1948 года и включал предполагаемую сумму в 35 000 фунтов стерлингов в год (что эквивалентно 1,38 миллионам фунтов стерлингов [14] в год в 2023 году). [15] [a]

Разработка и дизайн

Функциональная схема, показывающая трубки Уильямса зеленым цветом. Трубка C содержит текущую инструкцию и ее адрес; A — аккумулятор; M используется для хранения множимого и множителя для операции умножения; а B содержит индексные регистры, используемые для изменения инструкций.

Baby был разработан командой Фредерика К. Уильямса , Тома Килберна и Джеффа Тутилла . Для разработки Mark 1 к ним присоединились два студента-исследователя, Д. Б. Г. Эдвардс и Дж. Э. Томас; работа началась всерьез в августе 1948 года. Проект вскоре имел двойную цель: предоставить Ferranti рабочий проект, на котором они могли бы основать коммерческую машину, Ferranti Mark 1, и построить компьютер, который позволил бы исследователям получить опыт того, как такая машина может использоваться на практике. Первая из двух версий Manchester Mark 1 — известная как Intermediary Version — была введена в эксплуатацию к апрелю 1949 года. [10] Однако в этой первой версии отсутствовали такие функции, как инструкции, необходимые для программной передачи данных между основным хранилищем и его недавно разработанным магнитным резервным хранилищем, что должно было быть сделано путем остановки машины и ручного инициирования передачи. Эти недостающие функции были включены в версию окончательной спецификации, которая была полностью работоспособна к октябрю 1949 года. [13] Машина содержала 4050 ламп и имела потребляемую мощность 25 киловатт . [16] Для повышения надежности в машине использовались специально изготовленные ЭЛТ производства GEC вместо стандартных устройств, используемых в Baby. [1]

Длина слова Baby с 32 бит была увеличена до 40 бит . Каждое слово могло содержать либо одно 40-битное число, либо две 20-битные программные инструкции. Основное хранилище изначально состояло из двух трубок Уильямса двойной плотности, каждая из которых содержала два массива из 32 x 40-битных слов  , известных как страницы  , которые подкреплялись магнитным барабаном, способным хранить дополнительные 32 страницы. Емкость была увеличена в версии Final Specification до восьми страниц основного хранилища на четырех трубках Уильямса и 128 страниц магнитного барабана резервного хранилища. [17] Барабан диаметром 12 дюймов (300 мм), [18] изначально известный как магнитное колесо, содержал ряд параллельных магнитных дорожек по всей своей поверхности, каждая со своей собственной головкой чтения/записи. Каждая дорожка содержала 2560 бит, что соответствует двум страницам (2×32×40 бит). Один оборот барабана занимал 30  миллисекунд , за это время обе страницы могли быть переданы в основную память ЭЛТ , хотя фактическое время передачи данных зависело от задержки, времени, которое требовалось странице, чтобы прибыть под головку чтения/записи. Запись страниц на барабан занимала примерно в два раза больше времени, чем чтение. [13] Скорость вращения барабана была синхронизирована с тактовой частотой главного центрального процессора , что позволяло добавлять дополнительные барабаны. Данные записывались на барабан с использованием техники фазовой модуляции , до сих пор известной как манчестерское кодирование . [19]

Набор инструкций машины был увеличен с 7 в Baby до 26 изначально, включая умножение, выполненное на аппаратном уровне. В версии Final Specification он увеличился до 30 инструкций. Десять бит каждого слова были выделены для хранения кода инструкции . Стандартное время инструкции составляло 1,8 миллисекунды, но умножение было намного медленнее, в зависимости от размера операнда . [ 20]

Самым значительным нововведением машины обычно считается включение в нее индексных регистров , обычных для современных компьютеров. Baby включал два регистра, реализованных в виде трубок Уильямса: аккумулятор (A) и счетчик программ (C). Поскольку A и C уже были назначены, трубке, содержащей два индексных регистра, первоначально известной как B-линии, было присвоено имя B. Содержимое регистров можно было использовать для изменения программных инструкций, что позволяло удобно выполнять итерации по массиву чисел, хранящихся в памяти. Mark 1 также имел четвертую трубку (M), для хранения множимого и множителя для операции умножения. [19]

Программирование

Фрагмент перфоленты, показывающий, как одно 40-битное слово было закодировано в восемь 5-битных символов.

Из 20 бит, выделенных для каждой программной инструкции, 10 использовались для хранения кода инструкции , что позволяло использовать 1024 (2 10 ) различных инструкций. Первоначально в машине их было 26, [10] увеличившись до 30, когда были добавлены функциональные коды для программного управления передачей данных между магнитным барабаном и основным хранилищем электронно-лучевой трубки (ЭЛТ). В промежуточной версии программы вводились с помощью клавишных переключателей, а вывод отображался в виде серии точек и тире на электронно-лучевой трубке, известной как устройство вывода, так же, как в Baby, из которой был разработан Mark 1. Однако машина Final Specification, завершенная в октябре 1949 года, выиграла от добавления телетайпа с пятиотверстийным считывателем бумажной ленты и перфоратором . [13]

Математик Алан Тьюринг , назначенный на номинальную должность заместителя директора Лаборатории вычислительных машин в Университете Манчестера в сентябре 1948 года, [10] разработал схему кодирования по основанию 32 на основе стандартного 5-битного кода телепринтера ITA2 , которая позволяла записывать и считывать программы и данные с бумажной ленты. [21] Система ITA2 отображает каждое из возможных 32 двоичных значений, которые могут быть представлены 5 битами (2 5 ), в один символ. Таким образом, «10010» представляет «D», «10001» представляет «Z» и так далее. Тьюринг изменил только несколько стандартных кодировок; например, 00000 и 01000, которые означают «нет эффекта» и «перевод строки» в коде телепринтера, были представлены символами «/» и «@» соответственно. Двоичный ноль, представленный прямой косой чертой, был наиболее распространенным символом в программах и данных, что привело к последовательностям, записанным как "///////////////". Один из первых пользователей предположил, что выбор Тьюрингом прямой косой черты был подсознательным выбором с его стороны, представлением дождя, видимого через грязное окно, отражающим "знаменитую унылую" погоду Манчестера. [22]

Поскольку Mark 1 имел 40-битную длину слова, для кодирования каждого слова требовалось восемь 5-битных символов телетайпа. Например, двоичное слово:

10001 10010 10100 01001 10001 11001 01010 10110

будет представлено на бумажной ленте как ZDSLZWRF. Содержимое любого слова в памяти также может быть установлено с помощью клавиатуры телетайпа и выведено на его принтер. Машина работала внутренне в двоичном формате, но она могла выполнять необходимые преобразования десятичных чисел в двоичные и двоичных чисел в десятичные для своего ввода и вывода соответственно. [18]

Для Mark 1 не было определено языка ассемблера . Программы должны были быть написаны и отправлены в двоичной форме, закодированной как восемь 5-битных символов для каждого 40-битного слова; программистам было предложено запомнить модифицированную схему кодирования ITA2, чтобы облегчить свою работу. Данные считывались и записывались с перфоратора бумажной ленты под управлением программы. Mark 1 не имел системы аппаратных прерываний ; программа продолжала выполняться после инициирования операции чтения или записи до тех пор, пока не встречалась другая инструкция ввода/вывода, после чего машина ждала завершения первой. [23]

У Mark 1 не было операционной системы ; его единственным системным программным обеспечением было несколько базовых процедур для ввода и вывода. [1] Как и в Baby, на основе которого он был разработан, и в отличие от устоявшейся математической конвенции, память машины была организована так, что наименее значимые цифры располагались слева; таким образом, единица была представлена ​​пятью битами как «10000», а не более традиционным «00001». Отрицательные числа были представлены с использованием дополнения до двух , как это делают большинство компьютеров и сегодня. В этом представлении значение наиболее значимого бита обозначает знак числа; положительные числа имеют ноль в этой позиции, а отрицательные числа — единицу. [23] Таким образом, диапазон чисел, которые могли храниться в каждом 40-битном слове, был от −2 39 до +2 39  − 1 (десятичное: от -549 755 813 888 до +549 755 813 887).

Первые программы

Первой реалистичной программой, запущенной на Mark 1, был поиск простых чисел Мерсенна в начале апреля 1949 года [24] , который работал без ошибок в течение девяти часов в ночь с 16 на 17 июня 1949 года.

Алгоритм был разработан Максом Ньюманом , главой математического факультета Манчестерского университета , а программа была написана Килберном и Тутиллом. Алан Тьюринг позже написал оптимизированную версию программы, названную Mersenne Express. [19]

Manchester Mark 1 продолжал выполнять полезную математическую работу до 1950 года, включая исследование гипотезы Римана и расчеты в оптике . [25] [26]

Дальнейшие события

В августе 1949 года Тутилл был временно переведен из Манчестерского университета в Ferranti, чтобы продолжить работу над проектом Ferranti Mark 1, и провел четыре месяца, работая с компанией. [27] Manchester Mark 1 был разобран и отправлен на слом в августе 1950 года, [28] а несколько месяцев спустя его заменил первый Ferranti Mark 1, первый в мире коммерчески доступный компьютер общего назначения. [1]

В период с 1946 по 1949 год средний размер команды разработчиков, работавших над Mark 1 и его предшественником Baby, составлял около четырех человек. За это время было получено 34 патента на основе работы команды, либо Министерством снабжения , либо его преемником, Национальной корпорацией исследований и разработок . [2] В июле 1949 года IBM пригласила Уильямса в Соединенные Штаты в полностью оплаченную поездку для обсуждения дизайна Mark 1. Впоследствии компания лицензировала несколько запатентованных идей, разработанных для машины, включая трубку Уильямса, в дизайне своих собственных компьютеров 701 и 702. [29] Самым значительным наследием дизайна Manchester Mark 1, возможно, было включение в него индексных регистров, патент на которые был получен на имена Уильямса, Килберна, Тутилла и Ньюмана. [2]

Килберн и Уильямс пришли к выводу, что компьютеры будут использоваться больше в научных целях, чем в чистой математике, и решили разработать новую машину, которая включала бы блок с плавающей точкой . Работа началась в 1951 году, и получившаяся машина, которая запустила свою первую программу в мае 1954 года, была известна как Meg, или мегацикловая машина. Она была меньше и проще, чем Mark 1, и намного быстрее решала математические задачи. Ferranti выпустила версию Meg с трубками Williams, замененными более надежной сердечниковой памятью , продаваемую как Ferranti Mercury . [30]

Культурное влияние

Успешная работа Manchester Mark 1 и его предшественника Baby широко освещалась в британской прессе, которая использовала фразу «электронный мозг» для описания машин. [31] Лорд Луис Маунтбеттен ранее ввел этот термин в речи, произнесенной в Британском институте радиоинженеров 31 октября 1946 года, в которой он размышлял о том, как примитивные компьютеры, доступные тогда, могли бы развиваться. [32] Ажиотаж вокруг сообщения в 1949 году о том, что было первым узнаваемо современным компьютером, вызвал неожиданную реакцию его разработчиков; сэр Джеффри Джефферсон , профессор нейрохирургии в Университете Манчестера, когда его попросили произнести речь Листера 9 июня 1949 года, выбрал в качестве темы «Разум механического человека». Его целью было «развенчать» проект Манчестера. [33] В своем обращении он сказал:

Пока машина не сможет написать сонет или сочинить концерт из-за мыслей и эмоций, а не из-за случайного падения символов, мы не сможем согласиться, что машина равна мозгу – то есть не только писать, но и знать, что она это написала. Ни одна машина не может чувствовать удовольствие от своего успеха, горе, когда ее клапаны перегорают, согреваться лестью, быть несчастной из-за своих ошибок, быть очарованной сексом, быть злой или несчастной, когда она не может получить то, что хочет. [33]

The Times сообщила о речи Джефферсона на следующий день, добавив, что Джефферсон предсказал, что «никогда не наступит день, когда великолепные комнаты Королевского общества будут преобразованы в гаражи для размещения этих новых членов». Это было истолковано как преднамеренное оскорбление Ньюмена, который получил грант от общества для продолжения работы манчестерской команды. В ответ Ньюмен написал последующую статью для The Times , в которой утверждал, что существует близкая аналогия между структурой Mark 1 и человеческим мозгом. [34] Его статья включала интервью с Тьюрингом, который добавил:

Это только предвкушение того, что должно произойти, и только тень того, что будет. Мы должны иметь некоторый опыт работы с машиной, прежде чем мы действительно узнаем ее возможности. Могут пройти годы, прежде чем мы примем новые возможности, но я не вижу, почему бы ей не войти в любую из областей, обычно охватываемых человеческим интеллектом, и в конечном итоге конкурировать на равных условиях. [35]

Смотрите также

Ссылки

Примечания

  1. ^ Данные дефлятора валового внутреннего продукта Соединенного Королевства следуют «согласованному ряду» MeasuringWorth , предоставленному в Thomas, Ryland; Williamson, Samuel H. (2024). «What Was the UK GDP Then?». MeasuringWorth . Получено 15 июля 2024 г.

Цитаты

  1. ^ abcd "The Manchester Mark 1", Манчестерский университет, архивировано из оригинала 21 ноября 2008 г. , извлечено 24 января 2009 г.
  2. ^ abc Lavington (1998), стр. 20
  3. ^ Тьюринг, AM (1936), «О вычислимых числах с приложением к Entscheidungsproblem» (PDF) , Труды Лондонского математического общества , 2, т. 42 (опубликовано в 1936–1937 гг.), стр. 230–265, doi :10.1112/plms/s2-42.1.230, S2CID  73712.
  4. ^ Ли (2002), стр. 67
  5. ^ Лавингтон (1998), стр. 7
  6. Энтикнап, Николас (лето 1998 г.), «Золотой юбилей вычислений», Resurrection (20), The Bulletin of the Computer Conservation Society, ISSN  0958-7403, архивировано из оригинала 9 января 2012 г. , извлечено 19 апреля 2008 г.
  7. ^ "Early Electronic Computers (1946–51)", Манчестерский университет, архивировано из оригинала 5 января 2009 г. , извлечено 16 ноября 2008 г.
  8. ^ Лавингтон (1998), стр. 9
  9. ^ Лавингтон (1998), стр. 8
  10. ^ abcd Лавингтон (1998), стр. 17
  11. ^ Лавингтон (1998), стр. 21
  12. ^ "Вклад Ньюмана в машины Mark 1", Манчестерский университет, архивировано из оригинала 11 мая 2008 г. , извлечено 23 января 2009 г.
  13. ^ abcd Napper, RBE, "The Manchester Mark 1", University of Manchester, архивировано из оригинала 29 декабря 2008 г. , извлечено 22 января 2009 г.
  14. ^ Данные дефлятора валового внутреннего продукта Соединенного Королевства следуют «согласованному ряду» MeasuringWorth , предоставленному в Thomas, Ryland; Williamson, Samuel H. (2024). «What Was the UK GDP Then?». MeasuringWorth . Получено 15 июля 2024 г.
  15. ^ Лавингтон (1980), стр. 39
  16. Lavington, SH (июль 1977 г.), The Manchester Mark 1 and Atlas: a Historical Perspective (PDF) , Университет Центральной Флориды , получено 8 февраля 2009 г.. (Перепечатка статьи, опубликованной в Communications of the ACM (январь 1978 г.) 21 (1)
  17. ^ "The Manchester Mark I", Манчестерский университет, архивировано из оригинала 9 февраля 2014 г. , извлечено 5 января 2014 г.
  18. ^ ab Kilburn, Tom (1949), "Универсальная высокоскоростная цифровая вычислительная машина Манчестерского университета", Nature , 164 (4173), Манчестерский университет: 684–7, Bibcode : 1949Natur.164..684K, doi : 10.1038/164684a0 , PMID  15392930, S2CID  19412535. (Перепечатка Килберна, Тома (1949). «Универсальная высокоскоростная цифровая вычислительная машина Манчестерского университета». Nature 164 ).
  19. ^ abc Lavington (1998), стр. 18
  20. ^ Лавингтон (1998), стр. 17–18.
  21. ^ Ливитт (2007), стр. 232
  22. ^ Ливитт (2007), стр. 233
  23. ^ ab "Programmers' Handbook (2nd Edition) for the Manchester Electronic Computer Mark II", University of Manchester, архивировано из оригинала 26 мая 2009 г. , извлечено 23 января 2009 г.
  24. ^ Нэппер (2000), стр. 370
  25. ^ Лавингтон (1998), стр. 19
  26. ^ "Вычислительная машина Манчестерского университета". curation.cs.manchester.ac.uk . Вычислительная машина Манчестерского университета (Digital 60). Гипотеза Римана, трассировка лучей. Крупномасштабная машина . Получено 21 мая 2018 г. .{{cite web}}: CS1 maint: другие ( ссылка )
  27. ^ Лавингтон (1998), стр. 24–25.
  28. ^ Лавингтон (1980), стр. 38
  29. ^ Лавингтон (1998), стр. 23
  30. ^ Лавингтон (1998), стр. 31
  31. Филдс, Джонатан (20 июня 2008 г.), «One tonne 'Baby' marks its birth», BBC News , получено 10 февраля 2009 г.
  32. «Электронный мозг», The Times , № 50597, стр. 2, 1 ноября 1946 г.
  33. ^ ab Leavitt (2007), стр. 236
  34. ^ Ливитт (2007), стр. 237
  35. ^ Ливитт (2007), стр. 237–238.

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

Дальнейшее чтение

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