EDSAC

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
EDSAC
calculator
EDSAC (19) .jpg
EDSAC
Producător J. Lyons & Co. Ltd.
Începutul vânzării 1949

Calculatorul automat de stocare cu întârziere electronică ( EDSAC ) este unul dintre primele computere electronice digitale din istorie. A fost proiectat și construit de Universitatea din Cambridge ( Anglia ), în special de Maurice Wilkes și echipa sa, inspirat din lucrarea lui John von Neumann despre EDVAC Prima versiune a unui raport despre EDVAC .

În 1947 , proiectul a fost susținut de J. Lyons & Co. Ltd. , o companie britanică recompensată ulterior cu primul computer electronic pentru uz comercial: LEO I (bazat pe EDSAC). La 6 mai 1949, primul program a fost rulat pe EDSAC (programul a calculat pătratele perfecte prezente în intervalul 0-99).

EDSAC este al treilea computer program stocat din istorie și al treilea computer din istorie bazat pe arhitectura von Neumann , după Small-Scale Experimental Machine și Manchester Mark 1 .

Prezentare tehnică

Componente fizice și performanță

EDSAC a fost realizat cu 3000 de supape termionice dispuse pe 12 rafturi . Memoria EDSAC folosea linii de întârziere cu ultrasunete, bazate pe mercur, care stocau datele pentru intervale scurte de timp. Intrarea a fost gestionată de un cititor de benzi perforate, iar ieșirea de un teleimprimant. Inițial existau doar două registre, și anume registrul acumulatorului și registrul multiplicator. În 1953, David Wheeler, întorcându-se de la Universitatea din Illinois, a proiectat un al treilea registru, registrul index .

EDSAC a fost capabil să execute 650 de instrucțiuni pe secundă, să efectueze multiplicarea în aproximativ 4,5 milisecunde și divizarea în aproximativ 200 de milisecunde. Consumul său de energie a fost de 12 KW și a ocupat o suprafață de 20 de metri pătrați.

Memorie și instrucțiuni

Memoria EDSAC consta din 1024 locații de memorie pe 17 biți, deși au fost implementate inițial doar 512 locații de memorie. O instrucțiune a constat dintr-un cod de opțiune de 5 biți (conceput pentru a fi reprezentat printr-o literă mnemonică; de exemplu, instrucțiunea de adăugare, a folosit modelul de biți al literei A), un bit de rezervă neutilizat, zece biți pentru o adresă de memorie și o bit pentru a verifica dacă instrucțiunea a funcționat pe un număr conținut într-un cuvânt (17 biți) sau doi (35 biți).

EDSAC a folosit complementul și numerele binare ale celor doi. Acestea erau fie 17 biți (un cuvânt), fie 35 biți (două cuvinte). Acumulatorul avea o capacitate de 71 de biți, inclusiv semnul, permițând multiplicarea a două numere de 35 de biți fără pierderi de precizie.

Operațiunile disponibile au fost: adunarea, scăderea, multiplicarea, compararea, deplasarea spre dreapta sau stânga, încărcarea registrului multiplicator, stocarea (și eventual resetarea) acumulatorului, citirea unei benzi de intrare, imprimarea unui caracter, fără oprire și oprire. Nu a existat nicio instrucțiune de divizare (deși au fost disponibile unele subrutine de diviziune) și nu a existat nicio modalitate de a încărca direct un număr în acumulator (pentru a face acest lucru, ați avut nevoie de un acumulator clar și de a salva instrucțiuni, urmat de o instrucțiune de adăugare).

Utilizare

Inițial, instrucțiunile au fost introduse mecanic printr-o serie de comutatoare și încărcate în primele locații de memorie la pornire. În mai 1949 a fost dezvoltat primul limbaj de asamblare, profitând de designul memoriei EDSAC, și a fost conținut în acesta în 31 de cuvinte.

Utilizatorii și-au pregătit programele (în asamblare) în cartele perforate, iar când programele au fost gata, le-au agățat pe o bucată de șir întinsă lângă cititorul de cartele perforate. Operatorul, procedând secvențial, a luat cărțile de pe fir și le-a încărcat în EDSAC. Astăzi aceasta este cunoscută sub numele de „coadă de locuri de muncă”. Dacă EDSAC a tipărit ceva, cardul care conține programul a fost returnat utilizatorului împreună cu rezultatul. În caz contrar, utilizatorii au fost informați despre locația de memorie a programului oprit. În cele din urmă, un monitor CRT ar putea fi montat pentru a afișa conținutul unei anumite locații de memorie. După orele de lucru, unii utilizatori autorizați li s-a permis să folosească singuri mașina, care a funcționat până târziu în noapte, atâta timp cât a suflat o supapă de presiune, de obicei setată de operator.

Tehnici de programare

Primii programatori au fost nevoiți să folosească tehnici care sunt acum înșelate, în special cea de modificare a codului. Deoarece inițial nu exista un registru index, singura modalitate de a accesa o matrice a fost modificarea referinței la locația de memorie a unei instrucțiuni date.

Conceptul de subrutine a fost inventat de David Wheeler, care, odată cu acesta, a obținut primul „doctorat în informatică”. la nivel mondial. Modul de utilizare a unui subrutină a fost acesta: un utilizator scrie un program care apelează un subrutină sărind la începutul subrutinei cu adresa contorului de program plus un singur registru (salt Wheeler). Prin convenție, subrutina se așteaptă la această adresă, iar primul lucru pe care îl face este să suprascrieți instrucțiunile sale finale de salt cu această adresă, astfel încât să revină la program. S-ar putea rula și subrutine multiple și imbricate. Utilizatorul a copiat apoi codul subrutinei dintr-o casetă principală în propriul cod, după codul programului său.

Domenii de aplicare

Conceptul de subrutine a dus la disponibilitatea unei mari biblioteci de subrutine. Din 1951, au fost disponibile 87 de rutine de utilizare generală: operații aritmetice, verificări, diviziuni, tipărire și paginare, citire din intrare și diverse.

În 1950 Wilkes și Wheeler au folosit EDSAC pentru a rezolva o ecuație diferențială pentru frecvența genelor - aceasta reprezintă prima utilizare a unui computer într-o problemă în biologie.

În 1951, Miller și Wheeler au folosit mașina pentru a găsi un număr prim de 79 de cifre - cel mai mare cunoscut la acea vreme.

În 1952, AS Douglas a proiectat OXO, o versiune de trio pentru EDSAC, cu o ieșire grafică pe un tub catodic. Acesta a fost primul joc video din lume.

Notă


Elemente conexe

Alte proiecte

linkuri externe