Stonehenge
ABACUS
John Napier
Blaise PASCAL
Blaise Pascal (6-66) Francia filozófus és matematikus. A tízes számrendszer jegyeit egy körtárcsa kerületére írva megoldja az átvitel (carry) automatizálását s ezzel a számlálás, valamint az erre alapuló összeadás illetve kivonás gépesítését.
PASCAL KALKULÁTORA
PASCAL KALKULÁTORA (64) 9 9 Az átvitel-jegy automatikusan tovább vonul! A kallantyúval számlálásra is alkalmazható 9
Gottfried Wilhelm LEIBNIZ
Gottried Wilhelm von LEIBNI(T)Z 646-76 Német filozófus és matematikus. Pascal kalkulátorát továbbfejleszti, bevezetve az alapműveletek mindkét operandusa számára egy-egy regisztert, melyek közül az egyik eltolható. Így megvalósíthatja a tízzel, majd ismételt összeadás ill. kivonás segítségével a tetszőleges számmal való szorzást ill. osztást is.
LEIBNITZ KALKULÁTORA (69)
LEIBNITZ KALKULÁTORA (69) 9 9 9 A ( itt gyűlik és jelenik meg az eredmény ) A akkumulátor accumulator 9 9 9 B buffer regiszter ( nincs semmiféle fogaskerék! ; eltolható! )
AZ ANALÍZIS MEGJELENÉSE Leibnitz és Newton kialakítják az infinitezimális számítást. Kialakul az analízis. Fel lehet írni differenciálegyenleteket. Még a legegyszerübbeknek sincs zárt alakú megoldása: -x y + y = megoldása y = e ; y nem számítható ki x-ből y + y = y = sin x ; cos x Ezeknek a függvényeknek az értékét táblázatok adják meg. Ezeket a táblázatokat meg kellett csinálni. (Logar- tábla) Babbage ezt a táblázatkészítést akarta automatizálni.
Charles BABBAGE
Charles Babbage 79-87 A polinómok táblázatolására kifejleszti és megépíti az u.n. Differencia Gépet. Ennek továbbfejlesztése képen az egymáshoz kapcsolt hat összeadó helyett egyetlen kalkulátort (aritmetikai egységet) és sok tároló rekeszt tartalmazó memóriát javasol, melyből az adatok lyukkártyákon tárolt utasítások nyomán jutnak az aritmetikai egységbe ill. abból vissza a memóriába. Ez a mai számítógép őse.
TAYLOR SOR Babbage tudta, hogy minden folytonos függvény hatványsorba fejthető: f(x) = f() + f ().x/! + f ().x^/! +.. Pl.: sin (x) = x - x^/! + x^5/5! - x^7/7! +..
DIFFERENCIA GÉP Babbage ugyancsak tudta, hogy egy n-ed rendű polinóm n-edik differenciája konstans Pl.: y = x^ + x + x y 4 9 6 4 5 5 6 dy 5 7 9 d^y ADD ADD 4 4 9 9 6 5 5 7 7
DIFFERENCIA GÉP
ax^ + bx + c X= :N digit pontos BABBAGE s DIFFERENCE ENGINE
A MEMÓRIA MEGJELENÉSE Babbage megépített hat regiszteres differencia gépe maximum ötödfokú polinómok táblázatolását engedte meg. Bonyolultabb pl. trigonometrikus függvények megközelítéséhez nem elégséges egy ötödfokú hatványsor.,, 5 vagy tetszőleges n-ed fokú polinómokra lehet szükség. Ez ugyanennyi bonyolult fogaskerekes összeadómű megépítését tenné szükségessé. És itt jött Babbage korszaknyitó ötlete: Használjunk csak egyetlenegy -- felépítésében a szűkséges fogaskerékrendszer miatt bonyolult -- összeadóművet, vagy általában aritmetikai egységet, s n darab közönséges keréktárcsákból álló tároló regisztert. Ez lesz a MEMÓRIA. Meg kell oldani, hogy a kezdő és átmeneti értékeket tároló memóriaregiszterek tartalma -- valamilyen módon megvalósítandó adatátvitel révén -cserélhető legyen az aritmetikai egység A és B regisztereinek tartalmával. Az adatátvitelek sorrendjét egy lyukkártyán tárolt program alapján működő vezérlőmű vezérelné. És ez lett a később megtáltosodó gondolatok magja.
Analytical Engine
Analytical Engine ADAT BUS BABBAGE ~84 ADAT BUS LYUKKÁRTYA Y= DY = DY = VÉGREHAJTÓ KERÉK 4 I. I. II. KLAVIATÚRA MEMÓRIA IN OUT IN OUT PRINTER A STORE CLEAR II. ADD LOAD ADAT BUS ADAT BUS ALU B
GÉPI és ASSEMBLY KÓD KÓD LD 4 5 6 7 8 9 AD CL ST CÍM PR RD CLR A LOAD B, () ADD A, B LOAD B, () ADD A, B STR (), A OUT (P), A CLR A ADD A, B LOAD B, () ADD A, B STR (), A LOAD B, () LYUKKÁRTYA... READ PRINT STORE CLEAR ADD LOAD
KETTES SZÁMRENDSZER A tizes számrendszerben működő aritmetikai egység és az ugyancsak tizes számrendszerű memóriarekeszek közötti ADATÁTVITEL nem volt megvalósítható a kor technológiai szinvonalán Babbage minden erőfeszítései ellenére sem. A minimális számjegyű, csak két számjegyet tartalmazó kerekek felvetése villantott fel a megoldható adatátvitelre némi reményt, de csak év késéssel és kerekek nélkül.
REGISZTEREK DECIMÁLIS (TIZES) 4 5 8 9 BINÁRIS (KETTES) HA BINÁRIS, ÚGY DOMINÓKBÓL IS LEHETNE
ÍRHATÓ - OLVASHATÓ REGISZTEREK Két értéket (bináris jegyet, bitet) tároló (elektromosan írható és olvasható) eszközt először relékkel, majd elektronikusan, úgy nevezett FLIP-FLOP-okkal tudtak megvalósítani. A kerekek alkalmazása helyett ezekkel a működési sebesség jelentősen megugorhatott. 944-46 között NEUMANN János elemezte, hogy ilyen ígéretes sebességek mellett milyen kell legyen egy számítógép méltó architektúrája. Megszületett a tárolt programmozású COMPUTER gondolata. A több száz millió PC is von Neumann computer.
Herman Hollerith
NEUMANN János Budapest 9 - Princeton (USA) 957
Von NEUMANN COMPUTER NEUMANN ~944 MEMÓRIA. Utasítás... PROCESSZOR PC RA CÍM BUS A MUX AND OR XOR CLR ADD SUB SHR SHL UTASÍTÁSOK ADATOK KLAVIATÚRA PRINTER Y= DY = D^Y = IN OUT IR ALU B ID CONTROL UNIT ADAT BUS CLOCK
A LOGIKA ELEMEI A logikai változók lehetséges értékei:, Ezeket V illetve +5 V feszültségszinttel fogjuk reprezentálni Egyváltozós logikai művelet a NEGÁLÁS: Y = A A Kétváltozós logikai művelet az ÉS és VAGY Y = AB Y = A+B Y
LOGIKAI KAPUK
INVERTER = MEMORIA?? _ DATA BUS??? _? _ DATA BUS DATA BUS DATA BUS DATA BUS _ / DATA BUS _ DATA BUS _ DATA BUS /
ARITMETIKAI-LOGIKAI EGYSÉG i. bit D C ajel Ai+ SUM TÖ Cout Cin D ajel C A 7 6 5 4 A 8xmultiplexer A C D Ai SUM TÖ Cout Cin Ci+ Bi+ D órajel C órajel Ai- SUM TÖ Cout Cin Ci- Bi D C... I I I CLA A regiszter törlés CMA A komplementer (- csere) utasításregiszter AND ÉS művelet A^B IOR VAGY művelet A_B RAL A bitenkénti eltolás balra (szorzás -vel) RAR A bitenkénti eltolás jobbra (osztás -vel) ADD összeadás A + B LD olvasás az adatbuszról az A regiszterbe órajel A 7 6 5 4 A 8xmultiplexer A D i-. bit órajel adatbusz írás adatbusz i. bit C Bi- A 7 6 5 4 i+. bit
ÖSSZEADÓ Teljes összeadó: Félösszeadó, HA: AB A B ci- ai bi ci si CS S S A C B Cin HA S HA Cout
ELEKTRONIKUS VERKLI ROM DECODER A A 4 A ADR COUNTER DATA BUS pl. zongora billentyűkhöz
FLEXIBILISEBB VERKLI ROM DECODER NEXT ADDRESS A A 4 A 5 DATA ADR LATCH DATA BUS
MÉG FLEXIBILISEBB VERKLI ROM Even = Odd = DECODER NEXT ADDRESS A A A A A A A DATA 4 5 6 ADR a a. a a+ DATA BUS
Közlekedési lámpa x= P x= PS x= x= x= S x= x= Z
Véges állapotú automata / Algorithmic State Machine X X Xm Clk Kombinációs logikai hálózat X J Clk piros K visszacsatolás D 56 x 8 ROM A D D A D D D A D D D A D D D4 4 A4 D4 D5 5 A5 D5 D6 6 A6 D6 D7 7 A7 D7 D tároló J Clk sárga K J Clk zöld K n bemenet órajel D kimenet
Von NEUMANN COMPUTER NEUMANN ~944 MEMÓRIA. Utasítás... PROCESSZOR PC RA CÍM BUS A MUX AND OR XOR CLR ADD SUB SHR SHL UTASÍTÁSOK ADATOK KLAVIATÚRA PRINTER Y= DY = D^Y = IN OUT IR ALU B ID CONTROL UNIT ADAT BUS CLOCK
INPUT - OUTPUT UTASÍTÁSOK ASSEMBLY Language MOV DX, IN AL, MOV MOV OUT DX, AL, DX, H DX ;Move Port Address into DX ;Input from Port into AX H 55H AL ;Move Port Address into DX ;Move DATA (55H) into AL ;Output DATA to Port BASIC PASCAL PA = &H DATA = INP ( PA ) OUT PA, DATA ;Port Address Assignment ;Input from Port PA into DATA ;Output DATA to Port PA PA := $; DATA := PORT [PA]; PORT [PA] := $55; {Port Address assignment} {Input from Port into DATA} {Output DATA to Port PA} pa = x; indata = inportb (pa); outportb (pa,outdata; /*Port Address assignment*/ /*Input from Port into indata*/ /*Ouput outdata to Port pa*/ C
ADAT, CÍM és CONTROL BUS DATA D D M E M O R Y D5 ADDRESS A A A5 CONTROL RD WR MEM I/O INT BUS BUS CONNECTORS for I / O interfaces Interfészek: KEYBOARD DISPLAY DISK PRINTER Ezeket nekünk kell csinálni SERIAL SPECIAL P R O C E S S O R
I/O CIKLUS IDŐDIAGRAMMJA T CLK AEN OUT INP DATA IOW DATA IOR T T T4
DMA (DIRECT MEMORY ACCESS) DATA D D M E M O R Y DMA I/O D5 ADDRESS A A A5 CONTROL RD WR MEM I/O INT DMA MEM ADR COUNTER I / O ADR P R O C E S S O R DATA DMA CONTROLLER
MOORE TÖRVÉNY Gordon E. Moore, 965: a processzorok sebessége közel megduplázódik évente. Más elektronikai komponensek is hasonlóan viselkednek!
MOORE TÖRVÉNY
MOORE TÖRVÉNY
MOORE TÖRVÉNY
MOORE TÖRVÉNY `
MIKROSZÁMÍTÓGÉPEK Amint idővel tekintélyesebb (>kbyte) mennyiségű memóriát is sikerült a processzor mellett egy chipen megvalósítani, úgy megszülettek az egy chipes MICROCOMPUTER-ek. PIC ATMEL/Arduino Raspberry Pi Ezek ma már évi milliárdos szériákban készülnek.