Kompjūters

Op dizze side wurdt beskreaun hoe't de elektroanika fan in ienfāldige kompjūter wurket.

RC-skeakelingen

Hjir ūnder is in saneamde RC-skeakeling tekene, dy't bestiet śt in kondinsater C en in wjerstān R. Hjirby wurdt gebrūk makke fan it feit dat in kondinsator wol wikselspanning trochlit, mar gjin gelykspanning.
Oan 'e yngong fan 'e skeakeling (links) sette wy in blokspanningof 'puls'. Dat is in spanning dy't gewoanlik nul is, mar op it momint t=0 ynienen in beskate wearde krijt, b.g. 1 Volt. Links is tekene hoe't de spanning ferrint mei de tiid, en dat is dus in blok.
De spanning nimt dus ynienen tige sterk ta en dat komt oer as in wikselspanning. De linker kant fan'e kondinsator wurdt dan 1 Volt en de rjochter kant giet mei, om't der yn dy kondinsator earst gjin lading sit en der dus ek gjin spanning oer stiet. Hy wurdt dan stadichoan fia R opladen, oant der nei in skoftke wer 0 V op 'e rjochterkant - de śtgong - stiet. It ferrin fan dy śtgongsspanning is rjochts tekene en wy sjogge dat der in hiele skerpe 'pyk' ūntstiet op it stuit t=0. Dy spanning sakket stadichoan ōf nei nul, wźr 't by opfalt, dat er op in momint t=RC in wearde berikt fan 0,34 x de pykspanning fan b.g. 1 V *).
Dźby is dan RC it produkt fan 'e wearden fan 'e wjerstān en de kondinsator. By R = 1000
S en C = 1 nF = 10-9 F, wurdt dy tiid 1000 x 10-9 = 10-6 sekonde, oftewol 1 µS.
As de blokspanning wer nei nul giet, giet de śtgongsspanning earst ek nei ūnderen om letter stadichoan wer nul te wurden. Dat is de lading fan de kondinsator, dy't stadichoan wer nul wurdt. In positive blokspanning fan 1 V op 'e yngong fan sa'n RC-skeakeling jout dus in positive pyk fan 1V en in negative pyk fan -1Vop 'e śtgong. Dźrby duorret ek in tiid RC foar't de negative pyk oan't 0,34 x syn (negative) wearde sakke is.
Omkeard jout in negative blokspanning op'e yngong earst in negative spanning op'e śtgong en dźrnei in positiven.

*0,34 = 1/e. Derby is e = 2,71828... it grūntal fan 'e natuerlike logarithmen, in natuerlike konstante.

 

Flipflops

In flipflop (sjoch a hjirūnder) bestiet śt twa transistors (Ts1 en Ts2) en wat wjerstannen en kondinsators. Stel dat Ts1 geliedt, dan is de kollektor fan Ts1 hast nul en fia R5 de basis fan Ts2 noch tichter by nul, dat dan geliedt Ts2 net. As konsekwinsje stiet de kollektor fan Ts2 sawat op + 10V en dus stiet der fia R1 ek in flinke positive spanning op 'e basis fan Ts1. Dus bliuwt Ts1 yn gelieding. Dan stiet der op 'e śtgong 'Ut' sawat 0 V en dat neame wy stān "0". Yn dizze tastān stiet der op 'e kollektor fan Ts1 likernōch 0 V, sawat likefolle as op 'e basis fan Ts2. Der stiet dan oer C3 hast gjin spanning en dus is C3 leech. C2 is lykwols opladen oant sawat 10 V.
Begjinne wy oarsom mei oan te nimmen dat Ts2 geliedt, dan geliedt Ts1 net en sa wurdt Ts2 yn gelieding holden. (Dan is C2 leech en C3 fol). Dat wol sizze dat in flipflop twa stabile tastannen hat. It is dus eins in soarte fan wip, dy't ūnthāldt hoe't er set wurdt.

a) Flipflop b) Pulsfoarmen

