Fungsi Microprosesor
sebagai unit yang mengendalikan seluruh kerja sistem mikroprosesor. Beberapa fungsi lain dari
mikroprosesor, antara lain :
Arsitektur Mikroprosesor
Arsitektur mikroprosesor menunjukkan rancangan tentang perangkat lunak dan perangkat keras yang
terpadu menjadi satu.
1. Complex Instruction Set Computer (CISC) adalah jenis arsitektur mikroprosesor yang
menggunakan banyak jenis dan ragam instruksi. CISC menyediakan kemampuan setiap instruksi
dapat mengeksekusi operasi low-level, seperti men-load data dari memori, operasi aritmetika,
dan melakukan prosedur penyimpanan ke memori.
2. Reduce Instruction Set Computer (RISC) merupakan arsitektur instruction set yang menekankan
kepada kesederhanaan instruksi bekerja sedikit tetapi tetap memberikan hasil performansi
yang tinggi. Hal ini bisa terjadi karena proses eksekusi instruksinya sangat cepat.
3. Mikroprosesor Superskalar adalah mikroprosesor yang menggunakan instruksi-instruksi biasa
(aritmetika, floating point, store, branch) tetapi bisa diinisialisasi secara simultan dan dapat
dieksekusi secara independen.
I/O Terisolasi
I/O Terpetakan dalam Memori
Arsitektur Harvard
1. Menggunakan desain pengalamatan atau pemetaan I/O terpisah atau terisolasi dengan
pengalamatan atau pemetaan memori.
3. Pada arsitektur Harvard antara memori program dan memori data dipisahkan atau diisolasi.
Panjang Kata (Word) menyatakan jumlah bit yang dapat diproses oleh prosesor dalam sekali waktu
(siklus). Panjang berupa 8 bit, 16 bit, 32 bit. Semakin besar panjang bitnya semakin tinggi kecepatannya.
Memori yang dapat dialamati Sel Memori biasanya diatur dalam bentuk array, dengan tiap sel dapat
menyimpan satu bit informasi.Blok memori yang menggunakan 16 jalur alamat dan 8 jalur data. Untuk
16 jalur alamat, maka jumlah word total yang dapat dialamati adalah 65535 (216). Sehingga kapasitas
memori total pada blok diatas adalah 65535 byte (64 Kilobyte).
Karakteristik Arsitektur RISC (Reduced Instruction Set Computer)
One cycle execution time Satu putaran eksekusi -> Prosessor RISC mempunyai CPI (clock per
instruction) atau waktu per instruksi untuk setiap putaran.
Pipelining Teknik yang memungkinkan dapat melakukan eksekusi secara simultan.
Large number of registers Jumlah register yang sangat banyak-> RISC di Desain dimaksudkan
untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak
terjadi interaksi yang berlebih dengan memory.
Segmen register Terdiri atas register CS, DS, ES dan SS. Untuk menunjukkan alamat dari suatu
segmen.
Pointer dan index register Terdiri atas register SP, BP, SI dan DI. Sebagai penunjuk atau pointer
terhadap suatu lokasi di memory.
General purpose register Terdiri atas register AX, BX, CX dan DX. yang masing-masing terdiri atas
16 bit.
Index pointer register Register IP berpasangan dengan CS(CS:IP) menunjukkan alamat memory
tempat dari intruksi(perintah) selanjutnya yang akan dieksekusi.
Flags register Register flip-flop 16 bit ini menunjukkan kondisi dari suatu keadaan< ya atau tidak
>.
Himpunan Intruksi
1. Pengiriman data yang memuat pergerakan data antara CPU dan lokasi memori, contoh :
Memuat accumulator dengan isi memory (LDA).
Menyimpan isi accumulator ke dalam memory (STA).
Memuat register X dengan isi memori (LDX).
2. Aritmatika & logika berisi instruksi-instruksi untuk melakukan operasi aritmatika & logika,
Contoh:
3. Tes & cabang menyediakan fasilitas bagi mikroprosesor untuk melakukan serangkaian operasi
dengan cara melompat atau mencabang ke bagian lain dari program, contoh:
Melompat ke subrutin (JSR).
Mencabang jika hasilnya negatif (BMI).
Mencabang jika sama (BEQ).
1. HALF ADDER
Rangkaian Half Adder merupakan dasar penjumlahan bilangan Biner yang terdiri dari satu bit,
oleh karena itu dinamai Penjumlah Tak Lengkap.
2. FULL ADDER
Full Adder menjumlahkan dua bilangan yang telah dikonversikan menjadi bilangan-bilangan biner.
Masing-masing bit pada posisi yang sama saling dijumlahkan. Full Adder sebagai penjumlah pada bit-bit
selain yang terendah. Full Adder menjumlahkan dua bit input ditambah dengan nilai Carry-Out dari
penjumlahan bit sebelumnya. Output dari Full Adder adalah hasil penjumlahan (Sum) dan bit
kelebihannya (carry-out).
3. PARALEL ADDER
Rangkaian Parallel Adder adalah rangkaian penjumlah dari dua bilangan yang telah
dikonversikan ke dalam bentuk biner. Anggap ada dua buah register A dan B, masing-masing register
terdiri dari 4 bit biner : A3A2A1A0 dan B3B2B1B0.
CU (Control Unit )
Control Unit (CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/
kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut.
Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.
Macam-macam CU :
1. Single-Cycle CU Proses di CUl ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada
satu cycle, maka dari itu tidak memerlukan state.
2. Multi-Cycle CU multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode,
fungsi boolean dari masing-masing output control line dapat ditentukan.
Jenis-jenis register(lanjutan)
General Purpose Register
Register SP (Stack Pointer, 16 bit) : Digunakan untuk operasi stack seperti menyimpan alamat
return saat memanggil subroutine.
Register BP (Base Pointer, 16 bit) : Sebagai penunjuk base dalam stack yang disediakan untuk
penyimpanan data.
Register SI dan DI (Source Index dan Destination index, 16 bit) : Menyimpan nilai-nilai offset
dalam segment data memori pada saat bersangkutan.
Register IP (Instruction Pointer, 16 bit) : register utama untuk menunjukkan baris perintah
program. Pada saat program dijalankan, IP akan langsung menunjuk pada awal program.
Code Segment dan Instruction Pointer berfungsi sebagai program counter ditulis dengan format
CS:IP.
Register CS (Code Segment) : Mencatat segment dari kode program atau instruksi, register CS
berpasangan dengan register IP (Instruction Pointer) dalam format CS:IP.
Register DS (Data Segment) : Menyimpan alamat dari segment dimana data terletak.
Register SS (Stack Segment) : Menyimpan alamat segment memori yang dipergunakan sebagai
stack.
Register ES (Extra Segment) : Menyimpan alamat segment tambahan, misalnya alamat display,
alamat sistem operasi, dan sebagainya.
4. Register Flag
CF (Carry Flag): Dimana sebuah carry out atau borrow, jika hasilnya adalah bit tertinggi (nilai 1).
PF (Parity Flag): Menset (nilai 1), jika instruksi menghasilkan sebuah angka genap (even parity).
AF (Auxiliary Flag): Digunakan oleh instruksi pegaturan desimal.
ZF(Zero Flag): Menset (nilai 1), jika hasil instruksi adalah 0.
SF (Sign Flag): Menset (nilai 1), jika hasilnya adalah negatif dan bernilai 0 jika positif.
OF (Overflow Flag): Menunjukkan sebuah operasi yang tidak benar yaitu merubah hasil daripada
tanda bit.
IF (Interrupt Enable Flag): Jika diset (nilai 1) dapat melakukan operasi interupsi dan sebaliknya
bila bernilai 0, maka interupsi tidak dapat dilakukan.
DF (Direction Flag): Mengontrol arah dari operasi string.
Control Logic
Control logika adalah bagian penting dari program perangkat lunak yang mengendalikan operasi
program. Logika kontrol merespon perintah dari pengguna, dan ia juga bertindak sendiri untuk
melakukan tugas otomatis yang telah terstruktur ke dalam program.
Mnemonic
Mnemonic adalah seperangkat instruksi pemrograman yang mudah diingat yang kemudian
diterjemahkan ke dalam kode mesin oleh sebuah perangkat lunak yang disebut 'assembler'.
Contoh code mesin dalam bentuk mnemonic : LD AL, 32h -> LD AL (operand destinasi), 32h
(operand Source)
Register
Memory
Data Immediate.
Register Ke Register
Memori Ke Register
Data Immediate Ke Register
Register Ke Memori
Memori Ke Memori
Data Immediate Ke Memori
Instruksi transfer data 16 bit dapat terjadi Diantara:
Register Ke Register :Transfer data 16 bit register ke register dapat terjadi diantara
register 16 bit yaitu register SP, HL, IX, dan IY.
Memori Ke Register :Transfer data 16 bit dari memori ke register dapat terjadi terhadap
register IX, IY, BC, DE, HL, SP dan AF
Data Immediate Ke Register :Transfer data immediate 16 bit ke register dapat terjadi
terhadap register BC, DE, HL, SP, IX, dan IY.Perintah yang digunakan adalah LD (Load).
Register Ke Memori
Memori Ke Memori
Data Immediate Ke Memori
Pertukaran data dapat terjadi diantara register DE, HL, BC, BC, DE, HL, memori, memori
dengan register.
Untuk mengetahui nilai sebuah data dalam suatu lokasi memori perlu melakukan pembandingan
dan pelacakan.
Perintah pelacakan data yang digunakan adalah CPI (compare increment), CPIR (compare
increment repeat), CPD (compare decrement), CPDR (compare decrement repeat).
Instruksi Aritmatika
Instruksi artimatika melakukan operasi dasar seperti ADD, SUB, DIV, MUL dalam sistem bilangan
biner.
Namun dalam mikroprosesor Zilog Z-80 CPU instruksi-instruksi aritmetika yang disediakan hanya
(ADD,ADC) dan (SUB,SBC).
instruksi Assembly Operasi
ADD ADD A,(HL) A <- A + (HL)
SUB SUB B A <- A- B
ADC ADC A,B A<-A+B+Cy
SBC SBC A, B A <- A - B - Cy
INC INC A A<- A+1
DEC DEC A A<-A-1
AND AND A A<- A^A
5. HALT
NOP : NO OPERATION
DAA :
Desimal Biner
------------------------------------- +