ENIAC (на английски: Electronic Numerical Integrator and Computer) е първата електронна цифрова електронноизчислителна машина (компютър), която може да се препрограмира (но все още не съхранява програмата си в паметта, т.е. не е компютър със запаметена програма) и може да реши голям брой разнообразни изчислителни задачи. Построена е в САЩ по време на Втората световна война с първоначална цел да изчислява балистични таблици за нуждите на американската армия.[1] Конструиран е през 1945 г. от американците Джон Мокли и Дж. Преспър Екърт.

ENIAC във Филаделфия, Пенсилвания

Дизайн редактиране

Създаването на ENIAC е финансирано от американската армия. Договорът за изработването на ENIAC е подписан на 5 юни 1943 г., а работата по компютъра под кодовото име „Проект PX“ започва на следващия месец в условия на секретност в школата по електроинженерство Мур (на английски: Moore School of Electrical Engineering), част от Пенисилванския университет. Ръководител на проекта е Джон Брайнърд, професор по физика в университета.[2]

Конструктивният проект на ENIAC е дело на Джон Мокли и Дж. Преспър Екърт, учени от Пенисилванския университет. Екипът от инженери-дизайнери, участващи в разработката, включва още Робърт Шоу (функционални табла), Джефри Чу (система за делене и коренуване), Томас Шарплес и Франк Мурал (главни програмисти), Артър Бъркс (система за умножение), Хари Хъски (четец/принтер), Джак Дейвис (регистър за аритметични и логически операции). През 1946 г. те напускат университета и сформират компютърната компания „Екърт-Мокли“ (Eckert-Mauchly Computer Corporation).[3] 

ENIAC е модулен компютър, който се състои от индивидуални панели, обработващи различни функции. Двадесет от тези модули са регистри, които могат не само да прибавят и изваждат, но и да запаметяват десетични числа с до 10 знака в паметта си. Числата биват предавани между частите през няколко шини с общо предназначение. За да се постигне висока скорост, процесът по изпращане и получаване на числа, пресмятане и запазване, както и задействане на следващата операция, се извършва без движещи се части. Ключова за ENIAC е способността му за разклонение: в зависимост от знака на пресметнатия резултат се задействат различни операции.

Компоненти редактиране

Към края на експлоатацията си през 1955 г. ENIAC съдържа 17 468 електронни лампи, 7200 кристални диода, 1500 релета, 70 000 резистора, 10 000 кондензатора и около 5 000 000 ръчно запоени връзки. Тежи над 27 тона, има размери 2,4 m x 0,9 m x 30 m, заема 167 m² и консумира 150 kW[4][5] Тази голяма консумация води до слух, че докато компютърът работи, си личи по промяната в осветлението.[6] За въвеждане и извеждане на информация се използват перфокарти, с които впоследствие може да се отпечатват резултатите (IBM 405).

 
Функционално табло на ENIAC в Абърдийн

За запаметяване на цифри ENIAC използва кръгови броячи с десет позиции. За всяка цифра са нужни 36 електронни лампи, 10 от които съставят тригерите на кръговия брояч. Аритметичните операции се осъществяват чрез електронна симулация на цифровите колела на механична сметачна машина.

ENIAC има 20 десетцифрени регистъра, които използват метода за допълване до 10, за да изпълняват до 5000 прости операции (събиране и изваждане) в секунда при поискване (например от друг регистър или предавател). Възможно е няколко регистри да се свържат да работят паралелно, за да се постигне по-висока скорост на операцията.

Възможно е да се свържат два регистъра, за да се постигне двойна точност при числа с плаваща запетая, но дизайнът на регистрите не позволява свързване на повече от 2, което теоретично би довело и до още по-голяма точност. ENIAC използва 4 от регистрите (контролирани от специална система за умножение), за да изпълнява до 385 операции с умножение в секунда. За изпълнението на операции по деление и коренуване пет от регистрите се контролират от специална система и изпълняват до 40 операции с деление в секунда или до 3 операции с коренуване в секунда.

