MODUL KE 6
Sistem Mikroprosesor (3 sks)
6
MATERI KULIAH : Strategi perancangan hardware sistem mikroprosesor menggunakan 2 (dua) metode secara bersamaan yaitu metode fully decoded addressing dan non fully (partially) decoded addressing. Pengantar arsitektur mikroprosesor, mengenai bagian utama mikroprosesor : ALU, Accumulator, General Purpose Register, Address register (Program Counter, Index Register, Stack Pointer), Control Unit, dan Status Register (Condition Code Register). POKOK BAHASAN :
Strategi Perancangan Hardware menggunakan 2 Metode Bersamaan dan Pengantar
Arsitektur Mikroprosesor Oleh Ir. INDRAGUNG PRIYAMBODO, MT.
6.1 Strategi Perancangan Hardware Sistem Mikroprosesor Menggunakan Metode Fully dan Non Fully (Partially) Decoded Addressing Secara Bersamaan Pada materi sebelumnya telah dijelaskan masing-masing metode untuk desain hardware sistem mikroprosesor yaitu menggunakan metode Fully Decoded Addressing dan metode metode Non Fully Decoded Addressing atau metode Partially Decoded Addressing. Jika diminta untuk mendesain hardware sistem mikroprosesor langsung dengan menggunakan kedua metode tersebut secara bersamaan atau bergantian, maka CARA atau STRATEGI TERMUDAH untuk menyelesaikan persoalan itu dengan tahap seperti berikut ini. Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-1
1. Tahap pertama, desainlah terlebih dahulu memory map dan sekaligus tabel saluran
alamat
dengan
menggunakan
metode
Non
Fully
Decoded
Addressing. 2. Tahap kedua, hasil dari desain memory map dan tabel saluran alamat menggunakan metode Non Fully Decoded Addressing tersebut LANGSUNG DIPAKAI untuk sebagai hasil desain menggunakan metode Fully Decoded Addressing, dengan cara seluruh saluran alamatnya dipakai. 3. Tahap ketiga, terserah masing-masing, apakah akan mendesain rangkaian address decoder untuk metode Non Fully Decoded Addressing terlebih dahulu ataukah mendesain rangkaian address decoder untuk metode Fully Decoded Addressing terlebih dahulu. Baru kemudian mendesain digram blok sistem mikroprosesornya untuk masing-masing metode tersebut.
Untuk lebih jelasnya, langsung diambil dari SOLUSI KASUS 5.1.2 berikut ini.
Terdapat
beberapa komponen berikut ini untuk didesain/dirancang/dirangkai
menjadi sistem mikroprosesor dengan menggunakan metode fully decoded addressing dan metode non fully decoded addressing, yaitu : Sebuah mikroprosesor 32 bit dengan memory space sebesar ½ Mega word atau 512 kilo word. Dua RAM (sebut saja RAM1 dan RAM2) yang masing-masing 64 kByte dengan masing-masing mempunyai satu saluran chip select active low dan satu saluran chip select active high. Sebuah EPROM 8 kByte dengan saluran CS active low Sebuah ROM 32 kByte dengan saluran CS active high Sebuah PIA 1 kByte dengan saluran CS0 active high, CS1 dan CS2 active low
Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-2
Hasil Desain memory map dan tabel saluran alamat sekaligus
pada solusi kasus 5.1.2 seperti berikut ini.
Tabel Saluran Alamat Memory Map A18 A17 A16
A15 A14 A13 A12
A11 A10 A9 A8
A7 A6 A5 A4
A3 A2 A1 A0
00000 H
0
0
0
0
0
0 0
0 0
0 0
0 0 0 0
0 0 0 0
03FFF H
0
0
0
0
0
1 1
1 1
1 1
1 1 1 1
1 1 1 1
10000 H
0
0
1
0
0
0
0
0 0
0 0
0 0 0 0
0 0 0 0
13FFF H
0
0
1
0
0
1
1
1 1
1 1
1 1 1 1
1 1 1 1
20000 H
0
1
0
0
0
0
0
0 0
0 0
0 0 0 0
0 0 0 0
21FFF H
0
1
0
0
0
0
1
1 1
1 1
1 1 1 1
1 1 1 1
30000 H
0
1
1
0
0
0
0
0 0
0 0
0 0 0 0
0 0 0 0
307FF H
0
1
1
0
0
0
0
0 1
1 1
1 1 1 1
1 1 1 1
40000 H
1
0
0
0
0
0
0
0 0
0 0
0 0 0 0
0 0 0 0
400FF H
1
0
0
0
0
0
0
0 0
0 0
1 1 1 1
1 1 1 1
RAM1
RAM2
ROM
EPROM
PIA
NON FULLY
FULLY
Dari sini barulah didesain rangkaian address decoder dan blok diagram sistem mikroprosesornya untuk masing-masing metode tersebut.
Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-3
6.2 Pengantar Arsitektur Mikroprosesor (Bagian-Bagian Utama Mikroprosesor) 6.2.1 Pendahuluan Sebelum menjelaskan tentang bagian-bagian mikroprosesor, berikut ini akan diberikan beberapa hal penting yang terkait langsung maupun tidak langsung dengan “arsitektur mikroprosesor”, tetapi merupakan bagian dari “arsitektur sistem mikroprosesor”.
Memori Dalam memori, informasi disimpan dalam bentuk biner (byte, word) dan diatur secara sekuensial/berurutan, serta masing-masing informasi tersebut mempunyai alamat (address) sendiri. Secara umum terdapat 2 jenis memori, yaitu memori yang dapat dapat ditulis/diisi/dihapus dan dibaca atau sering disebut sebagai RAM (Random Access Memory); memori yang hanya dapat dibaca atau sering disebut ROM (Read Only Memory). Di pasaran terdapat PROM (Programmable ROM = ROM yang dapat diprogram), EPROM (Erasable Programmable ROM = ROM yang dapat diprogram dan dihapus), EEPROM (Electrical Erasable Programmable ROM = ROM yang dapat diprogram dan dihapus secara elektrik), dan sejenisnya. Jenis-jenis ROM tersebut tidak kemudian seolah-olah mempunyai pengertian bahwa “istilah memori yang hanya dapat dibaca tersebut menjadi gugur”. Karena pengertian “hanya dapat dibaca” tersebut, memang harus didesain agar pada sistem mikroprosesornya memori tersebut benar-benar hanya dapat dibaca. Tetapi seringkali pendesain sistem mikroprosesor masih berusaha untuk membuat sebagian ROM tersebut juga dapat diisi/ditulisi/diprogram/dihapus.
Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-4
Hirarki Memori Hirarki memori secara umum dapat digambarkan dalam bentuk piramida berikut
Register Memori Utama (RAM, ROM)
a ny r as s a sit Be p a in K a ma k Se
K Se e c e m pa ak ta in n n T i ya ng gi
ini
Memori Sekunder/Massal jenis Disk (Random) Memori Sekunder/Massal jenis Tape (sekuensial)
Register sering dinamakan sebagai memori satu sel, karena pada umumnya sebuah register menyimpan sebuah informasi. Register terdapat dalam mikroprosesor, oleh karena itu kecepatannya sama dengan kecepatan mikroprosesor. Sedangkan RAM dan ROM, pada umumnya berbentuk IC. Walaupun mikroprosesor juga berbentuk IC, tetapi kecepatannya cenderung lebih tinggi dibandingkan IC lainnya, karena teknologi pembuatannya biasanya secara khususmemperhatikan unsur tersebut.
6.2.2 Bagian – Bagian Utama Mikroprosesor Pada umumnya mikroprosesor terdiri dari bagian-bagian seperti berikut ini. ALU (Arithmetic Logic Unit) Accumulator General Purpose Register (Register Serbaguna) Address Register (Register Alamat) : Program Counter Index Register Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-5
Stack Pointer Control Unit (CU) : Instruction Register Instruction Decoder Timing and Control Status Register (Condition Code Register) Catatan : Bahwa yang digaris bawah merupakan REGISTER ! Bagian-bagian mikroprosesor dan susunan dalam (arsitektur) mikroprosesor bervariasi antara mikroprosesor yang satu dengan mikroprosesor lainnya.
6.2.2.1 ALU (Aritmetic Logic Unit) ALU merupakan unit untuk melaksanakan operasi-operasi aritmatika dan logika, seperti berikut ini.
penjumlahan (ADD_ition);
pengurangan (SUB_traction);
AND, OR, NOT, EXOR;
INC_rement (penambahan dengan 1);
DEC_rement (pengurangan dengan 1);
Shift (arithmetic shift, logical shift, left, right);
Rotate (left/right)
dan sebagainya seperti CLEAR.
6.2.2.2 ACCUMULATOR Accumulator merupakan suatu register khusus (special purpose register) di dalam mikroprosesor, untuk menyimpan sementara data yang akan diproses oleh ALU dan untuk menyimpan hasil operasi ALU agar proses dapat berlangsung lebih cepat. Suatu mikroprosesor dapat mempunyai satu atau beberapa accumulator.
Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-6
6.2.2.3 GENERAL PURPOSE REGISTER General purpose register (register serba guna) merupakan register di dalam mikroprosesor yang bersifat serba guna (fungsi tidak didefinisikan secara khusus) untuk membantu ALU agar dapat melakukan operasi terhadap data dengan cepat. Agar register (serbaguna, accumulator, dan register lainnya) dapat diakses/ dialamati langsung (directly addressable) maka alamat register harus masuk dalam instruksi (yang menggunakan register tersebut).
6.2.2.4 PROGRAM COUNTER (PC) Program Counter (PC) merupakan register alamat yang berisi informasi alamat berikut yang instruksinya akan dilaksanakan oleh mikroprosesor (address of next instruction). Pada umumnya isi PC selalu bertambah 1 (satu), karena pelaksanaan program yang berurutan *sequential), kecuali dalam pelaksanaan instruksi branch atau jump. Program Counter mutlak ada dalam suatu mikroprosesor.
6.2.2.5 INDEX REGISTER (IX, IR) Pengalamat pada mikroprosesor terdapat beberapa metode, dua diantaranya adalah ;
Pengalamatan absolut (absolute addressing) : Alamat tujuan = alamat yang ditunjuk
Pengalamatan berindeks (indexed addressing) : Alamat tujuan = isi index register + offset (displacement) Isi index register digunakan sebagai referensi yang dapat diubah-ubah. Pengalamatan berindeks menggunakan index register Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-7
6.2.2.6 STACK POINTER
Stack Pointer (SP) merupakan register alamat (terletak di dalam mikroprosesor) yang digunakan untuk menyimpan (sebuah) alamat berikut (Top of Stack = TOS) dari stack RAM yang dapat diisi.
Stack RAM merupakan suatu memori baca-tulis (RAM) yang pada umumnya terletak di luar mikroprosesor. Digunakan untuk menyimpan data/informasi penting (misalnya : isi accumulator, index register, status register) dalam operasi-operasi yang menggunakan stack pointer, misalnya JSR = Jump Subroutine, RTS = Return from Subroutine, dan sebagainya. Bersifat LIFO (Last In First Out) atau FILO (Fist In Last Out). Bila informasi yang disimpan dikehendaki tetap ada meskipun power off, maka memerlukan VCC stand-by untuk stack RAM. KEUNTUNGAN pemakaian Stack Pointer : Dapat menyimpan data ke Stack RAM tanpa mengganggu data yang sebelumya telah ada Transfer data ke/dari Stack RAM dapat berlangsung cepat dengan instruksi yang relatif singkat, karena informasi alamat telah ada dalam Stack Pointer. Sifat LIFO/FILO Stack RAM dapat digunakan untuk menyimpan return address setelah mikroprosesor melaksanakan program subrutin atau program interupsi. KERUGIAN pemakaian Stack Pointer : Sulit untuk mencari kesalahan dan melakukan koreksi program Mudah melakukan kesalahan jadi perlu hati-hati dalam pemrograman Stack Pointer.
Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-8
6.2.2.7 CONTROL UNIT
Control Unit fungsinya secara umum adalah untuk melakukan sinkronisasi kerja mikroprosesor secara keseluruhan.
Controk Unit pada umumnya terdiri atas : Instruction Register Instruction Decoder : -
bersifat hardwared
-
dengan mikroprogram
Timing and control
6.2.2.8 STATUS REGISTER (Condition Code Register) Bit-bit (keadaan logika) di dalam status register digunakan untuk menunjukkan status (keadaan/kondisi, tanda, flag) mengenai operasi yang sedang atau baru saja dilakukan oleh mikroprosesor.
Contoh Pada mikroprosesor Intel 8080 (atau 8080A)
b7
b6
b5
b4
b3
b2
b1
b0
S
Z
0
Ac
0
P
1
C
Selalu RESET (0) MSB
Selalu SET (1)
LSB
S = Sign Bernilai 1 bila negatif, dan bernilai 0 bila positif
Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-9
Z = Zero Bernilai 1 bila Accumulator/Register bernilai/berisi NOL Bernilai 0 bila Accumulator/Register bernilai/berisi TIDAK NOL
Ac = Auxiliary carry bit Bernilai 1 bila setelah operasi ADA carry di LSB Bernilai 0 bila setelah operasi TIDAK ADA carry di LSB
C = Carry Bernilai 1 bila setelah operasi ADA carry di MSB Bernilai 0 bila setelah operasi TIDAK ADA carry di MSB
P = Parity Bernilai 1 bila setelah operasi jumlah bit 1 = genap Bernilai 0 bila setelah operasi jumlah bit 1 = ganjil
DAFTAR PUSTAKA [1] Lance A. Leventhal, Introduction to Microprocessors : Software, Hardware, Programming, Prentice Hall,1978. [2] Pasahow, Edward, J. , Microprocessor and Microcomputer Interfacing for Electronics Technicians, McGraw-Hill, New York, 1981. [3] Chris H. Pappas dan Willian H. Murray III, 80386 Mikroprocessor Handbook, Osborne McGraw-Hill, 1988 [4] Avtar Singh dan Walter A. Triebel, The 8088 Microprocessor : Programmnig, Interfacing, Software, Hardware, and Applications, Prentice Hall, International Editions, 1989 [5] Charles M.Gilmore , Microprocessors:Principles and Applications, Glencoe/McGraw-Hill, 2nd International Ed. , 1995 [6] Rodnay Azks (alih bahasa : S.H. Nasution), From Chips to Systems : An Introduction to Microprocessors ( Dari Chip ke Sistem : Pengantar Mikroprosesor), Sybec Inc., 1981 (Penerbit Erlangga, 1986). [7] Harry Garland (alih bahasa : M. Barmawi dan M.O. Tjia), Introduction to Microprocessor System Design ( Pengantar Desain Sistem Mikroprosesor), McGraw-Hill Inc., 1979 (Penerbit Erlangga, 1984). [8] Barry B. Brey , Microprocessors and Peripherals : Hardware,Software,Interfacing, and Applications, Merrill Publishing Company, 1988. Sistem Mikroprosesor/Teknik Elektro/FTI/Universitas Jayabaya/Modul ke 6/ Hal 6-10