Anda di halaman 1dari 14

MAKALAH MIKROPROSESOR

ARSITEKTUR, REGISTER DAN MEMORI MIKROPROSESOR


Untuk memenuhi tugas mata kuliah Bahasa Assembly yang dibina oleh Drs. Sujito, M.T

Disusun Oleh : HAPPY SHOLIHUL FATHONI ( 307532352850 )

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MALANG Februari, 2009

BAB I PENDAHULUAN
I.1 Latar Belakang Mikroprosesor secara kasar dapat diterjemahkan sebagai pemroses ataupun pengolah mikro. Akan tetapi secara istilah mikroprosesor daspat diartikan sebagai integrasi/perpaduan dari suatu rangkaian elektronika yang rumit, yang dirancang untuk pekerjaan-pekerjaan yang cukup kompleks. Secara fisik prosesor berbentuk sebuah keping kecil (chip). Mikroprosesor yang dikenal sekarang amat berbeda dari mikroprosesormokroprosesor terdahulu. Telah banyak perkembangan yang terjadi pada mikroprosesor hingga akhirnya menjadi yang seperti dikenal sekarang. Berikut adalah perkembangannya:

1. Mikroprosesor 4 bit Tahun 1971, Intel Corp dan Marcian E. Hoff memperkenalkan mikroprosesor pertama yaitu mikroprosesor 4 bit (Mikroprosesor 4004). Mikroprosesor ini mempunyai 4096 alamat masing-masing 4 bit memori, memiliki 45 buah instruksi yang berbeda dan hanya digunakan untuk keperluan-keperluan yang terbatas.

2. Mikroprosesor 8 bit Pada akhir tahun 1971, Intel memperkenalkan kembali mikroprosesor 8 bit pertama yaitu mikroprosesor 8008. memori mikroprosesor ini lebih besar (16K x 8 bit), dan memiliki 48 instruksi. Sedangkan tahun 1973 Intel memperkenalkan lagi mikroprosesor 8080, mikroprosesor 8 bit modern yang pertama. Perbedaan mikroprosesor 8080 dengan 8008 adalah memori dan jumlah instruksinya yang lebih besar, selain itu kecepatan eksekusinya pun lebih cepat. Tahun 1975 Intel mengeluarkan lagi seri 8085. Tidak banyak perbedaan antara 8080 dengan 8085 hanya saja clocknya yang lebih kecil yaitu 1.3 uS.

3. Mikroprosesor 16 bit Tahun 1978 Intel Corp melepas mikroprosesor 8086 dan kira-kira setahun kemudian intel melepas mikroprosesor 8088 ke pasaran. Kedua mikroprosesor ini adalah mikroprosesor 16 bit dengan kecepatan eksekusi 400 ns, kapasitas alamat 1M (x 8 bit) atau 512 K (x 16 bit). Mikroprosesor 16 bit ini dapat melakukan perkalian dan pembagian secara hardware. Perkembangan mikroprosesor 16 bit selanjutnya yaitu mikroprosesor 80816, yaitu versi 8086 yang lebih canggih yang banyak digunakan untuk keperluan pengendalian. Versi terakhir 8086 adalah 80826 yang memiliki alamat memori 16 Mb dan kecepatan clocknya adalah 16 MHz.

4. Mikroprosesor 32 bit Setelah 16 bit, Intel Corp melepas 2 versi mikroprosesor 32 bit secara langsung yaitu 80386 dan 80846. Kedua mikroprosesor ini mempunyai clock yang lebih tinggi, bus data yang lebih lebar dan memori lebih besar yaitu 4 Gb. Mikroprosesor 80836 mengeksekusi instruksinya daklam waktu 2 clock, sedangkan 80846 adalah pengembangan dari 80836 yang mengeksekusi instruksi dalam waktu 1 clock dan memiliki prosesor tambahan untuk keperluan aritmatika dilengkapi 8 Kb internal cache memory. Setelah 32 bit intel mengeluarkan seri pentium, pentium II, pentium III dan seterusnya. Tentu dengan perkembangan teknologi yang senmakin canggih.

I.2 Rumusan masalah 1. Bagaimanakah arsitektur dasar dari mikroprosesor itu? 2. Apa yang disebut memori itu? 3. Apakah register pada mikroprosesor itu?

I.3 Tujuan 1. Mengetahui arsitektur dari mikroprosesor. 2. Mengetahui apa yang disebut memori. 3. Mengetahui tentang register mikroprosesor.

BAB II PEMBAHASAN
2.1 ARSITEKTUR MIKROPROSESOR Pada dasarnya mikroprosesor memiliki 3 komponen utama yaitu: 1. ALU (Arithmetic Logic Unit) 2. CU (Control Unit) 3. Register