Другите 9 системи, използвани в ENIAC, са система за инициализация (която пуска и спира машината), система за синхронизация (която синхронизира системите), главна програмираща система (която контролира цикличните операции), система за четене (която контролира четеца на перфокарти), система за принтиране (която контролира перфоратора на карти), система за предаване на константи и 3 функционални табла.

Време за изпълнение на операция редактиране

Основният машинен цикъл е 200 μs (20 цикъла на 100 kHz часовник в системата за цикли), или 5000 цикъла в секунда за операции с десетцифрени числа. Във всеки един от тези цикли ENIAC може да записва число в регистър, да чете число от регистър или да събира/изважда две числа.

Умножението на 10-цифрено число с d-цифрено число (за d<=10) отнема d+4 цикъла, например умножение на 10-цифрено с 10-цифрено число отнема 14 цикъла или 2800 μs – скорост от 357 такива операции в секунда. Ако едното от умножаваните числа има по-малко цифри, операцията е по-бърза.

Делението и коренуването отнема 13(d+1) цикъла, където d е броят на цифрите в резултата (частно или корен квадратен). Така делението/коренуването отнема до 143 цикъла или 28 600 μs – скорост от 35 такива операции в секунда. Ако резултатът има по-малко от 10 цифри, операцията е по-бърза.

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

ENIAC използва обикновени електронни лампи с осем крачета. Десетичните регистри са реализирани с тригери 6SN7, а за логическите функции се използват тригери 6L7, 6SJ7, 6SA7 и 6AC7. Използвани са също така и множество 6L6 и 6V6 за съединителните проводници между панелите.

Всеки ден по няколко електронни лампи изгарят и това спира работата през половината от времето. До 1948 г. не са налични специални електронни лампи с висока надеждност. По-голямата част от повредите възникват по време на периодите на загряване и охлаждане, когато нагревателите и катодите на електронните лампи изпитват най-голямо температурно напрежение. Инженерите успяват да намалят повредите до по-приемливо положение – една изгоряла лампа на всеки 2 дни. В интервю от 1989 г. Екърт споделя: „Имахме по около една изгоряла електронна лампа на всеки два дни и можехме да локализираме проблема в рамките на 15 минути.“ През 1954 г. е засечен най-дългият период без повреди – 116 часа или около 5 дни.

Програмиране редактиране

 
Две от операторките на ENIAC

ENIAC може да бъде програмирана така, че да извършва различни, сложни поредици от операции: цикли, разклонения и подпрограми. Съставянето на самата задача и въвеждането ѝ в машината е сложно и времеемко, обикновено отнема седмици. След като програмата се разпише върху лист хартия, програмирането на ЕNIAC става чрез превключване на релета и проводници в комутационен панел и обикновено отнема няколко дни. Следва период за постъпкова проверка на въведената програма, или дебъгване, чиято цел е да се отстранят грешките. Представа за това, как изглежда една програма на ENIAC, дава Ръководството за модулно програмиране.[7]

Първите главни програмисти на ENIAC са жени: Кей МакНулти (по-късно става съпруга на Джон Моукли), Джийн Бартик, Бети Снайдер, Мерилин Уесков, Фран Билас и Рут Тейтелбаум.[8] Te не само програмират ENIAC, но допринасят много и за разбирането на работата на машината. Програмистите отстраняват възникналите проблеми, като физически преглеждат масивния корпус на машината и откриват лошите спойки в проводниците и изгорелите лампи.[9]

Програмистите се назначават от Херман Голдстайн, който ги нарича „оператори“, вместо предишното „изчислители“ (които пресмятат балистичните таблици с калкулатор и аналитични методи). Под управлението на Херман и Адел Голдстайн, операторите изучават чертежите на ENIAC и физическата ѝ структура, за да разберат как да превключват проводниците и щифтовете. Програмирането по онова време се смята за чисто техническа и чиновническа задача, затова ролята на жените програмисти за успешното пускане на ENIAC получава дължимото признание едва в края на 20 век.[10]

