ENIAC

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
ENIAC във Филаделфия, Пенсилвания

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

Разработка и Дизайн[редактиране | редактиране на кода]

Дизайнът и конструкцията на ENIAC е финансиран от Отделa за проучвания и разработки към Корпусa на боеприпасите на армията на Съединените американски щати (United States Army, Ordnance Corps, Research and Development Command), воден от генерал-майор Г. М. Барнс. Договорът за изработването на ENIAC е подписан 5 юни 1943г; работа по компютъра започва тайно идния месец с ръководител на проекта Джон Брайнърд, под кодовото име „Проект PX“ във Висше учебно заведение по електроинженерство "Муур” (Moore School of Electrical Engineering), част от Пенисилванския университет.

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

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

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

До края на експлоатацията си през 1955, ENIAC съдържал 17 68 електронни лампи, 7200 кристални диода, 1500 релета, 70 000 резистора, 10 000 кондензатора и около 5 000 000 ръчно-споени връзки. Тежи повече от 27 тона и е с мерки 2.4м x 0.9м x 30м, заема 167 квадратни метра и консумира 150 kW на час. Тази нужда за електроенергия води до слух, според който докато компютърът е включен, осветлението във Филаделфия приглушава. За въвеждане и извеждане на информация е изоползван четец/перфоратор на карти от IBM. Табулиращи машини, като IBM 405, могат да печатат данните от тези перфокарти.

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

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

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

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

Времето за протичане на операция[редактиране | редактиране на кода]

(Посочена по-долу статия на английски език от Rojas и Hashangen(или Wileks) дава по-детайлна информация относно времената за протичане на операция, които до известна степен се различават от тези посочени по-долу.)

Основният машинен цикъл е 200 микросекунди (20 цикъла на 100 kHz часовник в системата за цикли), или 5 000 цикъла в секунда за операции върху десетцифрени числа. Във всеки един от тези цикли ЕНИАК може да записва число в регистър, да чете число от регистър или да събира/изважда две числа.

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

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

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

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

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

Програмирането на ENIAC[редактиране | редактиране на кода]

ENIAC може да бъде програмирана, така че, да извършва различни, сложни поредици от операции. Например : цикли, раздели и под-операции. Задачата, за генерирането на проблем и имплементацията ѝ в машината е сложна операция. Обикновено отнема седмици. След като, проблемът е бил разписан върху лист хартия, процесът по програмирането му в ЕNIAC, чрез манипулация на щекове и отвори, както и проводници, обикновено отнема доста дълго време. Това е последвано от период за постъпкова проверка на въведената програма, или още наричано "debugging", чиято цел е , да се подпомогне възможността, за стартирането на програмата и почистването ѝ от нежелани странични поведения на програмата. Ръководството за модулното програмиране е симулатор, чрез който се придобива впечатление, как изглежда една програма на ENIAC.

Първите главни програмисти на ENIAC са : Кей МакНулти, Бети Дженнингс, Бети Снайдер, Мерилин Уесков, Фран Билас и Рут Тейтелбаум. Te не само са програмирали ENIAC, но също създават и разбирането, за това, как работи вътрешно ENIAC.

Програмистите отстранявали проблемите, като преминават през цялата машина, чиято структура е масивна, и откривали лоши връзки по проводниците, които водят до проблеми.

Херман Голдстин избира програмистите и ги е нарича "оператори" на човешки "компютри", които пресмятат балистични матрици (таблици), чрез настолни калкулатори и различни анализаторски приоми по време на изобретяването на ENIAC. Под управлението на Херман и Аделе Голдстин, програмистите са изучават чертежите на ENIAC и нейната физическа структура, за да разберат как да манипулират проводниците и щивтовете. Макар че съвременниците, смятат програмирането за техническа задача и не си признават публично, за ролята на програмистите върху успешната операция и анонсирането на ENIAC. МакНулти, Дженнингс, Снайдер, Уесков, Билас, и Тейтелбаум се разпознават, като съучастници в програмирането на ENIAC .

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

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

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

Роля в разработването на EDVAC[редактиране | редактиране на кода]

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

