2. Say脹sal Bilgisayar脹n Tarihsel Geliim
S端reci
Babagein analitik makinas脹 (1833)
Vakumlu lamban脹n bulunuu (1910)
聴lk elektronik say脹sal bilgisayar (1946)
Transist旦r端n bulunuu (1947)
聴lk transist旦rl端 say脹sal bilgisayar (1960)
Entegre devrenin bulunuu (1963)
聴lk mikroilemci (1970)
10.000 transist旦rl端 entegre devreler (1981)
Bilgisayar M端hendisliine Giri 2
3. Sakl脹 Program Kavram脹
Bilgisayardan istenilen ilerin ger巽ekletirilebilmesi i巽in
gereken ilem dizisi bilgisayar脹n i巽inde
saklanabilmektedir.
聴stenilen bir ii yerine getiren ilemlerin listesine program
denir. Programlar bilgisayar脹n i巽inde saklan脹rlar.
Program kavram脹n脹n iki avantaj脹 vard脹r; Birincisi ilemler
i巽in gereken zaman kullan脹c脹ya bal脹 deildir. 聴kincisi
sadece veriler girilerek ayn脹 ilemler tekrar tekrar
yapt脹r脹labilir.
Bilgisayar M端hendisliine Giri 3
5. Temel Yap脹
Say脹sal bir bilgisayar 3 bileenden olumaktad脹r.
i) Hem program脹 oluturan komutlar脹n listesini, hem de
ilemeyi bekleyen veri deerlerini tutan bir bellek birimi
ii) Her bir program komutunu yorumlay脹p y端r端ten merkezi
ilem birimi (M聴B & CPU)
iii) Bir veya daha 巽ok giri ve 巽脹k脹 portu salayan giri-巽脹k脹
(I/O) arabirim 端nitesi
Mikroilemci, ROM, RAM ve I/O birimlerinden oluan adreslenebilir
saklay脹c脹lar topluluudur.
Bilgisayar M端hendisliine Giri 5
6. Von Neumann Modeli
MEMORY
MAR MDR
INPUT OUTPUT
Keyboard Monitor
Mouse PROCESSING UNIT Printer
Scanner LED
Disk ALU TEMP Disk
CONTROL UNIT
PC IR
Bilgisayar M端hendisliine Giri 6
7. Bellek (Memory)
Bellek t端mdevresinin kapasitesi artt脹k巽a kullan脹lacak u巽 say脹s脹 da
logaritmik olarak artmaktad脹r.
Temel bellek birimi g旦zedir.
G旦zelerin yanyana gelmesiyle g旦zler oluur.
G旦zelerin bir araya gelmesiyle de bellek oluur.
Bilgisayar M端hendisliine Giri 7
8. 8 bit
Adres (Des.) Adres (hex)
0 0000H
1 0001H
Bellek
2 0002H
端zerinde ilem
yapan temel 3 0003H
komutlar .
LOAD ve .
STORE . 16 bit adres
.
hatt脹na sahip
.
bir sistemin
Y端r端l端kteki Komut
bellek yap脹s脹
Bir Sonraki Komut
65531 FFFBH
65532 FFFCH
65533 FFFDH
65534 FFFEH
65535 FFFFH
Bilgisayar M端hendisliine Giri 8
9. Bellek Aray端z端
(Memory Interface)
Mikroilemci, bellek ile MAR (Memory Address Register) ve MDR
(Memory Data Register) olarak bilinin iki yap脹 yard脹m脹yla iletiim kurar.
MEMORY
MAR MDR
Bilgisayr M端hendisliine Giri 9
10. Bellekteki X konumundan bir okuma ilemi ger巽ekletirilecei zaman:
Adres X ilk 旦nce MAR kaydedicisine yerletirilir.
Bellee bir okuma sinyali(RD) g旦nderilir.
X konumunun i巽erdii veri deeri MDR kaydedicisinde elde edilir.
Bellekteki X konumuna T deerinin yaz脹lmas脹 gerektii durumda
T verisi 旦nce, MDR kaydedicisinin i巽erisine yerletirilir.
X bellek adresi MAR kaydedicisine yerletirilir.
Ard脹ndan mikroilemci denetim birimi taraf脹ndan 端retilen yazma
sinyali (WR) ile bu konuma T verisi yaz脹lm脹 olunur.
Bilgisayar M端hendisliine Giri 10
11. Merkezi 聴lem Birimi (CPU)
Mikroilemci, bellekten komutlar脹 okuyan, 巽al脹t脹ran ve giri-巽脹k脹
cihazlar脹n脹 kontrol eden birimdir. Bilgisayar脹n beynidir denilebilir.
Bilgisayar i巽erisinde olan ilem ak脹lar脹n脹 kontrol eder ve d端zenler.
B端t端n matematiksel ve mant脹ksal ilemleri ger巽ekletirir.
Bilgisayar M端hendisliine Giri 11
12. Memor y
Input
D ata
Centr al Processing
Unit (CPU)
O utput
Progr am
Mikroilemci, bellekten komutlar脹 okuyan, y端r端ten ve giri-巽脹k脹
cihazlar脹n脹 kontrol eden birimdir.
Kod Kod
Getirme 旦zme Y端r端tme Getirme Y端r端tme
旦zme
Komut N Komut N+1
Komut Sayk脹l脹 Komut Sayk脹l脹
Bilgisayar M端hendisliine Giri 12
13. Arithmetical and Logic Unit (ALU) PROCESSING UNIT
Temel aritmatiksel (+,-,x,/) ve
mant脹ksal (AND,OR,NOT) ALU TEMP
ilemleri ger巽ekletiri.
Kaydediciler (Registers)
zerinde ilem yap脹lacak veri ve/veya
komut par巽ac脹klar脹n脹n mikroilemci
i巽ersinde saklayan g旦zlerdir. Bellek
g旦zleri ile benzerlik ta脹r.
Kelime Uzunluu (Word Size)
Paralel olarak ilenen veri bitlerinin
say脹s脹d脹r. Kelime, ilemcideki genel
ama巽l脹 kaydedicilerin b端y端kl端端 ve
ayn脹 zamanda her bir bellek alan脹
kapasitesidir.
Bilgisayar M端hendisliine Giri 13
15. ..... .....
Giri Portu 脹k脹 Portu
Bellek
Birimi G/ Arabirim nitesi
CPU
Mikrobilgisayar Yolu
Mikrobilgisayar
Bilgisayar M端hendisliine Giri 15
16. Kontrol Birimi (Control Unit)
CONTROL UNIT
PC IR
Komutlar脹n y端r端t端m端n端 ger巽ekletirir. Sistem 端zerindeki
senkronizasyonu salar. Sistemdeki dier birimlere ne
yapmalar脹 gerektiini s旦yler.
Komut Kaydedicisi (Intruction Register) : O an y端r端rl端kte olan
komutun tutulduu kaydedicidir.
Program Say脹c脹s脹 (Program Counter) : Bellekte y端r端t端lecek bir
sonraki komutun adresini tutar.
Bilgisayar M端hendisliine Giri 16
17. Komut
Komut, yap脹lan bir iin en temel par巽ac脹脹d脹r.
Op-code Operand
Op-code (聴lem Kodu): CPUya hangi ilemin ger巽ekletirileceini
s旦yler.
Operand (聴lenen): Op-code taraf脹ndan kullan脹cak verinin adresini
belirtir.
Mikroilemci i巽indeki komutlar birden fazla operanda sahip olabilecei
gibi hi巽 bir operand脹 olmayan komutlarda mevcuttur.
Bilgisayar脹n komutlar脹 ve formatlar脹, komut seti mimarisi
olarak bilinir (Instruction Set Architecture-ISA)
Bilgisayar M端hendisliine Giri 17
18. Komut 聴leme
Bellekten komut getir
Bellekten komut getir
Komutun kodunu 巽旦z
Komutun kodunu 巽旦z
Adresi olutur
Adresi olutur
Operandlar脹 bellekten getir.
Operandlar脹 bellekten getir.
Komutu y端r端t
Komutu y端r端t
Elde edilen sonucu sakla
Elde edilen sonucu sakla
Bilgisayar M端hendisliine Giri 18
19. rn: T mikroilemcisinde ADD komutunun y端r端t端lmesi
T mikroilemcisi 16 bitlik komut setine sahiptir. 16 bitlik
komut setinin 4 biti ilem kodu (op-code) i巽in ayr脹lm脹t脹r. [12-
15]
T mikroilemcisinin R0,,R7 olmak 端zere 8 adet kaydedicisi
vard脹r.
R6 R2 R6
Bu komut, R2nin i巽eriini R6n脹n i巽eriine ekler ve sonucu
R6da saklar.
Bilgisayar M端hendisliine Giri 19
20. rn: T mikroilemcisinde LDR komutunun y端r端t端lmesi
Veriyi bellekten okur ve okunan deeri belirtilen
kaydedicilerden birisinde saklar.
Offset Address + Base Address = Memory Address
Memory Address ile belirtilen adresteki deeri 0 1 0 ile belirtilen hedef
kaydedicide saklar.
R2 R3 6
Bellek adresini oluturmak i巽in 6 deerini R3 kaydedicisinin i巽eriine ekler.
Ard脹ndan oluturduu bellek adresinin i巽eriini R2 kaydedicisinde saklar.
Bilgisayar M端hendisliine Giri 20
21. Komut 聴leme:Getir(Fetch)
PCnin i巽eriini bellek adres kaydedicisine y端kle (MAR)
F
F
Bellekten bir okuma ilemi ger巽ekletir.
D
D
Bellek veri kaydedicisinin (MDR) i巽eriini oku ve bunu daha
EA
EA
sonra komut kaydedicisine (IR) yerletir.
OP
OP
PCnin i巽eriini bir sonraki komutu g旦sterecek ekilde 1 artt脹r.
EX
EX
S
S
Bilgisayar M端hendisliine Giri 21
22. Komut 聴leme:Kod 旦zme(Decode)
Komutun ilem par巽as脹n脹 (op-code) tan脹mla.
F
F
T mikroilemcisinde bu komutun en y端ksek deerlikli ilk 4 bitidir.
Mikroilemci komutun op-code k脹sm脹na bakarak operand k脹sm脹 D
D
i巽in ka巽 byte getireceini bilir.
rn: EA
EA
LDR komutunun son 6 biti offset adresini g旦sterir.
OP
OP
ADD komutunun son 3 biti ilem par巽as脹n脹n ikinci k脹sm脹n脹
(operand 2yi g旦sterir)
EX
EX
S
S
Bilgisayar M端hendisliine Giri 22
23. Komut 聴leme:
Adresin Hesaplanmas脹 (Evaluate Address)
Bellek eriimine ihtiya巽 duyan bir komut, eriim i巽in F
F
gerekli olan adresi hesaplar.
rn:
D
D
Offset Address + Base Address = Memory Address
EA
EA
Offset Address + PC = Memory Address
OP
OP
Offset Address + 0 = Memory Address
EX
EX
S
S
Bilgisayar M端hendisliine Giri 23
24. Komut 聴leme:聴lenen Getir(Fetch Operand)
Komutun 端zerinde ilem yapaca脹 par巽alar脹 getirir.
F
F
rn:
Bellekten verinin y端klenmesi D
D
Kaydediciden bir deerin okunmas脹
EA
EA
OP
OP
EX
EX
S
S
Bilgisayar M端hendisliine Giri 24
25. Komut 聴leme:Y端r端tme (Execution)
Mikroilemci 旦nceden okumu olduu op-code ve operandlar脹
kullanarak ilgili ilemi yerine getirir.
F
F
D
D
EA
EA
OP
OP
EX
EX
S
S
Bilgisayar M端hendisliine Giri 25
26. Komut 聴leme:Sakla (Store)
Komut sonucunda, elde edilen deer saklan脹r. Bu bir bellek
konumu olabilecei gibi, bir kaydedici veya bir 巽脹k脹 portu da
olabilir. F
F
rn: D
D
Bellekteki bir konuma sonucun saklanaca脹 durumda
EA
EA
nce ilgili konumun adresi MAR kaydedicisine yerletirilir
Kaydedilecek veri MDR kaydedicisine yerletirilir. OP
OP
Ard脹ndan bellee yazma ilemi ger巽ekletirilir.
EX
EX
S
S
Bilgisayar M端hendisliine Giri 26
27. Komut 聴lenme S脹ras脹n脹 Deitirme
Buraya kadar belirtilen ilemlerde bellekteki komutlar s脹ras脹yla
ilenmekteydi. Bu durumda PC脹n i巽erii s脹ras脹yla birer birer artmaktayd脹.
Baz脹 durumlarda bu t端r kullan脹m脹n d脹脹na 巽脹k脹larak program ak脹脹n脹n
y旦n端n端 deitirmek m端mk端nd端r. rn: D旦ng端ler(loop), artl脹 yap脹lar (if-
then) ve alt yordamlar (sub-routines) gibi.
Bu ilemi ger巽ekletirmek i巽in baz脹 komutlara gereksinim duyulur. Bunlar
s脹巽rma(jump) ve artl脹 dallanma(branch) komutlar脹d脹r.
Bilgisayar M端hendisliine Giri 27
28. rn: T mikroilemcisinin belleinde s脹巽rama
Offset deeri bir kaydedicinin deerine eklenerek y端r端t端lecek
bir sonraki komutun adresini oluturabilir. Bu adres PCnin
i巽eriine y端klenerek program脹n bu adresten devam etmesi
salanabilir.
R3 6 deeri
R3 kaydedicisinin deerini taban olarak al脹p bunun 端zerine
offset deerinin eklenmesi ile y端r端t端lecek bir sonraki
komutun bulunduu bellek adresi elde edilir ve elde edilen
bu deer PCnin i巽erisine yerletirilir.
Bilgisayar M端hendisliine Giri 28
29. Komut T端rleri
Mikroilemci taraf脹ndan y端r端t端len komut t端rleri genel olarak aa脹daki
s脹n脹flara ayr脹labilir.
Veri Ta脹ma Komutlar脹
Veri 聴leme Komutlar脹
Program Kontrol Komutlar脹
Giri / 脹k脹 Komutlar脹
Bilgisayar M端hendisliine Giri 29
30. Sistem Saati (System Clock)
Mikroilemcide kontrol biriminin 巽al脹mas脹n脹 salayan sistem saatidir.
Saat darbesinin her bir kenar脹nda kontrol birimi bir sonraki makine
巽evrimine girer. Bu 巽evrim yeni bir komut olabilecei gibi y端r端rl端kteki
komutun farkl脹 bir evresi de olabilir.
1
0
Makine evrimi zaman
Sistem saati, kristal bir osilat旦r devre yard脹m脹yla y端r端t端l端r. Sistem saati
d端zenli olarak 1 ve 0 lar 端retir.
Bilgisayar M端hendisliine Giri 30
31. Mhz ve MIPS
MIPS = millions of instructions per second
MHz = millions of clock cycles per second
Bu iki kavram birbirine benzer olmas脹na kar脹 farkl脹d脹rlar. Neden?
Bilgisayar M端hendisliine Giri 31
32. Von Neumann Modeli
MEMORY
MAR MDR
INPUT OUTPUT
Keyboard Monitor
Mouse PROCESSING UNIT Printer
Scanner LED
Disk ALU TEMP Disk
CONTROL UNIT
PC IR
Bilgisayar M端hendisliine Giri 32