След това екипът се разширява до стотици учени, които продължават работата по ENIAC. Между тях отново има и няколко жени, включително Глория Рут Гордон.

По-нататъшно развитие редактиране

Завършената машина е представена публично на 14 февруари 1946 г. и официално открита в Университета на Пенсилвания на следващия ден. Първоначалната договорена цена е $61 700, а финалната сума достига почти $500 000 (приблизително $6 100 000 днес). През юли 1946 е приета официално от Артилерийския корпус на армията (U.S. Army Ordnance Corps). ENIAC е изключен за ремонт и обновяване на паметта на 9 ноември 1946 г. и е пренесен в Абърдинския изпитателен полигон в Мериленд през 1947 г. Там на 29 юли 1947 г. е включен отново и работи непрестанно до 23:45 часа на 2 октомври 1955 г.

ENIAC е използван за изчисления при разработването на водородната бомба в лабораторията Лос Аламос.[11]

Лекции в Мурската школа и EDVAC редактиране

Няколко месеца след завършването на ENIAC, през лятото на 1946 г., като част от „изключително усилие да се даде силен старт на изследвания в областта“,[12] Пентагонът кани „най-добрите учени в областите на математиката и електрониката от Великобритания и САЩ“ да изнесат серия от четиридесет и осем лекции на тема „Теория и техники за дизайн на дигитални компютри“, по-често известни като „Лекции на Мурската школа“. Половината от тези лекции са изнесени от изобретателите на ENIAC.[13]

Конструкцията на ENIAC впоследствие не е повторена. Тя датира от 1943 г. и не отразява нововъведенията, които започват бързо да се появяват след това. Най-значимото от тях е запаметяването на програмата в паметта на компютъра. Екерт и Мокли започват работа по нов проект, който по-късно е наречен EDVAC, като целта им е едновременно по-прост и по-мощен компютър. През 1944 г. Екерт описва запаметяващ модул, в който биха се съхранявали едновременно данните и програмата. Джон фон Нойман, консултант на Мурската школа по отношение на EDVAC, участва в срещите за разработване на идеята за запаметена програма и написва непълна поредица от записки First Draft of a Report on the EDVAC.[14] Те са предназначени за използване като вътрешен меморандум и описват, развиват и формулират на формален и логичен език идеите, развили се по време на срещите. Въпреки това документът заема важно място в последвалото развитие на компютрите. Херман Голдстайн, администратор и отговорник по сигурността на ENIAC, го разпространява из правителствени и образователни учреждения, предизвиквайки интерес към създаването на ново поколение електронни изчислителни машини. Сред тях са Electronic Delay Storage Automatic Calculator (EDSAC) в Кеймбриджкия университет, Англия и SEAC в Американския институт по стандартизация.

Подобрения редактиране

След 1948 г. в ENIAC са направени редица подобрения, включително е добавен примитивен механизъм за четене на запаметена програма,[15] който използва функционалните табла като ROM. Идеята е включена в патента на ENIAC и е предложена независимо от Ричард Клипингър от BRL. Клипингър се консултира с фон Нойман какъв набор от инструкции да приложи. Той замисля триадресна архитектура, докато фон Нойман предлага едноадресна, защото е по-проста за прилагане. Три цифри от един регистър се използват като програмен брояч, друг регистър служи за главен, трети регистър се използва като адресен показалец за четене на данни от функционалните табла, а повечето от останалите акумулатори се използват като памет за данните.

Програмирането на ENIAC е осъществено от Бети Дженингс, Клипингър и Адел Голдстайн. Машината работи за първи път като компютър със запаметена програма на 16 септември 1948 г., когато е стартирана програма на Адел Голдстайн, написана за Джон фон Нойман. Тази модификация намалява скоростта на изчисления на ENIAC шест пъти и премахва възможността за паралелни изчисления, но намалява времето за препрограмиране от дни на часове и затова е приемлива. Освен това анализите показват, че поради разликата в електронната скорост на пресмятане и електромеханичната скорост на вход/изход, скоростта на изпълнение на почти всяка задача се определя напълно от втората скорост („I/O bound“) дори без оглед на първоначалната възможност за паралелни изчисления. Повечето изчисления биха останали „I/O bound“ дори след намаляването на скоростта, наложено от тази модификация.