Pengertian dari masing-masing komponen tersebut adalah sebagai berikut:

2.1.1 ALU (Arithmetic Logic Unit) ALU adalah unit mikroprosesor yang menangani operasi-operasi aritmatika seperti penjumlahan, pengurangan dan sebagainya serta melakukan operasi-operasi logika seperti or, and dan sebagainya.

2.1.2 CU (Control Unit) Unit ini berfungsi mengatur semua proses internal seperti pengendalian program, perpindahan data, serta pengendalian I/O pada mikroprosesor.

2.1.3 Register Register adalah memori sementara yang dapat diakses dengan cepat oleh mikroprosesor. Operasi-operasi logika membutuhkan tempat sementara untuk menampung hasil dari tahapan operasi tersebut, pemindahan data pun juga memerlukan tempat penampungan sementara. Tempat sementara itulah yang disebut dengan register.

2.2 REGISTER

Dari gambar di atas dapat disimpulkan bahwa register keluarga intel khususnya untuk mikroprosesor 80386-80486 terdiri dari:

1. General purpose register (register serbaguna) 2. Pointer register (register pointer) 3. Index register (register indeks) 4. Segment register (register segment) 5. Flag register (register status)

Register-register pada mikroprosesor 80386-80486 adalah register 32 bit kecuali register segment yang hanya mempunyai lebar 16 bit. Disamping berfungsi sebagai register 32 bit, register seperti general purpose register, pointer

register, index register dan flag register dapat digunakan sebagai register 16 bit. Khusus untuk general purpose register dapat digunakan sebagai register 8 bit. Penjelasan dari masing-masing register tersebut adalah sebagai berikut:

1. General Purpose Register General purpose register adalah register yang dipakai untuk keperluan umum pemrograman. Setiap general perpose register untuk mikroprosesor 80386-80486 dapat dialamati sebagai register 32 bit,16 bit dan 8 bit. Berikut adalah register-register serbaguna diantaranya:

1.1 Accumulator register Accumulator register adalah register serbaguna yang berfungsi untuk: a. Tempat penyimpanan sementara hasil suatu operasi aritmatika atau logika (register AL, AH, AX dan EAX). Contoh:
ADD AX, DX ; menjumlahkan isi register AX dengan DX, hasilnya disimpan pada register AX XOR AX, AX ; isi register AX di-XOR-kan dengan dirinya sendiri untuk mengosongkan isi register AX SHR AL,2 ; menggeser isi register AL 2 langkah ke kanan.

b. Tempat memasukkan nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi (register AH). Contoh:
.......................... .......................... MOV DL,A dicetak MOV AH, 02h ; memesan layanan pencetakan karakter INT 21H ......................... ......................... ; mencetak register yang ada pada register DL ; mengisi register DL dengan karakter yang akan

c. Tempat mengalikan bilangan yang dikalikan (register AL, AX, EAX) dan setengah bagian terkecil dari hasil suatu perkalian (register DX-AX dan EDX-EAX). Contoh:
MUL CL MUL CX ; mengalikan isi register AL dengan CL ; mengalikan register AX dengan CX

d. Tempat menyimpan setengah bagian terkecil sebuah bilangan yang akan dibagi (register DX-AX dan EDX-EAX) dan hasil suatu pembagian (register AL, AX dan EAX). Contoh:
DIV BL ; isi register AX dibagi dengan isi register BL, hasilnya disimpan dalam register AL dan sisanya di register AH.

1.2 Base Register Base Register adalah register serbaguna yang berfungsi sebagai tempat menyimpan alamat offset data yang terletak di memori (register BL, BH, BX dan EBX). Contoh:
MOV AX, [BX] ; mengopikan data pada lokasi memori yang alamat offsetnya ditunjukkan oleh isi register BX ke register AX.

1.3 Counter Register Ada 4 macam fungsi dari counter register yaitu: a. pencacah untuk operasi loop (register CX dan ECX) b. pencacah untuk register shift dan rotate (register CL) c. pencacah untuk operasi string (register CX)

1.4 Data Register Data register adalah register serbaguna yang dapat berfungsi sebagai berikut: a. tempat menyimpan setengah bagian terbesar dari hasil suatu perkalian bilangan 16 bit (register DX-AX) dan 32 bit (register EDX-EAX).

b. Tempat penyimpanan setengah bagian terbesar suatu bilangan yang akan dikenai operasi pembagian (register DX-AX dan EDX-EAX) serta sisa suatu pembagian (register DX dan EDX).