Oan de yngong wurdt fia C1 in positive puls tafierd (b links boppe). C1 foarmet tegearre mei R1, R2, R3 en R4 fia D1 en D2 in RC-skeakeling. As gefolch dźrfan komt nei C1 in positive pyk op tiid t=0 en in negative pyk op tiid t=t1. De positive wurdt keard troch troch D1 en D2, mar de negative komt op 'e bases fan Ts1 en Ts2 te stean. Beide transistors komme dźrtroch śt gelieding. Krekt nei t=t1 wurdt de pyk wer nul en beide transistors wolle wer geliede.
As no fantefoaren Ts1 yn gelieding wie, dan is C3 leech wylst C2 opladen is oant 10V. Dat wol sizze dat Ts2 folle earder yn gelieding komt as Ts1, dy't dźrtroch fia R1 alhiel 'ōfknypt' bliuwt. De kollektor fan Ts1 is no dus + 10V en de śtgong 'Ut' wurdt ek plus (sjoch b ūnderoan). De puls set de wip dus de oare kant śt. Dat neame wy stān "1".

Sette wy dan wer in puls op 'e yngong (b rjochts boppe), dan klapt de skeakeling by t=t3 wer om. Op 'e kollektor fan Ts1 en dźrmei de śtgong stiet dan sawat 0V. De wip stiet wer oarsom, dus wer yn stān "0".

As wy no de boppeste en de ūnderste fan de pulsfoarmen fergelykje, dan is der wat opfallends: twa pulsen oan'e yngong jouwe mar IEN puls op 'e śtgong. Mei oare wurden: de flipflop is in twadieler: hy makket fan twa pulsen ien. Men kin ek sizze: de flipflop is in twateller: hy begjint yn stān "0", nei ien puls komt er yn stān "1" en nei noch in puls wer yn stān "0".

Wy kinne noch in lyts tabeltsje oer de flipflop meitsje:

Tiid Stān
t0 0
t1 1
t2 1
t3 0

Logyske poarten

EN-poarte (AND-gate)
As hjirūnder op beide yngongen (links) in positive spanning set wurdt, dan wurdt de śtgong ek posityf. Dat bart om't de śtgong dan troch de + 10V fia R nei plus lutsen wurdt. Mar as ien fan 'e beide yngongen nul bliuwt, dan begjint de derby hearrende dioade te gelieden en de śtgong bliuwt ek nul.
Dat hjir in EN-poarte: de iene yngong EN de oare moatte posityf wurde om de śtgong posityf te krijen. Dat is ek oan de pulsen te sjen: allinne as op BEIDE yngongen in puls stiet, komt dy ek op 'e śtgong.
In EN-poarte kin ek moai as in skeakelder brūkt wurde. Troch op de iene yngong ąl of net in positive gelykspanning te setten, kinne pulsen op'e oare ąl of net trochlitten wurde nei de śtgong.

EN-poarte

 

