Universitas Gadjah Mada 1 BAB VII

advertisement
BAB VII
MIKROPROSESOR
VII.1. Sejarah Perkembangan Mikroprosesor
Mikroprosesor pertama adalah mikroprosesor 4004 yang mempunyai 2250 transistor
PMOS, dimana menangani data 4 bit dan dapat mengeksekusi 60 ribu operasi per detik.
Mikroprosesor 4004 mi adalah salah satu dan sen IC untuk komponen kalkulator, dimana
4001: memori ROM 2048 bit; 4002 : memori RAM 320 bit; serta 4003 : register geser 110 10
bit.
Pada tahun 1972, mikroproseso 8008 ditemukan oleh Don Lancaster dengan bus
data 8 bit yang merupakan cikal-bakal personal computer. Mikroprosesor 8008
membutuhkan 20 komponen tambahan untuk bekerja penuh sebagai CPU (Central
Processing Unit). Lalu tahun 1974, 8080 menjadi otak personal computer pertama yang
membutuhkan 2 (dua) perangkat tambahan untuk bekerja. Selain itu, 8080 terbuat dan
transistor NMOS yang bekerja lebih cepat.
Tahun 1978 IBM menciptakan personal computer PC-XT yang sangat populer
menggunakan mikroprosesor 8086 dan 8088. Keduanya mampu menangani data 16 bit.
Bedanya hanya pada ukuran bus data yang hanya 8 (delapan) bit untuk 8088 (operasi
internal 16 bit), dan 16 bit untuk 8086. Kemudian Intel membuat 80186 dan 80188 yang juga
berisi perangkat peripheral terprogram. Tahun 1982, 80286 adalah prosesor pertama yang
dapat menjalankan perangkat lunak yang ditulis untuk pendahulunya, karena instruksi yang
dimiliki oleh sen sebelumnya semuanya dimiliki dan ditambahi dengan instruksi lain. Tahun
1985, Intel membuat Mikroprosesor 80386 (386TM) yang mengandung 275 ribu transistor,
dan merupakan mikroprosesor 32 bit yang dapat melakukan multi tasking (menjalankan
beberapa program dalam waktu bersamaan). Tahun 1989, Intel 486TM adalah prosesor
pertama yang mempunyai math coprosesor secara built-in di dalamnya.
Tahun 1993, lahir keluarga prosesor pentium®, 1985 prosesor pentium ® Pro
didesain untuk server 32 bit mengandung 5,5 juta transistor dan mempunyai chip memory
cache kedua di dalamnya. Tahun 1997 dibuat prosesor pentium® II dengan 7,5 juta
transistor dan teknologi MMX., yang didesain khusus untuk memproses data video, audio
dan grafik secara efisien. Tahun 1999, muncul pentium III dengan 70 instruksi barn yang
mendukung Internet Streaming SIMD. Prosesor ini berisi 9,5 juta transistor, dan
mengintroduksi teknologi 0,25 micron. Dan sampai sekarang telah keluar Pentium IV dimana
mikroprosesomya 64 bit sehingga operasi-operasi matematis yang dilakukan dapat lebih
cepat dan juga sudah banyak dijumpai kompoter Laptoph.
Mikroprosesor sebagai komponen utama dalam sistem mikroprosesor dapat
dikelompokkan menurut:
Universitas Gadjah Mada
1
a. Teknologi yang digunakan.
b. Jumlah bit data.
c. Kemampuan atau Karakteristik Mikroprosesor.
Disamping teknologi PMOS (Metal-Oxide Semikonduktor Kanal P) dan teknologi
NMOS (Metal-Oxide Semikonduktor Kanal N) yang paling banyak digunakan sebagai
teknologi pembuatan mikroprosesor masih ada teknologi lain yaitu:
1. Teknologi CMOS (Complementary Metal-Oxide Semiconduktor).
2. Teknologi CMOS-SOS (Teknologi CMOS menggunakan subtrat saphirc silicon on
sapphire).
3. Teknologi Bipolar jenis ECL (Emitter-Coupled-Logic).
4. Teknologi Bipolar jenis Schottky
5. Teknologi Bipolar jenis 12L (Integrated-Injection-Logic).
Mengingat makin banyak macam dan jenis mikroprosesor yang ada maka dalam memilih
komponen mikroprosesor beberapa hal penting yang dipertimbangkan yaitu:
1. Pertimbangan sistim meliputi karakteristik sistim, jumlah supplier, harga dan
ketersediaan.
2. Pertimbangan hardware meliputi jumlah bit data, macam, kemampuan dan waktu
instruksi dan macam bahasa.
VII.2. Teori Sistem Mikroprosesor
VII.2.a. Mikroprosesor / CPU
Mikroprosesor adalah “otak” yang merupakan pengendali utama semua operasi
dalam
sistem
komputer.
Mikroprosesor
mengambil
instruksi
biner
dan
memori,
menerjemahkannya menjadi serangkaian aksi dan menjalankannya. Aksi tersebut bisa
berupa transfer data dari dan ke memori, operasi aritmatika dan logika, atau pembangkitan
sinyal kendali.
Mikroprosesor sebagai pusatnya (CPU = Central Processing Unit), memori, port
input/output serta Bus.
Universitas Gadjah Mada
2
Gambar 7.1. Diagram Skematis Arsitektur Komputer
Memori adalah komponen yang digunakan untuk menyimpan instruksi-instruksi biner
yang akan dijalankan oleh mikroprosesor, serta data yang digunakan untuk bekerja.
Dalam pandangan penulis, yang dimaksud sebagai memori yang dapat diakses oleh
mikroprosesor, yaitu RAM (Random Access Memory) yang dapat dibaca dan ditulis dan
ROM (Read Only Memory) yang hanya dapat dibaca saja.
Sedangkan komponen penyimpan data yang lain, seperti floppy disk, harddisk,
CDROM dan lain-lain, dikelompokkan sebagai perangkat (device) input output. Setiap lokasi
data dalam memori diberi alamat tertentu sehingga dapat secara khusus dituju oleh
mikroprosesor
Dalam sistem komputer, memori tidak ada alamat yang saling bertindihan. Satuan
memori menentukan ukuran data pada setiap lokasi di memori, pada komputer satuan
memori biasanya adalah 8 bit (1 byte), sedangkan pada mainframe ada yang bersatuan 12
bit atau 16 bit.
Memori dapat berupa memori statik yang tersusun atas matriks flip-flop yang masingmasing menyimpan bit-bit biner. Bisa juga berupa memori dinamik yang tersusun atas
banyak kapasitor yang ada tidaknya muatan listriknya menandakan isyarat biner. Karena
pada kapasitor terjadi peluruhan muatan, maka pada setiap selang waktu tertentu (misalnya
setiap milidetik) harus di-refresh agar kembali ke keadaan semula.
Port input/output adalah komponen yang menghubungkan mikroprosesor dengan
perangkat luar (harddisk, printer, keyboard, monitor dan lain-lain. Jadi port disini berlaku
sebagai pintu ke luar. Sebagaimana memori, port I/O juga bukan merupakan komponen
tunggal (artinya ada banyak port di dalam sistem komputer) yang masing-masing diberi
alamat tertentu. Dengan demikian mikroprosesor tahu, misalnya kemana untuk mengirim
data ke printer, mengambil data dan mouse dan sebagainya.
Bus adalah kumpulan jalur yang menghubungkan ketiga komponen di atas. Bus
dalam sistem komputer dibagi tiga kelompok yaitu:
Universitas Gadjah Mada
3
1. Bus alamat (Address Bus)
Yang digunakan oleh mikroprosesor untuk menginim informasi alamat memori
atau port I/0 yang dapat dihubungi olehnya. Ukuran Bus alamat menentukan
berapa kapasitas memori yang ada, misalnya ukuran Bus alamat 16 bit (16 jalur
alamat) akan mampu mengalamati 2 pangkat 16 atau 65536 (64 kb) lokasi
memori.
2. Bus Data (Data Bus)
Yang digunakan untuk lewatnya data dan dan ke masing-masing komponen
diatas. Bus data mempunyai ukuran tertentu misalnya 8, 16 atau 32 jalur. Ukuran
ini tidak selalu sama dengan ukuran data pada setiap lokasi memori. Misalnya
apabila berukuran memori adalah 8 bit, maka dengan bus data 32 bit akan dapat
memindahkan 4 (empat) data (menulis / membaca empat lokasi memori)
sekaligus.
3. Bus Kendali (Control Bus)
Yang berisi jalu-jalur untuk keperluan mengirim sinyal kendali antar komponen,
misalnya sinyal yang menandakan isyarat untuk membaca, ataumenulis,
pemilihan memori atau port, intrupsi, dan lain-lain. Isyaratisyarat mi yang
kemudian menentukan aksi apa yang harus dilakukan oleh masing-masing
komponen.
Program adalah urutan instruksi yang akan dijalankan oleh mikroprosesor.
Program mi terletak di dalam memori. Mikroprosesor melakukan fetch and
execute dengan cara mengambil instruksi hendak dijalankan dan lokasi memori
tersebut (fetch), menerjemahkan, dan kemudian menjalankannya (execute),
secara praktis hal di atas terjadi dengan cara mikroprosesor mengisi bus alamat
dengan alamat instruksi berikutnya di dalam memori. Lalu memori mengirimkan
instruksi yang ada di alamat tersebut melalui bus data. Karena ukuran instruksi
tidak mesti hanya satu bisa juga suatu instruksi terdiri atas 3 (tiga) byte misalnya,
maka operasi fetch mi diulang sampai instruksi yang diambil dan memori lengkap,
setelah itu mikroprosesor menerjemahkan instruksi tersebut ke dalam aksi yang
harus dijalankan. Selesai menjalankannya kemudian melakukan fetch dan
execute untuk instruksi berikuitnya. Demikianlah dilakukan berulang-ulang, satu
instruksi demi satu instruksi.
VII.2.b Arsektur Internal Mikroprosesor
i.
Arsitektur umum mikroprosesor
Secara umum, mikroprosesor berisi unit anitmatika / logika (ALU), register,
bus internal, serta unit kendali. Register dan ALU dihubungkan dengan bus
Universitas Gadjah Mada
4
internal dalam mikroprosesor sehingga register dan memori (melalui bus data)
dapat mensuplai data ke ALU dan menerima hasilnya. Dalam contoh ini, terdapat
2 buah register A dan B, yang digunakan untuk secara temporer menyimpan hasil
komputasi. Bus internal X dan Y digunakan untuk mentransfer data sebagai
operand yang akan diolah ALU. Bus internal Z digunakan untuk mentransfer hasil
operasi ALU ke register atau memori (melalui bus data). Register MA (memory
address) berisi informasi alamat memori yang akan diakses. Unit kendali
mengendalikan semua operasi dalam mikroprosesor. Perhatikan kepala panah
yang menunjukkan arah aliran data.
Gambar 7.2. Arsitektur Umum Mikroprosesor
Sebagai contoh, misalkan kita hendak menjumlahkan data dan suatu lokasi
di memoni dengan data dan register A serta menyimpannya di register B.
Register MA diisi dengan alamat memori yang akan dibaca, lalu register A
dihubungkan ke bus X, bus data dihubungkan ke bus Y, dan Bus Z dihubungkan
dengan register B, kemudian ALU melakukan operasi penjumlahan.
Instruksi yang dijalankan mikroprosesor ada di memori, berupa urutan datadata biner yang merupakan bahasa mesin mikroprosesor. Mikroprosesor
mengambil instruksi biner tersebut dan memoni yang ditunjuk oleh sebuah
register yang bernama program counter atau register PC. Mula-mula bus alamat
diisi dengan informasi alamat dimana letak instruksi berikutnya yang hendak
dijalan dengan register PC. Lalu mikroprosesor mengambil instruksi melalui bus
data dan menyimpannya di Instruction Register atau register JR. Selanjutnya diisi
register PC ditambah satu dengan demikian akan menunjuk ke alamat memori
Universitas Gadjah Mada
5
berikutnya dimana instruksi berikutnya akan dijalankan lagi. Secara simbolik
kejadian diatas dapat ditulis sebagai berikut:
Apabila instruksi yang sudah diambil belum merupakan instruksi yang utuh
(setiap instruksi bisa tersusun atas lebih dan 1 byte) maka kejadian diatas diulang
lagi.
Setelah register IR berisi instruksi biner, unit kendali menerjemahkannya dan
mengeksekusinya. Apa yang dilakukan mikroprosesor tergantung dan instruksi
yang berikan tersebut, misalnya instruksinya adalah opresi penjumlahan isi
register B dengan isi suatu memori dan hasilnya hasilnya disimpan di register B
lagi (alamat memori yang hendak ditarnbah merupakan bagian dan instruksi),
maka operasi yang dijalankan mikroprosesor adalah:
Mikroprosesor 16 bit contohnya adalah Intel 8086, di mana dapat bekerja
secara internal menggunakan operasi 16 bit dan secara eksternal dapat
menstransfer data 16 bit melalui bus data. Prosesor 8086 dapat dihubungkan
dengan bus alamat yang berukuran 20 bit, sehingga mampu mengalamati
memori maksimal 2 20= 1.048.576 byte (1 MB). Mikroprosesor 8086 terbagi atas
dua unit, yaitu Unit antar muka bus (bus interface unit) dan unit pengeksekusi
(execution unit).
ii. Arsitektur Sistem
Mikroprosesor sebagai suatu sistem arsitekturnya dapat digambarkan seperti
gambar dibawah ini. Masing-masing komponen dan sistem dihubungkan satu
sama lain melalui tiga saluran bus.
Universitas Gadjah Mada
6
Gambar 7.3. Arsitektur Sistem Mikroprosesor
VII.3. Unit Antarmuka Bus (BIU = Bus Interface Unit)
Unit ini merupakan bagian yang berhubungan langsung dengan pihak luar Bus
alamat dan Bus data. Bus Interface Unit (BIU) mengirim alamat ke Bus alamat, mengambil
instruksi (fetch) dan memori, membaca data dan port dan memori, serta menulis data ke port
dan memori (menangani transfer data antara bus dan unit eksekusi). Bus Interface Unit (BIU)
mem-fetch instruksi dan memori sebanyak-banyaknya 6 buah instruksi ke depan. Hal ini
dilakukan agar eksekusi program menjadi lebih cepat. Instruksi yang sudah diambil ini
ditaruh di ISBQ (Instruction Stream Byte Queue) yang berupa 6 buah register first-in-first-out.
Bus Interface Unit dapat melakukan fletching selagi Execution Unit (EU)
menerjemahkan dan mengeksekusi instruksi yang tidak membutuhkan penggunaan bus
(misalnya operasi matematis menggunakan register internal). Ketika execution unit selesai
melakukan suatu instruksi, maka dia tinggal mengambil perintah berikutnya di Instruction
Stream Byte Queue (ISBQ), tanpa harus mengirim alamat ke memori untuk mengambil
instruksi berikutnya, sehingga eksekusi akan lebih cepat.
Kegiatan fetching Insruksi berikutnya selagi menjalan sutau produksi disebut sebagai
pipelining.
Bus Interface Unit berisi 4 buah register segmen 16 bit, yaitu: code segmen (CS),
data segmen(DS), extra segmen (ES), dan stack segmen(SS).
Secara umum suatu program terdiri dan 4 (empat) bagian: segmen code yang berisi
instmksi, segmen data berisi data yang telah dialokasikan sebeluninya (statik), segmen
ekstra untuk variabel dinamik, serta segman stack yang dipakai untuk menyimpan informasi
Universitas Gadjah Mada
7
pada saat pengambilan subrutin. Informasi segman disimpan dalam keempat register
segmen sesuai dengan namanya.
Instruction Pointer (IP) adalah register berisi informasi offset yang bersama-sama CS
menunjuk posisi dalam memori dimana instruksi berikutnya berada.
Unit Esekusi (EU) unit ini memberitahu Bus Interface Unit dimana mengambil
instruksi dan data, menerjemahkan kode instruksi, dan menjalankannya EU tersusun atas:
Dekoder instruksi yang mengambil urut-urutan instruksi dan ISBQ kemudian
menerjermahkannya ke runtutan aksi yang harus dikerjakan oleh EU.
Sistem kontrol merupakan rangkaian yang mengendalikan kerja mikroprosesor
berdasarkan instruksi yang telah diterjemahkan oleh dekoder instruksi tadi.
Arithmetic Logic Unit (ALU) yaitu bagian dan mikroprosesor yang dapat melakukan
operasi matematis (misalnya operasi penjumlahan, pengurangan, perkalian, pembagian) dan
logika (misalnya operasi AND, OR, XOR, geser dan rotasi) 16 bit.
Register Flag (bendera) yaitu register flip-flop 16 bit yang menunjukan kondisi yang
dihasilkan oleh eksekusi suatu operasi oleh EU. Selain itu flag juga mengatur beberapa
operasi tertentu.
Sebuah mikroprosesor dihubungkan dengan komponen lain untuk membentuk
sebuah sistem komputer melalui bus data, bus alamat, dan bus kendali. Sebagian pin pada
mikroprosesor dihubungkan ke komponen lain secara langsung, misalnya pin M/IO, RD, WR,
INTA. Namun sebagian lain dihubungkan melalui komponen buffer dan latch.
Gambar 7.4. Koneksi Mikroprosesor
Komponen buffer dan Latch tersebut dipakai urituic memsahkax informasi dan
mikroprosesor ke dalam bus data dan bus alamat sistem komputer.
Universitas Gadjah Mada
8
VII.4. Dekoder Alamat Mikroprosesor
Informasi dalam bus alamat digunakan untuk mengaktifkan memori atau port yang
diakses mikroprosesor. Komponen yang mempunyai alamat yang sama dengan nilai bus
alamat akan merespon dengan membaca yang ada di bus data atau menulis data ke dalam
bus data. Hal ini dapat dilakukan dengan memasang dekoder alamat pada setiap komponen
yang terhubung dengan bus alamat seperti tampak pada Gambar 7.5.
Pada Gambar 7.5., tampak jalur-jalur pada bus alamat digunakan sebagai masukkan
dekoder alamat. Demikian juga sebagian jalur dan bus kendali disambungkan ke dekoder
alamat, sedangkan sebagian lagi langsung terhubung ke komponen port atau memori
(diantaranya adalah RD dan WR). Keluaran dekoder alamat dihubungkan dengan pin yang
digunakan untuk mengaktifkan komponen, misalnya CS (chip select), CE (Chip enable), atau
G (gate). Dekoder alamat ini pada dasarnya adalah sebuah rangkaian kombinatorial gerbang
logika yang memberikan sinyal keluaran aktif saat nilai yang ada dalam bus alamat
bersesuaian dengan alamat yang telah ditetapkan untuk komponen tersebut.
Gambar 7.5. Dekoder Alamat pada Port dan Memori
Universitas Gadjah Mada
9
Download