0

SISTEM BUS DAN INTERRUPT

Posted by Jujur Sitanggang 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 :



0 Comments

Copyright Jujur Soaloon Sitangang Lipan All rights reserved. Theme by Sitanggang. | Bloggerized by Soalparna.