Сравнение с други ранни компютри редактиране

Механични и електрически сметачни машини са познати от началото на 19 век, но за начало на съвременната компютърна ера се счита краят на 1930-те и 1940-те години на 20 век. Голям напредък в разработките настъпва през Втората световна война, когато са необходими големи изчислителни ресурси за военни цели. Независимо един от друг са разработени предшествениците на днешните компютри: Z3 на Конрад Цузе в Германия, Colossus в Англия, Марк I (Харвард) на Хауърд Айкен, ABC на Джон Атанасов и Клифърд Бери и ENIAC в САЩ. Те имат някои сходни черти:

  • ENIAC, Z3, Марк I (Харвард) и Colossus могат да извършват математически операции в произволна последователност, но се препрограмират чрез механични превключватели и проводници. Сред тях само ENIAC съчетава възможността за пълна програмируемост по Тюринг със скоростта на електронните изчисления.
  • Операциите в ABC, ENIAC и Colossus се основават на електронни лампи, но машините имат различна организация.
  • Z3 и ABC извършват пресмятанията в двоична бройна система, докато ENIAC работи с десетична бройна система.

Както Collosus, до септември 1948 година и ENIAC има нужда от ново свързване, за да бъде препрограмиран. Три месеца по-рано, през юни 1948 година, Манчестърската дребномащабна експериментална машина изпълнява първата си програма и получава признание като първи компютър със запаметена програма. Макар че при разработването на ENIAC се заражда идеята за компютър с памет за едновременно съхранение на програма и данни, идеята остава нереализирана.

Публичност редактиране

Z3 е разрушен по време на бомбардировките на Берлин през 1943 година. Машините Colossus са част от ресурсите на армията на Великобритания. Всички те са унищожени през 1945 година, с изключение на две, останали в употреба до 1960-те. Тяхното съществуване става публично известно чак през 1970-те години, въпреки че информацията за техните възможности остава секретна. Компютърът ABC в Айова не е завършен и е разглобен, след като Джон Атанасов и Клифърд Бери напускат колежа за работа по военни проекти.

За разлика от всички тях през 1946 година ENIAC е в центъра на вниманието на медиите. След завършване на проекта ENIAC Мокли и Екерт напускат университета на Пенсилвания и основават собствена компания. Те подават заявка за патент през 1947 г., но поради редица оспорвания той е издаден след 17 години, през 1964 г.[16] До 1973 г. се смята, че това е първият електронен цифров компютър. Друг патент за компютърната памет е заявен през 1947 и е издаден през 1953 г.[17]

Компанията на Мокли и Екерт след време е погълната и в крайна сметка става Sperry Rand, съответно са прехвърлени и правата върху техните патенти. С някои от своите конкуренти Sperry Rand сключва споразумения за обмен на патенти, но срещу други предявява искове за процентни отчисления. След серия от дела, станали известни като патентен спор за ENIAC, в крайна сметка патентът за ENIAC е обявен за невалиден през 1973 г. с решение на федералния съд по делото Honeywell, Inc. v. Sperry Rand Corp., а като съпътстващ резултат Джон Атанасов получава известност с работата си върху електронния компютър АВС с регенеративна памет.

Експонати редактиране