2. Pointer Register Pointer register adalah register yang sering digunakan untuk menunjukkan alamat sebuah data di lokasi memori walaupun sebenarnya dapat digunakan sebagai general purpose register. Penunjukkan alamat ini biasanya dibutuhkan pada saat operasi perpindahan data dari atau ke memori, operasi stack, dan penunjukkan alamat suatu instruksi yang akan dieksekusi. Berikut adalah register yang termasuk dalam kategori pointer register:

2.1 Stack Pointer Register Stack pointer register berfungsi untuk: a. menunjukkan alamat stack memory pada operasi PUSH and POP b. menyimpan alamat instruksi berikutnya ketika memanggil suatu prosedur (CALL) dan mengarahkan kembali Control Unit ketika prosedur yang dipanggil telah selesai (RET).

2.2 Base Pointer Register (BP) Base pointer register berfungsi untuk menunjukkan alamat sebuah data di suatu lokasi memori.

2.3 Instruction Pointer Register (IP) Instruction pointer register berfungsi untuk menunjukkan alamat instruksi berikutnya.

3. Index Register Index register bisa digunakan sebagai general purpose register akan tetapi lebih sering digunakan untuk menunjukkan alamat sebuah data di lokasi memori pada operasi-operasi string. Index register juga dapat digunakan untuk menunjukkan alamat suatu data bertipe larik di dalam memori. Berikut adalah register-register yang termasuk ke dalam index register:

3.1 Source Index Source Index register biasanya digunakan pada operasi string untuk mengakses alamat suatu data di dalam memori secara langsung. 3.2 Destination Index (DI) Destination index register berfungsi sama seperti source index register.

4. Segment Register Segment register jika digabungkan dengan register-register tertentu bisa membentuk memori bagi suatu data. Segment register mempunyai dua operasi yang berbeda yaitu real mode dan protected mode. Sedangkan yang akan dijelaskan disini adalah segment register dengan operasi real mode.

4.1 Code Segment Register (CS) Code segment register berfungsi untuk menunjukkan alamat instruksi berikutnya. 4.2 Data Segment Register Data segment register berpasangan dengan register-register lainnya berfungsi untuk menunjukkan alamat data pada operasi perpindahan data. 4.3 Extra Segment Register Register ini merupakan register tambahan yang digunakan pada operasi-operasi string. 4.4 Stack Segment Register Stack segment register berfungsi untuk: a. Menunjukkan alamat stack memory pada operasi PUSH and POP b. Menyimpan alamat instruksi berikutnya ketika memanggil suatu prosedur (CALL) dan mengarahkan kembali eksekusi ke program (RET). 4.5 FS dan GS register Register ini merupakan register segment tambahan pada 8083680846 sehingga segmen memori yang dapat diakses program mennjadi lebih besar.

5. Flag Register Flag register berfungsi untuk menunjukkan status sesaat dari mikroprosesor. Flag register mempunyai suatu bit-bit dimana bit-bit tersebut berubah-ubah tergantung proses yang baru saja berlangsung. Bit-bit tersebut adalah sebagai berikut:

a. C (carry) Carry cerfungsi untuk menunjukkan ada tidaknya bawaan setelah operasi pengurangan. Jika C=1 berarti ada bawaan dan jika C=0 berarti tidak ada bawaan, selain itu juga dapat untuk mengindikasikan adalanya kesalahan pada program.

b. P (parity) Parity menunjukkan berapa jumlah bit 1 dalam suatu data, jika P=0 maka paritasnya ganjil dan jika P=1 maka paritasnya genap.

c. A (Auxilary Carry) Auxilary carry menunjukkan ada tidaknya suatu bawaan pada bit ke-3 dan ke-4 pada suatu operasi pengurangan. Jika A=1 berarti ada bawaan sedangkan jika A=0 berarti tidak ada bawaan. Bit A ini jarang digunakan pada kenyataannya.

d. Z (zero) Zero ini menunjukkan apakah hasil dari suatu operasi aritmatika bernilai 0 atau tidak. Jika Z=1 berarti hasilnya 0 dan jika Z=0 berati hasilnya bukan 0. bit zero ini juga dapat menunjukkan kesalahan suatu program maupun prosedur.

e. S (sign) Sign mengindikasikan apakah hasil dari suatu operasi aritmatika bernilai positif atau negatif. Jika S=1 berarti hasil negatif, jika S=0 berarti hasilnya positif.

f. T (trap) Bila trap diset=1 maka dimungkinkan melakukan debugging

(penelusuran kesalahan)

g. I (interrupt) Interrupt ini berfungsi untuk mengendalikan operasi interupsi perangkat keras bila I=1 berarti pin INTR bisa digunakan dan sebaliknya. Untuk mengendalikan bit I ini dapat dilakukan dengan instruksi STI (mengeset I=1) dan CLI (mereset I=0).

