ARSITEKTUR DAN
ORGANISASI KOMPUTER
PRIO HANDOKO, S.KOM., M.T.I.
PART 2:
THE COMPUTER
SYSTEM
CHAPTER 7
: INPUT/OUTPUT
Kompetensi Dasar
Arsitektur dan Organisasi Komputer 3
CHAPTER 7:
INTERNAL MEMORY
Mahasiswa memahami interaksi antara I/O dan processor
Agenda
• External Devices
• I/O Modules
Arsitektur dan Organisasi Komputer 4
• I/O Operation
• Programmed I/O
• Interrupt-Driven I/O
• Direct Memory Access
• I/O Channels and Processors
• The External Interface: Firewire and Infiniband
I/O Introduction
5 1. Sistem komputer berhubungan dunia luar. 2. Terdapat permasalahan yang muncul
berkenaan dengan I/O:
1. format data dan panjang word berbeda dengan sistem komputer;
2. kecepatan transfer data peripheral < CPU dan RAM
Arsitektur dan Organisasi Komputer
I/O Introduction (2)
6 3. Dibutuhkan sebuah arsitektur yang:
1. dirancang untuk menyediakan alat yang sistematis untuk mengontrol interaksi dengan dunia luar; 2. menyediakan:
1. sistem operasi serta informasi yang diperlukan untuk mengatur aktivitas I/O secara efektif; 2. antar muka ke CPU dan memory, melalui sistem
bus;
3. antar muka ke satu atau lebih peripherals dengan link data yang sesuai.
Arsitektur dan Organisasi Komputer
7 Arsitektur dan Organisasi Komputer
I/O Introduction (3)
Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition
7.1 External Devices
8 Perangkat eksternal secara luas digolongkan kedalam 3 kategori :
1. Human Readable 2. Machine Readable 3. Communication
9 Arsitektur dan Organisasi Komputer
7.1 External Devices (2)
Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition
Block Diagram of an External Device
10 Arsitektur dan Organisasi Komputer
Typical I/O Device Data Rates
7.2 I/O Module
11
Module Function
1. Control & Timing, mengkoordinasikan lalu lintas antara sumber daya internal dan perangkat eksternal.
2. CPU Communication, melakukan
komunikasi antara CPU dan perangkat eksternal.
1. Command Decoding 2. Data
3. Status Reporting 4. Address Recognition
Arsitektur dan Organisasi Komputer
7.2 I/O Module (2)
12
3. Device Communication, komunikasi yang
melibatkan perintah, informasi status, dan data.
4. Data Buffering, menampung data
sementara.
5. Error Detection, sebuah mekanisme
pelaporan kesalahan proses I/O ke CPU.
13 Arsitektur dan Organisasi Komputer Block Diagram of an I/O Module
Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition
7.3 I/O Operation
14 Terdapat 3 buah teknik yang berkenaan dengan operasi I/O.
1. Programmed I/O 2. Interrupt-Driven I/O 3. Direct Memory Access
Arsitektur dan Organisasi Komputer
7.3 I/O Operation (2)
15
Programmed I/O
• CPU memiliki kontrol langsung terhadap operasi
I/O, termasuk:
• mengetahui status perangkat;
• mengirimkan perintah R/W; dan
• melakukan pengiriman data.
• CPU menunggu hingga modul I/O menyelesaikan
operasinya
• Memboroskan waktu CPU
Arsitektur dan Organisasi Komputer Arsitektur dan Organisasi Komputer 16
7.3 I/O Operation (3)
Cara Kerja Programmed I/O
17 Arsitektur dan Organisasi Komputer
7.3 I/O Operation (4)
I/O Command - Programmed I/O
1. CPU menerbitkan alamat
• Modul I/O & perangkat eksternal tertentu
2. CPU memberikan perintah I/O:
• Control
• Test
• Read
• Write
18
I/O Instruction – Programmed I/O
1. Bentuk dari instuksi tergantung kepada cara perangkat eksternal dialamatkan.
2. Setiap perangkat diberikan penanda unik (alamat).
3. Perintah CPU mengandung penanda unik perangkat .
4. Modul I/O harus menterjemahkan alamat tersebut
Arsitektur dan Organisasi Komputer
7.3 I/O Operation (4)
7.3 I/O Operation (5)
19
Interrupt-Driven I/O
• Menghilangkan waktu menunggu CPU terhadap
proses I/O
• CPU tidak perlu secara periodik melakukan
pengecekkan status modul I/O
• Interupsi akan diberikan ketika modul I/O telah
siap untuk bertukar data dengan CPU
• Modul I/O telah siap interrupt CPU
menanggapi menangguhkan proses
selanjutnya transfer datafinish melajutkan
kembali proses yang ditangguhkan
Arsitektur dan Organisasi Komputer Arsitektur dan Organisasi Komputer 20
7.3 I/O Operation (6)
Interrupt-Driven I/O – I/O Module Viewpoint
• CPU memberikan perintah baca kepada
modul I/O
• Modul I/O menerima perintah tersebut dan
melakukan pembacaan data dari perangkat yang dimaksud
• Ketika data telah tersimpan pada data
register modul I/O, modul I/O akan
mengirimkan sinyal interrupt kepada CPU dan
21 Arsitektur dan Organisasi Komputer
7.3 I/O Operation (7)
• Ketika CPU meminta data, modul I/O
menyimpan data tersebut pada bus data,
kemudian bersiap untuk melakukan operasi I/O lainnya.
22 Arsitektur dan Organisasi Komputer
7.3 I/O Operation (8)
Interrupt-Driven I/O – CPU Viewpoint
• CPU memberikan perintah baca kepada modul
I/O
• Modul I/O menerima perintah tersebut dan
melakukan pembacaan data dari perangkat yang dimaksud
• CPU mengerjakan pekerjaan yang lain
• Setiap kali CPU telah menyelesaikan 1 siklus
pengolahan CPU cek interrupt ada CPU
menyimpan konteks pengolahan (PC dan
register) menanggapi interrupt
23 Arsitektur dan Organisasi Komputer
7.3 I/O
Operation (9)
Interrupt-Driven I/O – Interrupt Processing
Sumber: William Stalling, 2010, Computer Organization and
Architecture: Designing for Performance, 8th edition Arsitektur dan Organisasi Komputer 24
7.3 I/O Operation (11)
Interrupt-Driven I/O – Design Issues
• How does the processor determine which device issued the interrupt?
• How does the processor decide which one to process? If multiple interrupt accured.
• 4 teknik yang umum digunakan:
1. Multiple interrupt lines 2. Software poll
25 Arsitektur dan Organisasi Komputer
7.3 I/O Operation (11)
Interrupt-Driven I/O – Design Issues
1. Multiple Interrupt Lines, menyediakan banyak jalur interupsi antara CPU dan modul I/O.
2. Software Poll.
1. mengumpulkan setiap modul I/O untuk menentukan modul I/O yang menyebabkan interrupt;
2. CPU menempatkan alamat modul I/O tertentu pada bus alamat;
3. modul I/O akan memberi respon apabila modul I/O memberikan interrupt;
26 Arsitektur dan Organisasi Komputer
7.3 I/O Operation (12)
4. karena setiap modul I/O memiliki register status yang dapat dialamatkan, maka CPU akan membaca register status setiap modul I/O untuk mengidentifikasikan modul yang mengirimkan interrupt;
5. ketika modul I/O yang tepat ditemukan, maka device-service routine diberikan kepada perangkat tersebut.
3. Daisy Chain.
1. semua modul I/O berbagi interrupt request line; 2. sinyal interrupt acknowledge line dikirimkan secara
berantai (chained) melalui modul-modul; 3. ketika CPU mengetahui adanya interrupt, CPU
menerbitkan interrupt acknowledge;
27 Arsitektur dan Organisasi Komputer
7.3 I/O Operation (13)
4. sinyal interrupt acknowledge merambat melalui serangkaian modul I/O hingga ke modul yang memberikan interrupt;
5. modul yang memberikan interrupt menanggapi dengan dengan menempatkan word pada bus data (vector);
6. Bus Arbitration, modul I/O harus memperoleh
kontrol bus sebelum menggunakan interrupt
request line.
28
Kekurangan programmed I/O dan
interrupt-driven I/O:
1. baik interrupt-driven I/O maupun programmed
I/O membutuhkan keterlibatan CPU;
2. kecepatan pengiriman data dibatasi oleh kecepatan transfer I/O;
3. prosesor ditentukan oleh pengaturan transfer I/O, dimana sejumlah instruksi harus dieksekusi untuk setiap transfer I/O.
Arsitektur dan Organisasi Komputer
29
DMA Function
• Melibatkan modul tambahan pada sistem bus
modul DMA
• Modul DMA mampu menirukan prosesor dan
bahkan mengambil alih kontrol sistem dari prosesor.
• Modul DMA harus menggunakan bus hanya
ketika prosesor tidak memerlukannya atau modul DMA harus memaksa prosesor untuk
menghentikan operasi untuk sementara
cycle stealing
Arsitektur dan Organisasi Komputer
7.4 Direct Memory Access (2)
DMA Operation
•read/write yang diminta, •alamat
perangkat I/O •alamat awal
blok memori data Arsitektur dan Organisasi Komputer
7.4 Direct Memory Access (3)
CPU
data transfer request Arsitektur dan Organisasi Komputer
DMA Cycle Stealing
Sumber: William Stalling, 2010, Computer Organization and
Architecture: Designing for Performance, 8th edition 32
DMA Configuration – 1
Arsitektur dan Organisasi Komputer
7.4 Direct Memory Access (5)
• Single-bus, detached DMA
• Semua modul berbagi bus sistem
• Pengiriman data menggunakan bus data
sebanyak 2 kali: I/O DMA memori
• CPU menunda sebanyak 2 kali
33
DMA Configuration - 2
Arsitektur dan Organisasi Komputer
7.4 Direct Memory Access (6)
• Single-bus, integrated DMA controller
• Controller dapat menangani > 1 perangkat I/O
• Pengiriman data menggunakan bus data sebanyak 1 kali: I/O-DMA memori
• CPU menunda sebanyak 1 kali Sumber: William Stalling, 2010, Computer Organization and
Architecture: Designing for Performance, 8th edition 34
DMA Configuration - 3
Arsitektur dan Organisasi Komputer
7.4 Direct Memory Access (7)
Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition
35 Arsitektur dan Organisasi Komputer
DMA Configuration – 3 (2)
• Separate I/O Bus
• Bus mendukung semua perangkat aktif DMA
• Pengiriman data menggunakan bus data
sebanyak 1 kali: DMA memori
• CPU menunda sebanyak 1 kali
7.4 Direct Memory Access (8)
36
I/O Channels – Evolution of I/O Function
1. CPU mengontrol peripheral secara langsung 2. CPU menggunakan I/O terprogram
3. CPU menggunakan Interupsi (interrup-driven I/O) 4. Modul I/O diberi akses langsung melalui DMA 5. Modul I/O ditingkatkan kemampuannya untuk dapat
melakukan pengolahan instruksi I/O Channel I/O
6. Modul I/O dilengkapi dengan memori internal processor I/O
Arsitektur dan Organisasi Komputer
37 Arsitektur dan Organisasi Komputer
I/O Channels – Characteristics
1. Merupakan perluasan dari konsep DMA 2. Memiliki kemampuan untuk melakukan
pengolahan instruksi I/O.
3. Memiliki kendali penuh terhadap operasi I/O.
4. Memiliki special-purpose processor untuk
mengeksekusi Instruksi I/O yang disimpan dalam
memori utama.
7.5 I/O Channels (1)
38 Arsitektur dan Organisasi Komputer
I/O Channels – Architecture
Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition
Selector
7.5 I/O Channels (2)
39 Arsitektur dan Organisasi Komputer
Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition
Multiplexor
40 Arsitektur dan Organisasi Komputer
7.5 The External Interface: Firewire &
Infiniband
Advantages Firewire Over I/O Interfaces
1. High speed. 2. Low Cost. 3. Easy to implement.
4. Menghubungkan banyak periphreal, komputer dan non-komputer.
Disadvantages Firewire Over I/O Interfaces
41 Arsitektur dan Organisasi Komputer
7.5 The External Interface: Firewire &
Infiniband (1)
Firewire - Configuration 1. Serial transmission
2. Menggunakan operasi I/O daisy chain 3. Dapat menghubungkan 63 perangkat hanya
menggunakan 1 port.
4. Memiliki hingga 1022 bus yang dapat tehubung satu dengan lainnya menggunakan bridge.
5. Konfigurasi otomatis 6. Tidak memiliki bus terminator 7. A tree-structured configuration
42 Arsitektur dan Organisasi Komputer
7.5 The External Interface: Firewire &
Infiniband (2)
Firewire – 3 Layer of Firewire
1. Physical Layer, mendefinisikan media transmisi yang diizinkan oleh firewire
2. Link Layer, bertanggung jawab dalam transmisi data
3. Transaction Layer, mendefinisikan protokol
request-response yang menyembunyikan
lowerlayer rincian firewire dari aplikasi.
43 Arsitektur dan Organisasi Komputer
7.5 The External Interface: Firewire &
Infiniband (3)
Firewire – Physical Layer
• Data rates from 25 to 400 Mbps
• Two forms of arbitration
• Based on tree structure
• Root acts as arbiter
• First come first served
• Natural priority controls simultaneous requests
• Fair arbitration
• Urgent arbitration
44 Arsitektur dan Organisasi Komputer
7.5 The External Interface: Firewire &
Infiniband (3)
Firewire – Link Layer
• Two transmission types
•Asynchronous
• Variable amount of data and several bytes of transaction data transferred as a packet
• To explicit address
• Acknowledgement returned
•Isochronous
• Variable amount of data in sequence of fixed size packets at regular intervals
• Simplified addressing
45 Arsitektur dan Organisasi Komputer
7.5 The External Interface: Firewire &
Infiniband (5)
Infiniband
• I/O specification aimed at high end servers
• Version 1 released early 2001
• Architecture and spec. for data flow between
processor and intelligent I/O devices
• Intended to replace PCI in servers
• Increased capacity, expandability, flexibility
46 Arsitektur dan Organisasi Komputer
7.5 The External Interface: Firewire &
Infiniband (6)
Infiniband - Architecture
• Remote storage, networking and connection
between servers
• Attach servers, remote storage, network
devices to central fabric of switches and links
• Greater server density
• Scalable data centre
• Independent nodes added as required
47 Arsitektur dan Organisasi Komputer
7.5 The External Interface: Firewire &
Infiniband (7)
• I/O distance from server up to
• 17 m using copper
• 300 m multimode fibre optic
• 10 km single mode fibre
• Up to 30 Gbps
48 Arsitektur dan Organisasi Komputer
InfiniBand Architecture