0
SISTEM BUS DAN INTERRUPT
Posted by jujur
on
4:01 PM
Nim :
10112672
Nama :
Jujur Soaloon
Kelas :
If-16
Dosen :M.FajarW,
S.kom
Organisasi dan Arsitektur Komputer
SISTEM
BUS DAN INTERRUPT
1. Pengertian Sistem Bus
Bus adalah
Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan
untuk menghubungkan berbagai subsistem.
System bus atau bus sistem, dalam arsitektur komputer merujuk
pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua
komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur
di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk
komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program
yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui
perantara sistem bus.Suatu Komputer tersusun atas beberapa komponen penting
seperti CPU, memori, perangkat Input/Output. setiap computer saling berhubungan
membentuk kesatuan fungsi. Sistem bus adalah penghubung bagi keseluruhan
komponen computer dalam menjalankan tugasnya. Transfer data antar komponen
komputer sangatlah mendominasi kerja suatu computer. Data atau program yang
tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus,
begitu juga kita dapat melihat hasil eksekusi melalui monitor juga menggunakan
system bus.
Ø Elemen-Elemen Rancangan Bus
Jenis BUS
·
Dedicated
Merupakan metode di mana setiap bus ( saluran ) secara permanen diberi
fungsi atau subset fisik komponen komputer.
·
Time Multiplexed
Merupakan metode penggunaan bus yang sama untuk berbagai keperluan,sehingga
menghemat ruang dan biaya.
Metode Arbitrasi
Metode
arbitrasi adalah metode pengaturan dari penggunaan bus, dan dapat dibedakan
atas :
·
Tersentralisasi : menggunakan arbiter sebagai pengatur
sentral
·
Terdistribusi : setiap bus memiliki access control
logic
Timing
Timing
berkaitan dengan cara terjadinya event yang diatur pada bus system dan dapat dibedakan atas:
·
Synchronous
Terjadinya event pada bus ditentukan oleh clock ( pewaktu )
·
Asynchronous
Terjadinya sebuah event pada bus mengikuti dan tergantung
pada event
sebelumnya
Lebar Bus
Semakin lebar bus data, semakin besar bit yang dapat ditransfer pada suatu
saat.
Jenis
Transfer Data
Transfer data yang menggunakan bus
di antaranya adalah :
1. Operasi Read
2. Operasi Write
3. Operasi Read Modify Write
4. Operasi Read After Write
5. Operasi Block
Ø Bus System dapat dibedakan atas :
Saluran Data
Saluran data memberikan lintasan bagi perpindahan data antara dua modul
sistem. Saluran ini secara kolektif disebut bus data. Umumnya bus data terdiri
dari 8, 16, 32 saluran, jumlah saluran diakitakan denang lebar bus data. Karena
pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit, maka
jumlah saluran menentukan jumlah bit yang dapat dipindahkan pada suatu saat.
Lebar bus data merupakan faktor penting dalam menentukan kinerja sistem secara
keseluruhan.
Saluran
Alamat
Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus
data. Lebar bus alamat akan menentukan kapasitas memori maksimum sistem. Selain
itu, umumnya saluran alamat juga dipakai untuk mengalamati port-port
input/outoput. Biasanya, bit-bit berorde lebih tinggi dipakai untuk memilih
lokasi memori atau port I/O pada modul.
Saluran
Kontrol
Saluran kontrol digunakan untuk mengntrol akses ke
saluran alamat dan penggunaan data dan saluran alamat. Karena data dan saluran
alamat dipakai bersama oleh seluruh komponen, maka harus ada alat untuk
mengontrol penggunaannya.
Ø Cara Kerja Sistem Bus
Pada sistem komputer yang lebih maju, arsitektur
komputernya akan lebih kompleks, sehingga untuk
meningkatkan performa, digunakan
beberapa buah bus. Tiap bus merupakan jalur data antara beberapa device yang
berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dihubungkan oleh bus
utama berkecepatan tinggi yang lebih dikenal dengan nama FSB (Front Side Bus) .
Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang
berkecepatan lebih rendah yang terhubung dengan bus lain yang lebih cepat
sampai ke bus utama. Untuk komunikasi antar bus ini digunakan sebuah bridge.
Ø Pengertian Interrupt
·
Interupsi
adalah suatu permintaan khusus pada mikroprocessor untuk melakukan sesuatu,
jika terjadi interupsi maka komputer akan menghentikan dahulu apa yang sedang
dikerjakan dan melakukan apa yang diminta oleh yang menginterupsi.
·
Interrupt
merupakan sub rutin yang sudah tersedia dalam memori computer.
·
Program
yg melayani suatu interupsi dinamakan Interrupt Handler.
Proses
yang dilakukan oleh mikrokontroler saat melayani interrupt adalah sebagai
berikut:
1. Instruksi
terakhir yang sedang dijalankan diselesaikan terlebih dahulu
2. Program
Counter (alamat dari instruksi yang sedang berjalan) disimpan ke stack
3. Interrupt
Status disimpan secara internal
4. Interrupt
dilayani sesuai peringkat dari interrupt (lihat Interrupt Priority)
5. Program
Counter terisi dengan alamat dari vector interrupt (lihat Interrupt Vector)
sehingga mikrokontroler langsung menjalankan program yang terletak pada vector
interrupt
Program pada vector
interrupt biasanya diakhiri dengan instruksi RETI di mana pada saat ini proses
yang terjadi pada mikrokontroler adalah sebagai berikut:
1. Program
Counter diisi dengan alamat yang tersimpan dalam stack pada saat interrupt
terjadi sehingga mikrokontroler kembali meneruskan
2. program
di lokasi saat interrupt terjadi Interrupt Status dikembalikan ke kondisi
terakhir sebelum terjadi interrupt
Ø Jenis-Jenis Interrupts
Internal HW interruptions
·
Ditimbulkan/digenerasi
oleh peristiwa tertentu yang terjadi pada waktu/selama eksekusi program.
·
Diatur
oleh HW dan tidak mungkin diubah.
·
Contoh:
tipe interrupt u/ counter clock internal; HW call interrupt ini u/ memaintance
“time to date”.
External HW interupstions
·
Ditimbulkan/digenerasi
oleh devais peripheral, mis keyboard,printers, dsb.
·
Biasa
juga ditimbulkan/digenerasi oleh Co-prosessor.
·
Tidak
mungkin mendeaktivekan
·
Tidak
dikirim langsung ke CPU, melainkan ke IC yang memiliki fungsi u/ menghandle
secara eksklusive interrupts ini. (IC => PIC8259A, yg dikontrol oleh CPU dgn
menggunakan urutan komunikasi => PATH Control.
Contoh Kasus
- Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi.
- Proses selanjutnya adalah pengalihan eksekusi interupsi mudul komunikasi, sedangkan interupsi printer ditangguhkan.
- Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk ditangguhkan.
- Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk.
- Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer. Selanjutnya dilanjutkan eksekusi program utama
Ø SIKLUS INTERUKSI
Fetch dan Eksekusi
Pada awal setiap siklus instruksi,
CPU membaca instruksi dari memori. Pada CPU yang umum, suatu register yang
disebut program counter (PC) dipakai untuk mengawasi instruksi yang akan dibca
selanjutnya.
Intruksi yang dibaca akan dimuatkan
ke dalam sebuah register di dalam CPU yang dikenal sebagai instruction register
(IR). CPU menginterpretasikan intruksi dam melakukan aksi yang diperlukan.
Secara umum, aksi-aksi ini dapat dibagi menjadi empat kategori:
- CPU-Memori: data dapat dipindahkan dari CPU ke memori atau dari memori ke CPU.
- CPU-I/O: Data dapat kea tau dunia luar denga pemindahan antara CPU dan modul I/O.
- Pengolahan data: CPU dapat membentuk sejumlah operasi aritmetik atau logic terhadap data.
- Control: Sebuah instruksi dapat menguabah urutan eksekusi (misalnya, insruksi lompat IAS, Tabel 2.1). Misalnya, CPU dapat membaca instruksi dari lokasi 149, yang menentukan bahwa instruksi berikutnya dibaca dari lokasi 182. CPU akan mengingat hal ini dengan menyetel program counter ke 182. Jadi, pada siklus fetch berikutnya, instruksi akan dibaca dari lokasi 182, bukannya 150.
CPU terdiri dari akumulator (AC)
untuk menyimpan data secara sementara. Baik data dan instruksi panjangnya 16
bit. Format instruksi, menandakan bahwa akan terdapat sejumlah 24 =
16 op code yang berlainan dan sejumlah 212 = 4096 (4K) word memori
yang dapat diamati secara langsung.
Diperlukan tiga buah instruksi, yang
dapat dijelaskan sebagai tiga siklus fetch dan tiga eksekusi :
1.
Program counter (PC) berisi 300 alamat instruksi pertama. Alamat ini dimuatkan
ke dalam instruction register (IR). Perlu dicatat bahwa proses ini akan
melibatkan penggunaan memory address register (MAR) dan memory buffer register
(MBR). Untuk mudahnya, register-register intermediate-nya di abaikan.
2. 4
bit pertama di dalam IR mengindikasikan bahwa akumulator (AC) akan dimuatkan.
12 bit sisanya menentukan alamat, yaitu 940.
3. PC
dinaikkan nilainya, dan instruksi berikutnya akan diambil.
4. Isi
AC yang lama dan isi lokasi 941 ditambahkan, dan hasilnya disimpan di dalam AC.
5. PC
dinaikkan nilainya, dan instruksi berikutnya akan diambil.
6. Isi
PC akan disimpan pada lokasi 941.
Instruksi PDP-11 yang diungkapkan
secara simbolik sebagai ADD B, A menyimpan jumlah isi lokasi memori B dan A ke
dalam lokasi memori A. Terjadi suatu siklus instruksi tunggal dengan
langkah-langkah sebagai berikut.
1.
Mengambil (fetch) instruksi ADD,
2.
Membaca isi lokasi memori A ke dalam CPU.
3.
Membaca isi lokasi memori B ke dalam CPU. Agar isi A tidak hilang, CPI harus
memiliki sedikitnya dua buah register untuk menyimpan nilai-nilai memoti.
4. Menambahkan
kegua nilai itu.
5.
Menuliskan hasilnya dari CPU Kke lokasi memori A.
Jadi, siklus eksekusi untuk instruksi
tertentu dapat melibatkan lebih dari sebuah referensi ke memori, juga,
disamping referensi memori, suatu instruksi dapat menentukan suatu operasi I/O.
Untuk sembarang siklus instruksi yang diketahui, sebagian keadaan dapat null
dan lainnya dapat lebih dari sekali. Keadaan teersebut adalah :
- Instruction Address Calculation (aic): Menenetukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya, hal ini melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya.
- Instruction Fetch (if): Membaca instruksi dari lokasi memorinya ke dalam CPU.
- Instruction Operation Decoding (oac): Bila operasi melibatkan referensi ke operand didalam memori atau dapat diperoleh melalui I/O, maka tentukan alamat operand.
- Operand Fetch (of): Ambil operand dari memori dan baca operand itu dari I/O.
- Data Operation (do): Bentuk operasi yang ditunjukkan di dalam instruksi.
- Operand Store (os): Tuliskan hasilnya ke dalam memori atau keluarkan ke I/O.
Untuk sebagian mesin, instruksi
tunggal dapat menentukan operasi yang akan di bentuk pada suatu vector (array
dimensi satu) bilangan-bilangan atau suatu string (array dimensi satu)
karakter-karakter.
Ø Interkoneksi antar komponen dan analisanya
INTERKONEKSI BUS
BUS adalah Jalur komunikasi yang dibagi pemakai Suatu set
kabel tunggal yang digunakan untuk menghubungkan berbagai sub sistem.
Karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi
yang dapat digunakan bersama. Sejumlah perangkat yang terhubungke bus dan suatu
sinyal yang ditransmisikan oleh salah satu perangkat ini dapat ditermia oleh
salah satu perangkat yang terhubungke bus. Bila dua buah perangkat melakukan
transmisi dalam waktu yang bersamaan, makasi nyal-sinyal nyaakan
bertumpangtindih dan menjadi rusak. Dengan demikain, hanya sebuah perangkat
saja yang akan berhasil melakukan transimi pada suatu saat tertentu. Umumnya
sebuah bus terdiri dari sejumlah lintasan komunikasi atau saluran.
Masing-masing saluran dapat mentransmisikan sinyal yang menunjukkan biner 1 dan
biner 0. Serangkaian digit biner dapat ditransmisikan melalui saluran tunggal.
Dengan mengumpulkan beberapa saluran dari sebuah bus, dapat digunakan mentransmisikan
digit biner secra bersamaan (paralel). Misalnya sebuah satuan data 8 bit dapat
ditransmisikan melalui bus delapan saluran
Pada Sistem Komputer,
terdiri dari 4 bagian komponen, yaitu sebagai berikut :
Ø Pemroses
- Berfungsi untuk mengendalikan operasi komputer dan melakukan fungsi pemrosesan data.
- Pemroses melakukan operasi logika dan mengelola aliran data dengan membaca instruksi dari memori dan mengeksekusinya.
- Langkah kerja pemroses :
- Mengambil instruksi biner dari memori
- Mendekode instruksi menjadi aksi sederhana
- Melakukan aksi
- 3 Tipe operasi komputer :
- Operasi aritmatika (ADD, SUBSTRACT, MULTIPLY, DIVIDE)
- Operasi logika (OR, AND, XOR, INVERTION)
- Operasi pengendalian (LOOP, JUMP)
- Pemroses terdiri dari :
- ALU (Aritmatic Logic Unit), berfungsi untuk melakukan operasi aritmatika dan logika
- CU (Control Unit), berfungsi untuk mengendalikan operasi yang dilaksanakan sistem komputer.
- Register-register, berfungsi untuk :
- Membantu pelaksanaan operasi yang dilakukan pemroses
- Sebagai memori yang bekerja secara cepat, biasanya untuk tempat operand-operand dari operasi yang akan dilakukan.
- Terbagi menjadi register data dan register alamat.
- Register data terdiri dari general dan special purpose register.
- Register alamat berisi :
- Alamat data di memori utama
- Alamat instruksi
- Alamat untuk perhitungan alamat lengkap
- Contoh : register indeks, register penunjuk segmen, register penunjuk stack, register penanda (flag)
- Pemroses melakukan tugasnya dengan mengeksekusi instruksi-instruksi di program dengan mekanisme instruksi sebagai berikut :.
- Pemroses membaca instruksi dari memori (fetch)
- Pemroses mengeksekusi instruksi (execute)
- Eksekusi program berisi pengulangan fetch dan execute. Pemrosesan satu instruksi disebut satu siklus instruksi (instruction cycle).
Ø Memori
- Berfungsi untuk menyimpan data dan program
- Biasanya volatile, tidak dapat mempertahankan data dan program yang disimpan bila sumber daya energi (listrik) dihentikan.
- Konsep program tersimpan (stored program concept), yaitu program (kumpulan instruksi) yang disimpan di suatu tempat (memori) dimana kemudian instruksi tersebut dieksekusi.
- Setiap kali pemroses melakukan eksekusi, pemroses harus membaca instruksi dari memori utama. Agar eksekusi dilakukan secara cepat maka harus diusahakan instruksi tersedia di memori pada lapisan berkecepatan akses lebih tinggi. Kecepatan eksekusi ini akan meningkatkan kinerja sistem.
- Hirarki memori berdasarkan kecepatan akses :
- Register (tercepat)
- Cache memory ; Memori berkapasitas terbatas, berkecepatan tinggi yang lebih mahal dibanding memori utama. Cache memory adalah diantara memori utama dan register, sehingga pemroses tidak langsung mengacu memori utama tetapi di cache memory yang kecepatan aksesnya lebih tinggi.
- Main memory
- Disk cache (buffering) ; Bagian memori utama untuk menampung data yang akan ditransfer dari/ke perangkat masukan/keluaran dan penyimpan sekunder. Buffering dapat mengurangi frekuensi pengaksesan dari/ke perangkat masukan/keluaran dan penyimpan sekunder sehingga meningkatkan kinerja sistem.
- Magnetic disk
- Magnetic tape, optical disk (paling lambat)
Ø Perangkat Masukan dan Keluaran (I/O)
- Adalah perangkat nyata yang dikendalikan chip controller di board sistem atau card.
- Controller dihubungkan dengan pemroses dan komponen lainnya melalui bus.
- Controller mempunyai register-register untuk pengendaliannya yang berisi status kendali.
- Tiap controller dibuat agar dapat dialamati secara individu oleh pemroses sehingga perangkat lunak device driver dapat menulis ke register-registernya sehingga dapat mengendalikannya.
- Sistem operasi lebih berkepentingan dengan pengendali dibanding dengan perangkat fisik mekanis
- Perangkat I/O juga memindahkan data antara komputer dan lingkungan eksternal.
- Lingkungan eksternal dapat diantarmuka (interface) dengan beragam perangkat, seperti :
- Perangkat penyimpan sekunder
- Perangkat komunikasi
- Terminal
Ø Interkoneksi antar Komponen
- Adalah struktur dan mekanisme untuk menghubungkan antar komponen dalam sistem komputer yang disebut bus.
- Bus terdiri dari tiga macam, yaitu :
- Bus alamat (address bus) ; Berisi 16, 20, 24 jalur sinyal paralel atau lebih. CPU mengirim alamat lokasi memori atau port yang ingin ditulis atau dibaca di bus ini. Jumlah lokasi memori yang dapat dialamati ditentukan jumlah jalur alamat. Jika CPU mempunyai N jalur alamat maka dapat mengalamati 2 pangkat N (2N) lokasi memori dan/atau port secara langsung.
- Bus data (data bus) ; Berisi 8, 16, 32 jalur sinyal paralel atau lebih. Jalur-jalur data adalah dua arah (bidirectional). CPU dapat membaca dan mengirim data dari/ke memori atau port. Banyak perangkat pada sistem yang dihubungkan ke bus data tetapi hanya satu perangkat pada satu saat yang dapat memakainya.
- Bus kendali (control bus); Berisi 4-10 jalur sinyal paralel. CPU mengirim sinyal-sinyal pada bus kendali untuk memerintahkan memori atau port. Sinyal bus kendali antara lain :
- Memory read ; Untuk memerintahkan melakukan pembacaan dari memori.
- Memory write ; Untuk memerintahkan melakukan penulisan ke memori.
- I/O read ; Untuk memerintahkan melakukan pembacaan dari port I/O.
- I/O write ; Untuk memerintahkan melakukan penulisan ke port I/O.
- Mekanisme pembacaan ; Untuk membaca data suatu lokasi memori, CPU mengirim alamat memori yang dikehendaki melalui bus alamat kemudian mengirim sinyal memory read pada bus kendali. Sinyal tersebut memerintahkan ke perangkat memori untuk mengeluarkan data pada lokasi tersebut ke bus data agat dibaca CPU.
- Interkoneksi antar komponen ini membentuk satu sistem sendiri, seperti ISA (Industry Standard Architecture), EISA (Extended ISA) dan PCI (Peripheral Component Interconnect).
- Secara fisik interkoneksi antar komponen berupa “perkawatan”.
- Interkoneksi memerlukan tata cara atau aturan komunikasi agar tidak kacau (chaos) sehingga mencapai tujuan yang diharapkan.
Sumber
: