5.0
Operasi sesuatu sistem komputer bergantung kepada konsep aturcara tersimpan dalam
ingatan (stored program concept)
Ingatan secara asasnya boleh diklasifikasikan kepada 2 jenis:
Pembangunan teknologi LSI membolehkan kapasiti storan meningkat dalam sebuah cip.
Kini sistem mikrokomputer menggunakan teknologi transistor bipolar dan MOS sebagai
bahan asas pembikinan peranti ingatan.
5.1
KONSEP INGATAN
Ingatan dalam sebuah sistem mikrokomputer adalah tempat di mana maklumat (data dan
arahan) disimpan. Dua jenis ingatan yang terdapat pada sistem komputer iaitu:
Prepared by Tan KL
5-1
i.
ii.
Vcc
Vcc
Vcc
Fusible
link
Prepared by Tan KL
5-2
iii.
iv.
v.
Kandungan ingatan ROM jenis ini dapat dipadam pada lokasi yang terpilih dan datadata yang lain tidak terganggu.
Pemadaman dan pengaturcaraan semula data dapat dilakukan tanpa mengeluarkan
daripada soket.
Kandungan daripada EAPROM dapat ditukar dengan memberi denyut elektrik.
Prepared by Tan KL
5-3
5.3
bekalan kuasa.
ditulis kembali
Saiz yang kecil dan mempunyai ketumpatan
(density) yang tinggi
Masa Kitar arahan yang panjang
Lebih digunakan apabila kapasiti ingatan yang
besar diperlukan
Prepared by Tan KL
5-4
ROM
RAM
Lokasi
Alamat
0H
1H
2H
Kandungan
Data
16 bit
.
.
.
EH
FH
16 X 1 bit RAM
Lokasi
Alamat
Lokasi
Alamat
Kandungan
Data
0000H
0000H
0001H
0001H
0002H
0002H
0003H
0003H
0004H
0004H
.
.
.
FFFDH
.
.
.
65536
byte
.
.
.
FFFDH
FFFEH
FFFEH
FFFFH
FFFFH
Prepared by Tan KL
Kandungan
Data
.
.
.
65536 nibble
5-5
5.5
MEMORY EXPANSION
MC 8051
CPU
INTERNAL
DATA
MEMORY
(128 BYTE)
SFRs
INTERNAL
DATA
MEMORY
(128 BYTE)
RAM
FFH
0FFFH
0FFFH
7FH
00H
0FFFH
INTERNAL
CODE
MEMORY
(4K)
ROM/EPROM
EXTERNAL
CODE
MEMORY
(64K)
ROM/EPROM
EXTERNAL
DATA
MEMORY
(64K)
RAM
0000H
0000H
0000H
Kapasiti ingatan luaran yang diperlukan oleh sebuah sistem MC tidak semestinya wujud
dalam 1 cip ingatan.
Contohnya kapasiti ROM yang diperlukan mungkin ialah 64K bytes dan anda hanya cip
32K bytes. Maka 2 buah cip dapat disambung secara selari .
ii.
Contoh kapasiti ingatan diberi ialah 4K x 2 boleh ditambahkan saiz data kepada 4K x
8 dengan cara penyambungan seperti berikut:
Prepared by Tan KL
5-6
MC
D0
D1
D2
D3
D4
D5
D6
D7
MC
D1
D0
D0
D1
D2
D3
D4
D5
D6
D7
4K X 2
D1
D0
D1
4K X 2
Kandungan
Data
Lokasi
Alamat
D1
D0
D1
4K X 2
000H
001H
001H
002H
002H
.
.
.
FFEH
.
.
.
FFEH
FFFH
FFFH
4K X 8 bit RAM
4K X 2 bit RAM
Contoh kapasiti ingatan diberi ialah 4K x 2 boleh ditambahkan lokasi alamat kepada
16K x 2 dengan cara penyambungan seperti berikut:
A0
A1
.
.
.
A11
A12
A13
A14
A15
MC
A11
A0
A1
.
.
.
A11
A12
A13
A14
A15
A11
MC
CS
A11
4K X 2
A0
CS
A11
4K X 2
A0
4K X 2
A0
4K X 2
A0
CS
CS
A11
4K X 2
A0
CS
DECODER 74139
Y0
Y1
Prepared by Tan KL
Y2
Y3
D0
4K X 2
Kandungan
Data
Lokasi
Alamat
000H
D0
4K X 2
5-7
Lokasi
Alamat
4K
Kandungan
Data
Lokasi
Alamat
000H
0000H
001H
0001H
002H
0002H
.
.
.
FFEH
16K
FFFH
Kandungan
Data
.
.
.
3FFEH
3FFFH
4K X 2 bit RAM
Selesaian:
210 = 1024 lokasi ingatan (1K)
(Dalam Digital 1K = 1024 BUKAN 1000)
Contoh 2 :
Sekiranya sebuah cip ingatan mempunyai kapasiti 4K, Nyatakan bilangan talian alamat
Selesaian:
Kaedah 1 : Log2 4096=12 talian alamat
Kaedah 2 : 4096 = 4 x 1024 = 22x 210= 212 . Oleh itu 12 talian alamat
Prepared by Tan KL
5-8
Contoh 3 :
Nyatakan bilangan talian alamat dan talian data yang diperlukan untuk menentukan lokasi dalam
sebuah RAM yang mempunyai :
Selesaian:
a) 1024 lokasi X 8 ?
b) 4096 lokasi X 8 ?
c) 8192 lokasi X 8?
Contoh 4 :
Apakah yang dimaksudkan dengan 4K x 1 RAM ?
Selesaian:
4K = 4 * 1024 = 4096 lokasi alamat dengan setiap lokasi mempunyai data 1 bit.
Lokasi
Alamat
Kandungan
Data
0000H
0001H
0002H
4K X 1 bit
.
.
.
0FFEH
0FFFH 4K X 1 bit RAM
(Memang tiada dalam pasaran)
Soalan:
a.
Berapa bilangan talian alamat dan talian data yang dimiliki oleh MC 89C/S51 dan apa yang
anda faham mengenai talian-talian ini?
b.
Terangkan maksud VOLATILE dan NONVOLATILE
c.
d.
Prepared by Tan KL
5-9
D7
A0
D6
D5
D4
D3
D2
D1
D0
?x?
?x?
?x?
?x?
?x?
?x?
?x?
?x?
A11
Cari
4K X 8 bit
1 EPROM
8K X 8 bit
2 SRAM
2K X 8 bit
Lokasi Alamat
212 = 4096 lokasi
213 = 8192 lokasi
211 = 2048 lokasi
Jumlah bit/sel
4096 x 8 = 32768 bit/sel
8192 x 8 = 65536 bit/sel
2048 x 8 = 16384 bit/sel
5-10
A11 A10 A9 A8
0 0 0
0
1 1
1
1
F
A5 A4
0 0
1 1
F
A3 A2 A1 A0 12 talian alamat
0 0 0 0 000H
Ruang Alamat
1 1 1 1 FFFH
F
A7 A6 A5 A4
0 0 0 0
1 1 1 1
F
A3 A2 A1 A0 13 talian alamat
0 0 0 0 0000H
1
1 1 1 1FFFH
Ruang Alamat
F
A7 A6 A5 A4
0 0 0 0
1
1 1 1
F
A3 A2 A1 A0 11 talian alamat
0 0 0 0 000H
1 1 1 1 7FFH
Ruang Alamat
F
**Kawasan SRAM mula di bahagian teratas sekali. Oleh itu ruangnya bermula dengan FFFFH 7FFH = F800H (SRAM 2)
dan F7FFH 7FFH = F000H (SRAM 1)
Peta Ingatan untuk menunjukkan kedudukan ingatan-ingatan dan peranti I/O dalam sistem
tersebut seperti di bawah:
0000H
EPROM
EEPROM
SRAM 1
SRAM 2
1FFFH
2000H
2FFFH
3000H
37FFH
3800H
3FFFH
4000H
UNUSED
BUFFER
LATCH
**ROM/RAM yang berkapasiti
lebih besar diletak pada
kedudukan yang teratas
7000H
7001H
7002H
UNUSED
FFFFH
**Perhatian: Jumlah ROM luaran adalah 12K byte dan RAM luaran adalah 4K byte. Sistem MC
membenarkan penyambungan ROM dan RAM luaran maksimum 64K byte masing-masing. Kawasan
UNUSED itu adalah untuk penyambungan ingatan yang baki itu.
Prepared by Tan KL
5-11
Julat
. Talian-talian Alamat
Alamat
A15
A14
A13
A12
A11
A10
EPROM
0000H
1FFFH
EEPROM
2000H
2FFFH
SRAM 1
3000H
37FFH
SRAM 2
3800H
3FFFH
BUFFER
LATCH
7000H
7001H
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
X
0
0
0
1
1
1
1
1
1
1
1
0
1
X
0
1
X
0
0
0
1
1
1
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
DECODER
74139
A15
Y0
CS
A0 A10
Y1
A14
Y2
A13
Y3
MC 8051
DECODER
74139
E
CS
EEPROM
A0 A10
Y0
Y1
A12
Y2
A11
Y3
A0 A10
EPROM
CS
SRAM 1
A0 A10
CS
SRAM 2
A0 A10
Prepared by Tan KL
5-12
Latihan:
a.
Bina peta ingatan dan jadual penyahkod alamat untuk komponen memori, buffer dan latch di
bawah
b.
1 EEPROM
: 4K x 8
2 EPROM
: 8K x 8
2 DRAM
: 512 x 8
2 SRAM
: 256 x 8
BUFFER
: 9FFEH
LATCH
: 9FFFH
2 biji SRAM
Berapakah jumlah lokasi alamat, bilangan talian alamat dan jumlah bit/sel untuk
setiap ingatan tersebut?
ii.
iii.
c.
Bina peta ingatan dan jadual penyahkod alamat untuk komponen memori, buffer dan latch di
bawah
d.
2 EEPROM
: 8K x 8
2 DRAM
: 8K x 8
LATCH
: 8FFFH
Bina peta ingatan untuk komponen memori, buffer dan latch di bawah:
Prepared by Tan KL
5-13
1 EEPROM
: 4K x 8
2 EAPROM
: 8K x 8
2 DRAM
: 512 x 8
2 SRAM
: 256 x 8
BUFFER
: 9FFEH
LATCH
: 9FFFH
Prepared by Tan KL
5-14
Contoh:
MOVX A, @DPTR
Untuk menulis kepada RAM, arahan MOVX @DPTR, A digunakan. Arahan ini akan memindahkan
kandungan pada Accumulator ke dalam RAM
Jawapan latihan:
a.
Peranti
Julat
. Talian-talian Alamat
Alamat
A15
A14
A13
A12
A11
A10
EPROM
1
0000H
1FFFH
EPROM
2
2000H
3FFFH
EEPROM
4000H
4FFFH
DRAM 1
5000H
51FFH
DRAM 2
5200H
53FFH
SRAM 1
5400H
54FFH
SRAM 2
5500H
55FFH
BUFFER
LATCH
7000H
7001H
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
X
0
1
X
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
X
0
1
X
0
1
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
X
0
1
X
0
1
X
0
0
0
0
0
0
1
1
1
1
1
1
0
0
A15
A14
A13
A12
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
C
B
A
74138
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
0
1
X
0
1
X
0
1
X
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
1
1
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
0
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
X
0
1
EPROM 1
EPROM 2
E
A11
A10
A9
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
C
B
A
74138
DRAM 1
EEPROM
DRAM 2
E
A8
Y0
Y1
Y2
Y3
B
A
SRAM 1
SRAM 2
74139
Prepared by Tan KL
5-15