PERUBAHAN DEFENISI ARSITEKTUR KOMPUTER
SILABUS LINGKUP ARSITEKTUR KOMPUTER
ARSITEKTUR KOMPUTER interface
1. Evolution of instruction sets
2. Processor architecture Teknologi
3. System Bus dan I/O System
4. Addressing dan memory system Organisasi
5. Pipelining & RISC
6. Paralel komputer
Aplikasi
Simulasi & Pengukuran
TERMINOLOGI DAN LINGKUP
TEKNOLOGI :
Arsitektur adalah segala hal yang memungkinkan bagi programmer
untuk dimanipulasi : Set Instruksi, jumlah bit untuk representasi
PERUBAHAN DEFENISI ARSITEKTUR
data, Mekanisme I/O, teknik pengalamatan.
KOMPUTER
Organisasi adalah bagaimana semua fitur yang ada ° 1950 - 1960: Arsitektur komputer :suatu diimplementasikan : Sinyal kontrol, interface, teknologi memori
komputer aritmatik. ° 1970 - pertengahan 1980: Arsitektur komputer
:suatu desain set intruksi untuk suatu kompiler tertentu.
Arsitektur Komputer =
° 1990 : Arsitektur komputer :suatu bentuk desain
Arsitektur Set instruksi + CPU, sistem memori, sistem I/O, Multiprosesor,
dan Network komputer.
Organisasi Mesin + ….. ° 2010 : Arsitektur komputer :suatu sistem yang
dapat beradaptasi sendiri, struktur yang dapat mengorganisasikan sendiri, sistem DNA /
Komputansi Quantum ?
INTERFACE :
Antara Lapisan yang berbeda : Ilustrasi ISA :
1. Application programming interface (API) : Set
rutin yang digunakan aplikasi untuk meminta layanan service dari level yang paling rendah (mesin) yang dikoordinasikan biasanya oleh sistem operasi.
software
Misalnya untuk menangani maintenance task seperti me-manage file dan menampilkan informasi tertentu.
2. Instruction Set Architecture (ISA) : ... Atribut dari
instruction set
sistem komputasi yang dilihat dari sudut pandang programmer, seperti struktur konseptual, perilaku fungsional yang diterapkan pada organisasi aliran data
hardware
dan kendali atas desain logika dan implementasi fisik pada mesin. - Amdahl, Blaaw, and Brooks, 1964
Antara modul atau sistem yang berbeda – Protokol Network, Channels/bus
Contoh ISA :
Representasi – Character codes (ASCII/EBCDIC/6-bit)
8 Digital Alpha
– Numerics (IEEE 754)
(v1, v3)
1992-97
8 HP PA-RISC
(v1.1, v2.0)
1986-96
1987-95 ISA terdiri dari :
8 Sun Sparc
(v8, v9)
8 SGI MIPS (MIPS I, II, III, IV, V) 1986-96
1. Organisasi penyimpanan yang dapat diprogram
(8086,80286,80386, 1978-96 (Programmable Storage) 80486,Pentium, MMX, ..)
8 Intel
2. Tipe Data & struktur Data : Encoding & Representasi
3. Set Instruksi
4. Format Instruksi
5. Mode pengalamatan (Addressing) dan mode akses data dan
akses intruksi
6. Kondisi-kondisi tertentu
Contoh Penerapan ISA : ORGANISASI :
Pada MIPS R3000 Instruction Set Architecture :
Karakteristik Kapabilitas & Performance dari
masing-masing unit fungsional. Contoh : Kategori Instruksi Registers, ALU, Shift, Logic Unit, ...)
• Load/Store Bagaimana semua komponen ter-interkoneksi • Computasional
Aliran Informasi antara komponen
• Jump dan Branch Logika pengontrol aliran informasi. • Floating Point Suatu kreografi antara Floating ponit Unit dengan - coprocessor
ISA
• Memory Management Deskripsi bahasa Register Transfer Level (RTL) • Special
3 Format Instruksi 32 bit Gambaran Organisasi :
CONTOH ORGANISASI :
simulaSI & pengukuran kinerja:
TI SuperSPARCtm TMS390Z50 in Sun SPARCstation20
Arsitektur adalah proses yang iteratif :
Mencari lingkup desain yang
mungkin pada semua level sistem
komputer
aplikaSI :
CAD, CAM, CAE, . . . Office (presentasi, spreadsheet, wordprosessor, … ) Multimedia, . . . The Web, . . . JAVA, . . . The Net => ubiquitous computing CAD, CAM, CAE, . . . Office (presentasi, spreadsheet, wordprosessor, … ) Multimedia, . . . The Web, . . . JAVA, . . . The Net => ubiquitous computing
ARSITEKTUR KOMPUTER LINGKUP ARSITEKTUR KOMPUTER
Instruction Set Design Computer Organization
Interfaces Hardware Components Compiler/System View
Logic Designer’s View “Building Architect”
“Construction Engineer”
Representasi karakter yang paling dikenal :
1. Pada PC dan minikomputer adalah American Standard
SET INSTRUKSI
Code for Information Interchange (ASCII) : satu byte – satu karakter.
2. Pada mainframe IBM menggunakan Extended Binary Dua bagian utama Arsitektur Komputer:
Coded Decimal Interchange Code (EBCDIC). - Instruction-Set Architecture (ISA) / Arsitektur Set Instruksi
- Hardware-System Architecture (HSA) / Arsitektur Sistem Representasi data numerik yang biasa digunakan untuk
Hardware bilangan bulat dan pecahan (integer dan fraction):
- Unsigned-binary numbers (bil. Positif dan Nol) - ISA meliputi spesifikasi yang menentukan bagaimana programmer bahasa mesin akan berinteraksi dengan - Binary-Coded Decimals (BCD)
komputer. ISA menentukan sifat komputasional komputer.
- Signed-magnitude Integers - Ones-Complement Integers
HSA berkaitan dengan subsistem hardware utama - - Twos-Complement Integers komputer (CPU, sistem memori dan IO). HSA mencakup - Excess-n desain logis dan organisasi arus data dari subsistem. - Fraction (bilangan pecahan)
Representasi Floating-Point terdiri dari empat bagian:
REPRESENTASI DATA
- Sign (S) - Mantissa atau koefisien (M)
- Radix atau base eksponen (R)
Unit Informasi Dasar dalam sistem komputer :
- Eksponen (E)
- satu byte atau 8 bit.
- Word size (ukuran word) – merupakan ukuran register Format Floating-Point IEEE
operasionalnya.
a) Single Precision (presisi tunggal) – 32 bit terdiri dari : 1 bit sign, 8 bit eksponen, dan 23 bit mantissa.
Contoh :
b) Double Precision (presisi ganda) – 64 bit terdiri dari: 1
1. Komputer 16-bit mempunyai register 16-bit – satu word bit sign, 11 bit eksponen, dan 52 bit mantissa. terdiri dari 2 byte
2. Komputer 32-bit mempunyai register 32-bit – satu word
terdiri dari 4 byte.
KARAKTERISTIK DAN FUNGSI SET SET REGISTER INSTRUKSI
Salah satu perbedaan pokok antara satu komputer dengan Operasi dari CPU ditentukan oleh instruksi-instruksi yang komputer lainnya adalah pada sifat set registernya.
dilaksanakan atau dijalankannya. Instruksi ini sering disebut Set register dapat dibedakan menjadi dua:
sebagai instruksi mesin (mechine instructions) atau instruksi - set register tujuan khusus (special purpose)
komputer (computer instructions).
- set register tujuan umum (general purpose)
Defenisi :
Instruction Register (IR) atau Program Counter (PC) – untuk Kumpulan dari instruksi-instruksi yang berbeda yang dapat menyimpan alamat instruksi yang sedang dijalankan.
dijalankan oleh CPU disebut set Instruksi (Instruction Set).
Memory Address Register (MAR) untuk menyimpan alamat Elemen-elemen dari instruksi mesin (set instruksi) :
memori yang akan diakses. - Operation Code (opcode) : menentukan operasi yang akan
dilaksanakan
Memory Buffer Register (MBR) untuk menampung data pada - Source Operand Reference : merupakan input bagi operasi saat operasi pemuatan maupun penyimpanan data.
yang akan dilaksanakan - Result Operand Reference : merupakan hasil dari operasi
Indexs Register (IR) untuk menyimpan indeks, misalnya untuk
yang dilaksanakan
mengakses elemen dalam array. - Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi
Flag Register atau Processor-Status Bits, misalnya untuk
yang dijalankan selesai.
menyimpan indikasi hasil operasi aritmatika dan logika, seperti:
Lokasi Set Instruksi :
- P (hasil Positif) Source dan result operands dapat berupa salah satu diantara -Z (hasil Zero/Nol)
tiga jenis berikut ini:
-N (hasil Negatif)
1. Main or Virtual Memory
-C (Carry out)
2. CPU Register
-V (Over Flow)
3. I/O Device
- Dan lainnya -
REPRESENTASI INSTRUKSI
DESAIN SET INSTRUKSI
Opcodes direpresentasikan dalam bentuk singkatan yang Desain set instruksi merupakan masalah yang sangat disebut mnemonics, yang menunjukkan operasi yang akan komplek yang melibatkan banyak aspek, diantaranya adalah: dilaksanakan.
1. Kelengkapan set instruksi
Contoh dari mnemonics adalah :
2. Ortogonalitas (sifat independensi instruksi) - ADD
Add (Addition)
3. Kompatibilitas :
- SUB Subtract
- source code compatibility
- MPY Multiply
- Object code Compatibility
- DIV Divide
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai - STOR
- LOAD
Load data from memory
Store data to memory
berikut :
- dsb.
a. Operation Repertoire: Berapa banyak dan operasi Diagram siklus Instruksi Komputer (Fig. 8-1. Stallings, W.
apa saja yang disediakan, dan berapa sulit 1990, hal. 293) :
operasinya
b. Data Types: tipe/jenis data yang dapat olah
c. Instruction Format: panjangnya, banyaknya alamat,
dsb.
d. Register: Banyaknya register yang dapat digunakan
e. Addressing: Mode pengalamatan untuk operand
JUMLAH ALAMAT (NUMBER OF ADDRESSES)
FORMAT INSTRUKSI
Salah satu cara tradisional untuk menggambarkan arsitektur prosessor adalah dengan melihat jumlah alamat yang
Suatu instruksi terdiri dari beberapa field yang sesuai dengan terkandung dalam setiap instruksinya. elemen dalam instruksi tersebut.
Jumlah alamat maksimum yang mungkin diperlukan dalam Layout dari suatu instruksi sering disebut sebagai Format sebuah instruksi : Instruksi (Instruction Format).
1. Empat Alamat ( dua operand, satu hasil, satu untuk
alamat instruksi berikutnya)
Contoh suatu Format Instruksi adalah sbb.:
2. Tiga Alamat (dua operand, satu hasil)
3. Dua Alamat (satu operand merangkap hasil, satunya
lagi operand)
4. Satu Alamat (menggunakan accumulator untuk
REFERENCE
REFERENCE
menyimpan operand dan hasilnya)
Ilustrasi Format Instruksi Sederhana
Contoh:
(Fig. 8-2. Stallings, W. 1990, hal. 294)
Instruksi untuk menghitung persamaan: Y = (A – B) / (C + D * E)
JENIS INSTRUKSI
a). Three Address Instruction
1. Data procecessing: Arithmetic dan Logic Instructions
SUB Y,A,B
2. Data storage: Memory instructions
MPY T,D,E
ADD 3. Data Movement: I/O instructions T,T,C
DIV Y,Y,T
4. Control: Test and branch instructions
b) Two Address Instruction
MOVE
Y,A
SUB
Y,B
MOVE
T,D
MPY
T,E
ADD
T,C
Y,T
DIV
C) One Address Instruction
JENIS OPERASI
LOAD D MPY E
ADD C
Transfer data dari suatu lokasi ke lokasi STOR Y
LOAD A SUB B
Jika memori dilibatkan:
DIV Y
a) Menentukan alamat memori STOR Y
b) Melaksanakan transformasi memori
virtual-to-actual
c) Menginisiasi Memori Read/Write
JENIS-JENIS OPERAND
- Addresses (akan dibahas pada addressing modes)
Dapat melibatkan perpindahan data, - Numbers
Aritmatik
sebelum atau setelah :
- Characters
a) Melaksanakan fungsi dalam ALU - Logical Data
b) Set kondisi Kode dan flag
Numbers
Logikal
Sama dengan Aritmatik
- Integer or fixed point - Floating point
Sama dengan Aritmatik dan logical, Dapat - Decimal (BCD)
Konversi
melibatkan logika khusus untuk melaksanakan konversi
Characters
Update program counter untuk suatu - EBCDIC
subroutine call/return, me-manage parameter passing dan linkage
Logical Data
Bila data berbentuk binary: 0 dan 1
I/O
- Mengirim perintah ke Modul I/O. - Jika memori dipetakan I/O (memory
mapped I/O), maka ditentukan alamat memory-mapped-nya terlebih dahulu mapped I/O), maka ditentukan alamat memory-mapped-nya terlebih dahulu
Contoh Set Instruksi
Unconditional transfer; load PC with
Transfer Jump
Of
(Branch)
specified address
Tipe Nama Deskripsi Control
Operasi
Jump
Test specified condition; depending
Data
Move (transfer) Transfer word / blok dari source ke
Conditional
on condition, either load PC with
Tranfer
specified address or else Do nothing Store
destination
Transfer word dari processor ke
Jump to Place current program control
Subroutine call, information (PC, status register, Load
external memory
Transfer word dari external memory
Branch and Link etc) in known location, e.g. top of
stack; jump to specified address Exchange
ke processor
Swap content dari source dengan
Return
Replace contents of PC, status
register, etc. With information from Clear/reset
destination
known location, e.g. from top of Set
Transfer word 0 ke destination
Transfer word 1 ke destination
stack.
Push
Transfer word dari source ke bagian
Execute
Fetch operand from specified loca-
tion and execute as instruction; Pop (pull)
atas stack
Transfer word dari bagian atas stack
note that PC is not modified.
ke destination
Skip
Increment PC to skip the next Instruction
Arithme- Add
Compute sum of two operands
Skip Conditional Test specified condition; depen-ding
tic
on outcome, either increment PC or Subtract Compute difference of two operands
else do nothing
Test specified condition; set flag(s) Devide
Multiply Compute product of two operands
Test
Compute quotient of two operands
based on outcome
Absolute
Compare Make logical or arithmatic compa- Negate
Replace operand by its abs. Value
rison of two or more operands; Increment
Change sign of operand
set flag(s) based on outcome Decrement
Add 1 to operand
Substract 1 from operand
Set Control
Large class of instructions to set
Variabels
controls for protection purposes,
Logical
AND interupt handling, timer control, OR
etc.(often privilaged instructions) NOT Operation bitwise
Perform the specified logical
Stop program execution Exclusive-OR
Halt
Stop program execution; test a Shift
Wait (hold)
Left-(right) shift operand introducing
specified condition continuously;
when the condition is satisfied, Rotate
constants at end
Left-(right) shift operand
resume execution
No
No operation is performed, but
Operation
Program execution continues
Jenis-jenis addressing modes tersebut diilustrasi-kan pada Tabel dan Gambar . dibawah ini, dengan notasi :
Input-
Input (read)
Transfer data from specified IO
Output
port or device to destination, e.g., main memory or processor
- A = contents of the (an) address field in the instruction
- EA = actual (effective) address of the location containing Output (write)
register
Transfer data from specified
the referenced operand
source to IO port or device
- (X) = Contents of location X
Start IO
Transfer instruction to IOP to Initiate IO operation
Test IO
Transfer status information from IO system to specified destination
Mode Addressing Dasar
Conver
Translate
Translate values in a section of
Principal Principal -sion
Mode Algorithm
Memory based on a table of corres -pondences
Convert the contents of a word
Immediate Operand No memory
Limited operand
from one form to another (e.g.,
reference
magnitude
packed decimal to binary)
Limited address
System
OSCALL
Causes an interrupt, which passes
space
Control
control to operating system
Indirect
EA = (A)
Large address Multiple memory
No memory
Limited address
ADDRESSING MODES
Reference
space
Large address Extra memory Jenis-jenis addressing modes (Teknik Pengalamatan) yang
Register
EA = (R)
reference paling umum:
EA=A+(R) flexibility Complexity
- Immediate
ment
- Direct - Indirect
Limited - Register
Stack EA=top of No memory
applicability - Register Indirect
stack
Reference
- Displacement
- Stack
DUKUNGAN SISTEM OPERASI TUJUAN DAN FUNGSI
Kenyamanan
Membuat komputer lebih mudah penggunaannya.
Efisiensi
Penggunaan sumber daya komputer yang lebih baik
Layanan Sistem Operasi :
Tipe Sistem Operasi
1. Pembuatan program
Interaktif
2. Pelaksanaan program
Batch
3. Mengakses ke device I/O
Single program (Uni-programming)
4. Akses kontrol file
Multi-programming (Multi-tasking)
5. Akses sistem
6. Pendeteksian kesalahan dan respon
7. Perhitungan (Accounting)
Awal Sistem Operasi
Akhir 1940 sampai pertengahan 1950 :
Sistem Operasi sebagai Manager Sumber Daya :
1. Tidak ada Sistem operasi
2. Program saling berhubungan secara langsung dengan perangkat keras
3. Dua permasalahan utama: o Penjadwalan o Waktu setup
Sistem Batch Sederhana
1. Program monitor yang residen
2. User menngirim job ke operator
3. Operator mem-batch job
4. Monitor control mengendalikan urutan even untuk memproses secara batch
5. Ketika satu job sudah selesai, kendali kembali ke monitor yang akan membaca job berikutnya
6. Monitor menangani skeduling
Bahasa Kendali Job
Multi-programmed Batch Systems
Instruksi ke monitor
Device I/O sangat lambat
Biasanya diawali dengan $ atau beberapa karakter Ketika suatu program menunggu I/O selesai bekerja, spesial lainnya
yang lainnya seharusnya dapat menggunakan CPU. Contoh : – $JOB – $FTN
ILUSTRASI
– ... Beberapa instruksi Fortran – $LOAD
Program Tunggal :
– $RUN – ... Beberapa data – $END
z Bahasa awal (Predecessor) kemudian selanjutnya menjadi scripting languages (Burroughs WFL)
Fasilitas hardware Diinginkan
Multi-Programming dengan Dua Program :
Memori terproteksi : Untuk melindungi Monitor
Pengatur waktu (TIMER) : Untuk mencegah suatu pekerjaan memonopoli sistem
Instruksi yang diistimewakan : o Yang hanya dieksekusi oleh Monitor
o Misalnya I/O
Interupsi : Memungkinkan mempertimbangkan untuk melepaskan (untuk sementara) suatu kendali dan mendapatkannya kembali
Multi-Programming dengan Tiga Program :
Penjadwalan (Scheduling)
Merupakan kunci multi-programming, terdiri dari :
Long term
Menentukan program yang mana yang disiapkan untuk memproses. Misalnya mengendalikan derajat tingkat dalam multi-programming
Setelah di submit, suatu pekerjaan menjadi suatu proses yang dilaksanakan dalam penjadwalan jangka pendek. (atau menjadi suatu job yang di- swap ke luar untuk penjadwalan jangka menengah)
Medium term
Bagian dari fungsi swap.
Sistem Time Sharing
pada umumnya didasarkan pada kebutuhan untuk
mengatur multi-programming
Jika tidak ada virtual memori, manajemen memori
adalah sekedarnya saja.
Mengijinkan para pemakai untuk saling
berhubungan secara langsung dengan komputer,
Short term
yaitu Interaktifitas. Sebagai DISPATCHER, yaitu pengambil keputusan
langsung untuk menentukan pekerjaan mana yang akan Multi-Programming mengijinkan sejumlah para dlaksanakan berikutnya. Misalnya : pekerjaan aktual pemakai untuk saling berhubungan dengan mana yang harus segera masuk ke prosesor pada komputer
waktu slot selanjutnya.
I/O
Hubungan langsung permintaan layanan dari device I/O
untuk mendapatkan perhatian Prosesor.
Status Proses
Blok Kendali Proses
Identifier Informasi Status Skala Prioritas Program counter Memory pointer Context data Status I/O Accounting information
Penjadwalan Proses Elemen Kunci Sistem Operasi
I/O Queue
Request
I/O
I/O Queue
I/O
I/O Queue
Terjadi penukaran (swap), proses yang diblok ke
antrian yang akan segera dilayani.
Manajemen Memori
Terjadi penukaran (swap), proses yang sudah siap
atau proses baru.
Uni-Program Memori di-split menjadi dua : o Satu bagian untuk Sistem operasi (monitor)
Partitioning
o Satu bagian untuk eksekusi program
Multi-Program
Defenisi :
User adalah bagian dari sub-divided dan berbagi pakai Melakukan Split memori menjadi bagian-bagian untuk antar proses aktif saja.
dialokasikan ke proses ( termasuk proses pada Sistem operasi)
Swapping Partisi Fixed-sized
Dapat saja tidak dalam ukuran yang sama. Proses dimasukkan ke dalam lubang paling kecil yang
Masalah: I/O sangat lambat dibandingkan dengan CPU, paling tepat ukurannya dengan proses tersebut) bahkan di sistem yang multi-programming, CPU seringkali
Dapat saja beberapa bagian memori jadi tersia-sia, idle.
sehingga membutuhkan partisi dengan ukuran variabel.
Solusi : Meningkatkan memori utama : o Mahal o Memungkinkan pelaksanaan program besar.
Swapping Pada Long Term Queue (Antrian jangka panjang), proses disimpan pada disk. Proses “di-swap” ketika ruangan sudah tersedia. Jika proses sudah selesai, akan dipindahkan
keluar dari memori utama. Jika tidak satupun dari proses di dalam memori yang siap ( misalnya ketika semua I/O di blok) :
Ilustrasi Partisi Fixed-sized
Partisi Variable-sized
Mengalokasikan secara tepat memori yang diperlukan
suatu proses. Menyebabkan suatu hole kosong tidak terpakai pada bagian akhir memori, yang biasanya terlalu kecil untuk digunakan.
Dari keseluruhan memori yang tersedia, hanya ada satu
hole kecil - sedikit yang tersia-siakan Ketika semua proses diblok, akan terjadi penukaran (swap) proses keluar CPU, lalu CPU mengambil proses yang lain.
Proses baru mungkin saja lebih kecil dibanding proses yang ditukar keluar tadi, sehingga membuat hole baru. Amat cepat terbentuk sekelompok hole (fragmentation) Solusi:
o Koalisi - Menggabung dengan hole yang bersebelahan ke hole yang lebih besar. o Pemampatan (Compaction) - Dari waktu ke waktu melakukan perpindahan semua hole ke dalam satu blok bebas ( seperti pada disk de- fragmentation)
Ilustrasi Partisi Variable-sized
Relokasi
Tidak ada jaminan suatu proses akan mengisi ke dalam tempat yang sama dengan proses yang lain di dalam memori.
Instruksi berisi alamat : o Lokasi data o Alamat instruksi (percabangan)
Alamat logis - relatif untuk awal suatu program. Alamat fisik - Lokasi aktual (yang sesungguhnya)
dalam memori pada saat ini. Konversi otomatis berdasarkan alamat.
Paging
Memori di-split pada ukuran yang sama, chunks kecil -
disebut frame Page. Program yang dipisah ( proses) pada ukuran yang
sama, small chunks – disebut page. Mengalokasikan page frame yang diperlukan kepada
suatu proses. Sistem operasi memelihara daftar frame yang bebas.
SISTEM BUS KEUNTUNGAN MENGGUNAKAN BUS
 Memiliki berbagai macam kegunaan (Versatilitas): o Device baru dapat ditambahkan dengan mudah. o Peripheral dapat dipindah-pindahkan antar sistem
