Konputagailuen historioa Informatikaren Oinarriak 2008/2009 ikasturtea
Javi Portillo & Tomi Etxeandia 2009
Atalak
KALKULU SISTEMEN JATORRIA ETA GARAPENA KONPUTAGAILUEN BELAUNALDIAK ALGORITMOA
2
Javi Portillo & Tomi Etxeandia 2009
Kalkulu sistemen jatorria eta garapena Atzamarrak :
Zenbakikuntza sistema hamartarra (hamarreko multzoak)
Taulatxoak, soka korapiloak, ... ABAKOA: Zenbakikuntza sistema digitala Milakoak 3
Ehunekoak Hamarrekoak Batekoak 2
10
10
10
0
6
2
1
10
0
Fitxa bakoitzak 5 unitate balio ditu
Fitxa bakoitzak unitate 1 balio du
7
ADIERAZITAKO ZENBAKIA
Kalkulu jakin bat egiteko ALGORITMOA : zehazki jarraitu behar diren pausu eta eragiketak guztiz zeh prozedurak.
3
Javi Portillo & Tomi Etxeandia 2009
Kalkulu sistemen jatorria eta garapena KALKULATZEKO MAKINAK : Blaise Pascal: Arraste automatikozko mekanika batuketak eta
1623-62
kenketak egiteko
10
3
10
2
10
1
Arraste automatikozko mekanika 10
0
Gehitu 7 6
8 9 0 5 4 3
1 2
0 9
1 2 3 8 7 6
1 0
4 5
2 3 4 9 8 7
5 6
8 7
9 0 1 6 5 4
2 3 Kendu
9
2
3
0
ZENBAKIA
Leibniz:kenketak, biderketak eta zatiketak automatikoki egiteko gai d 1646-1716 • Batuketak, • Aritmetika bitarra aztertzen duen lehen mendebaldarra
1815-64 George Boole:
Neurri logikoak adierazteko algebra asmatu zuen eta egin daitezkeen eragiketak ikertu zituen 4
Javi Portillo & Tomi Etxeandia 2009
Kalkulu sistemen jatorria eta garapena KALKULATZEKO MAKINAK : 1791-1871 Charles Babbage:Makina analitikoa (1834), ordenadore mekanikoa Konputagailu programagarri baten osagaiak Memoria Datuak
Datuen Sarrera
Programa
Kalkulagailua
Kontrol Unitatea
Emaitzen Irteera
Informazioa
Kontrola
Ada Augusta Byron: Historiako lehen programatzailea 5
Javi Portillo & Tomi Etxeandia 2009
Kalkulu sistemen jatorria eta garapena KALKULATZEKO MAKINAK : 1946
John Von Neumann: Programa metatua Kontrola
Memoria Datuak Programa
Datuen Sarrera
Programa
Kalkulagailuas
Kontrol Unitatea Emaitzen Irteera
Zenbaki kodifikatuaren kontzeptua:
Kodigo bitarra
Programaren metaketa memorian:
Datuak eta instrukzioak bereiztu
Informazioa
Apurketa sekuentzialaren perfekzionamendua: Programaren kontrola programa beraren barrutik 6
Javi Portillo & Tomi Etxeandia 2009
Atalak
KALKULU SISTEMEN JATORRIA ETA GARAPENA KONPUTAGAILUEN BELAUNALDIAK ALGORITMOA
7
Javi Portillo & Tomi Etxeandia 2009
Konputagailuen belaunaldiak 1Âş Belaunaldia (1940-52) Teknologia: Huts balbulak Erabilera: Zientifikoa eta militarra Programazioa: Ez dago programazio lengoaiarik. Zuzenean konputagailuaren zirkuituak aldatuz Garestiak, geldoak, metatzeko gaitasun gutxi, lan bat baino gehiago batera exekutatzeko ezintasuna.
2º Belaunaldia (1952-64) Teknologia : Transistorea Programazioa: Aurretiko programazio bat zeukaten: Sistema eragilea, FORTRAN eta COBOL lengoaietan programak interpretatzeko gaitasuna. Periferikoen garapena hasten da (inprimagailuak) eta goi-malako lengoaiak ( eta mihiztatzaileak) Kalkulu abiadura handitu, tamaina txikitu, kontsumoa gutxitu, bizitza denbora handiagoa ⇒ merkeagoak
8
Javi Portillo & Tomi Etxeandia 2009
Konputagailuen belaunaldiak 3ยบ Belaunaldia(1964-75) Teknologia: Zirkuitu integratuak. Memorientzako materiala erdieroaleak ferritaren ordez Programazioa: Programazio lengoaien hobekuntzak. Programa komertzialak agertzen dira: erabiltzaileak ez du programatzen jakin behar. Laneko era: Multiprogramaziorako gaitasuna. Hainbat lan batera exekuta daitezke. Kalkulurako gaitasunaren gehitzea eta tamainaren txikitzea.
4ยบ Belaunaldia (1975-81)
Teknologia: Integrazio eskala handiko zirkuituak. Mikroprozesagailua agertzen da. Erdieroaleen ekoizpen teknologia berriak: Komunikatzeko eta metatzeko gaitasun gehiago Metatzeko memoria berriak. Konputagailu pertsonalen agerpena Goi-mailako lengoaia gehiago eta informatikako lantresnak Periferiko azkarren garapena 80ko hamarkadaren erdialdean: konputagailu sareen garapena 9
Javi Portillo & Tomi Etxeandia 2009
Atalak
KALKULU SISTEMEN JATORRIA ETA GARAPENA KONPUTAGAILUEN BELAUNALDIAK ALGORITMOA
10
Javi Portillo & Tomi Etxeandia 2009
ALGORITMOA
Algoritmoa
Programa Goi-mailako lengoaia
Programazioa
Programa Makina lengoaia
Itzulpena (Konpilazioa)
Kalkulu edo prozesua
Exekuzioa konputagailuan
ALGORITMO baten adibidea: Zatitzaile Komunetako Handienaren kalkulua Izan bitez ZBK_1 eta ZBK_2 bi zenbaki oso eta positiboak 1.2.3.4.-
ZBK_1 eta ZBK_2 berdinak badira 4. puntura joan Bietatik handienari txikiena kentzen zaio 1go puntura itzuli Zatitzaile Komunetako Handiena ZBK_1en balioa da ( ZBK_1 = ZBK_2) 11
Javi Portillo & Tomi Etxeandia 2009
Algoritmoa: Zatitzaile Komunetako Handienaren kalkulua ZBK_1 eta ZBK_2 irakurri BAI
EZ
ZBK_1 = ZBK_2
BAI
ZBK_1 > ZBK_2
ZBK_1 ← ZBK_1 – ZBK_2
EZ
ZBK_2 ← ZBK_2 – ZBK_1
Z.K.H. ZBK_1 balioa dela erakutsi 12
Javi Portillo & Tomi Etxeandia 2009
Programak: Zatitzaile Komunetako Handienaren Kalkulua PROGRAM MCD ; VAR ZBK_1, ZBK_2 : Integer ; BEGIN Write (‘Bi zenbaki positibo idatzi: ') ; ReadLn (ZBK_1, ZBK_2) ; WHILE ZBK_1 <> ZBK_2 DO IF ZBK_1 > ZBK_2 THEN ZBK_1 := ZBK_1 - ZBK_2 ELSE ZBK_2 := ZBK_2 - ZBK_1 ; WriteLn (‘Zatitzaile Komunetako Handiena = ', ZBK_1) END. #include <stdio.h> void main (void) { int ZBK_1, ZBK_2 ;
C lengoaia
printf (" Bi zenbaki positibo idatzi :") ; scanf ("%d %d", &ZBK_1, &ZBK_2) ; while ( ZBK_1 != ZBK_2 ) if ( ZBK_1 > ZBK_2 ) ZBK_1 = ZBK_1 - ZBK_2 ; else ZBK_2 -= ZBK_1 ; printf ("Zatitzaile komun handiena = %d", ZBK_1) ;
Turbo Pascal lengoaia }
13
Javi Portillo & Tomi Etxeandia 2009