OF-poarte (OR-gate)
As hjirūnder op 'e ie fan beide yngongen (links) in positive spanning set wurdt, dan wurdt de śtgong ek posityf. Dat bart om't de śtgong dan troch de derby hearrende dioade nei plus lutsen wurdt.
Dat hjir in OF-poarte: de iene yngong OF de oare moat posityf wurde om de śtgong posityf te krijen. Dat is ek oan de pulsen te sjen: as op IEN fan beide yngongen in puls stiet, komt dy ek op 'e śtgong.
(Eins is dit net in suvere OF-poarte, want dan soe der GJIN puls op'e śtgong komme moatte as op BEIDE yngongen in puls stiet).

OF-poarte

De boppesteande poarten hawwe mar twa yngongen, mar troch it deroan hingjen fan mear dioades kin men ek poarten mei mear yngongen meitsje.

Skematekens

Flipflop EN-poarte OF-poarte

 

Tellers
Hjir ūnder binne trije flipflops efter inoar skeakele. De śtgongsspanning fan'e iene is de yngongsspanning fan de folgjende.
Dźr ūnder binne de spanningsfoarmen op 'e trije knooppunten A, B, C en D tekene. It docht bliken dat de twa earste pulskes op A ien pulske op B jouwe, lykas hjir boppe by de flipflop ōflaat. Totaal binne op A acht pulsen tekene en dy jouwe dus op B fjouwer pulsen. En op deselde wize ūntsteane dźrtroch op C twa pulsen en op D mar ien.

Foar ien puls op 'e śtgong D binne dus acht pulsen nedich op 'e yngong A. Wy neame sa'n skeakeling mei trije flipflops dźrom in 8-teller. Krektsa is sa'n skeakeling mei fjouwer flipflops in 16-teller en ien mei fiif flipflops in 32-teller.

 

Krekt as by de inkelde flipflop kinne wy hjir ek in steatsje meitsje fan 'e stannen fan 'e flipflops, sa't wy dy ōflźze oan 'e śtgongen B, C en D. Dy stannen hingje ōf fan it tal pulskes op A.

Pulskes D C B
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
8 0 0 0

Tink derom dat earst de wearde fan D stiet, wylst dy fan B efteroan komt. Dat is dien om't D folle swierder weacht. Op dizze wize krije wy de saneamde twadielige of binźre getallen 000 oant en mei 111. By śs gewoane tsiendielige of desimale tellen ferspringt de boel by elk tsiental (10, 20, 30), mar by it binźre tellen by elk twatal.
It tal pulskes jout no it digitale getal oan en wy sjogge dat digitaal 7 = 111. Nei it achtste pulske springt de teller wer op 000.

De saneamde hśskompjūters fan 'e tachtiger jierren wiene foar it rekkenjen ynrjochte mei 8-tellers en dźrom waard 8 in rekkenienheid, dy't no noch brūkt wurdt en dy't se byte neame. Dźrby bestiet in byte śt 8 bits, oftewol 8 pulskes. Dźrom wiene dat 8-bits kompjūters.

Bauds
De gong fan in modem wurdt śtdrukt yn bauds en ien baud is ien bit yn 'e sekonde. Hawwe Jo dus in 56K modem, dan kin dy 56.000 bits yn 'e sekonde trochlitte, ofwol 56.000 / 8 = 7000 bytes yn 'e sekonde.


De 16-teller
As wy fjouwer flipflops efterinoar sette, krije wy in 16-teller:

Dźr kinne wy ek wer in tabel fan meitsje:

Desimaal Binźr Heksa-desimaal
(tal pulskes)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
E D C B
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 0 0 0
 
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0

De earste kolom (it tal pulskes)jout de desimale telling en de twadde (de stannen fan de flipflops) de binźre telling.
Dan ha wy noch in tredde kolom tafoege: de saneamde heksadesimale of 16-tallige telling.
De PC's wurkje meast mei 16-tellers en hjitte dźrom 16-bits kompjūters; de nijsten binne sels al 32 bits. Sokke kompjūters wurkje dus mei folle krektere ienheden.

As wy no twa 16-tellers efterinoar sette, kinne wy dźr moai mei fierdertelle:

Desimaal Heksadesimaal
0 00
15 0F
16 10
31 1F
160 A0
255 FF

FF is dus 162 -1. Op dy wize kinne wy hieltyd fierdertelle. Sa is FFF= 163-1 = 4095 en FFFF= 164-1 = 65535.

Dy ālde 8-bits koene ek al folle gruttere getallen as 8 ferwurkje, want dan setten se ienfāldich meardere tellers efterinoar. Myn NewBrain rūn al oant 65535 ta. Dat binne dan hiele getallen of integers. Foar gruttere en lytsere getallen, de saneamde reals, wurdt gebrūk makke fan ekstra bytes dy't de eksponint oanjouwe. Sa is 2-F = 0,000030517.

It 265-bits stelsel fan de tabel is fan bysūnder belang, omt dźrop de ASCII-koade berźst. Dat is in koade dy't de kompjūter brūkt om de wichtichste letters en tekens oan te jaan. In lyts bytsje oars is de ANSII-koade, dy't by Windows brūkt wurdt.


De 10-teller
Troch it tapassen fan poarten is it mūglik om fan in 16-teller in 10-teller te meitsjen. Sadree't 10 (binźr 1010) berikt wurdt, moat de teller op nul set wurde. Hjirfoar hawwe de flipflops wat mear oanslutings krige. Alderearst is yn elek flipflop ek de kollektor fan de oare transistor nei būten fierd as kontakt "-"; dat jout de "0" as de gewoane śtgong "1" jout. Fierders is der op elke flipflop in yngong "R" makke, sadanich dy flipflop op nul set wurdt as der in positive puls op R komt. Sa'n oansluting kin bestean śt in dioade nei de basis fan Ts1.

De skeakeling brūkt trije EN-poarten: P1, P2 en P3. As E=1 en D=0, dan is G=1. En as C=1 en B=0, dan is F=1. Yn dat gefal wurdt ek H=1 en fia de kontakten "R" wurde alle flipflops op nul set. Nei 1001 (=9) komt dus de stān 0000 en wy hawwe in echte 10-teller. Mar troch de ferbinings nei de poarten oars te lizzen kinne wy telle oant elk getal ūnder de 16.

In tebekteller
Soms wolle wy dat in teller tebek telt as der pulskes op komme. Foar in 8-teller krije wy dan de folgjende tabel:

Pulskes D C B
0 0 0 0
1 1 1 1
2 1 1 0
3 1 0 1
4 1 0 0
5 0 1 1
6 0 1 0
7 0 0 1
8 0 0 0

Dat kin berikt wurde troch op'e wize fan de 10-teller mei poarten de teller hieltyd op'e winske stān yn te stellen.

In ienfāldige kompjūter.
In kompjūter wurket mei pulskes en dźrom sit der in pulsgenerator yn. Dy docht oars net as pulskes meitsje en it oantal pulskes yn'e sekonde wurdt śtdrukt yn tūzenen (kiloherz = kHz), miljoenen (megaherz = MHz) of miljarden (gigaherz = GHz). Myn earste hśskompjūter hie 48 kHz, myn earste PC 10,7 MHz en no sitte se al boppe 1 GHz. En it is te begripen: wat mear pulskes yn 'e sekonde, wat mear bewurkings der barre kinne yn dy sekonde. En wy binne hastich, no!

Yn de ienfāldige kompjūter sit dus in pulsgenerator (G). Boppedat sitte der twa tellers yn (T1 en T2), in skeakeling mei poarten (Pp1) en is der in betsjinningsienheid (B, b.g. in toetseboerd). Alles is tige skematysk hjir ūnder sketst.

Stel, wy wolle b.g. twa getallen x en y optelle, dan toetse wy earst x yn en Pp lit dan x pulskes troch nei T1. Dan toetse wy y yn en Pp lźst y pulskes yn yn T2. Dan jouwe wy de opdracht SOM en Pp telt T2 leech en hat dźr y pulskes foar nedich. It momint fan leechwźzen wurdt wer kontrollearre mei poarten, dy't dan net mear pulskes trochlitte.
Dy y pulskes binne tagelyk ek tafierd oan T1, dy't gewoan noch yn 'e telstān stiet en dus fierder telt oant z = x + y. It resultaat z kin dan śt T1 wei wer nei in śtlźsapparaat stjoerd wurde, b.g. in monitor.
Wolle wy ōflūke, dan dogge wy krekt sa, mar yn pleats fan SOM krije wy de opdracht FERSKIL. Dźr wurdt T2 wer leechteld yn T1, mar dy stiet dan sels ek yn tebektellen, dat dan bliuwt yn T1 it ferskil oer.

No wolle wy fermannichfāldigje, b.g. 4 x y. Dan komt it getal 4 yn T2, dy't dan wer leechteld wurdt, wat fjouwer pulsen oplevert. By elk fan dy fjouwer pulsen wurdt it hiele getal y yn T1 teld, dat dan stiet it produkt yn T1. By al dizze hannelingen moat T1 fansels wol grut genōch wźze om it resultaat te befetsjen.
Diele is dan ek maklik, want dat is fermannichfāldigjen mei it omkearde. De kompjūter moat dan fansels wol reals ferwurkje kinne.

Der is ek in wize fan rekkenjen mei poarten, mar dan is dochs wol ūnthāld nedich.

Unthāld
Hjir boppe hawwe wy sjoen dat in getal earst yn in teller ūnderbrocht en dat der dan mei rekkene wurde kin. Dat wol sizze dat dy tellers of registers eins in ūnthald foarmje. Yn echte kompjūters wurdt it rekkenjen yn spesjale flugge registers śtfierd, wylst de getallen yn folle gruttere ūnthāldregisters bewarre wurde. Myn earste hśskompjūter hie in frij ūnthāld fan 32 kByte en dat binne dan foar it ūnthāld bytes fan 32 bits, want yn elke byte kin in letter. Yn'e praktyk wurdt rekkene mei 1 kB = 1024 bytes. Tsjintwurdige PC's hawwe al oant hūnderten Megabytes.

P.K., 14-4-2001Thśsside

1