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
|
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
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.