1 / 70

ORGANISASI KOMPUTER

ORGANISASI KOMPUTER. INPUT OUTPUT ORGANIZATION. Menerima input, memproses, dan menghasilkan output merupakan kemampuan dari konputer. Berarti komputer harus memiliki kemampuan untuk mengakses peralatan input dan output. Untuk itulah komputer harus memiliki fungsi-fungsi :

esben
Download Presentation

ORGANISASI KOMPUTER

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ORGANISASI KOMPUTER INPUT OUTPUT ORGANIZATION

  2. Menerima input, memproses, dan menghasilkan output merupakan kemampuan dari konputer. Berarti komputer harus memiliki kemampuan untuk mengakses peralatan input dan output. Untuk itulah komputer harus memiliki fungsi-fungsi : Addressing atau pemilihan peralatan I/0 untuk suatu operasi transfer yang diinginkan. Pemindahan data ke dan dari peralatan yang dipilih. Sinkronisasi atau koordinasi waktu untuk operasi input dan output. Mengakses Peralatan I/O

  3. Struktur Single Bus: Prosesor, Memory, dan peralatan I/O dihubungkan pada 1 bus, yg terdiri dari 3 set line yg digunakan utk membawa address, data dan control signal. Setiap peralatan I/O diberi satu set address. Jika prosesor menempatkan suatu address tertentu pada address lines, peralatan tsb dapat mengenalinya dan memberikan respon kepada perintah pada control line. Prosesor meminta operasi Read atau Write, dan data yg diminta dikirim melalui data line.

  4. Gb. 9.1. Single Bus structure.

  5. Peralatan I/O dan memory yg berbagi ruang address yg sama disebut sebagai memory-mapped I/O. Intruksi mesin yg digunakan utk meng-akses memory dapat digunakan utk memindahkan data ke dan dari peralatan I/O.

  6. Mis: Move DATAIN,R0 utk membaca data dari DATAIN dan menyimpannya di register R0. DATAIN: address input buffer yg berhubungan dg keyboard. Move R0,DATAOUT mengirim isi register R0 ke lokasi DATAOUT, yg dapat berupa output data buffer dari suatu display atau sebuah printer. Contoh prosesor yg menggunakan memory-mapped I/O: 68000.

  7. Prosesor Intel memiliki instruksi I/O khusus dan ruang address khusus utk peralatan I/O. Pada prosesor Power PC, peralatan I/O dapat ditempatkan pd address yg sama atau terpisah dari memory. Prosesor ini memiliki control register yg dapat digunakan utk berpindah dr satu ruang address ke yg lain. Gambar berikut menunjukkan hardware yg digunakan utk menghubungkan peralatan I/O ke bus yg disebut Interface.

  8. Gb. 9.2. I/O interface utk suatu input device

  9. Address decoder memungkinkan peralatan untuk mengenali addressnya jika address ini ditempatkan pada address bus oleh CPU. Data register digunakan utk menyimpan data yg ditransfer ke CPU dr peralatan input atau menerima data dr CPU utk di-transfer ke peralatan output. Status register mengandung informasi yg relevan dg operasi peralatan I/O. Register2 tsb dihubungkan dg data bus dan diberi address tersendiri. Address decoder, data dan status register, dan control circuitry disebut sebagai rangkaian interface.

  10. Merupakan salah satu cara komputer mengkoordinir kegiatannya dg peralatan I/O yg dihubungkan kepadanya. Pd program-controlled I/O: Prosesor terus-menerus memeriksa status flag setiap peralatan I/O utk mencapai sinkronisasi antara prosesor dan I/O device. Hal ini digambarkan pada potongan program di bawah ini : SINKRONISASI

  11. Program untuk membaca keyboard dan mengirimkan ke monitor

  12. Terdapat 2 mekanisme lain yg umum digunakan utk mengimplementasikan operasi I/O: Interrupts Direct Memory Access

  13. Digunakan untuk meningkatkan kinerja processor dalam penanganan peralatan I/O yang dimilikinya. CPU tidak harus selalu mengecek status peralatan I/O Bila terdapat peralatan I/O yang meminta pelayanan, maka peralatan tersebut akan mengirim sinyal interrupt kepada CPU. Sinyal interrupt ini disebut juga sebagai Interrupt Request (INTR) Sinyal interrupt dikirim melalui jalur kontrol bus yang disebut interrupt request line. INTERRUPT

  14. Processor akan merespon interrupt yang diterima dengan menghentikan proses yang sedang berjalan dan mengecek status peralatan I/O untuk mencari peralatan yang meminta interrupt. Selanjutnya processor akan menjalankan suatu program untuk merespon interrupt yang diterimanya. Program ini disebut sebagai interrupt-service routine (ISR). Berikut contoh processor dalam menjalankan ISR untuk merespon interrupt pencetakan ke printer :

  15. Gb. 9.3. Transfer control melalui penggunaan Interrupt

  16. Keterangan gambar : Saat processor menjalankan compute routine (perhitungan) pada langkah ke-i, processor menerima sinyal interrupt yang meminta proses pencetakan (print). Setelah processor selesai melaksanakan instruksi ke-i processor menghentikan sementara eksekusi terhadap compute routine dan menyimpan hasil-hasil sementara proses tersebut ke register khusus (register stack).

  17. Processor kemudian menjalankan print routine. Jika print routine selesai dilaksanakan, maka processor kembali ke program semula (compute routine) pada langkah ke-(i + 1) dengan mengambil informasi yang sebelumnya diimpan.

  18. Interrupt Hardware Gb. 9.4. Rangkaian ekivalen untuk open collector bus yg digunakan utk mengimplementasikan common interrupt request line

  19. Gambar di atas merupakan gambar jalur interrupt dengan menggunakan singgle line. Jalur interrupt beberapa peralatan hanya dihubungkan dengan menggunakan satu jalur. Sehingga interrupt yang diterima processor adalah apabila ada satu atau lebih peralatan mengirimkan sinyal interrupt. Untuk mencari peralatan mana yang mengirimkan interrupt, processor memeriksa Ready Bit setiap peralatan dengan cara pooling.

  20. Kelemahan dari metode interrupt ini adalah adanya pooling oleh processor untuk mencari peralatan yang mengirimkan interrupt. Apabila terdapat beberapa peralatan yang mengirimkan interrupt secara bersamaan maka yang dilayani terlebih dahulu adalah peralatan yang terdekat dengan processor secara pengkabelan.

  21. Tidak semua permintaan interrupt bisa dilayani oleh processor. Adakalanya saat processor menjalankan suatu program, program tersebut tidak boleh disela oleh proses lain. Atau bisa juga pada saat itu sedang dilayani suatu interrupt hingga tidak mungkin menerima interrupt lain. Untuk itu diperlukan fasilitas enable dan disable interrupt untuk mengindikasikan bisa tidaknya interrupt diterima. Enabling and Disabling Interrupt

  22. Cara enable dan disable interrupt : Pada processor dilengkapi dengan interrupt mask. Yaitu salah satu bit pada register processor status (PS). Interrupt mask ini digunakan sebagai status interrupt, jika interrupt mask = 1, maka interrupt disable). Pada ISR diberikan interrupt-disable instruction sebagai instruksi pertama dan interrupt-enable instruction sebagi instruksi terakhir pada program. Untuk melakukan melakukan interrupt handling maka langkah-langkah yang terjadi adalah sbb (diasumsikan interrupt sedang enable) :

  23. Peralatan (I/O) mengirimkan sinyal interrupt request. Processor menginterupsi program yang sedang dieksekusi. Processor me-disable interrupt Peralatan I/O diberitahu bahwa requestnya telah dikenali, dan peralatan tersebut merespon dengan menghentikan sinyal interrrupt requestnya. Menjalankan interrupt service routine (ISR) yang berkaiatan dengan interrupt yang diminta. Interrupt dienable dan prosessor melanjutkan eksekusi program sebelumnya.

  24. Di sini dibicarakan penanganan jika terjadi permintaan interrupt oleh beberapa peralatan I/O, baik secara bersamaan atau pada saat yang lain sedang dieksekusi. Dalam hal ini ada beberapa persoalan yang perlu dipikirkan : Bagaimana processor mengenali perangkat yang meminta interrupt. Menangani Beberapa Peralatan

  25. Misalkan terdapat beberapa perangkat meminta interrupt service routine yang berbeda, bagaimana processor dapat memperoleh alamat awal routine yang sesuai untuk setiap permintaan tersebut. Apakah suatu perangkat diijinkan untuk menginterupsi prosessor pada saat interrupt lain dilayani? Bagaimana dua atau lebih interrupt request ditangani?

  26. Pada saat suatu request diterima, diperlukan informasi tambahan untuk mengindentifikasi perangkat tertentu yang mengaktifkan jalur tersebut. Jika yang mengaktifkan jalur tersebut lebih dari satu, maka perlu dilakukan pemilahan dan pemilihan satu diantara beberapa request. Informasi yang diperlukan untuk menentukan apakah suatu perangkat meminta interrupt disediakan dalam status register. Misalkan bit KIRQ untuk keyboard dan DIRQ untuk display. Gambar register status interface keyboard dan memory

  27. Selanjutnya untuk mengenali peralatan yang meng-interrupt adalah dengan mempolling semua peralatan yang terhubung. Skema polling mudah diimplementasikan tetapi waktu yang dihabiskan untuk proses ini cukup memakan waktu.

  28. Untuk mengatasi kelemahan metode interrupt di atas digunakan metode vectored interrupt. Peralatan yang meminta interrupt menyertakan kode khusus yang merupakan identitas dari peralatan tersebut. Sehingga proscessor langsung dapat mengenali peralatan yang mengirimkan interrupt. Kode ini dapat berupa alamat dari peralatan pengirim. Vectored Interrupt

  29. Untuk menjalankan proses interupt vektor ini awalnya peralatan I/O mengirim sinyal interrupt request (INTR) pada prosessor. Selanjutnya jika prosessor siap untuk melayani permintaan, maka prosessor mengirim sinyal interrupt acknowledge (INTA) untuk merespon IR dari peralatan I/O. Setelah I/O menerima sinyal INTA, peralatanI/O mematikan sinyal INTR dan mengirimkan data interrupt vektor. Umumnya perangkat I/O mengirim kode interrupt vektor melalui bus data, menggunakan sinyal kontrol bus untuk memastikan bahwa perangkat tidak saling mempengaruhi.

  30. Interrupt Nesting Gb. Implementasi interrupt priority menggunakan jalur INTR dan INTA

  31. Dengan menggunakan gambar rangkaian di atas, dimungkinkan untuk menerima bebe-rapa interrupt secara bersamaan atau mene-rima interrupt pada saat processor menjalan-kan interrupt yang lain. Penerimaan interrupt berdasarkan prioritas yang telah diberikan oleh rangkaian Priority Arbitration. Peralatan yang memiliki prioritas lebih tinggi harus diutamakan meskipun processor se-dang memproses interrupt peralatan lain. Sedang peralatan yang memiliki prioritas le-bih rendah tidak dapat menghentikan proses interrupt oleh peralatan yang memiliki priori-tas lebih tinggi.

  32. Permintaan beberapa interrupt secara bersamaan dapat diatasi dengan penggunaan priority arbitration circuit (PAC), tetapi jumlah peralatan yang bisa dipasang dibatasi oleh jumlah jalur yang dimiliki oleh PAC. Dan jumlah kabel yang diperlukan cukup banyak. Untuk menangani jumlah peralatan yang sangat banyak, biasanya penggunaan PAC dipadukan dengan metode daisy chain seperti yang digambarkan berikut ini. Simultaneus Request

  33. Gb. Skema Interrupt Priority

  34. Direct memory access (DMA), digunakan untuk menangani kebutuhan transfer data dengan kecepatan tinggi dan dalam jumlah yang besar ke peralatan I/O. Sebelumnya untuk transfer data selalu dikontrol oleh processor, padahal processor juga harus melakukan tugas-tugas yang lain. Transfer data yang sangat besar akan sangat menyibukkan dan memperlambat kerja processor. Direct Memory Access

  35. Transfer DMA dilakukan oleh suatu control unit yg berhubungan dg I/O device. Rangkaian ini disebut sbg DMA controller. DMA controller memungkinkan transfer data langsung antara device dan memory utama tanpa melibatkan prosesor. Hal ini berarti bhw DMA controller melakukan fungsi-fungsi yg biasanya dilakukan oleh prosesor ketika mengakses memory utama.

  36. Utk setiap byte atau word yg ditransfer, DMA controller harus menyediakan memory address dan semua sinyal bus yg mengendalikan transfer data. Krn harus men-transfer block data, DMA controller harus meng-increment memory address utk byte atau word yg berurutan dan menghitung jumlah transfer.

  37. Walaupun DMA controller dapat men-transfer data tanpa intervensi prosesor, operasinya harus di bawah kontrol suatu program yg di eksekusi oleh prossesor. Untuk memulai transfer suatu blok word, prosesor mengirimkan data berikut ke controller: Alamat awal data di memory yang akan ditransfer Jumlah word data dalam blok Arah transfer (read atau write).

  38. Setelah menerima informasi tsb, DMA controller melanjutkan utk melakukan transfer yg diminta. Setelah semua blok di-transfer, controller memberitahu prosesor dengan mengirimkan sinyal interrupt. Berikut gambar register yang ada pada DMA interface.

  39. Gb. Register-register dalam DMA interface

  40. Gambar di atas menunjukkan suatu contoh register-register dlm sebuah DMA controller yg dilihat oleh programmer. Register-register ini di-akses dg cara yg sama dg semua I/O device interface yg lain. Dua register digunakan utk menyimpan alamat awal dan hitungan word. Register yg ketiga mengandung status dan control flag.

  41. Bit R/W menentukan arah transfer dan digunakan utk mengendalikan line yg berhubungan pd bus. Jika bit ini di set ke 1oleh instruksi program, controller melakukan suatu operasi read, yaitu transfer data dilakukan dari memory ke I/O device. Jika tidak, maka dilakukan operasi write. Ketika controller telah menyelesaikan transfer suatu blok data dan siap menerima command yg lain, flag Done di set menjadi 1.

  42. Bit 30 adl Interrupt enable flag. Jika di set ke 1, flag ini menyebabkan controller membangkitkan interrupt setelah menyelesaikan transfer sebuah blok data. Akhirnya, controller men-set bit IRQ ke 1 ketika telah meminta interrupt.

  43. Gambar di bawah adalah contoh penggunaan kontroller DMA pada sistem komputer, yang terdiri dari : Kontroller DMA yang menghubungkan jaringan high speed ke bus komputer. Kontroller Disk/DMA yang mengontrol dua disk. Kontroller ini dapat melakukan dua operasi DMA mandiri.

  44. Gb. Penggunaan DMA kontroller dalam sistem komputer

  45. Utk memulai transfer DMA suatu blok data, suatu program yg biasanya sebuah routine dlm sistem operasi, menulis informasi berikut ke register DMA channel yg ditugaskan ke printer: Alamat memory Hitungan word Fungsi yg akan dilakukan (Read atau Write) DMA controller kemudian melanjutkan sendiri utk mengimplementasikan fungsi yg ditentukan.

  46. Ketika transfer DMA telah selesai, hal ini disimpan dlm register status dan control dari DMA controller dg men-set bit Done. Pd saat yg sama, jika bit IE di-set, controller mengirimkan suatu permintaan interrupt kpd prosesor dan men-set bit IRQ. Register status juga dapat digunakan utk menyimpan informasi, spt apakah transfer berlangsung dg benar atau terjadi error. Ketika transfer DMA berlangsung, program yg meminta transfer tidak dapat dilanjutkan. Tetapi prosesor dapat digunakan untuk meng-eksekusi program yg lain.

  47. Konflik mungkin terjadi jika Prosesor dan DMA Controller mencoba untuk menggunakan bus pd saat yg sama dg akses ke memory utama. Krn beberapa DMA controller yg melayani I/O device yg berbeda dapat dihubungkan dg bus. Dlm hal ini, dua atau lebih controller mencoba utk menggunakan bus secara bersamaan. Bus Arbritration

  48. Utk mengatasi konflik ini, suatu rangkaian khusus yg disebut bus arbiter disediakan utk mengkoordinir kegiatan semua peralatan yg meminta transfer memory. Berikut gambar pengaturan processor dengan bus arbiter circuitry.

  49. Gb. Pengaturan sederhana bus arbitration dengan daisy chain

  50. Cara kerja dari blok diagram di atas sama dengan blok diagram interrupt. Saat salah satu DMA controller memerlukan bus untuk transfer data, maka DMA controller tersebut mengirim sinyal Bus Request (BR) ke processor. Processor merespon dengan mengirimkan sinyal Bus Grant (BG) yang terhubung ke semua DMA controller secara daisy chain. Sinyal BG juga menjadi indikator bahwa bus data sedang tidak terpakai (free).

More Related