Замръзяването на дизайна през 1943 г. означавало, че при компютърния дизайн ще отсъстват някои нововъведения, които се развиват с голяма скорост. Най-значимото от тези въведения е прорама запазена на паметта на компютъра. Екерт и Маучли започват работа по нов дизайн, който щял да се казва EDVAC , едновременно по-прост и по-мощен. По-конкретно – през 1944 г. Екерт пише неговото описание на паметова единица, в която биха се съхранявали едновременно данните и програмата. Джон фон Нойман, консултант на Мурската школа по отношение на EDVAC, посещава събиранията в които се разработва идеята за съхранена програма и написва непълна поредица от записки. Тези записки са предназначени за използване като вътрешен меморандум описващи, разработващи и формулиращи на формален и логичен език идеите развили се по време на срещите.

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

Редица подобрения са добавени към ENIAC след 1948г. включително и примитивен програмен механизъм[4], който използва Функционалните Таблици като ROM на програмата, идея включена в патента на ENIAC и предложена независимо от д-р Ричард Клипингър от BRL. Клипингър се консултира с фон Нойман относно каква поредица от инструкции да приложи. Клипингър измисля триадресна архитектура, докато фон Нойман предлага едноадресна, защото е по проста за прилагане. Три цифри от един акумулатор (6) са използвани като програмния брояч, друг акумулатор (15) е използван като главния акумулатор, трети акумулатор (8) е използван като адресен показател за четене на данни от функционалните таблици и повечето от останалите акумулатори (1-5, 7, 9-14, 17-19) са използвани за памет за данните.

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

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

Източник : История на изчислителната техника

Механични и електрически изчислителни машини са познати от началото на 19 век, но 30-те и 40-те години на 20 век се считат за началото на съвременната компютърна ера.

ENIAC, както Z3 и Harvard Mark I, могат да обработват математически операции в произволна последователност, но не и да ги прочитат от магнитна лента. Както Collosus, компютърът е програмиран чрез plugboard и суичове. ENIAC обединява възможността за пълно Turing програмиране с електрическа скорост. Компютърът на Атанасов-Бери(ABC), ENIAC и Collosus използват електронни лампи. ENIAC пресмята в десетична бройна система, за разлика от Z3 или Компютърът на Атанасов-Бери(ABC), които пресмятат в двоична бройна система.

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

Публична информация[редактиране | редактиране на кода]

Z3 и Collosus са разработени независимо един от друг и от Компютърът на Атанасов-Бери(ABC) или ENIAC през Втората световна война. Z3 е разрушен по време на бомбардировките в Берлин през 1943 година. Машините Collosus са част от ресурсите на войската на Великобритания. Тяхното съществуване е става публично чак през 70-те години на 20 век, въпреки че информацията за техните възможности остана в тайна. Всички машини, с изключение на две, останали в употреба до 60-те години на 20 век, били унищожени през 1945 година. Компютърът на Атанасов-Бери(ABC) се разглобява от Университета на Айова, след като Джон Атанасов е извикан в Вашингтон, за да извърши изследване по физика за Американската пехота.

ENIAC, за разлика е в центъра на вниманието на медиите през 1946 година.

Патент[редактиране | редактиране на кода]

Поради различни причини патентът за ENIAC, издаден през 1964 година е преустановен през 1973 година, чрез решение на федералния съд, признавайки Джон Атанасов за изобретател на първият електронен дигитален компютър.

Части на показ[редактиране | редактиране на кода]

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

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

Признание[редактиране | редактиране на кода]

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

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

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

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

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

Бележки[редактиране | редактиране на кода]

  1. Асенова, П. и колектив. Работа с компютри във фирмите, учебник за специалност „Сътрудник в дребния и средния бизнес“, ИК „Призма“, София, 2001.
  2. Scott McCartney p.140 (1999)
  3. Scott McCartney p.140 (1999):Екерт изнася 11 лекции, Маучли изнася 6, Голдстайн – 6, вон Нюмън е трябвало да изнесе една, но не се е появил и останалите 24 са разпределени между различни поканени академици и военни
  4. "A Logical Coding System Applied to the ENIAC". Ftp.arl.mil. 1948-09-29. Retrieved 2010-01-27.

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

Криейтив Комънс - Признание - Споделяне на споделеното Лиценз за свободна документация на ГНУ Тази страница частично или изцяло представлява превод на страницата „ENIAC“ в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс - Признание - Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница. Вижте източниците на оригиналната статия, състоянието ѝ при превода, и списъка на съавторите.