komputer yangh menggunakan standar bus yang sama.
Bus adalah :
 Jalur komunikasi yang dibagi pakai
 Harga Rendah:
 Suatu set kabel tunggal yang digunakan untuk o Set kawat tunggal dipakai bersama dalam
menghubungkan berbagai subsistem. berbagai cara dan metode
KERUGIAN MENGGUNAKAN BUS
Processor
Input
 Menciptakan suatu komunikasi bottleneck
Control
 Bandwidth (Luas bidang) bus dapat membatasi
Memory
maksimum I/OThroughput  Maksimum kecepatan bus biasanya dibatasi oleh:
Datapath
o Panjang bus
Output
o Banyaknya device yang terhubung pada bus
 Kebutuhan dukungan tambahan untuk device-device
yang :
 Merupakan tool yang fundamental dalam menyusun o Secara luas memiliki berbagai jenis latency sistem yang besar dan kompleks secara sistematis.
o Secara luas memiliki berbagai jenis data transfer
rate
 Suatu transaksi bus meliputi dua komponen:
ORGANISASI BUS
o Mengeluarkan perintah (dan alamat) - request
(permintaan)
o Memindahkan data - action (tindakan)
Jalur Kontro l
 Master adalah bus yang memulai transaksi bus dengan
Jalur Data
cara :
o Mengeluarkan perintah (dan alamat)
 Slave adalah bus yang bereaksi terhadap alamat
