Organisasi dan Arsitektur Komputer Tim Jurusan Sesi 10 INTERKONEKSI BUS Nama Mata Kuliah sesuai dengan silabi Dalam hal pengampu matakuliah paralel lebih dari tiga orang, maka dituliskan : “Tim Pengampu Mata Kuliah” “Sesi n” diisi sesuai dengan sesi / pertemuan, contoh : “sesi 1” / “sesi 2” dst Pokok Bahasan Mengikuti Silabi Nomor Kode Mata Kuliah diisi sesuai dengan Mata Kuliah Revisi Terakhir, diisi dengan terakhir kali direvisi, sebelum direvisi, maka diisi tahun pembuatan
Outline Sesi Pokok Bahasan Sub Pokok Bahasan 1 Pendahuluan Definisi organisasi dan arsitektur computer Arsitektur Von Neuman Hubungan organisasi komputer dengan arsitektur komputer 2 Struktur Komputer dan Fungsi Organisasi komputer Blok diagram CPU Organisasi register Register data dan alamat 3 Mikroprossesor dan arsitektur internalnya Arsitektur prosessor X86 Penerapan untuk PC 4 Memori Memori internal Memori eksternal Hirarki memori 5 Cache memori Organisasi cache memori Direct mapped cache Outline berisi daftar isi keseluruhan slide pada sesi yang dimaksud, Jumlah Sub Pokok Bahasan mengikuti yang terdapat pada silabi / SAP - Referensi yang dimaksud adalah referensi yang digunakan pada slide / sesi ini, mengacu pada buku dan bab yang diacu;
Outline Sesi Pokok Bahasan Sub Pokok Bahasan 6 Cache memori Associative cache Set associative cache 7 Virtual memori Konsep virtual memori 8 Mode pengalamatan dan set instruksi Mode pengalamatan register Mode pengalamatan register segera Mode pengalamatan langsung Mode pengalamatan tidak langsung 9 Mode pengalamatan relatif dasar Mode pengalamatan langsung terindeks Mode pengalamatan dasar terindeks 10 Interkoneksi bus Pengertian bus dan sistem bus Struktur bus, jenis bus, metode arbitrasi, interkoneksi bus dan prinsip operasi bus
Outline Sesi Pokok Bahasan Sub Pokok Bahasan 11 I/O Fungsi I/O, Piranti I/O, Operasi I/O dan Mode transfer data. 12 Risc dan Pipelining Reduced instruction set architecture Pipelining RISC Perbedaan RISC dan CISC Prosesor supersaklar 13 Pengenalan multiprosessor Macam-macam arsitektur clean Simetric multiprosessor 14 Operasi unit kendali Operasi mikro Kendali prosesor Kendali mikroprogrammed
Tujuan Intruksional Mampu menjelaskan fungsi dan piranti I/O. Mampu menyebutkan dan membedakan Mode transfer data pada I/O. Tujuan Intruksional yang dimaksud adalah tujuan yang hendak dicapai pada sesi yang dimaksud, jumlah dan isi sesuai dengan silabi dan SAP;
I/O devices menjadikan komputer berguna bagi manusia Perangkat input mungkin lambat dan harus memiliki cara untuk memberitahu komputer apabila siap memberikan data. Perangkat output harus memiliki cara untuk menolak data berikutnya apabila belum siap.
Kategori User interface devices. Mass storage devices. Perangkat input mendeteksi adanya perubahan pada lingkungan Perangkat output memberi perubahan pada lingkungan. Mass storage devices. Menyimpan data dalam kuantitas yang besar (disks). Gateways and networks. Komputer berkomunikasi satu sama lain.
Perbedaan seputar kelas-kelas I/O Complexity of control: Sebuah printer membutuhkan antar muka kontrol yang relatif sederhana. Sebuah disk jauh lebih kompleks. Unit of transfer: Data mungkin dikirimkan sebagai suatu aliran byte atau karakter atau dikirimkan dalam blok yang berukuran besar. Data representation: Perangkat yang berbeda mungkin menggunakan skema pengkodean data (data-encoding) yang berbeda, termasuk di dalamnya perbedaan dalam kode karakter dan parity yang digunakan. Error conditions: Sifat dari error, bagaimana error tersebut dilaporkan, konsekuensi dari error, dan respons yang diberikan berbeda dari satu perangkat dengan perangkat yang lain.
I/O Module Adalah interface atau central switch untuk mengendalikan satu atau lebih peripheral atau perangkat input output. Konektor mekanis berisi fungsi logik untuk komunikasi antara bus dan peripheral.
Mengapa modul I/O diperlukan ? Periferal yang beragam dengan beragam metode operasi. Speed periferal yang lebih lambat dibanding CPU. Format data dan panjang word periferal pun beragam.
Blok diagram I/O Module
Arus Data I/O Data rate Merupakan kecepatan transfer data dalam komunikasi data digital. Memungkinkan terjadinya perbedaan besarnya tingkatan pengiriman data
Fungsi modul I/O Pengendali & pengaturan waktu (control & timing). Komunikasi dengan CPU. Komunikasi dengan perangkat. Penyimpanan data sementara (data buffering). Pendeteksi kesalahan.
Control & timing input data CPU meminta modul memeriksa status perangkat. Bila perangkat siap mengirim, CPU mengirim perintah pemindahan. Modul menerima data dari perangkat. Data dipindahkan dari modul ke CPU.
Komunikasi dengan CPU Command decoding, signal perintah dari CPU ke control bus. Pertukaran data antara CPU dengan modul melalui data bus. Status reporting, CPU perlu status modul [busy atau ready]. Address recognition, modul I/O perlu tahu address unik setiap periferal.
Komunikasi dengan perangkat Perintah dari CPU, status, dan data.
Teknik Input/Output Programmed (Teknik I/O Terprogram) Interrupt-driven Direct memory access (DMA) IOP/C
Teknik I/O Terprogram Teknik CPU mengontrol I/O [status, perintah R/W, transfer data]. CPU menunggu modul I/O aktif. Modul I/O beroperasi, menetapkan status serta tidak menginterupsi CPU. CPU memeriksa status periodik, sambil menunggu atau ‘pergi dan kembali nanti’.
Teknik I/O Terprogram Perintah Control Status condition test Read [data dari periferal] Write [data transmisi ke periferal]
Teknik I/O Terprogram Pengadresan perangkat IO (CPU viewpoint). Data ditransfer seperti akses memori Tiap perangkat mendapat unique identifier. Perintah CPU berisi identifier (adres).
Teknik I/O - interrupt-driven Dikendalikan interupsi CPU mengirim perintah I/O ke modul, kemudian mengerjakan proses lainnya. Modul I/O akan menginterupsi CPU minta layanan bila perintah selesai dikerjakan. CPU melayani interupsi dan setelah selesai melanjutkan kembali proses yang sedang dikerjakan sebelum diinterupsi.
Teknik I/O - interrupt-driven CPU view-point Mengirimkan perintah baca/tulis dan mengerjakan proses lain. Memeriksa interupsi pada akhir tiap instruction cycle. Jika diinterupsi akan melakukan save context (registers)dan process interrupt (Fetch data & store).
Teknik I/O - interrupt-driven Masalah Desain: Bagaimana mengidentifikasi modul mengirim interupsi ? Bagaimana menangani multiple interrupts ?
Teknik I/O - interrupt-driven Identifikasi interupsi modul dengan cara: Satu saluran/modul. Software poll, CPU memeriksa modul bergiliran. Daisy Chain / Hardware poll Interrupt Acknowledge dikirimkan pada chain. Module yang melakukan interupsi mengirimkan vector pada bus. CPU menggunakan vector to untuk mengidentifikasi handler routine.
Teknik I/O - interrupt-driven Contoh PC Bus 80x86 memiliki satu interrupt line, sistem berbasis 8086 memakai 8259A interrupt controller yang memiliki 8 interrupt lines.
Teknik I/O - interrupt-driven Runtutan events 8259A menerima interupsi. 8259A memeriksa prioritas. 8259A memberi sinyal 8086 (membangkitkan INTR line). CPU mengirimkan pesan Acknowledges. 8259A menyimpan correct vector pada data bus. CPU memproses interupsi.
Teknik I/O Terprogram
Teknik I/O Terprogram
Teknik I/O - interrupt-driven
Teknik I/O - DMA Interrupt-driven & programmed I/O membutuhkan intervensi aktif CPU, transfer rate terbatas dan CPU terikat.
Teknik I/O - DMA Modul tambahan pada bus. DMA controller mengambil alih peran CPU. DMA (bus mastering) ~ teknik implementasi beberapa komponen untuk transfer data langsung ke dan dari memori tanpa lewat CPU. DMA mengurangi CPU overhead karena mekanisme transfer data tidak butuh pengawasan CPU.
Teknik I/O - DMA Cara Kerja standar CPU memerintahkan DMA controller untuk Read/Write. Memeriksa adres perangkat. Mencari adres dan mengambil data untuk ditransfer. CPU mengerjakan proses-proses lain. DMA controller melakukan transfer data. DMA controller mengirimkan interupsi jika selesai.
Teknik I/O - DMA Cara lain, transfer cycle stealing DMA controller mengambil alih siklus bus, kirim 1 word, dan tidak ada interupsi. CPU tidak mengubah konteks,dan CPU suspended sebelum mengakses bus (misal sebelum operand / data fetch atau data write).
Teknik I/O – IOP/C Evolusi fungsi I/O Semula CPU langsung mengendalikan periferal. Kemudian ada penambahan modul I/O terprogram, sebagai pengendali. Selanjutnya penambahan modul I/O interrupt driven, sebagai pengendali. Modul I/O akses langsung ke memori melalui DMA. Kemampuan modul I/O ditingkatkan jadi prosesor, dan tidak tergantung CPU. Modul I/O memiliki memori lokal.
Teknik I/O – IOP/C IO Processor Adalah prosesor yang terpisah dari CPU dan dirancang untuk menangani proses input/output Sinkron dengan clock sistem dan prosesor utama. Akan menerima kontrol awal dari prosesor utama pada saat instruksi input-output dibaca dari memori. Pada saat I/O prosesor mengendalikan proses input output, prosesor utama tetap pada kondisi two-state waiting loop sampai instruksi input-output dikerjakan di mana kemudian kontrol dikembalikan ke prosesor utama.