Selasa, 28 Mei 2013
INTERKONEKSI ANTAR KOMPONEN
INTERKONEKSI ANTAR KOMPONEN
Sistem Interkoneksi Dalam Komputer
Organisasi Komputer
by Rheza Ari Wibowo
Sistem Bus
Penghubung bagi keseluruhan komponen computer dalm menjalankan tugasnya
Komponen computer terdiri dari :
CPU
Memori
Perangkat I/O
Transfer data antar komponen computer
Data atau program yang tersimpan dalam memosri dapat diakses dan dieksekusi CPU melalui perantara bus
Melihat hasil eksekusi melalui monitor juga menggunakan system bus
Kecepatan komponen penyusun computer harus diimbangi kecepatan dan manajemen bus yang baik
Mikroprosesor
Melakukan pekerjaan secara parallel
Program dijalankan secara multitasking
System bus tidak hanya lebar tapi juga cepat
Interkoneksi komponen system computer dalam menjalankan fungsinya
Interkoneksi bus
Pertimbangan-pertimbangan perancangan bus
Struktur Interkoneksi
Kumpulan lintasan atau saluran berbagai modul (CPU, Memori,I/O) .Struktur interkoneksi juga bergantung pada
Jenis data
Karakteristik pertukaran data
Jenis data
Memori :
Memori umumnya terdiri atas N word memori dengan panjang yang sama.
Masing–masing word diberi alamat numerik yang unik (0, 1, 2, …N-1). Word
dapat dibaca maupun ditulis pada memori dengan kontrol Read dan Write.
Lokasi bagi operasi dispesifikasikan oleh sebuah alamat.
Modul I/O :
Operasi modul I/O adalah pertukaran data dari dan ke dalam komputer.
Berdasakan pandangan internal, modul I/O dipandang sebagai sebuah memori
dengan operasi pembacaan dan penulisan. Seperti telah dijelaskan pada
bab 6 bahwa modul I/O dapat mengontrol lebih dari sebuah perangkat
peripheral. Modul I/O juga dapat mengirimkan sinyal interrupt.
CPU :
CPU berfungsi sebagai pusat pengolahan dan eksekusi data berdasarkan
routine– routine program yang diberikan padanya. CPU mengendalikan
seluruh system komputer sehingga sebagai konsekuensinya memiliki koneksi
ke seluruh modul yang menjadi bagian sistem komputer.
MODUL-MODUL KOMPUTER
Struktur Interkoneksi
Dari jenis pertukaran data yang diperlukan modul–modul komputer, maka struktur interkoneksi harus mendukung perpindahan data.
Memori ke CPU : CPU melakukan pembacaan data maupun instruksi dari memori.
CPU ke Memori : CPU melakukan penyimpanan atau penulisan data ke memori.
I/O ke CPU : CPU membaca data dari peripheral melalui modul I/O.
CPU ke I/O : CPU mengirimkan data ke perangkat peripheral melalui modul I/O.
I/O ke Memori atau dari Memori : digunakan pada sistem DMA
Perkembangan struktur interkoneksi
Sampai saat ini terjadi perkembangan struktur interkoneksi, namun yang banyak digunakan saat ini adalah sistem bus.
Sistem bus
Digunakan secara tunggal
Digunakan secara jamak,
Hal ini Tergantung karakteristik sistemnya
Interkoneksi bus
Bus
merupakan lintasan komunikasi yang menghubungkan dua atau lebih komponen komputer
Sifat penting dan merupakan syarat utama ?
bus adalah media transmisi yang dapat digunakan bersama oleh sejumlah perangkat yang terhubung padanya
Digunakan bersama ?
Diperlukan aturan main agar tidak terjadi tabrakan data atau kerusakan data yang ditransmisikan.
Walaupun digunakan bersama namun dalam satu waktu hanya ada sebuah perangkat yang dapat menggunakan bus
Interkoneksi Bus – Struktur Bus
Sebuah bus biasanya terdiri atas beberapa saluran.
Sebagai contoh bus data terdiri atas 8 saluran sehingga dalam satu waktu dapat mentransfer data 8 bit.
Secara umum fungsi saluran bus dikatagorikan dalam tiga bagian
Saluran data
Saluran alamat
Saluran control
Pola interkoneksi bus
Saluran data (data bus)
Lintasan bagi perpindahan data antar modul.
Secara kolektif lintasan ini disebut bus data. Umumnya jumlah
saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran
Tujuan : agar mentransfer word dalam sekali waktu.
Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit
Saluran alamat (addres bus)
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
Semua peralatan yang terhubung dengan system komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya
Saluran control (control bus)
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
Semua peralatan yang terhubung dengan system komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya
Sinyal pewaktuan menandakan validitas data dan alamat
Sinyal perintah berfungsi membentuk suatu operasi
Saluran control
Memory Write, memerintahkan data pada bus akan dituliskan ke dalam lokasi alamat.
Momory Read memerintahkan data dari lokasi alamat ditempatkan pada bus data.
I/O Write, memerintahkan data pada bus dikirim ke lokasi port I/O.
I/O Read, memerintahkan data dari port I/O ditempatkan pada bus data.
Transfer ACK, menunjukkan data telah diterima dari bus atau data telah ditempatkan pada bus.
Bus Request, menunjukkan bahwa modul memerlukan kontrol bus.
Bus Grant, menunjukkan modul yang melakukan request telah diberi hak mengontrol bus
Interrupt Request, menandakan adanya penangguhan interupsi dari modul.
Interrupt ACK, menunjukkan penangguhan interupsi telah diketahui CPU.
Clock, kontrol untuk sinkronisasi operasi antar modul.
Reset, digunakan untuk menginisialisasi seluruh modul
Sinyal control secara fisik
Konduktor listrik paralel yang menghubungkan modul – modul.
Konduktor adalah saluran utama pada PCB motherboard dengan layout tertentu sehingga didapat fleksibilitas penggunaan.
Untuk modul I/O biasanya dibuat slot bus yang mudah dipasang dan dilepas
Slot PCI
Slot ISA.
Untuk chips akan terhubung melalui pinnya
Prinsip Operasi bus (Operasi Pengiriman Data ke Modul)
Meminta penggunaan bus
Apabila telah disetuji, modul akan memindahkan data yang diinginkan ke modul yang dituju
Prinsip Operasi Bus (Operasi meminta data dari modul lainnya)
Meminta penggunaan bus
Mengirim request ke modul yang dituju melalui saluran control dan alamat yang sesuai
Menunggu modul yang dituju mengirimkan data yang diinginkan
Hierarki Multiple Bus
Bila terlalu banyak modul atau perangkat dihubungkan pada bus maka akan terjadi penurunan kinerja
Faktor – faktor :
Semakin besar delay propagasi untuk mengkoordinasikan penggunaan bus.
Antrian penggunaan bus semakin panjang.
Dimungkinkan habisnya kapasitas transfer bus sehingga memperlambat data.
Arsitektur Bus Jamak
Prosesor, cache memori dan memori utama terletak pada bus tersendiri
pada level tertinggi karena modul – modul tersebut memiliki
karakteristik pertukaran data yang tinggi.
Pada arsitektur berkinerja tinggi, modul – modul I/O diklasifikasikan menjadi dua,
Memerlukan transfer data berkecepatan tinggi
Memerlukan transfer data berkecepatan rendah.
Modul dengan transfer data berkecepatan tinggi disambungkan dengan bus berkecepatan tinggi pula,
Modul yang tidak memerlukan transfer data cepat disambungkan pada bus ekspansi
Arsitektur Bus Jamak Kinerja Tinggi
Lintasan bagi perpindahan data antar modul.
Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran
Tujuan : agar mentransfer word dalam sekali waktu.
Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit
Saluran alamat (addres bus)
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
Semua peralatan yang terhubung dengan system komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya
Saluran control (control bus)
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
Semua peralatan yang terhubung dengan system komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya
Sinyal pewaktuan menandakan validitas data dan alamat
Sinyal perintah berfungsi membentuk suatu operasi
Saluran control
Memory Write, memerintahkan data pada bus akan dituliskan ke dalam lokasi alamat.
Momory Read memerintahkan data dari lokasi alamat ditempatkan pada bus data.
I/O Write, memerintahkan data pada bus dikirim ke lokasi port I/O.
I/O Read, memerintahkan data dari port I/O ditempatkan pada bus data.
Transfer ACK, menunjukkan data telah diterima dari bus atau data telah ditempatkan pada bus.
Bus Request, menunjukkan bahwa modul memerlukan kontrol bus.
Bus Grant, menunjukkan modul yang melakukan request telah diberi hak mengontrol bus
Interrupt Request, menandakan adanya penangguhan interupsi dari modul.
Interrupt ACK, menunjukkan penangguhan interupsi telah diketahui CPU.
Clock, kontrol untuk sinkronisasi operasi antar modul.
Reset, digunakan untuk menginisialisasi seluruh modul
Sinyal control secara fisik
Konduktor listrik paralel yang menghubungkan modul – modul.
Konduktor adalah saluran utama pada PCB motherboard dengan layout tertentu sehingga didapat fleksibilitas penggunaan.
Untuk modul I/O biasanya dibuat slot bus yang mudah dipasang dan dilepas
Slot PCI
Slot ISA.
Untuk chips akan terhubung melalui pinnya
Prinsip Operasi bus (Operasi Pengiriman Data ke Modul)
Meminta penggunaan bus
Apabila telah disetuji, modul akan memindahkan data yang diinginkan ke modul yang dituju
Prinsip Operasi Bus (Operasi meminta data dari modul lainnya)
Meminta penggunaan bus
Mengirim request ke modul yang dituju melalui saluran control dan alamat yang sesuai
Menunggu modul yang dituju mengirimkan data yang diinginkan
Hierarki Multiple Bus
Bila terlalu banyak modul atau perangkat dihubungkan pada bus maka akan terjadi penurunan kinerja
Faktor – faktor :
Semakin besar delay propagasi untuk mengkoordinasikan penggunaan bus.
Antrian penggunaan bus semakin panjang.
Dimungkinkan habisnya kapasitas transfer bus sehingga memperlambat data.
Arsitektur Bus Jamak
Keuntungan hierarki bus jamak kinerja tinggi
Bus berkecepatan tinggi lebih terintegrasi dengan prosesor.
Perubahan pada arsitektur prosesor tidak begitu mempengaruhi kinerja bus
Sumber : http://blog.student.uny.ac.id/rheza/2011/04/06/sistem-interkoneksi-dalam-komputer/
PERBEDAAN DATA DAN INFORMASI
PERBEDAAN DATA DAN INFORMASI
1. DATA
Secara umum dapat dijelaskan sebagai berikut :
Data adalah bentuk jamak dari datum, berasal dari bahasa Latin yang
berarti “sesuatu yang diberikan”. Dalam penggunaan sehari-hari data
berarti suatu pernyataan yang diterima secara apa adanya. Pernyataan ini
adalah hasil pengukuran atau pengamatan suatu variabel yang bentuknya
dapat berupa angka, kata-kata, atau citra.
Data adalah deskripsi dari sesuatu dan kejadan yang kita hadapi (data is the description of things and events that we face).
Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan
kesatuan nyata. Kejadian (event) adalah sesuatu yang terjadi pada saat
tertentu. Sebagai contoh, pendapatan Telkom salah satunya adalah
pemakaian telepon dari pelanggan yang disimpan dalam bentuk AMA oleh
Telephone Exchange dan setiap bulannya diolah menjadi suatu nilai-nilai
tertentu yang akan ditagihkan ke pelanggan tersebut. Kesatuan nyata
(fact and entity) adalah berupa suatu obyek nyata seperti tempat, benda
dan orang yang betul-betul ada dan terjadi.
data adalah informasi yang disimpan yang dapat sewaktu – waktu di gunakan oleh penggunannya
Data Terdiri dari fakta-fakta dan angka-angka yang secara relatif tidak berarti bagi pemakai
Sumber dari informasi adalah data. Data merupakan bentuk jamak dari
bentuk tunggal data-item. Data merupakan bentuk yang belum dapat
memberikan manfaat yang besar bagi penerimanya, sehingga perlu suatu
model yang nantinya akan dikelompokkan dan diproses untuk menghasilkan
informasi.
2. INFORMASI
Definisi informasi adalah :
data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang
menerimanya.
Informasi diartikan sebagai hasil pe-ngolahan data yang digunakan untuk
suatu keperluan, sehingga penerimanya akan mendapat rangsangan untuk
melakukan tindakan.
Informasi merupakan Data yang sudah diproses, Data yang sudah memiliki makna serta Data yang ditempatkan pada suatu konteks.
Sudah banyak literatur yang meyakinkan kita, betapa pentingnya data dan
informasi. Salah satunya, sebuah buku yang ditulis tahun 1949 bertitel
Mathematical Theory of Communications. Informasi, begitu tulis buku itu,
merupakan “hal yang mengurangi ketidakpastian”. Bila demikian, maka
“abad informasi” yang dahsyat sekarang sebetulnya suatu ledakan
non-informasi. Suatu ledakan data – apa yang takkan dikatakan kepada
Anda oleh internetmania – ialah bahwa internet merupakan lautan data
yang belum disunting, tanpa suatu pretensi kelengkapan apa pun juga.
Artinya, ia hanya sekadar “data”. Karena ia hanya “record” sesuatu.
Misalnya, data penjualan, data transaksi, laporan tahunan, dan
sejenisnya.
Akan halnya informasi, harus bermuara pada “pemahaman”. Artinya, apa
yang menjadi informasi bagi seseorang barangkali hanya merupakan data
bagi orang lain. Apabila sesuatu tidak masuk akan bagi Anda, maka
sesuatu tersebut bukanlah informasi.
Informasi akan menjadi pengetahuan, bila ia dapat dipahami,
diinterpretasi, dan diaplikasi. Dalam “pengetahuan”, terjadi proses
internalisasi informasi yang menggabungkan faktor keyakinan, motivasi,
dan komitmen. Kita tak pernah “tahu” tentang “sesuatu”, sampai ia dapat
dievaluasi, diterima oleh keyakinan dan nilai-nilai yang kita anut. Pada
saat inilah, pengetahuan menjadi “kekuatan” (powerful).
Sumber : http://satriamanagement88.blogspot.com/2013/04/perbedaan-data-dan-informasi.html
BAGAIMANA ETIKA INSTRUKSI PADA MIKROPROSESOR ?
ETIKA INSTRUKSI PADA MIKROPROSESOR
CPU (Central Processing Unit) adalah otak atau sumber dari komputer yang
mengatur dan memproses seluruh kerja komputer. Fungsi utama CPU adalah
menjalankan program-program yang disimpan di memori utama. Hal ini
dilakukan dengan cara mengambil instruksi-instruksi dari memori utama
dan mengeksekusinya satu persatu sesuai dengan alur perintah.
Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama
sekali diletakkan di MAA (melalui Input-storage); apabila berbentuk
instruksi ditampung oleh Control Unit di Program-storage, namun apabila
berbentuk data ditampung di Working-storage). Jika register siap untuk
menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi
dari Program-storage untuk ditampungkan ke Instruction Register,
sedangkan alamat memori yang berisikan instruksi tersebut ditampung di
Program Counter. Sedangkan data diambil oleh Control Unit dari
Working-storage untuk ditampung di General-purpose register (dalam hal
ini di Operand-register). Jika berdasar instruksi pengerjaan yang
dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih
operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya
ditampung di Akumulator. Apabila hasil pengolahan telah selesai, maka
Control Unit akan mengambil hasil pengolahan di Accumulator untuk
ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah
selesai, maka Control Unit akan menjemput hasil pengolahan dari
Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari
Output-storage, hasil pengolahan akan ditampilkan ke output-devices.
CPU dalam mengeksekusi suatu instruksi dilakukan dalam dua tahapan yaitu
membaca instruksi (fetch) dan melaksanakan instruksi tersebut
(execute). Proses membaca dan melaksanakan ini dilakukan berulang-ulang
sampai semua instruksi yang terdapat di memori utama dijalankan atau
komputer dimatikan. Proses ini dikenal juga sebagai siklus
fetch-eksekusi.
Siklus Intruksi
- Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau
menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya
melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya.
Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki
panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
- Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
-Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk
menentukan jenis operasi yang akan dibentuk dan operand yang akan
digunakan.
-. Operand Address Calculation (OAC), yaitu menentukan alamat operand,
hal ini dilakukan apabila melibatkan referensi operand pada memori.
- Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
- . Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
- Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori
Aksi – Aksi CPU
- CPU Memori, perpindahan data dari CPU ke memori dan sebaliknya
- CPU – I/0, perpindahan data dari CPU ke modul I/0 dan sebaliknya
-Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data
- Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi
Sumber : http://blog.ub.ac.id/anggita/2011/10/03/proses-eksekusi-instruksi-pada-mikroprosesor-atau-cpu/
Senin, 27 Mei 2013
CARA PEMROSESAN EKSEKUSI INSTRUKSI MIKROPROSESOR
Cara Pemrosesan Eksekusi Instruksi Mikroprosesor
Arsitektur umum mikroprosesor
Secara umum, mikroprosesor berisi :
- unit aritmetika/logika (ALU),
- register,
- bus internal, serta unit kendali,
seperti terlihat pada Gambar berikut ini
Register dan ALU dihubungkan dengan bus 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.
Sebagai contoh.
misalkan kita hendak menjumlahkan data dari suatu lokasi di memori dengan data dari 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 oleh mikroprosesor ada di memori, berupa urutan data-data biner yang merupakan bahasa mesin mikroprosesor. Mikroprosesor mengambil instruksi biner tersebut dari memori yang ditunjuk oleh sebuah register yang bernama Program Counter atau register PC.
Mula-mula bus alamat diisi dengan informasi alamat di mana letak instruksi berikutnya yang hendak dijalankan dengan register PC. Lalu mikroprosesor mengambil instruksi tersebut melalui bus data dan menyimpannya di Instruction Register (IR) atau register Instruksi.
Selanjutnya isi register PC ditambah satu, dengan demikian akan menunjuk ke alamat memori berikutnya di mana instruksi berikutnya akan dijalankan lagi. Secara simbolik kejadian di atas dapat dituliskan sebagai berikut:
Mem(PC) → IR
PC + 1 → PC
Setelah register IR berisi instruksi biner, unit kendali lalu menerjemahkannya dan mengeksekusinya.
Apa yang dilakukan oleh mikroprosesor tergantung dari instruksi yang diberikan tersebut. Misalnya instruksinya adalah operasi menjumlahan isi register B dengan isi suatu memori dan hasilnya disimpan di dalam register B lagi, maka operasi yang akan dijalankan adalah oleh mikroprosesor adalah:
Mem(PC) → MA
PC + 1 → PC
B + Mem(MA) → B
Mikroprosesor Intel 8086
Intel 8086 adalah mikroprosesor 16 bit, di mana dia dapat bekerja secara internal menggunakan operasi 16 bit dan secara eksternal dapat mentransfer data 16 bit melalui bus data.
Prosesor 8086 dapat dihubungkan dengan bus alamat yang berukuran 20 bit, sehingga mampu mengalamati memori maksimal 220 = 1.048.576 byte (1 MB).
Diagram blok arsitektur 8086 dapat dilihat pada Gambar berikut.
Mikroprosesor 8086 terbagi atas 2 unit, yaitu unit antarmuka bus (bus interface unit, BIU) dan unit pengeksekusi (execution unit, EU).
Unit Antarmuka Bus (BIU)
Unit ini merupakan bagian yang berhubungan langsung dengan “pihak luar”: bus alamat dan bus data.
BIU : mengirim alamat ke bus alamat, mengambil instruksi (fetch) dari memori, membaca data dari port dan memori, serta menulis data ke port dan memori (menangani transfer data antara bus dan unit eksekusi).
BIU tersusun atas:
Instruction Stream Byte Queue (ISBQ).
BIU memfetch instruksi dari memori sebanyak-banyaknya 6 buah instruksi ke depan. Hal ini dilakukan agar eksekusi progam menjadi lebih cepat.
Instruksi yang sudah diambil ini ditaruh di ISBQ yang berupa 6 buah register first-in-first-out. BIU dapat melakukan fetching selagi EU menerjemahkan dan mengeksekusi instruksi yang tidak membutuhkan penggunaan bus (misalnya operasi matematis menggunakan register internal).
Ketika EU selesai melaksanakan suatu instruksi, maka dia tinggal mengambil perintah berikutnya di ISBQ, tanpa harus mengirim alamat ke memori untuk mengambil instruksi berikutnya, sehingga eksekusi akan lebih cepat. Kegiatan fetching instruksi berikutnya selagi menjalankan suatu instruksi disebut sebagai: pipelining.
Pada mikroprosesor yang lebih baru, ukuran ISBQ tidak hanya 6 byte tetapi mencapai 512 byte, ini efektif untuk program yang mempunyai banyak Looping (struktur program yang berulang).
Register segmen.
BIU berisi 4 buah register segmen 16 bit, yaitu:
•code segment (CS),
•data segment (DS),
•extra segment (ES),
•stack segment (SS).
Sistem komputer 8086 mempunyai bus alamat 20 bit, tetapi ukuran register - termasuk register alamat (memory address register) – yang dimilikinya hanya 16 bit, lantas bagaimana cara mengatasinya.
1. Cara pemberian alamat 20 bit dilakukan menggunakan 2 komponen alamat: segmen dan offset, yang masing-masing berukuran 16 bit.
2. BIU akan menggeser ke kiri nilai segmen sebanyak 4 bit, kemudian menambahkan offset untuk memperoleh alamat fisik memori yang dikirimkan melalui bus alamat.
3. Untuk lebih jelasnya, diberi contoh untuk memberi alamat fisik $38AB4, segmen dapat diisi dengan angka $348A, dan offset diisi dengan angka $4214, lihat Gambar berikut.
Cara penulisan kombinasi segmen dan offset adalah:
segmen:offset
Sehingga untuk contoh ini, penulisannya adalah $348A:$4214.
Perlu diingat bahwa kita bisa menggunakan kombinasi nilai segmen dan offset yang bervariasi untuk memberi alamat fisik yang sama,
misalnya $38AB:$0004, $3800:$0AB4, dsb.
Secara umum, suatu program terdiri atas 4 bagian:
•segmen code yang berisi instruksi;
•segmen data, berisi data yang telah dialokasikan sebelumnya (statik);
•segmen ekstra, untuk variabel dinamik;
•segmen stack yang dipakai untuk menyimpan informasi pada saat pemanggilan subrutin.
Informasi segmen disimpan dalam keempat register segmen sesuai dengan namanya.
Instruction Pointer (IP), adalah register berisi informasi offset yang bersama-sama CS menunjuk posisi dalam memori di mana instruksi berikutnya berada.
Unit Eksekusi (EU)
Unit ini memberitahu BIU di mana mengambil instruksi dan data, menerjemahkan kode instruksi, dan menjalankannya.
EU tersusun atas:
Dekoder instruksi, yang mengambil urut-urutan instruksi dari ISBQ kemudian menerjemahkannya 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 dari mikroprosesor yang dapat melakukan operasi matematis (misalnya operasi penjumlahan, pengurangan, perkalian, dan pembagian) dan logika (misalnya operasi AND, OR, XOR, geser, dan rotasi) 16 bit.
Register flag (bendera), yaitu register flip-flop 16 bit yang menunjukkan kondisi yang dihasilkan oleh eksekusi suatu operasi oleh EU. Selain itu flag juga mengatur beberapa operasi tertentu. Terdapat 9 flag dalam register flag 8086, seperti terlihat pada Gambar berikut.
Sebanyak 6 buah flag merupakan flag kondisi yang menunjukkan keadaan setelah eksekusi suatu instruksi, yaitu:
•Carry Flag (CF),
•Parity Flag (PF),
•Auxiliary Carry Flag (AF),
•Zero Flag (ZF),
•Sign Flag (SF), dan
•Overflow Flag (OF).
Sedangkan, 3 buah flag sisanya berupa flag kontrol yang mengendalikan operasi tertentu, yaitu:
•Single Step Trap Flag (TF),
•Interrupt Flag (IF), dan
•String Direction Flag (DF).
o CF akan diset (bernilai 1) jika sebuah operasi menghasilkan simpanan (carry) melebihi bit terpenting (most significat bit, MSB, atau bit 15), dan sebaliknya direset (bernilai 0) apabila tidak ada simpanan.
o PF diset jika suatu operasi memberikan hasil dengan parity genap, dan direset jika hasilnya berparity ganjil.
o AF mirip dengan CF, namun diset oleh operasi BCD (binary coded decimal).
o ZF diset jika suatu operasi menghasilkan nol.
o SF merupakan nilai MSB hasil operasinya, yang menunjukkan tanda; diset jika hasil bertanda negatif dan direset jika hasil bertanda positif.
o OF diset jika hasil operasi melebihi tempat yang disediakan.
Flag kondisi akan digunakan oleh perintah tertentu untuk menentukan pencabangan atau lompatan. Sedangkan flag kontrol dapat diatur dengan perintah tertentu.
• Jika TF diset bernilai 1, maka mikroprosesor akan bekerja langkah demi langkah, sehingga dapat digunakan untuk mencek jalannya suatu program.
• IF digunakan untuk mengatur apakah kerja mikroprosesor dapat diinterupsi atau tidak.
• DF digunakan untuk menentukan arah operasi string.
Register serbaguna,
merupakan register yang dapat digunakan untuk menyimpan data yang akan diolah atau hasil suatu operasi oleh ALU.
Terdiri atas 8 buah register 8 bit, yaitu AH, AL, BH, BL, CH, CL, DH, dan DL.
Register-register ini juga dapat digunakan secara berpasangan sehingga membentuk register 16 bit, yaitu; AX (gabungan dari AH dan AL), BX, CX, dan DX.
•AX biasanya digunakan untuk menyimpan hasil operasi, sehingga disebut akumulator.
•CX biasanya digunakan untuk pencacah untuk keperluan perulangan/kalang (loop), sehingga disebut counter.
•BX dan DX biasanya digunakan sebagai offset dari alamat data di memori (dengan segmen DS).
Register pointer dan indeks,
terdiri atas :
•Stack Pointer (SP),
•Base Pointer (BP),
•Source Index (SI), dan
•Destination Index (DI).
Stack (tumpukan) adalah bagian dari memori yang digunakan untuk menyimpan informasi alamat program yang ditinggalkan pada saat terjadi pemanggilan subrutin/subprogram. Demikian juga apabila subrutin tersebut berupa fungsi yang menggunakan parameter, maka data parameter akan disimpan pula di stack. Alamat tumpukan terluar dari stack ditunjuk oleh SS:SP.
BP digunakan sebagai offset yang menunjuk ke parameter-parameter fungsi yang dipanggil.
SI dan DI biasanya digunakan sebagai offset (masing-masing berpasangan dengan ES dan DS) yang menunjuk ke suatu variabel/data untuk operasi string (larik data).
Sumber : http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&ved=0CFEQFjAG&url=http%3A%2F%2Fwahyukr.staff.gunadarma.ac.id%2FDownloads%2Ffiles%2F20447%2Farsitektur%2Bmikroprosesor.doc&ei=X_2RUfrqAomCrgez7IBg&usg=AFQjCNFHRDokJLOW4bFwqAPGlhkP_atCFA&sig2=JFL9ifOmYG5S_BkAUymINw&bvm=bv.46471029,d.bmk
Arsitektur umum mikroprosesor
Secara umum, mikroprosesor berisi :
- unit aritmetika/logika (ALU),
- register,
- bus internal, serta unit kendali,
seperti terlihat pada Gambar berikut ini
Register dan ALU dihubungkan dengan bus 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.
Sebagai contoh.
misalkan kita hendak menjumlahkan data dari suatu lokasi di memori dengan data dari 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 oleh mikroprosesor ada di memori, berupa urutan data-data biner yang merupakan bahasa mesin mikroprosesor. Mikroprosesor mengambil instruksi biner tersebut dari memori yang ditunjuk oleh sebuah register yang bernama Program Counter atau register PC.
Mula-mula bus alamat diisi dengan informasi alamat di mana letak instruksi berikutnya yang hendak dijalankan dengan register PC. Lalu mikroprosesor mengambil instruksi tersebut melalui bus data dan menyimpannya di Instruction Register (IR) atau register Instruksi.
Selanjutnya isi register PC ditambah satu, dengan demikian akan menunjuk ke alamat memori berikutnya di mana instruksi berikutnya akan dijalankan lagi. Secara simbolik kejadian di atas dapat dituliskan sebagai berikut:
Mem(PC) → IR
PC + 1 → PC
Setelah register IR berisi instruksi biner, unit kendali lalu menerjemahkannya dan mengeksekusinya.
Apa yang dilakukan oleh mikroprosesor tergantung dari instruksi yang diberikan tersebut. Misalnya instruksinya adalah operasi menjumlahan isi register B dengan isi suatu memori dan hasilnya disimpan di dalam register B lagi, maka operasi yang akan dijalankan adalah oleh mikroprosesor adalah:
Mem(PC) → MA
PC + 1 → PC
B + Mem(MA) → B
Mikroprosesor Intel 8086
Intel 8086 adalah mikroprosesor 16 bit, di mana dia dapat bekerja secara internal menggunakan operasi 16 bit dan secara eksternal dapat mentransfer data 16 bit melalui bus data.
Prosesor 8086 dapat dihubungkan dengan bus alamat yang berukuran 20 bit, sehingga mampu mengalamati memori maksimal 220 = 1.048.576 byte (1 MB).
Diagram blok arsitektur 8086 dapat dilihat pada Gambar berikut.
Mikroprosesor 8086 terbagi atas 2 unit, yaitu unit antarmuka bus (bus interface unit, BIU) dan unit pengeksekusi (execution unit, EU).
Unit Antarmuka Bus (BIU)
Unit ini merupakan bagian yang berhubungan langsung dengan “pihak luar”: bus alamat dan bus data.
BIU : mengirim alamat ke bus alamat, mengambil instruksi (fetch) dari memori, membaca data dari port dan memori, serta menulis data ke port dan memori (menangani transfer data antara bus dan unit eksekusi).
BIU tersusun atas:
Instruction Stream Byte Queue (ISBQ).
BIU memfetch instruksi dari memori sebanyak-banyaknya 6 buah instruksi ke depan. Hal ini dilakukan agar eksekusi progam menjadi lebih cepat.
Instruksi yang sudah diambil ini ditaruh di ISBQ yang berupa 6 buah register first-in-first-out. BIU dapat melakukan fetching selagi EU menerjemahkan dan mengeksekusi instruksi yang tidak membutuhkan penggunaan bus (misalnya operasi matematis menggunakan register internal).
Ketika EU selesai melaksanakan suatu instruksi, maka dia tinggal mengambil perintah berikutnya di ISBQ, tanpa harus mengirim alamat ke memori untuk mengambil instruksi berikutnya, sehingga eksekusi akan lebih cepat. Kegiatan fetching instruksi berikutnya selagi menjalankan suatu instruksi disebut sebagai: pipelining.
Pada mikroprosesor yang lebih baru, ukuran ISBQ tidak hanya 6 byte tetapi mencapai 512 byte, ini efektif untuk program yang mempunyai banyak Looping (struktur program yang berulang).
Register segmen.
BIU berisi 4 buah register segmen 16 bit, yaitu:
•code segment (CS),
•data segment (DS),
•extra segment (ES),
•stack segment (SS).
Sistem komputer 8086 mempunyai bus alamat 20 bit, tetapi ukuran register - termasuk register alamat (memory address register) – yang dimilikinya hanya 16 bit, lantas bagaimana cara mengatasinya.
1. Cara pemberian alamat 20 bit dilakukan menggunakan 2 komponen alamat: segmen dan offset, yang masing-masing berukuran 16 bit.
2. BIU akan menggeser ke kiri nilai segmen sebanyak 4 bit, kemudian menambahkan offset untuk memperoleh alamat fisik memori yang dikirimkan melalui bus alamat.
3. Untuk lebih jelasnya, diberi contoh untuk memberi alamat fisik $38AB4, segmen dapat diisi dengan angka $348A, dan offset diisi dengan angka $4214, lihat Gambar berikut.
Cara penulisan kombinasi segmen dan offset adalah:
segmen:offset
Sehingga untuk contoh ini, penulisannya adalah $348A:$4214.
Perlu diingat bahwa kita bisa menggunakan kombinasi nilai segmen dan offset yang bervariasi untuk memberi alamat fisik yang sama,
misalnya $38AB:$0004, $3800:$0AB4, dsb.
Secara umum, suatu program terdiri atas 4 bagian:
•segmen code yang berisi instruksi;
•segmen data, berisi data yang telah dialokasikan sebelumnya (statik);
•segmen ekstra, untuk variabel dinamik;
•segmen stack yang dipakai untuk menyimpan informasi pada saat pemanggilan subrutin.
Informasi segmen disimpan dalam keempat register segmen sesuai dengan namanya.
Instruction Pointer (IP), adalah register berisi informasi offset yang bersama-sama CS menunjuk posisi dalam memori di mana instruksi berikutnya berada.
Unit Eksekusi (EU)
Unit ini memberitahu BIU di mana mengambil instruksi dan data, menerjemahkan kode instruksi, dan menjalankannya.
EU tersusun atas:
Dekoder instruksi, yang mengambil urut-urutan instruksi dari ISBQ kemudian menerjemahkannya 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 dari mikroprosesor yang dapat melakukan operasi matematis (misalnya operasi penjumlahan, pengurangan, perkalian, dan pembagian) dan logika (misalnya operasi AND, OR, XOR, geser, dan rotasi) 16 bit.
Register flag (bendera), yaitu register flip-flop 16 bit yang menunjukkan kondisi yang dihasilkan oleh eksekusi suatu operasi oleh EU. Selain itu flag juga mengatur beberapa operasi tertentu. Terdapat 9 flag dalam register flag 8086, seperti terlihat pada Gambar berikut.
Sebanyak 6 buah flag merupakan flag kondisi yang menunjukkan keadaan setelah eksekusi suatu instruksi, yaitu:
•Carry Flag (CF),
•Parity Flag (PF),
•Auxiliary Carry Flag (AF),
•Zero Flag (ZF),
•Sign Flag (SF), dan
•Overflow Flag (OF).
Sedangkan, 3 buah flag sisanya berupa flag kontrol yang mengendalikan operasi tertentu, yaitu:
•Single Step Trap Flag (TF),
•Interrupt Flag (IF), dan
•String Direction Flag (DF).
o CF akan diset (bernilai 1) jika sebuah operasi menghasilkan simpanan (carry) melebihi bit terpenting (most significat bit, MSB, atau bit 15), dan sebaliknya direset (bernilai 0) apabila tidak ada simpanan.
o PF diset jika suatu operasi memberikan hasil dengan parity genap, dan direset jika hasilnya berparity ganjil.
o AF mirip dengan CF, namun diset oleh operasi BCD (binary coded decimal).
o ZF diset jika suatu operasi menghasilkan nol.
o SF merupakan nilai MSB hasil operasinya, yang menunjukkan tanda; diset jika hasil bertanda negatif dan direset jika hasil bertanda positif.
o OF diset jika hasil operasi melebihi tempat yang disediakan.
Flag kondisi akan digunakan oleh perintah tertentu untuk menentukan pencabangan atau lompatan. Sedangkan flag kontrol dapat diatur dengan perintah tertentu.
• Jika TF diset bernilai 1, maka mikroprosesor akan bekerja langkah demi langkah, sehingga dapat digunakan untuk mencek jalannya suatu program.
• IF digunakan untuk mengatur apakah kerja mikroprosesor dapat diinterupsi atau tidak.
• DF digunakan untuk menentukan arah operasi string.
Register serbaguna,
merupakan register yang dapat digunakan untuk menyimpan data yang akan diolah atau hasil suatu operasi oleh ALU.
Terdiri atas 8 buah register 8 bit, yaitu AH, AL, BH, BL, CH, CL, DH, dan DL.
Register-register ini juga dapat digunakan secara berpasangan sehingga membentuk register 16 bit, yaitu; AX (gabungan dari AH dan AL), BX, CX, dan DX.
•AX biasanya digunakan untuk menyimpan hasil operasi, sehingga disebut akumulator.
•CX biasanya digunakan untuk pencacah untuk keperluan perulangan/kalang (loop), sehingga disebut counter.
•BX dan DX biasanya digunakan sebagai offset dari alamat data di memori (dengan segmen DS).
Register pointer dan indeks,
terdiri atas :
•Stack Pointer (SP),
•Base Pointer (BP),
•Source Index (SI), dan
•Destination Index (DI).
Stack (tumpukan) adalah bagian dari memori yang digunakan untuk menyimpan informasi alamat program yang ditinggalkan pada saat terjadi pemanggilan subrutin/subprogram. Demikian juga apabila subrutin tersebut berupa fungsi yang menggunakan parameter, maka data parameter akan disimpan pula di stack. Alamat tumpukan terluar dari stack ditunjuk oleh SS:SP.
BP digunakan sebagai offset yang menunjuk ke parameter-parameter fungsi yang dipanggil.
SI dan DI biasanya digunakan sebagai offset (masing-masing berpasangan dengan ES dan DS) yang menunjuk ke suatu variabel/data untuk operasi string (larik data).
Sumber : http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&ved=0CFEQFjAG&url=http%3A%2F%2Fwahyukr.staff.gunadarma.ac.id%2FDownloads%2Ffiles%2F20447%2Farsitektur%2Bmikroprosesor.doc&ei=X_2RUfrqAomCrgez7IBg&usg=AFQjCNFHRDokJLOW4bFwqAPGlhkP_atCFA&sig2=JFL9ifOmYG5S_BkAUymINw&bvm=bv.46471029,d.bmk
Langganan:
Postingan (Atom)