Similar presentations:
CPU ve Memory
1. 7. CPU ve Memory
Bilgisayar Mühendisliğine Giriş2. Giriş
• Bilgisayarlar…• Memory CPU dan ayrıdır
• Veriler binary dir. (decimal değil)
Bilgisayar Mühendisliğine Giriş
3. CPU ‘nun Komponentleri
• ALU (arithmetic and logic unit)• Aritmetik ve mantık işlemlerini yerine getirir.
• Aritmetik: toplama, çıkarma, çarpma, bölme vs.
• Mantık (Logic): AND, OR, NOT, Shift, vb.
• Kontrol ünitesi
• Komutları (instructions) yorumlar (compile)
• CPU içindeki bilgi akışını kontrol eder.
• Program sayacı (“program counter” ) ile çalışır. (bir
sonraki komutun adresi)
• Giriş/Çıkış Arayüzü (Input/output interface)
• Veri giriş/çıkışı için bir mekanizma sağlar
• Mümkün olan pek çok çeşitleme ile
Bilgisayar Mühendisliğine Giriş
4. Bilgisayar’ın Karşılığı
ALUInput/output
interface
123
456
00
01
02
03
04
05
123
500
199
500
399
CPU
95
96
97
98
99
789
123
05
Program counter
Bilgisayar Mühendisliğine Giriş
5. System Block Diagram
CPUALU
Input/output
interface
Memory
Control unit
Program counter
Bilgisayar Mühendisliğine Giriş
6. Registers-Yazmaç
• Register (yazmaç) CPU içindeki tek depolamayeridir.
• CPU ‘nun dışında olan bellekten farklıdır.
• Register’lar, CPU içerisinde bulunduklarından
dolayı, hafıza bloğuna göre oldukça hızlıdırlar.
• Hafıza bloğuna erişim için sistem veri yollarının
kullanılması gereklidir.
• Register’daki verilerin ulaşılması için çok küçük
bir zaman dilimi yeterli olur.
Bilgisayar Mühendisliğine Giriş
7. Registers-Yazmaç
Bu sebeple, değişkenler, register’larda tutulmaya
çalışılmalıdır.
Register grupları genellikle oldukça kısıtlıdır ve
çoğu register’ın önceden tanımlanmış görevleri
bulunur. Bu nedende, kullanımları çok sınırlıdır.
Ancak, yine de hesaplamalar için geçici hafıza
birimi olarak kullanılmak için en ideal
birimlerdir.
Bilgisayar Mühendisliğine Giriş
8. Registers-Yazmaç
• Bazı register örnekleri:Accumulator (ACC)
Program counter (PC)
Instruction register (IR)
Memory address register (MAR)
Memory data register (MDR)
Status register
• Genel amaçlı registerlar (R0, R1, …)
• Bazıları CPU lara dahil edilmiştir.
• Program değişkenlerinin yüksek hızlarla geçici
depolanmaları için kullanılır.
Bilgisayar Mühendisliğine Giriş
9. Memory Unit
• Bilgisayarın icra edilecek komutlarını ve bukomutların işleyeceği veriyi depolamak için
kullandığı alt sistemdir.
• CPU ‘nun işleyeceği tüm veri ve program
belleğe yüklenmiş olmalıdır.
• Bellekteki tüm bilgiler 2 li sayı sisteminde
ifade edilmiştir.
• Bir bellek ünitesinin kapasitesi saklayabileceği
toplam bilginin kaç bayt olduğu ile ölçülür.
Bilgisayar Mühendisliğine Giriş
10. Memory Unit
Memory cellbit 0
bit 1
0
1
2
3
4
Address decoder
Memory address register
n bit
2n-1
bit n - 1
0
1
2
m-1
Memory data register
Bilgisayar Mühendisliğine Giriş
m bits
11. Bellek Kapasitesi
2n x m
n adres biti = 2n adres olabilir
m Veri biti
m veri yolu uzunluğudur.
Tipik değerler:
• n: 16, 17, 18, 19, 20, 21, 22, vb
• m: 8, 16, 32, 64
Bilgisayar Mühendisliğine Giriş
12. Soru
• S: 512 KB lık bir bellek ünitesinin bellekhacmi kaç bit içerir?
A: 512 = 29, K = 210, B = byte = 8 = 23
29 x 210 x 23 = 222 = 4,194,304
Bilgisayar Mühendisliğine Giriş
13. Alıştırma – Bellek Kapasitesi
• S: 2 MB lık bir bellek ünitesinin bellekhacmi kaç bit içerir?
C:
Bilgisayar Mühendisliğine Giriş
14. Alıştırma – Bellek Kapasitesi
Cevap• S: 2 MB lık bir bellek ünitesinin bellek
hacmi kaç bit içerir?
A: 2 = 21, M = 220, B = byte = 8 = 23
21 x 220 x 23 = 224 = 16,777,216
Bilgisayar Mühendisliğine Giriş
15. Memory Uygulamaları
• RAM – random access memory• Static RAM-cache memory
• Dynamic RAM
• ROM – read-only memory
Bilgisayar Mühendisliğine Giriş
16. Komutu Getir-İşlet Döngüsü Fetch-Execute Cycle
• Her komutun işletilmesinde iki aşama ya dadöngü
• Fetch – Bellekten komut kodunu getir ve komut
yazmacına yerleştir
• Execute – Komutu işlet
• Güzel bir resim, bazen yardımcı olabilir…
Fetch
Execute
zaman
Bilgisayar Mühendisliğine Giriş
17. CPU-Memory İletişimi
• Mikroişlemci, bellek ile MAR (Memory AddressRegister) ve MDR (Memory Data Register) olarak
bilinin iki yapı yardımıyla iletişim kurar.
Bilgisayar Mühendisliğine Giriş
18. CPU-Memory İletişimi
Bellekteki X konumundan bir okuma işlemigerçekleştirileceği zaman:
* Adres X ilk önce MAR kaydedicisine
yerleştirilir.
* Belleğe bir okuma sinyali (RD) gönderilir.
* X konumunun içerdiği veri değeri MDR
kaydedicisinde elde edilir.
Bilgisayar Mühendisliğine Giriş
19. CPU-Memory İletişimi
Bellekteki X konumuna T değerinin yazılmasıgerektiği durumda
* T verisi önce, MDR kaydedicisinin içerisine
yerleştirilir.
* X bellek adresi MAR kaydedicisine yerleştirilir.
* Ardından mikroişlemci denetim birimi
tarafından üretilen yazma sinyali (WR) ile bu
konuma T verisi yazılmış olunur.
Bilgisayar Mühendisliğine Giriş
20. CPU-Memory İletişimi
Bilgisayar Mühendisliğine Giriş21. Saklama Komutu The Store Instruction
FetchPC
(program counter)
MAR
(memory adress register)
MDR
IR
(memory data register) (Instruction register)
IR[address] MAR
Execute
A MDR
PC + 1 PC
Bilgisayar Mühendisliğine Giriş
zaman
22. The Add Instruction
FetchPC MAR
MDR IR
IR[address] MAR
Execute
A + MDR A
PC + 1 PC
Bilgisayar Mühendisliğine Giriş
zaman
23. Yollar-Buses
• Tanım: ortak bir amaç için kabloların biraraya toplanması
• Her bir kablo hat-line olarak adlandırılır
• Genelde, yollar bilgiyi bir yerden diğerine
taşır.
Bilgisayar Mühendisliğine Giriş
24.
busPrinter
Mouse
Ports
Keyboard
Modem
CPU
Disk
controller
Graphics
card
Monitor
Sound
card
Speakers
RAM
Network
card
Computer
Bilgisayar Mühendisliğine Giriş
25. Bus Tipleri (1/3)
• Point-to-pointSerial
port
Control
unit
Modem
ALU
Bilgisayar Mühendisliğine Giriş
26. Bus Tipleri (2/3)
• MultipointComputer
Computer
Computer
CPU
Disk controller
Computer
Memory
Video controller
Bilgisayar Mühendisliğine Giriş
27. Bus Tipleri (3/3)
• Papatya ZinciriDevice controller
Device
Device
Device
Terminator
Bilgisayar Mühendisliğine Giriş
28. Bilgisayar içindeki Yollar
Data busAddress bus
Control bus
CPU
I/O Module
Memory
I/O Device
Bilgisayar Mühendisliğine Giriş
Motherboard
• Pek çok
konfigürasyon
mümkün
29. Data Bus
• Veriler CPU ve bellek ya da I/O device arasındataşınır
• İki Yönlü olarak
• Yazma işlemleri için CPU nun dışına veri transfer edilir.
• Okuma işlemleri için CPU nun içine veri transfer edilir.
• Genel büyüklükleri : 8, 16, 32, 64 line
• Sinyal isimleri:
• D0, D1, D2, D3, vb.
Bilgisayar Mühendisliğine Giriş
30. Address Bus
• Bir adres CPU dan bellek ya da I/O device taşınır.• Tek yönlü
• Adresler her zaman CPU tarafından desteklenir
• Genel büyüklükleri : 16, 20, 24 line
• Sinyal isimleri:
• A0, A1, A2, A3, vb.
Bilgisayar Mühendisliğine Giriş
31. Control Bus
• CPU faaliyetlerinin koordinesi için sinyallerintoplanması
• Her sinyal tek bir amaca sahiptir
• Genel büyüklükleri: 10-20 line
• Sinyaller giriş,çıkış ya da 2 yönlüdür
• Genel sinyaller
/RD (read)
/WR (write
CLK (clock)
/IRQ (interrupt request)
vb.
Bilgisayar Mühendisliğine Giriş
32. Memory Haritası
• Bir sistemde bellek alanınınkullanımı/gösterimi genellikle “ bellek
haritası” olarak tanımlanır
• Haritanın yüksekliği adres sayıları
tarafından belirlenir
• Harita genişliği/büyüklüğü genellikle 8
bittir.
• 216 byte kapasiteli bir sistem…
Bilgisayar Mühendisliğine Giriş
33.
MemoryMap
7 6 5 4 3 2 1 0
FFFF
Veri bit
pozisyonu
Hexadecimal
adres
0002
0001
0000
Bilgisayar Mühendisliğine Giriş
Belleğin
başlangıcı
34. Bellek Haritalarının Kullanımı
• Bir sistem üzerinde ’’neyin nerede’’ olduğunugöstermek için bellek haritaları çizilir.
• Bazı ‘’ne’’ ler
• RAM, ROM, I/O, hiçbir şey
• Bazı ’’ nerede’’ ler
• Her RAM, ROM, I/O ’’blok’’ larının başlangıç/bitiş
adresleri ile belirlenir.
• Mesela ,
• Bellek başlangıcında art arda 2 adet 1 KB RAM
modülü olan, 216 byte kapasiteli bir sistem bellek
haritası …
Bilgisayar Mühendisliğine Giriş
35.
MemoryMap
FFFF
62 KB
boş
216 bytes = 64 KB
“kapasite”
0800
07FF
1 KB RAM
4000
03FF
1 KB RAM
0000
Bilgisayar Mühendisliğine Giriş
36. Alıştırma – Bellek Alanı
S: 32 MB 4 bellek modülü art ardayerleştirilen,128 GB kapasiteli bir sistemin
geri kalan kısmı kullanılmamaktadır. Ne
kadarlık bellek alanı daha sonraki
genişleme için kullanılabilir?
(Cevaplarınızı megabyte cinsinden verin)
C: ?
Bilgisayar Mühendisliğine Giriş
37. Alıştırma – Bellek Alanı
S: 32 MB 4 bellek modülü art arda yerleştirilen,128GB kapasiteli bir sistemin geri kalan kısmı
kullanılmamaktadır. Ne kadarlık bellek alanı
daha sonraki genişleme için kullanılabilir?
(Cevaplarınızı megabyte cinsinden verin)
C: ? 128 GB – 4 x 32 MB
= 27 x 210 MB - 22 x 25 MB
= (217 – 27) MB
= (131,072 – 128) MB
= 130,944 MB
Bilgisayar Mühendisliğine Giriş
38. Alıştırma – Bellek Haritası
• 2 GB kapasiteli bir sistem için bellekharitası çizilecek. Sistemin başlangıç
adresinde 3 adet 32 MB lık modüller
olduğunu varsayın. Her bloğun başlangıç ve
başlama/bitiş adreslerini MB olarak
gösterin.
Bilgisayar Mühendisliğine Giriş
39.
MemoryMap
Cevap
7FFFFFFF
1,952 MB
boş
231 bytes = 2 GB
“kapasite”
06000000
05FFFFFF
04000000
03FFFFFF
Note:
2 GB = 2,048 MB
02000000
01FFFFFF
00000000
32 MB RAM
32 MB RAM
32 MB RAM
Bilgisayar Mühendisliğine Giriş