dengan cara :
 Jalur Kontrol :
o Mengirimkan data kepada master jika master
o Berisi Signal request dan sinyal
meminta data.
acknowledgments
o Menerima data dari master jika master
o Mengindikasikan tipe informasi pada jalur
mengirimkan data
data.
 Jalur Data membawa informasi antara sumber dan
DIRECT MEMORY ACCESS (DMA)
tujuan:
o Data dan alamat o Perintah-perintah kompleks.
Device I/O harus memindahkan sejumlah data yang
besar dari memori ke prosesor :
o Disk harus memindahkan blok lengkap ( 4K?
16K?)
MASTER VS SLAVE
o Paket besar dari jaringan
o Daerah frame penyangga (buffer) DMA memberi kemampuan pada device eksternal
Bus untuk dapat menulis ke memori secara langsung: Bus Master
Master mengirim perintah
Data dua arah
Overhead yang lebih kecil dibandingkan dengan jika prosesor me-request 1 word setiap waktu.
Slave
o Prosesor (atau sistem memori) bertindak seperti
slave
Kasus : Cache coherence • Penyimpanan sementara bagi kode dan hasil amat diperlukan, Apa Akibatnya jika device I/O menulis data yang sedang
contoh : Main memory
berada dalam prosesor cache? Prosesor tidak dapat lihat data baru!
Komputer Komponen (Top Level View) :
Solusi: Membersihkan cache pada setiap Operasi I/O (mahal) Memiliki perangkat keras yang membuat tidak
berlakunya suatu jalur cache.
KONSEP PROGRAM
Program adalah :
• Kumpulan Langkah yang berurutan • Untuk setiap langkah, akan menyelesaikan operasi aritmatik
atau operasi logikal • Untuk setiap operasi, membutuhkan suatu sinyal kontrol tertentu.
Fungsi Kontrol Unit :
• Untuk setiap operasi membutuhkan kode unik : ADD, MOVE • Segmen hardware menerima kode tersebut dan memilihkan
kontrol sinyal yang tepat.
• Kita memiliki Komputer!
Siklus Instruksi :
Komponen :
• Control Unit dan unit Aritmatik &Logika terdapat pada Central Processing Unit • Data dan instruksi perlu masuk ke dalam sistem tersebut dan hasilnya dikeluarkan dari sistem tersebut : Proses Input/output
• Increment PC : mencari alamat lainnya
Contoh Eksekusi Program :
• Instruksi di-load ke Instruction Register (IR) • Prosesor menginterpretasi instruksi dan menyiapkan aksi
yang dibutuhkan
2. Siklus Eksekusi
• Processor-memory : transfer data antara CPU dan main
memory • Processor I/O : transfer data antara CPU dan modul I/O • Data processing : Beberapa operasi aritmatik dan logika
pada data • Kendali.: alternatif aliran operasi, misalnya jump • Kombinasi di atas.
State Diagram Siklus Intruksi :
Dua Langkah Siklus Instruksi :
1. Siklus Fetch • Program Counter (PC) mengambil alamat instruksi
selanjutnya pada fetch. • Processor mengamb il instruksi dari memori yang ditunjuk oleh PC
Interupsi :
Siklus Interupsi :
• Mekanisme antara modul yang berlainan (misalnya I/O) dapat
• Ditambahkan dalam siklus Instruksi
menginterupsi aliran proses yang normal. • Prosesor akan menmeriksa interupsi : diindikasikan dengan • Berhubungan dengan program, misalnya : overflow, division
adanya sinyal interupsi.
by zero • Jika tidak ada interupsi maka akan mem-fetch intruksi • Berhubungan dengan Timer, misalnya : dibuat oleh timer
selanjutnya.
pada prosesor internal, digunakan dalam multitasking
• Jika terdapat interupsi :
• Berhubungan dengan I/O : dari I/O controller o Hentikan dulu eksekusi program yang sedang berjalan • Berhubungan dengan kesalahan Hardware, misalnya error
o Isi program di simpan dulu
pada parity memori. o Set PC untuk menunjuk ke alama awal rutin handler
interupsi o Memproses interupsi.
Kendali Aliran Program :
o Mengembalikan isi program dan melanjutkan program
yang terinterupsi tadi.
State Diagram Siklus Interupsi :
Multiple Interupsi :
Model Nested Multiple Interupsi :
• Men-disable interupsi • Prosesor akan mengabaikan interupsi yang lain kerika sedang memproses suatu interupsi • Interupsi yang di-pending akan dijalankan setelah interupsi yang sebelumnya telah selesai diproses. • Terdapat Interupsi yang menangani urutan. • Mendefinisikan prioritas • Interupsi prioritas rendah dapat diinterupsi oleh interupsi yang lebih tinggi prioritasnya. • Ketika proses pada interupsi yang berprioritas tinggi selesai dilakukan, proses akan kembali ke interupsi sebelumnya.
Model Sequensial Multiple Interupsi :
KONEKSI
• Setiap unit harus terkoneksi • Tipe koneksi berbeda u ntuk setiap tipe uni yang t
dikoneksikan.
Konek si Memori :
• Receive dan s end data • Receive alamat (suatu l okasi) • Receive sinyal kontrol : Read, Write, Timing
Koneksi Input/Output :
• Contoh : CPU perlu membaca instruksi (data) dari lokasi yang • Hampir mirip dengan koneksi memori
diberikan dalam memori.
• Output : Receive data dari computer dan Send data ke • Lebar Bus menunjukkan kapasitas maksimum memori suatu peripheral.
sistem, contoh : 8080 memiliki 16 bit bus alamat yang • Input : Receive data dari peripheral dan Send data ke
memberikan 64k space alamat
computer • Receive sinyal kontrol dari komputer
BUS KONTROL :
• Send sinyal kontrol ke peripheral, contoh : ke disk. • Mengendalikan dan mengatur timing informasi : • Receive alamat dari komputer, contoh : nomor port untuk
1. Sinyal read/write memori.
identifikasi peripheral.
2. Interrupt request
• Send sinyal interupsi (kontrol)
3. Sinyal Clock
Koneksi CPU :
• Read instruksi dan data.
SKEMA KONEKSI BUS :
• Write out data (setelah diproses). • Send sinyal kontrol ke unit lain. • Receive (dan menjalankan) interupsi
MACAM KONEKSI BUS KELEMAHAN SINGLE BUS : BUS DATA :
• Membawa data : Dalam hal ini tidak ada perbedaan antara Banyak device dalam 1 bus akan membuat : data dan instruksi.
• Delay Propagasi :
• Besar jalur ini mempengaruhi kinerjanya, contoh : 8, 16, 32, o Data path yang panjang mengakibatkan koordinasi
64 bit. penggunaan bus mempengaruhi kinerjanya. o Jika data transfer agregat, akan memenuhi kapasitas bus
BUS ALAMAT :
dengan cepat.
• Identifikasi sumber atau tujuan data
BUS TRADISIONAL ISA (DENGAN CACHE) : TIPE BUS
Menurut Berkeley :
Processor-Memory Bus (desain spesifik)
o pendek dan berkecepatan tinggi o Hanya dibutuhkan untuk berpasangan dengan
sistem memori. o Memaksimalkan bandwidth memori-ke-prosesor. o Menghubungkan secara langsung dengan
prosesor. o Mengoptimalkan transfer blok cache.
BUS DENGAN KINERJA TINGGI :
I/O Bus ( standard industri)
o Pada umumnya adalah lebih lambat dan panjang o Diperlukan untuk berpasangan dengan berbagai
macam device I/O. o Menghubungkan antara processor-bus memori
atau dengan bus backplane.
Backplane Bus ( kepemilikan atau standard) o Backplane: suatu struktur interkoneksi di dalam
chasis o Mengijinkan prosesor, memori, dan device I/O untuk dapat eksis pada waktu bersamaan o Keuntungan harga: satu bus untuk semua
komponen
Menurut Stalling :
Diagram Timing Asynchronous :
• Dedicated : Separasi jalur data dan alamat • Multiplexed
o Men-Share jalur o Kontrol jalur alamat valid atau data valid. o Kelebihan : jalur lebih banyak. o Kekurangan : Perlu kontrol lebih kompleks.
TIMING BUS
• Untuk Koordinasi setiap even dalam bus. • Synchronous :
o Even ditunjukkan oleh sinyal clock. o Bus Kontrol termasuk dalam clock line
o Semua device dapat membaca clock line
o Biasanya 1 siklus untuk setiap even.
Diagram Timing Synchronous :
Contoh : Organisasi Bus Sistem Pentium
Bus Prosesor/Memori
Bus PCI
Berbagai macam bus I/O
CPU (CENTRAL PROCESSING UNIT) z Dengan membuat register berfungsi secara khusus,
akan membuat
– Instruksi lebih kecil sehingga cepat.
Fungsi Utama CPU :
– Kurang fleksibel
– Fetch Instruksi
– Interpret Instruksi
Seberapa besar Register itu ?
– Fetch data
z Cukup besar untuk menangani alamat.
– Process data
z Cukup besar untuk menangani word
– Write data z Harus memungkinkan untuk mengkombinasikan antara
dua register data seperti :Single, double, extended
Register :
z CPU harus memiliki space untuk pengolahan yang
2. Register Data
dilakukannya (penyimpanan sementara) yang disebut
3. Register Alamat
register
z Jumlah dan fungsi penyimpanannya sangat bervariasi
4. Register Kode Status Kondisi
tergantung pada desain prosesornya
z Merupakan Top level dari hirarki memori. z Set dari bit individual : hasil dari operasi terakhir
sebelumnya adalah nol.
Beberapa Fungsi Register :
z dapat dibaca oleh program, contoh : Jump if zero z Biasanya tidak dapat di set oleh program.
1. General Purpose
Register Kontrol dan Status
z Untuk berbagai keperluan dasar
z Dapat digunakan untuk data atau pengalamatan pula,
z Program Counter
contoh :
z Instruction Decoding Register
• untuk data : Accumulator
z Memory Address Register
• Untuk alamat : Segment
z Memory Buffer Register
z Dengan membuat register berfungsi sebagai general
Beberapa Contoh Word Status Program :
purpose akan :
z set dari bit
– Meningkatkan fleksibilitas dan pilihan bagi
z Kode kondisi
programmer
z Tanda dari hasil sebelumnya
– Meningkatkan ukuran instruksi dan kompleksitas
z Zero z Zero
Siklus Instruksi Indirect
z Equal z Overflow z Interrupt enable/disable z Supervisor
Mode Supervisor :
z Bagian yang merupakan dasar dari informasi yang diberikan oleh vendor. z Mode Kernel z Memberikan izin/hak (privileged) untuk mengeksekusi
suatu instruksi z Digunakan oleh sistem operasi z Tidak tersedia bagi program user dimodifikasi.
Contoh Organisasi Suatu Register :
z Membutuhkan kses memori untuk melakukan fetch
operand z Pengalamatan Indirect membutuhkan lebih banyak
akses memori z Dapat digunakan sebagao tambahan instruksi dalam
subsiklus.
Diagram Siklus Instruksi Aliran Data dalam Proses Fetch Instruksi
z Tergantung desain CPU z Fetch
– PC mengandung alamat instruksi selanjutnya – Alamat akan dipindahkan ke MAR – Alamat diletakkan pada bus alamat – Control unit meminta pembacaan memori – Hasil akan diletakkan pada bus dara, dicopy ke
MBR kemudian ke IR – Biasanya PC kemudian bertambah 1
Aliran Data dalam Proses Fetch Data
z Register IR akan diuji z Jika pengalamatan indirect, akan mengalami siklus
indirect :
– N bit pada MBR ditransfer ke MAR – Control unit meminta pembacaan memori – Hasil (alamat operand) dipindahkan ke MBR
Diagram Aliran data Pada Proses Fetch
Diagram Aliran data Pada Proses Indirect
Aliran Data dalam Siklus Eksekusi
• Akan mengambil banyak form • Tergantung pada intruksi yang sedang dieksekusi • Biasanya didalamnya terdapat :
o Memory read/write o Input/Output o Register transfers o ALU operations
Aliran Data dalam Interupsi
Pre-Fetch
• Sederhana • Siklus Fetch mengakses memori utama • Dapat diprediksi
• Siklus eksekusi biasanya tidak lagi mengakses • Isi register PC akan disimpan sementara untuk
memori utama
kemudian dilanjutkan setelah interupsi selesai • Pada saat itulah dapat dilakukan proses fetch dilayani.
instruksi selanjutnya pada saat siklus eksekusi • Isi register PC di-copy ke MBR
sedang berlangsung mengerjakan suatu intruksi. • Lokasi memori spesial (misal : stack pointer) akan
Inilah yang disebut instruksi prefetch. di-load ke MAR
• Fetch biasanya lebih singkat waktunya • MBR akan melakukan penulisan ke memori
dibandingkan eksekusi, maka memungkinkan • Register PC di-load dengan alamat rutin yang
terjadinya Prefetch, namun Setiap menemui menangani interupsi
proses lompatan atau percabangan berarti proses • Instruksi selankjutnya (bagian awal dari rutin
instruksi pre-fetch yang melompat secara otomatis interrupt handler) dapat mulai di-fetch.
dalam urutan program utama seringkali tidak dibutuhkan lagi. Karena saat itu pointer prosesor
Diagram Aliran data dalam Interupsi
sudah mengarah ke alamat percabangan yang lain lagi
Proses Pipelining
1. mem-fetch instruksi
2. men-decode instruksi
3. Mengkalkulasi operand
4. mem-Fetch operand
5. meng-eksekusi instruksi
6. Menulis hasil
7. Melakuan overlap terhadap operasi ini dengan operasi lainnya.
Timing Pada Proses Pipelining
Percabangan Pada Pipelining
Penanganan Percabangan
1. Multiple Streams
2. Prefetch Target percabangan
3. Loop buffer
4. Memprediksi percabangan
5. Delay percabangan
1. Multiple Stream
Mengasumsikan bahwa suatu lompatan tidak akan terjadi Selalu mem- fetch instruksi selanjutnya Memiliki dua pipeline
Misalnya : mesin VAX tidak akan melakukan prefetch Prefetch setiap percabangan akan masuk ke pipeline
setelah percabangan jika terjadi kesalahan page pada tersebut
hasilnya
Kemudian disalurkan ke busmelalui register Percabangan yang banyak akan diarahkan ke pipeline
Prediksi yang akan terlaksana (Predict always taken) secara bergantian
Mengasumsikan bahwa suatu lompatan akan terjadi Selalu mem-fetch instruksi untuk target
2. Pre-fetch Target Percabangan
Prediksi berdasarkan Opcode
Sejumlah instruksi menjadikan suatu lompatan menjadi Tujuan percabangan di prefetch dengan instruksi
lebih mungkin dilaksanakan
tambahan yang diberikan pada saat ditemukan
Dapat mencapai kesuksesan 75%
percabangan. Infromasi target akan dipertahankan sampai terjadi
Switch Taken/Not taken
eksekusi di percabangan.
Berdasarkan pada histry sebelumnya
Contoh penggunaannya pada mesin IBM 360/91
Sangat baik untuk looping
State Diagram Branch Prediction
3. Loop buffer
Memanfaatkan memori yang sangat cepat sebagai buffer Ditangani oleh proses fetch pada pipeline Akan selalui melihat dulu isi buffer sebelum melakukan
fetch ke memori Sangat baik untuk looping yang kecil atau lompatan Contoh penggunaannya pada mesin CRAY-1
4. Memprediksi percabangan
Prediksi yang tidak akan terlaksana (Predict never taken)
Proses Fetch - 4 Register
5. Delay Percabangan
• Memory Address Register (MAR)
Tidak akan melompat sampai selesai menyusun kembali
o Terkoneksi dengas bus alamat
intruski dengan sempurna. o Menetapkan alamat untuk operasi read atau write • Memory Buffer Register (MBR) o Terkoneksi dengas bus data
CU (CONTROL UNIT) o Mempertahankan data untuk ditulis atau dibaca
sampai selesai.
• Program Counter (PC)
Operasi Mikro
o • Komputer mengeksekusi program Mempertahankan alamat instruksi selanjutnya • Mengalami Siklus Fetch/execute yang akan di fetch kemudian
• Instruction Register (IR)
• Setiap siklus memiliki beberapa langkah, inilah o Mempertahankan instruksi terakhir yang telah di yang disebut operasi mikro
fetch
• Operasi Atomik CPU
Urutan Proses Fetch
Elemen dalam Eksekusi Program
1. Alamat instruksi selajutnya pada PC
2. Alamat pada MAR diletakkan pada bus alamat
3. Control unit memberi perintah READ
4. Hasil (data dari memori) berada dalam bus data
5. Data dari bus data di-copy ke MBR
6. PC akan bertambah 1 (paralel dngan proses fetch data
dari memori
7. Data (instruksi) dipindahkan dari MBR ke IR
8. MBR sekarang siap untuk data pada proses fetch
selanjutnya
Urutan Proses Fetch (dalam bentuk simbol)
Siklus In-direct
t1: MAR <- (PC) t2: MBR <- (memory)
1. MAR <- (IRaddress) - field alamat IR
PC <- (PC) +1
2. MBR <- (memory)
t3: IR <- (MBR)
3. IRaddress <- (MBRaddress)
(tx = Unit waktu /clock cycle)
4. MBR mengandung alamat
5. IR sekarang dalam state yang sama seperti atau
pengalamatan langsung yang digunakaan
t1: MAR <- (PC)
t2: MBR <- (memory)
Siklus Interupsi
t3: PC <- (PC) +1
IR <- (MBR)
t1: MBR <-(PC) t2: MAR <- alamat-yang disimpan
PC <- alamat-rutin
Aturan Pengelompokan Untuk Siklus Clock
t3: memory <- (MBR)
Setiap urutan harus diikuti
Di atas adalah perintah minimum :
MAR <- (PC) harus mendahului MBR <- (memory) Perlu tambahan operasi mikro lagi dalam mengambil
alamat yang disimpan.
Konflik haris dihindarkan Isi yang disimpan dilakukan oleh rutin interrupt handler, Tidak boleh membaca dan menulis register yang sama
bukan operasi mikro.
dalam waktu yang sama
MBR <- (memory) da IR <- (MBR) tidak boleh dalam
siklus yang sama
Siklus Eksekusi (ADD)
Akan berbeda untuk setiap instruksi
Begitu juga : Misalnya ADD R1,X Å akan menambahkan sejumlah PC <- (PC) +1 melibatkan suatu penambahan
bilangan pada alamat X ke Register 1 , hasilnya di R1 Menggunakan ALU
t1: MAR <- (IRaddress)
Membutuhkan tambahan operasi mikro yang lain
t2: MBR <- (memory)
t3: R1 <- R1 + (MBR)
Ini contoh untuk operasi mikro yang tidak overlap.
3. Menentukan fungsi control unit yang harus dilakukan
Siklus Eksekusi ( ISZ )
prosesor
ISZ X - increment dan skip bila zero
1. Elemen dasar Prosesor
t1: MAR <- (IRaddress) t2: MBR <- (memory)
ALU
t3: MBR <- (MBR) + 1
Registers
t4: memory <- (MBR)
Internal data path
if (MBR) == 0 then PC <- (PC) + 1
External data path
Catatan :
Control Unit
Ini terjadi dalam operasi mikro tunggal
Operasi mikro selesai pada t4
2. Tipe Operasi Mikro
Siklus Eksekusi ( BSA )
Transfer data antar register Transfer data dari register ke eksternal
BSA X - Branch dan save address
Transfer data dari eksternal ke register
Alamat instruksi akan mengikuti BSA , untuk disimpan di X
Operasi Aritmatik atau logical
Eksekusi akan berlanjut dari X+1
t1: MAR <- (IRaddress)
3. fungsi control unit
MBR <- (PC)
t2: PC <- (IRaddress) a. Sequencing (mengurutkan operasi) Membuat sejumlah operasi CPU akan melalui urutan operasi
memory <- (MBR)
mikro tertentu
t3: PC <- (PC) + 1
b. Mengeksekusi
Membuat kinerja setiap operasi mikro selesai dengan
Kebutuhan Fungsional
menggunakan sinyal kontrol tertentu
1. Definisikan elemen dasar prosesor
2. Deskripsikan operasi mikro yang harus dilakukan prosesor 2. Deskripsikan operasi mikro yang harus dilakukan prosesor
Clock
MAR <- (PC)
Satu instruksi operasi mikro (atau satu set operasi mikro Control unit mengaktifkan sinya untuk membuka gerbang yang paralel) per siklus clock
antara PC dan MAR
Instruction register
MBR <- (memory)
Op-code untuk setiap instruksi Membuka gerbang anatara MAR dan bus alamat Menentukan intruksi mikro mana yang akan dilakukan
Sinyal kontrol pembacaan memori Membuka gerbang antara data bus dan MBR
Flags Menunjukkan status CPU
Sinyal-sinyal pada Control Unit
Menunjukkan hasil dari operasi sebelumnya
Yang ada pada bus kendali Interupsi Sinyal Acknowledgement
Yang ada pada Output Dalam CPU
Untuk pergerakan data Untuk mengaktifkan fungsi tertentu
Yang melalui bus kendali ke memori ke modul I/O
SISTEM INPUT DAN OUTPUT Fungsi Modul I/O
1. Control & Timing
2. Komunikasi CPU
Permasalahan dalam I/O
3. Device untuk komunikasi
4. Data Buffering
Amat banyak variasi jenis peripheral :
5. Deteksi Error
o Menangani data dengan cara yang berbeda
o Dengan kecepatan yang berbeda
Langkah-langkah penanganan I/O
o Dengan format yang berbeda
o Kesemuanya lebih lambat dari CPU dan RAM
1. CPU mengecek status modul I/O device Memerlukan modul I/O
2. I/O module mengirimkan statusnya
3. Jika ready, CPU meminta transfer data
4. I/O modul mengambil data dari device
Modul I/O
5. I/O modul transfer data ke CPU dalam variasi output
yang diinginkan.
Interface dengan CPU dan Memori
Interface ke satu atau lebih peripheral
Diagram Modul I/O
Device Eksternal
Pembacaan disisi manusia : Screen, printer, keyboard
Pembacaan disisi mesin : Monitoring and control
Komunikasi : Modem Network Interface Card (NIC)
Metode Pengaksesan Sistem I/O :
Metode Operasi Sistem I/O :
1. I/O Terprogram
1. Memori Mapped I/O
Æ CPU mengendalikan operasi I/O secara keseluruhan Piranti I/O dihubungkan sebagai lokasi memori virtual
dengan menjalankan serangkaian instruksi I/O dengan sehingga port I/O tergantung memori utama.
suatu program tertentu.
Karakteristik : • Port I/O Æ menempati bagian tertentu pada bus Alamat, diakses seolah-olah lokasi memori. • Piranti input Æ menjadi bagian dari memori yang memberi data ke bus data. • Piranti output Æ menjadi bagian dari memori yang memiliki data di dalamnya.
2. I/O Mapped I/O
Piranti I/O dihubgungkan sebagai lokasi terpisah dari lokasi memori, sehingga port I/O tidak tergantung pada keadaan memori utama.
Karakteristik : • Port I/O Æ tidak tergantung memori utama • Transfer informasi Æ dibawah kendali sinyal kontrol
dengan instruksi input dan output. • Operasi I/O Æ tergantung sinyal kendali dari CPU. • Jenis instruksi :
Gambar : Flowchart I/O Program
o Instruksi I/O Æ mengaktifkan baris kendali read/write pada port I/O.
Æ Karakteristik :
o Instruksi memory Æ mengaktifkan baris kendali • Terdapat program untuk : memulai - mengarahkan
read/write pada memori.
- menghentikan operasi I/O.
• Ruang memori dan ruang alamat I/O bisa saja • Membutuhkan perangkat keras register : memiliki alamat yang sama.
Register status Æ status piranti I/O dan data • Lebih cepat dan efisien karena penggunaan alamat
yang akan dikirim Register buffer Æ untuk menyimpan data
yang terpisah, namun memiliki keterbatasan jumlah sementara sampai CPU / piranti I/O siap.
instruksi yang dapat digunakan untuk operasi I/O.
Register pointer buffer Æ menunjuk ke lokasi memori dimana sebuah karakter harus ditulis
atau dibaca. Register counter data Æ tempat penyimpanan jumlah karakter dan akan berkurang nilainya jika karakter berhasil ditransfer.
• Perlu waktu proses yang menyita waktu pemanfaatan CPU.
2. I/O Interupsi (Demand Driven)
Æ CPU akan bereaksi ketika suatu piranti mengeluarkan permintaan untuk pelayanan. Æ Karakteristik :
• lebih efisien dalam pemanfaatan CPU Æ tidak harus terus menerus menguji status dari piranti. • Menunggu interupsi dari piranti I/O.
Jenis interupsi :
Sifat interupsi :
Gambar : Flowchart I/O Interupsi
1. Interupsi hardware :
timer, memori,
1. Maskable : interupsi
yang dapat di-disable
• Karena banyaknya piranti yang meminta interupsi,
powersupply dan lain-
untuk sementara dengan
lain
menuntut CPU untuk dapat menentukan prioritas
instruksi Disable
2. Interupsi Software :
interupsi khusus. layanan. Ada 2 cara metode pemilihan prioritas
opcode/data, divide by layanan : interupsi yang tidak zero
overflow, ilegal
2. Non maskable
1. pooling / Pooled interrupt : piranti-piranti
dapat di-disable dengan
instruksi perangkat
dihubungkan dengan suatu gerbang OR ke
lunak. kendali Interupsi (INTR=INTERRUPT REQUEST). CPU akan menguji bit status piranti, jika
permintaan interupsi ditemukan, rutin pooling akan bercabang ke lokasi memori tempat rutin pelayan interupsi berada.
2. vector interrupt : piranti yang berinterupsi diidentifikasi secara langsung dan dihubungkan dengan rutin pelayanan interupsinya. Caranya : 2. vector interrupt : piranti yang berinterupsi diidentifikasi secara langsung dan dihubungkan dengan rutin pelayanan interupsinya. Caranya :
intruksi INTR yang memang secara organisasi di set secara berlainan.
b. CPU men-set baris INTA (INTerrupt Acknowledgement) untuk mengarahkan masing-masing pinterupsi tersebut ke baris instruksi layanannya.
c. Piranti menerapkan interrupt vektor pada
bus.
d. CPU bercabang ke alamat memori yang
ditunjuk interrupt vektro tersebut.
3. Direct Memory Access (DMA)
Æ Metode transfer data secara langsung antara memori
Gambar : Pengendali DMA
dan piranti tanpa pengawasan dan pengendalian CPU.
Æ Hanya dapat dilakukan pada piranti I/O berkecepatan
tinggi dan mampu mentransfer data besar dalam waktu
Transfer Data pada Sistem I/O :
singkat seperti disk.
Æ Metode :
1. Format Transfer
1. CPU hanya menginisialisasi saluran DMA.
a. Paralel : semua bit pada karakter (word dengan
2. DMA controller kemudian mengendalikan sepenuhnya panjang tertentu) dikirim secara bersamaan dalam batas transfer data, dengan 2 cara :
waktu transmisi tertentu.
• skema transfer blok DMA dual port : CPU dan
b. Serial : data dikirim secara berurutan dalam satu DMA controller mengakses memori utama memlalui
bariskomunikasi tungga, sehingga antara pengirim dan MAR dan MBR, pada memori utama jenis dual port
penerima harus membagi batas waktu pengiriman (port 1 Æ CPU, port 2 Æ DMA controller)
karakter menjadi beberapa sub interval • skema transfer DMA Cycle Stealing : Memakai
pengiriman/penerimaan.
memori utama jenis port tunggal, sehingga CPU dan
piranti I/O akan beradu cepat mendapatkan tempat Transfer paralel lebih cepat karena memiliki saluran
layananan pada basis asynchronous independen transmisi yang banyak, namun tidak bisa diterapkan pada
jarak yang terlalu panjang, karena dapat terjadi interferensi antar saluran.
2. Mode Transfer
a. Synchronous : Baris kendali dipakai untuk emsinkronkan waktu pada semua kejadian yang terjadi selama periode tertentu. Setiap piranti harus bereaksi dengan kecepatan yang sama pada periode yang diberikan CPU. Namun karena kecepatan piranti I/O yang bervariasi sedang data dikirim secara serial dan bergantian dalam periode yang sudah ditetapkan, maka kecepatan transfer di set pada piranti I/O dengan kecepatan terendah.
Gambar : Transfer Asynchronous
Interfacing Piranti I/O
Æ Defenisi : Suatu alat yang digunakan untuk menghubungkan suatu piranti dengan CPU melalui BUS. Æ Fungsi Umum : Mensinkronkan data transfer antara CPU dan piranti I/O
Gambar : Transfer Synchronous
Æ Fungsi Detail :
• Penyedia status piranti I/O bagi CPU
b. Asynchronous : Proses back-and-forth (pulang-pergi)
• Memiliki kemampuan interupsi / DMA
dalam meneruskan sinyal kendali dari pengirim ke • Mampu me-transfer instruksi CPU ke piranti penerima. Tekniknya bernama handshaking dengan
• Mampu berfungsi sebagai buufer storage data transfer. melakukan terlebih dahulu pengecekan validitas data
• Mampu melakukan pengujian kesamaan data. yang akan transfer. Kelemahan : perlu banyak kendali.
• Mampu men-decode dan mgng-encode data Kelebihan : memungkinkan penggunaan piranti I/O yang
• Memiliki fasilitas khusus :
memiliki berbagai variasi kecepatan dalam sistem yang • Konversi data paralel-ke-serial dan sebaliknya. sama.
• Encoding karakter ketik ke VDU. • Encoding karakter ketik tertentu : F1, F2,
BACKSPC, DELETE dan sebagainya.
• Menyediakan sinyal status operasi.
Æ Komponen Utama Interface Piranti I/O :
1. Device dependent Æ bagian yang melayani piranti
I/O Channel
2. Device independent Æ bagian yang menghubungkan unit interface ke bus sistem.
Defenisi : Pengendali yang melakukan operasi I/O dalam mode DMA pada sistem bus yang mengatur
Æ Struktur Interface Piranti I/O : komunikasi dengan memori utama pada piranti-
1. Register piranti I/O melalui bus I/O Æ dapat melakukan • kendali (CR) Æ mencatat instruksi dan informasi
deteksi dan perbaikan kesalahan serta beroperasi dalam piranti.
pada basis cycle stealing.
• Status (SR) Æ mencatat status piranti dan mengeluarkan pesan kesalahan
Macam layanan :
• Data input (IDR) dan data output (ODR) Æ sebagai • Saluran multiplexer Æ menghubungkan piranti buffer data untuk operasi input dan output.
berkecepatan rendah / sedang, lalu
2. Bus mengoperasikannya secara bersamaan • Receiver Æ menangani data input
dengan multiplexing.
• Transciever Æ sirkuit bi-directional data menangani • Saluran selektor Æ menghubungkan piranti input maupun output