E4160
MICROPROCESSOR & MICROCONTROLLER
MEMORY SYSTEM
Memori Ingatan adalah peranti yang digunakan untuk menyimpan data dan maklumat. Merupakan salah satu peranti yang penting didalam sistem komputer. Data yang disimpan didalam sistem ingatan berbentuk nombor perduaan iaitu ‘0’ atau ‘1’. Jenis ingatan dalam sistem ingatan ialah ingatan semikonduktor (separa pengalir) Ingatan semikonduktor mempunyai masa capaian yang pendek berbanding dengan jenis ingatan lain. Sesuai digunakan didalam sistem mikropemproses untuk operasi kerja yang pantas.
Store binary ( 0 or 1) instructions : MOV A, C - 79H – 0111 1001 Data : 37H
Two type RAM or R/WM ROM
Memori
Memori R/W memory is made of register register has a group of flip-flop or field-effect transistors called memory cells Memory is accessed through two special registers: – MAR Memory Address Register – MBR Memory Buffer Register
To communicate with memory, the MPU should be able to Select the chip Indentify the register Read from or write into register
Memori
Memori A0 – A10 : address lines D0 – D7 : data lines CS, OE, WE : control lines
CS : chip select OE : output enable WE : write enable
OE active low data is move from memori to MP (read operation) WE active low data is move from MP to memori (write operation)
Memori Write Cycle
1. Move the address of the word to be written to MAR 2. Move the content of the word to be written to MBR 3. Turn the write input line on * Steps 1 and 2 can be done in parallel
Memori Read Cycle 1. Move the address of the requested word to MAR 2. Turn the read input line on 3. The content of the requested word will be transfered to MBR *Steps are done sequentially
Memory Basic Memory Cell - Notes 1. Uses a latch and not a flip-flop (asynchronous) 2. When not activated outputs zero 3. R/W line: read=1 write=0
Memory Basic Memory Cell - Symbolic
Memori
Memori
Memori How to read data/instruction from memory 1. Select chip : CS is active low 2. OE is enable (active low) How to write data/instruction from memory 1. Select chip : CS is active low 2. WE is enable (active low) This read and write operation cannot occur at same time. At one time it must be one operation occur either read or write
Memory Classification Two categories of memory 1. Prime : R/WM, ROM 2. Secondary : CD disk, pen drive The prime memory should be able to respond fast enough to keep up with the execution speed of the mP In secondary memory, the programs need to be copied into R/WM first before the mP execute or process programs stored in these devices
Semiconductor Memory
2 type
1. ROM –Read Only Memory 2. RAM/RWM – Random Access Memory / Read Write Memory
ROM contain the “initialization” instruction, telling the MP what to do when the power is first turn on.Reading the
keyboard, driving the CRT, input out data translation etc
RAM is used for temporary data storage ROM is nonvolatile memori, meaning that it not loses its content when power is turned off RAM is volatile memory
RAM/RWM Can write into or read from memory RAM – random access memory Information can be altered – writing program at the same location or receiving data. Previous data will be lose. Data is read randomly Volatile – power turn off, all the contents are destroyed. Two type Static RAM Dynamic RAM
8 7 6 5 4 3 2 1 23 22 19 18 20 21
U1 A A A A A A A A A A A
0 1 2 3 4 5 6 7 8 9 10
CS OE W E H M 6116
D D D D D D D D
0 1 2 3 4 5 6 7
9 10 11 13 14 15 16 17
Static RAM Made up of flip-flops Stores the bit as a voltage Information – time factor no effect Low cost Sejenis ingatan yang berkeupayaan untuk mengekalkan data yang disimpan didalamnya tanpa dipengaruhi oleh faktor masa. Data atau maklumat yang tersimpan tidak akan hilang walau berapa lama ia disimpan selagi bekalan kuasa tidak diputuskan.
Dynamic Memory MOS transistor gates Sejenis ingatan yang menyimpan data atau maklumat didalam bentuk cas. Unit sel didalamnya dibina daripada kapasitor. Store the bit as a charge Data atau maklumat yang disimpan didalam setiap unit sel bergantung kepada ketumpatan cas pada kapasitor. - Ada Cas - logik ‘1’, - Tiada Cas - logik ‘0’ Disadvantages – charge leak store information needs to be read and written again every few miliseconds : refreshing memory
Perbandingan RAM Dinamik(DRAM) 1.Maklumat/data disimpan didalam bentuk cas 2.Unit sel terdiri daripada kapasitor 3.Saiz unit sel lebih ringkas 4.Cheaper (kos/sel) 5.High density and low power consumption 6.Penggunaan kuasa yang rendah 7.Perlukan penyegaran semula 8.Economic for system at least 8K
Perbandingan RAM Statik (SRAM) 1. Maklumat disimpan dengan menset atau mereset flip-flop. Set = 1 dan Reset = 0 2. Unit sel terdiri daripada flip-flop 3. Saiz unit sel lebih besar 4. Lebih mahal (kos/sel) 5. Penggunaan kuasa yang tinggi 6. Tidak memerlukan proses penyegaran semula
ROM – Read Only Memory
Information can be read only The program and data cannot altered Nonvolatile memory Two type of bit pattern is stored Permannet – Masked ROM, PROM At least semipermanent (erasable) – EPROM, EE-PROM, flash memory
ROM Ingatan untuk tempat simpanan kekal dimana datanya hanya boleh dibaca sahaja dari lokasi. Menyimpan satu bit dengan adanya ikatan diantara talian baris dan talian lajur didalam susunan ingatan. Data didalam ROM biasanya telah diaturcarakan pada masa pengilangan ataupun dengan satu kaedah aturcara sebelum pemasangan litar. ROM bersifat ‘Non-Volotile’ . ROM sesuai digunakan untuk menyimpan data atau maklumat penting seperti aturcara monitor/ ‘operating system’
8 7 6 5 4 3 2 1 23 22 19 18 20 21
U 1 A A A A A A A A A A A
0 1 2 3 4 5 6 7 8 9 10
C E O E V P P M 2716
O O O O O O O O
0 1 2 3 4 5 6 7
9 1 1 1 1 1 1 1
0 1 3 4 5 6 7
Masked ROM ROM Bertopeng (masked ROM). ROM bertopeng (masked-programmed ROM) ialah ROM yang diaturcara secara tetap pada masa pengilangan Kaedah atucara adalah dengan menambahkan atau mengabaikan diod atau transistor. Komputer akan menghasilkan topeng(mask) untuk IC ROM mengikut jadual kebenaran yang dikehendaki. Jadual kebenaran ini dihantar kepada pengilang didalam bentuk kod objek.
Masked ROM a1
a0
d3
d2
d1
d0
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
Jadual Kebenaran MROM 4x4
Binaan Dalaman MROM 4x4
PROM atau FPROM (Fusible-PROM) PROM (Programmable Read Only Memory) adalah ROM yang boleh diaturcarakan oleh pengguna. Ia diaturcarakan dengan menggunakan suatu jenis peranti khas yang dipanggil pengaturcara PROM (PROM programmer atau PROM writer atau PROM burner). PROM ini mempunyai diod-diod dan fius (fusible link) yang boleh diputuskan pada setiap posisi bit Data ‘1’- fius & diod bersambung. Data ‘0’- fius diputuskan (Rujuk Rajah dibawah). Data di dalam PROM tidak boleh dipadamkan/diubah setelah diatucara.
PROM atau FPROM (Fusible-PROM) a1
a0
d3
d2
d1
d0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
Jadual Kebenaran PROM 4x4 baru
Binaan Dalaman PROM 4x4 sebelum diatucara
UV-EPROM UV-EPROM(Ultra Violet-Erasable PROM) adalah PROM yang datanya boleh dipadamkan &diatucara. Bit yang diaturcarakan disimpan sebagai cas didalam kapasitor jenis hampir lesapan-sifar. Data didalamnya dipadamkan dengan meneutralkan cas tersebut dengan suatu cas yang berlawanan dengan mendedahkan cahaya ultra-violet selama lebih kurang 5 hingga 20 minit. Data-data akan hilang apabila cahaya ini disinarkan ketingkap kaca cip tersebut. Cahaya yang digunakan haruslah mempunyai jarak gelombang yang pendek, iaitu 0.2537 um dan ia merbahaya kepada manusia. Kelemahan cip EPROM ini adalah, jika hanya satu data sahaja yang ingin diubahkan, maka semua data didalamnya mesti dipadamkan.
21
20
18
19
22
23
1
2
3
4
5
6
7
8
O1 O2 O3 O4 O5 O6 O7
A1 A2 A3 A4 A5 A6 A7
M2716
VPP
OE
CE
A10
A9
A8
O0
A0
U1
17
16
15
14
13
11
10
9
UV-EPROM Tingkap Kaca
EAPROM. EAPROM(Electrically Alterable PROM) tidak memerlukan cip dipadamkan keseluruhannya tetapi dapat menukarkan data pada lokasi yang terpilih. Bezanya cip ini dengan cip EPROM ialah untuk pemadaman dan pengaturcaraan semula data Cip EPROM harus dikeluarkan daripada soketnya, tetapi, pemadaman dan pengaturcaraan semula data didalam EAPROM dapat dilakukan tanpamengeluarkannya dari soket. Proses pemadaman dan penulisan semula data memerlukan masa yang diantara beberapa milisaat hingga ke beberapa minit. Kandungan daripada EAPROM dapat ditukar dengan memberi denyut elektrik.
EEPROM Ingatan ini adalah Electrically Erasable ROM dan merupakan ROM yang boleh dipadamkan menggunakan denyut elektrik. Cip ini menggunakan sistem litar MOS yang serupa dengan EAPROM. Proses pemadaman data terpaksa dibuat keatas ke semua lokasi didalam EEPROM sebelum ia boleh diprogramkan semula.
RAM & ROM COMPARISON
RAM (Random Access Memory)] Merupakan ingatan jenis meruap (volotile). Peranti yang digunakan untuk storan sementara temporary storage). Lokasi memorinya boleh dicapai pada sebarang masa dan tempat tanpa mengikut turutan. Digunakan untuk menyimpan program yang sentiasa berubah-ubah dan biasanya digunakan bersama ingatan bantuan seperti ‘magnatic disk’ atau ‘dram stroge’ ROM (Read Only Memory) Merupakan ingatan jenis tak meruap (non volotile). Peranti yang digunakan untuk storan kekal (permanent storage) Program diletakan di lokasi memori yan telah dipilih biasanya untuk sistem ‘firmware’. Maklumat dalam ROM tidak boleh diubah, seperti untuk program paparan, latarbelakang komputer dan sebagainya
MEMORI ORGANIZATION Talian alamat pada ingatan digunakan untuk memilih suatu lokasi didalam ingatan. Didalam pembuatan ingatan ada berbagai-bagai cara bagaimana sel-sel didalam ingatan disusun. Ingatan disusun mengikut ‘lokasi’ (alamat) dan ‘data’
MEMORI ORGANIZATION 1K = 1024 kapasiti memori 1024 x 8bit = 1K x 8 bit Organisasi ingatan yang lain yang boleh didapati adalah 1024 X 1(1K X 1), 4096 X 8(4K X 8), 16392 X 1(16K X 1), 64 x 4, 128 x 8 dan banyak lagi. 1K x 8 Jumlah lokasi alamat 1K x 1024 = 1024 Jumlah bilangan talian alamat 2n = 1024 log 2n = log 1024 n = log 1024 n = 10
Jumlah talian data = 8 talian, D0 – D7
Jumlah sel @ bil. Bit = 1x 1024 x 8 = 8192 sel @ bit
MEMORI ORGANIZATION
Alamat memori
Satu sel memori
Data pada satu lokasi memori 003H
MEMORI ORGANIZATION Data ini menunjukkan bagaimana sel-sel dalaman ingatan disusun. Ingatan tersebut mempunyai 1024 ruangan/lokasi dan mempunyai 8 bit data pada setiap ruangan(alamat). Jadi jumlah selnya adalah 8192 sel. Susunan begini boleh juga ditulis sebagai 1K X 8.
Increasing RAM’s Size Pengembangan lokasi ingatan 1K x 8 4K x 8
Increasing RAM’s Size Pengembangan lebar bas data Increasing RAM’s wordlength 1K x 8 1K x 16
Increasing address and word lenght
MIKROPEMPROSES & MEMORI Memori adalah peranti yang menyimpan maklumat. Maklumat disimpan melalui operasi TULIS dan diambil semula melalui operasi BACA M I K R O P E M P R O S E S
BAS ALAMAT
BAS DATA
ISYARAT BACA ISYARAT TULIS ISYARAT PEMILIH
M E M O R I
MIKROPEMPROSES & MEMORI Operasi BACA (READ) bermaksud data bergerak dari ingatan ke mikropemproses.(up memberi alamat dibas alamat dan isyarat BACA. Ingatan meletakkan data dari lokasi alamat yang dinyatakan ke bas Data). Operasi TULIS (WRITE) bermaksud data dikeluarkan oleh mikropemprosesdan disimpan oleh ingatan (up memberi lokasi alamat di bas alamat dan data dibas data. Isyarat TULIS diberikan untuk menyimpan data dialamat yang dinyatakan.
CIP PIAWAIAN INDUSTRI EPROM 2716 2k x 8 bit (16 kilobit) 2732 4k x 8 bit (32 kilobit) 2764 8k x 8 bit (64 kilobit) 27128 16k x 8 bit (128 kilobit) 27256 32k x 8 bit (256 kilobit) Versi CMOS mempunyai format 27Cxx (spt 27C64) EEPROM menggunakkan format 28xx 2816/2817 2k x 8 bit (16 kilobit) 2864 8k x 8 bit (64 kilobit) SRAM 6116 2k x 8 bit (16 kilobit) 6164/6264 8k x 8 bit (64 kilobit) 43256/6625 32k x 8bit (256 kilobit)
Write Cycle Time Kelajuan Operasi Ingatan Diukur Mengikut Tiga Parameter: Masa Kitar Tulis – (Write Cycle Time) Masa Kitar Baca – (Read Cycle Time) Masa Capaian – (Access Time) Masa Minima Diantara 2 Kitar Tulis Semasa Operasi Tulis : Masa Kitar Tulis
Write Cycle Time Masa kitar tulis Talian Alamat Alamat lama
Alamat baru
Talian CS
Talian R/W
Bas data
Data masukan stabil
Read Cycle Time Masa Kitar Baca : Iaitu Masa Yang Minima Diantara Alamat Pertama Yang Disetkan Kepada Ingatan Dengan Alamat Yang Kedua Yang Disetkan Pada Ingatan Yang Sama ( Masa Yang Minima Diperlukan Semasa Satu Operasi Tulis Berlaku). Masa Capaian : Masa Yang Diambil Oleh Ingatan Untuk Mengeluarkan Data Ke Bas Data Apabila Ia Menerima Alamat Baru Ditalian Alamat Semasa Kitar Baca.
Read Cycle Time Masa kitar baca Talian
Alamat
Alamat lama
Alamat baru
Talian CS
Bas data
Data sah Masa capaian
PENYAHKOD ALAMAT & PETA INGATAN Peta Ingatan adalah perlambangan bergambar yang menunjukkan keseluruhan ruangan Ingatan di dalam sesuatu sistem. Penyahkod Alamat Diperlukan Untuk Mengaktifkan Peranti Dalam Sistem Kerana Dalam Satu-satu Masa Hanya Satu Sahaja Cip/Peranti Yang Akan Diaktifkan. Alamat Pertama - 0000H, ditulis di atas dan Alamat Tertinggi –FFFFH, ditulis di bawah sekali Peta Ingatan.
PENYAHKOD ALAMAT & PETA INGATAN Garis Panduan AM Semasa Membina Sistem Berasaskan Mikropemproses 8085. ROM: Alamat Terendah I/O: Alamat Pertengahan RAM: Alamat Tertinggi
1 K ROM
ROM
BUFFER LATCH
I/O
2K RAM
RAM
PENYAHKOD ALAMAT BAS ALAMAT A0 :
ROM
UP :
RAM
Buffer (Suis)
Latch (LED)
A10
8085 A11 A12 A13 A14
AS
PENYAH Y0 KOD Y1 ALAMAT Y2 Y3
TALIAN PEMILIH
Bas Alamat Ke Eprom/Sram (2k X 8 Bit) : (A0 - A10) As Alamat Kepenyahkod : (A11 – A15) Sel = 0, Menurunkan Input Cs Di Ingatan Dan Mengaktifkan Cip, Bila Pola Bas Alamat Ditentukan.
PENYAHKOD ALAMAT Terdapat Dua Kaedah Penyahkod Alamat: Penyahkod Penuh Penyahkod Separa •
FUNGSI PENYAHKOD ALAMAT INGATAN:Mengawas Bas Alamat Dan Menentukan Bila Untuk Mengaktifkan Cip Ingatan
PENYAHKOD ALAMAT EPROM/ SRAM
BAS ALAMAT
CS
CPU SEL AS
PENYAHKOD ALAMAT INGATAN
Bas Alamat Ke Eprom/Sram (2k X 8 Bit) : (A0 - A10) As Alamat Kepenyahkod : (A11 – A15) Sel = 0, Menurunkan Input Cs Di Ingatan Dan Mengaktifkan Cip, Bila Pola Bas Alamat Ditentukan.
PENYAHKOD PENUH (FULL DECODING)•
Keseluruhan Talian Alamat Mesti Digunakan Untuk Mencapai Setiap Kedudukan, Samada Untuk Mengaktifkan Sesuatu Peranti Atau Mencapai Suatu Alamat Di Dalam Peranti Tersebut.
Full address decoding Let’s assume the same microprocessor with 10 address lines (1KB memory) However, this time we wish to implement only 512 bytes of memory We still must use 128-byte memory chips Physical memory must be placed on the upper half of the memory map
Full address decoding SOLUTION
Partial address decoding PENYAHKOD SEPARATidak Semua Talian Alamat Digunakan Untuk Mencapai Setiap Kedudukan, Samada Untuk Mengaktifkan Sesuatu Peranti Atau Mencapai Suatu Alamat Di Dalam Peranti Tersebut. Penyahkod Alamat yang paling Ringkas.
Partial address decoding Let’s assume the same microprocessor with 10 address lines (1KB memory) n However, this time we wish to implement only 512 bytes of memory n We still must use 128-byte memory chips n Physical memory must be placed on the upper half of the memory map
Partial address decoding
Partial address decoding