h. D (direction) Mengendalikan arah pencacahan baik naik maupun turun pada DI dan SI. Jika D=1 maka arah pencacahan adalah turun begitu sebaliknya jika D=0 arah pencacahan naik. Untuk mengendalikan bit D dapat dilakukan dengan instruksi STD (mengeset D=1) dan CLD (mereset D).

i. O (overflow) Mengindikasikan apakah suatu operasi penjumlahan atau pengurangan melampaui kapasitas mesin ataukah tidak.

j. IOPL (input output privilege level) Digunakan untuk operasi protected mode untuk memilih tingkat keistimewaan piranti masukan-keluaran.

k. NT (nested task) Mengindikasikan apakah operrasi yang sedang dilakukan digandeng dengan operasi lain atau tidak pada operasi protected mode.

l. RF (resume) Digunakan pada saat debugging untuk mengendalikan kelanjutannya yaitu eksekusi.

m. VF (virtual mode) Memilih operasi virtual mode pada operasi protected mode.

n. AC (aligment check) Untuk mengecek apakah suatu dataword atau doubleword dialamati ke memori yang bukan dataword atau bukan doubleword.

2.3 MEMORI 2.3.1 Memori secara logika Memori secara logika adalah memori yang dilihat dari sudut pandang program. Memori secara logika untuk keluarga intel pada dasarnya sama hanya saja yang membedakan adalah kapasitasnya untuk setiap generasi. Cara kerja memori yaitu apabila sebuah data dengan panjang 16 bit jika berada pada lokasi memori 00122h, maka akan disimpan pada alamat 00122h dan 00123h dengan bit terendah pada alamat 00122h. Jika datanya 32 bit maka 4 bit yang akan diakses.

2.3.2 Memori secara fisik Memori secara fisik adalah memori yang berwujud hardware. Pada keluarga intel memori secara fisiknya berbeda-beda, akan tetapi hal ini bukan masalah karena untuk keperluan pemrograman memori diperlukan sebagai memori logika yang lebarnya selalu 8 bit. Memori diorganisasikan pada bank memori (kecuali pada

mikroprosesor 8088). Sebuah bank memori memiliki lebar 8 bit. Jadi dengan demikian sebuah mikroprosesor 16 bit akan memiliki 2 bank memori yang dialamati sebagai byte dan word begitu seterusnya.

2.3.3 Memori pada PC PC dikembangkan dengan organisasi hampir sama seperti

mikroprosesor 8088. oleh karena itu pengorganisasian memori pada PC hampir sama dengan memori 8088 dimana mempunyai memori utama sebesar 1 Mb. Berikut adalah peta memori pada PC

Extended memory

System area / expanded memory TPA (transient program area) / conventional memory

384 KB

640 KB

Gambar 2.3.2 peta memori pada PC

Daerah

640KB

pertama

disebut

TPA

yaitu

tempat

dimana

mikroprosesor meletakkan operating sistem, program-program pengendali I/O dan program-program aplikasi. Lalu setelah itu disebut system area, sistem area dipakai sebagai video display RAM, sebagai tempat untuk meletakkan program BIOS, dan sebagai daerah terbuka untuk mengakses frame yang digunakan untuk mengakses expanded memoy. Daerah memori di atas 1Mb disebut sebagai extended memory dimana dalam pengaksesannya menggunakan teknik ekpanded memory, akan tetapi pada saat sekarang ini teknik menggunakan expanded memory mulai ditinggalkan karena waktu pengaksesan yang relatif lama.

2.3.4 Segment dan Offset Pada Real Mode Memory. Alamat suatu data ditentukan oleh alamat segment dan alamat offset. Biasanya dilambangkan dengan segment:offset. Alamat yang sebenarnya dari segment:offset adalah segmentx10 + offset.

Contoh:

Alamat Relatif 1000 : 0250 0350 : 0100

Segment 1000h 0350h

Offset 0250h 0100h

Proses 1000x10+0250 0350x10+0100

Alamat absolut 10250h 3600h

BAB III PENUTUP


3.1 KESIMPULAN Dari uraian di atas maka dapat disimpulkan bahwa mikroprosesor adalah keping (chip) yang di dalamnya terdapat sistem yang rumit yang tidak dapat bekerja sendiri. Mikroprosesor sendiri juga membutuhkan register ataupun memori untuk bisa bekerja secara optimal dan membantu pekerjaan manusia.

3.2 SARAN Di zaman teknologi semakin maju ini alangkah tertinggalnya manusia jika tidak belajar sesuatu tentang teknologi tersebut, mikroprosesor adalah salah satunya. Dengan mengetahui ilmu-ilmu tentang mikroprosesor manusia dapat bersaing dengan manusia lainnya dalam persaingan global seperti sekarang.