Части от ENIAC са експонирани в следните институции:

 
Два модула на ENIAC, експонати в School of Engineering and Applied Science, Пенсилвански университет, наследник на Мурската школа по електроинженерство
  • Университетът в Пенсилвания притежава четири от четиридесетте оригинални панела и едно от трите функционални табла на ENIAC.
  • Смитсоновият институт има пет панела в Националния музей на американската история във Вашингтон.
  • Музеят на науката в Лондон има приемник на показ.
  • Музеят на компютърната история в Калифорния има три панела и функционално табло (на заем от Смитсоновия институт).
  • Университетът в Мичиган има четири панела.
  • Музеят на Военната Артилерия на САЩ има едно функционално табло.
  • Музеят на Военната Полева Артилерия на САЩ има седем панела.
  • Военната академия на САЩ има един от терминалите на ENIAC.
  • Музеят Хайнц Никсдорф има три панела.

Признание редактиране

ENIAC се включва в IEEE Milestone през 1987 г.

През 1995 г. е създаден един много малък чип с размери 7.44 mm на 5.29 mm, който има същата функционалност като ENIAC. Въпреки че този 20 MHz чип е в пъти по-бърз от ENIAC, той е доста по-бавен от модерните за това време микропроцесори.

През 1997 г. шестте жени, които извършват по-голямата част от програмирането на ENIAC, са въведени в Залата на славата на световната организация на жени в технологията. Ролята на програмистите на ENIAC се описва в документалния филм от 2010 година, озаглавен Top Secret Rosies: The Female „Computers“ of WWII, от ЛеАнн Ериксон. Документалният филм The Computers, от Кейт МакМахон описва историята на шестте програмистки.

През 2011 година, в чест на 65-а годишнина от представянето на ENIAC, Филаделфия обявява 15 февруари за ден на ENIAC.

Вижте също редактиране

Източници редактиране

  1. Асенова, П. и колектив. Работа с компютри във фирмите, учебник за специалност „Сътрудник в дребния и средния бизнес“, ИК „Призма“, София, 2001.
  2. John_G._Brainerd // Посетен на 13 октомври 2016.
  3. UShistory.org ENIAC Invetors Посетен на 4 февруари 2016 USHistory.org ENIAC Inventors.
  4. ENIAC // The Free Dictionary. Посетен на 29 март 2015.
  5. Weik, Martin H. Ballistic Research Laboratories Report No. 971: A Survey of Domestic Electronic Digital Computing Systems. Aberdeen Proving Ground, MD, United States Department of Commerce Office of Technical Services, December 1955. с. 41. Посетен на 29 март 2015.
  6. Farrington, Gregory. ENIAC: Birth of the Information Age. Popular Science, March 1996. Посетен на 29 март 2015.
  7. ENIAC tutorial for the modulo function // Архивиран от оригинала на 2014-01-07. Посетен на 14 октомври 2016.
  8. ENIAC Programmers Project // Посетен на 14 октомври 2016.
  9. Barkley Fritz, W. The Women of ENIAC // IEEE Annals of the History of Computing 18 (3). 1996. с. 13. Посетен на 14 октомври 2016.[неработеща препратка]
  10. Light, Jennifer. When computers were women // Technology and Culture. 1999. Посетен на 14 октомври 2016.
  11. Goldstine, Herman. The Computer: from Pascal to von Neumann. Princeton, New Jersey, Princeton University Press, 1972. ISBN 0-691-02367-0. с. 226.
  12. Scott McCartney p.140 (1999)
  13. McCartney, Scott (1999). ENIAC: The Triumphs and Tragedies of the World's First Computer. Walker & Co. ISBN 0-8027-1348-3. p.140: Екерт изнася 11 лекции, Мокли изнася 6, Голдстайн – 6, фон Нойман е трябвало да изнесе една, но не се появил и останалите 24 са разпределени между различни поканени учени и военни
  14. First Draft of a Report on the EDVAC // Архивиран от оригинала на 2011-05-03. Посетен на 2016-10-14.
  15. „A Logical Coding System Applied to the ENIAC“. Ftp.arl.mil. 1948-09-29. Посетен на 27 януари 2010.
  16. Electronic numerical integrator and computer // Посетен на 28 февруари 2017.
  17. Memory system // Посетен на 15 март 2017.
    Тази страница частично или изцяло представлява превод на страницата ENIAC в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​