Arsitektur Komputer
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
Arsitektur adalah segala hal yang memungkinkan bagi programmer
TEKNOLOGI :
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
CPU, sistem memori, sistem I/O, Multiprosesor,
Arsitektur Set instruksi + 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
aplikaSI :
CAD, CAM, CAE, . . .
Office (presentasi, spreadsheet, wordprosessor, … )
Multimedia, . . .
The Web, . . .
JAVA, . . .
The Net => ubiquitous computing
kesimpulan :
ARSITEKTUR KOMPUTER
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
- LOAD Load data from memory Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai
- STOR 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
Kenyamanan
Membuat komputer lebih mudah penggunaannya.
Efisiensi
Penggunaan sumber daya komputer yang lebih baik
Layanan Sistem Operasi : Tipe Sistem Operasi
Memori terproteksi :
Untuk melindungi Monitor
Interupsi :
Memungkinkan mempertimbangkan untuk melepaskan
(untuk sementara) suatu kendali dan mendapatkannya
kembali
Multi-Programming dengan Tiga Program : Penjadwalan (Scheduling)
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
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)
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
Paging
 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
Master mengirim perintah untuk dapat menulis ke memori secara langsung:
Bus Bus
Master Data dua arah Slave Overhead yang lebih kecil dibandingkan dengan jika
prosesor me-request 1 word setiap waktu.
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.
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.
1. Siklus Fetch
• Program Counter (PC) mengambil alamat instruksi
selanjutnya pada fetch.
• Processor mengambil 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.
KONEKSI
Koneksi Memori :
• Receive dan send data
• Receive alamat (suatu lokasi)
• 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
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.
TIMING BUS
Bus
Prosesor/Memori
Bus PCI
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.
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
4. Memprediksi percabangan
b. Mengeksekusi
Membuat kinerja setiap operasi mikro selesai dengan
Kebutuhan Fungsional menggunakan sinyal kontrol tertentu
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.
Æ Mode IOP :
1. Single shared Bus Æ setiap IOP mengendalikan
sejumlah piranti I/O tertentu yang tetap
Gambar : Switching Matriks Bus
Keterangan :
TN = Waktu rata-rata untuk membaca atau A. MEMORI UTAMA
menulis N bit.
TA = Waktus access rata-rata. Memori Semi Konduktor Random Access
N = Jumlah bit.
R = Kecepatan transfer, dalam bit per detik Tipe Kategori Penghapu Mekanisme Volatilitas
(bps). Memori san penulisan
RAM Read- Electrically Electrically Volatile
Tipe Fisik write byte level
Read-only
Memori Utama dikemas dalam sebuah Chip IC. Dua jenis ROM Read only Tidak Mask Non
yang umum digunakan saat ini adalah PROM memory mungkin Volatile
memori semikonduktor yang memakal teknologi LSI dan EPROM Read Sinar Ultra
VSLI. mostly Violet
Flash memory Electrically
Karakteristik Fisik Memory block level
EEPROM Electrically
µ Memori volatile, informasi akan hilang apabila daya listrik byte level
dimatikan.
µ Memori non volatile, informasi tetap akan tersimpan
meskipun daya listrik dimatikan.
Menurut mekanisme yang digunakan untuk menyimpan dan 2. CAM (content Address Memory)
memanggil data, memori utama dapat diklasifikasikan atas Æ pada CAM, memori diakses berdasarkan isi bukan alamat.
Random Access Memory dan Content Addressable Memory. pencarian data dilakukan secara simultan dan paralel dengan
basis isi memori.
1. RAM (Random Access Memori) Æ CAM disebut juga memori asosiatif.
Æ RAM diakses melalui alamat, semua lokasi yang dapat
dialamati dapat diakses secara acak (random) dan
membutuhkan waktu akses yang sama tanpa tergantung
pada lokasi fisiknya didalam memori.
Æ Terdapat dua jenis RAM, statik dan dinamik :
µ RAM dinamik tersusun oleh sel-sel yang. menyimpan
data sebagai muatan listrik pada kapasitor.
µ RAM statik menyimpan nilai-nilai biner dengan
menggunakan konfigurasi gerbang logika flip-flop
3. Memory cache
Æ Latar belakang
Memori utama yang digunakan sistem komputer pada
awalnya dirasakan masih lambat kerjanya dibandingkan
dengan kerja CPU, sehingga perlu dibuat sebuah memori
yang dapat membantu kerja memori utama tersebut. sebagai
perbandingan waktu akses memori cache lebih cepat 5-10 kali
dibandingkan memori utama.
• Disk Magnetik :
• Merupakan sebuah lembaran (platter)
• Terdiri atas : sebuah kendali disk (interface), dan
satu atau lebih disk (platter).
• Proses penulisan ke disk yaitu disk drive akan
menimbulkan kemagnetan pada titik di atas
permukaan disk yang secara langsung di bawah
head.
• Proses pembacaan dan disk, head diatur agar dapat Gambar : Organisasi Disk Magnetik
mendeteksi perubahan arah kemagnetan.
• Terbagi secara logikal dikenal sebagai organisasi
disk yaitu: • Floppy disk
Track : Sejumlah Iingkaran yang konsentris • Merupakan lembaran datar yang tipis dan fleksibel.
Sektor : Pembagian perrnukaan disk secara • Hampir sama dengan harddisk, tetapi kap~sitas
belahan yang mempunyai ukuran yang sama. penyimpanan Iebih rendah.
Silinder : Dibentuk oleh track-track yang
berhubungan pada setiap permukaan
Optimalisasi Pipelining
1. SISD
z Satu Prosesor
z Satu instruksi stream
z Data disimpan di satu memori 3. MISD
z Disebut Uni-processor z Mengorganisir Urutan data
z Ditransmisikan oleh sjumlah set prosesor
z Setiap prosesor mengeksekusi urutan instruksi yang
berbeda
z Belum dapat diimplementasikan dengan baik.
2. SIMD 4. MIMD
z Intruksi mesin tunggal z Terdiri dari sejumlah set prosesor
z Ekskusi di kendalikan secara simultan z Secara simultan mengeksekusi urutan instruksi yang
z Terdapat sejumlah elemen proses berbeda
z Berbasiskan langkah demi langkah z Terdiri dari sejumlah set data yang berbeda
z Setiap elemen proses memiliki asosiasi dengan data di z Disebut juga SMP(Symmetric Multiprocessor), cluster
memori dan NUMA (Nonuniform memory access) systems
z Setiap instruksi dieksekusi dalam set data yang berbeda
oleh prosesor yang berbeda.
z Disebut juga Vector dan array processors
a. MIMD Share Memori Taksonomi Arsitektur Paralel Prosesor