Anda di halaman 1dari 332

Universitas Pamulang Teknik Informatika S-1

COVER
ARSITEKTUR DAN ORGANISASI KOMPUTER

Penyusun:
Alvino Octaviano
Joko Priambodo
Anis Mirza

Jl. Surya Kencana No. 1 Pamulang

Gd. A, Ruang 212 Universitas Pamulang

Tangerang Selatan – Banten

ii
Universitas Pamulang Teknik Informatika S-1

EDITORIAL
ARSITEKTUR DAN ORGANISASI KOMPUTER

Penulis:

Alviano Octaviano
Joko Priambodo
Anis Mirza

ISBN: 978-623-6352-34-2

Editor:

Shandi Noris

Desain sampul:

Tri Anggoro Seto

Tata Letak:

Ramdani Putra

Penerbit:

Unpam Press

Redaksi:

Jl. Surya Kecana No. 1

Pamulang – Tangerang Selatan

Telp. 021-7412566

Fax. 021 74709855

Email: unpampress@unpam.ac.id

Cetakan pertama, 9 Agustus 2021

Hak cipta dilindungi undang-undang.

Dilarang memperbanyak karya tulis ini dalam bentuk dan dengan cara apapun tanpa ijin
penerbit. alaman Data Publikasi Unpam Press

iii
Universitas Pamulang Teknik Informatika S-1

DATA PUBLIKASI UNPAMPRESS


| Lembaga Penerbit dan Publikasi Universitas Pamulang

Gedung A. R. 212 Kampus 1 Universitas Pamulang


Jalan Surya Kencana Nomor 1. Pamulang Barat, Tangerang Selatan, Banten.
Website: www.unpam.ac.id | email: unpampress@unpam.ac.id

Arsitektur dan Organisasi Komputer/ Alvino Octaviano, Joko Priambodo, Anis


Mirza-1STed

ISBN : 978-623-6352-34-2

1. Arsitektur dan Organisasi Komputer I. Alvino Octaviano. II. Joko Priambodo.


III. Anis Mirza
M171-09082021-01

Ketua Unpam Press: Pranoto


Koordinator Editorial: Aden, Ali Madinsyah
Koordinator Bidang Hak Cipta: Susanto
Koordinator Produksi: Dameis Surya Anggara
Koordinator Publikasi dan Dokumentasi: Kusworo
Desain Cover: Putut Said Permana

Cetakan pertama, 9 Agustus 2021

Hak cipta dilindungi undang-undang. Dilarang menggandakan dan memperbanyak


sebagian atau seluruh buku ini dalam bentuk dan dengan cara apapun tanpa ijin
penerbit.

iv
Universitas Pamulang Teknik Informatika S-1

MODUL MATA KULIAH

ARSITEKTUR DAN ORGANISASI KOMPUTER

IDENTITAS MATA KULIAH

Program Studi : Teknik Informatika

Mata Kuliah / Kode : Arsitektur dan Organisasi Komputer / TPL0353

Sks : 3 Sks

Prasyarat : -

Deskripsi Mata Kuliah : Mata kuliah ini merupakan mata kuliah wajib
Program Studi Teknik Informatika S-1 yang
membahas tentang sistem operasi. Materi yang
dibahas adalah arsitektur komputer fungsi dan
struktur arsitektur komputer, Definisi CPU Elemen
Central Processing Unit (CPU), Arithmetic and
Logic Unit (ALU), Elemen-elemen Kontrol
Unit,Definisi dan Fungsi I/O System, Definisi Bus
dan Sistem Bus,Pengertian Pipelining, Unit
Aritmatika, Mode Pengalamatan, Definisi Memori
Jenis Memori.

Capaian Pembelajaran : Setelah pembelajaran, Mahasiswa Mampu


mengembangkan sistem dengan cara melakukan
perencanaan, analisis, desain, penerapan,
pengujian, dan pemeliharaan sistem untuk
menghasilkan sebuah solusi yang relevan, akurat,
dan tepat sesuai dengan kebutuhan pengguna

Penyusun : 1. Alvino Octaviano, S.T, M.Kom


2. Joko Priambodo, M.Kom
3. Anis Mirza, S.Kom.,M.Kom

Ketua Program Studi Ketua Tim Penyusun


Teknik Informatika

Achmad Udin Zailani, S.Kom.,M.Kom Alvino Octaviano, S.T, M.Kom


NIDN : 0429058303 NIDN : 0421108302

v
Universitas Pamulang Teknik Informatika S-1

KATA PENGANTAR

Segala puji dan syukur dipanjatkan kepada Allah SWT yang telah melimpahkan
nikmat, karunia dan hidayah-Nya sehingga Penulis dapat membuat Modul ini.
Shalawat serta salam senantiasa tercurahkan kepada nabi Muhammad SAW.

Modul ini disusun sebagai salah satu tugas untuk mendapatkan gelar Sarjana S-
1, pada program studi Teknik Informatika Universitas Pamulang. Penulis sadar bahwa
tanpa bantuan dari segenap pihak, Modul ini tidak akan dapat terwujud. Oleh karena
itu, melalui media ini penulis sampaikan ucapan terimakasih kepada Bapak/Ibu dosen
dan semua pihak yang telah memberi saran dan dorongan positif untuk kebaikan
Modul ini. Penulis hanya dapat berdo’a semoga amal baik Bapak/Ibu akan
mendapatkan balasan kebaikan yang melimpah dari Allah SWT. Aamiin.

Penulis sadar bahwa dalam penulisan Modul ini tentunya banyak kekurangan dan
kesalahan. Oleh karena itu, saran dan kritik dari semua pihak, akan di terima dengan
penuh keterbukaan dan senang hati demi sempurnanya modul ini.

Akhirnya penulis hanya dapat berharap Modul ini dapat berguna bagi semua
pihak, aamiin.

Pamulang, 23 Maret 2021

Penulis

vi
Universitas Pamulang Teknik Informatika S-1

DAFTAR ISI

ARSITEKTUR DAN ORGANISASI KOMPUTER........................................................... ii


ARSITEKTUR DAN ORGANISASI KOMPUTER...........................................................iii
KATA PENGANTAR .................................................................................................... vi
DAFTAR ISI .................................................................................................................vii
DAFTAR TABEL ......................................................................................................... xiv
DAFTAR GAMBAR ..................................................................................................... xvi
PERTEMUAN 1 ............................................................................................................ 1
PENGANTAR ARSITEKTUR DAN ORGANISASI KOMPUTER .................................... 1
A. Tujuan Pembelajaran....................................................................................................... 1
B. Uraian Materi..................................................................................................................... 1
1. Pengertian Arsitektur dan Organisasi Komputer .................................................... 1
2. Fungsi dan Struktur Arsitektur Komputer ................................................................ 8
3. Klasifikasi Arsitektur Komputer Von Neumann..................................................... 13
C. Soal Latihan/ Tugas ....................................................................................................... 15
D. Referensi ......................................................................................................................... 16
PERTEMUAN 2 .......................................................................................................... 17
DEFINISI CENTRAL PROCESSING UNIT (CPU) ...................................................... 17
A. Tujuan Pembelajaran..................................................................................................... 17
B. Uraian Materi................................................................................................................... 18
1. Definisi Central Processing Unit (CPU) ................................................................. 18
2. Arithmetic and Logic Unit (ALU) ............................................................................. 22
3. Unit Control ................................................................................................................ 24
4. Register ...................................................................................................................... 27
C. Soal Latihan/ Tugas ....................................................................................................... 30
D. Referensi ......................................................................................................................... 30
PERTEMUAN 3 .......................................................................................................... 32
ARITHMETIC AND LOGIC UNIT (ALU) ...................................................................... 32
A. Tujuan Pembelajaran..................................................................................................... 32
B. Uraian Materi................................................................................................................... 33
1. Pengertian Arithmetic and Logic Unit (ALU) ......................................................... 33

vii
Universitas Pamulang Teknik Informatika S-1

2. Prinsip Kerja ALU ...................................................................................................... 36


3. Representasi .............................................................................................................. 37
C. Soal Latihan/ Tugas ....................................................................................................... 45
D. Referensi ......................................................................................................................... 45
PERTEMUAN 4 ARITHMETIC AND LOGIC UNIT (ALU) ............................................ 46
A. Tujuan Pembelajaran..................................................................................................... 46
B. Uraian Materi................................................................................................................... 46
1. Aritmatika Integer Penambahan dan Pengurangan ............................................ 46
2. Aritmatika Integer Pengalian ................................................................................... 49
3. Pengalian Komplemen Dua ..................................................................................... 52
4. Aritmatika Integer Pembagian ................................................................................. 57
5. Aritmatika Integer Algoritma Booth......................................................................... 60
6. Algoritma paling dasar.............................................................................................. 65
C. Soal Latihan/Tugas ........................................................................................................ 68
D. Referensi ......................................................................................................................... 68
PERTEMUAN 5 ELEMEN-ELEMEN KONTROL UNIT ................................................ 69
A. Tujuan Pembelajaran ..................................................................................................... 69
B. Uraian Materi ................................................................................................................... 69
1. Operasi Unit dan Kontrol Operasi Makro .............................................................. 69
2. Siklus Pengambilan .................................................................................................. 70
3. Siklus Tidak Langsung ............................................................................................. 73
4. Siklus Interupsi .......................................................................................................... 73
5. Siklus Eksekusi.......................................................................................................... 74
6. Siklus Instruksi ........................................................................................................... 76
7. Sinyal Kontrol ............................................................................................................. 77
8. Input-input Unit Kontrol ............................................................................................ 79
9. Logika Unit Kontrol.................................................................................................... 80
C. Soal Latihan/Tugas ........................................................................................................ 84
D. Referensi ......................................................................................................................... 84
PERTEMUAN 6 DEFINISI DAN FUNGSI I/O SISTEM ................................................ 85
A. Tujuan Pembelajaran..................................................................................................... 85
B. Uraian Materi................................................................................................................... 85
1. Fungsi I/O ................................................................................................................... 85

viii
Universitas Pamulang Teknik Informatika S-1

2. Evolusi Fungsi I/O ..................................................................................................... 87


3. Spesifikasi Saluran I/O ............................................................................................. 88
4. Organisasi Sistem I/O .............................................................................................. 89
5. I/O yang Dapat Diprogram ....................................................................................... 92
6. Tinjauan I/O Terprogram.......................................................................................... 93
7. Perintah I/O ................................................................................................................ 93
8. Instruksi I/O ................................................................................................................ 95
9. Sistem Pengoperasian Multiprogramming ............................................................ 97
10. Sistem Pembagian Waktu ..................................................................................... 101
C. Soal Latihan/Tugas ...................................................................................................... 103
D. Referensi ....................................................................................................................... 103
PERTEMUAN 7 ........................................................................................................ 104
MULTIPORTED PERANGKAT EKSTERNAL ........................................................... 104
A. Tujuan Pembelajaran................................................................................................... 104
B. Uraian Materi................................................................................................................. 104
1. Keyboard .................................................................................................................. 104
2. Monitor ...................................................................................................................... 107
3. Disk Drive ................................................................................................................. 109
4. Tape Drive ................................................................................................................ 112
5. Printer........................................................................................................................ 113
6. Pengertian Dasar Input/Output Pada Arsitektur Komputer .............................. 117
C. Soal Latihan/Tugas ...................................................................................................... 118
D. Referensi ....................................................................................................................... 119
PERTEMUAN 8 ........................................................................................................ 120
SISTEM INPUT DAN OUTPUT PADA SISTEM KOMPUTER ................................... 120
A. Tujuan Pembelajaran................................................................................................... 120
B. Uraian Materi................................................................................................................. 120
1. Fungsi Modul I/O ..................................................................................................... 120
2. Struktur Module I/O Terprogram ........................................................................... 122
3. Program I/O.............................................................................................................. 124
4. Perintah-Perintah I/O .............................................................................................. 125
5. Instruksi-Instruksi I/O .............................................................................................. 126
C. Soal Latihan/Tugas ...................................................................................................... 132

ix
Universitas Pamulang Teknik Informatika S-1

D. Referensi ....................................................................................................................... 132


PERTEMUAN 9 ........................................................................................................ 133
SISTEM BUS KOMPUTER DAN KOMPONEN PENDUKUNGNYA .......................... 133
A. Tujuan Pembelajaran................................................................................................... 133
B. Uraian Materi................................................................................................................. 133
1. Definis Bus dan Sistem Bus .................................................................................. 133
2. Struktur dan Fungsi Bus......................................................................................... 134
3. Interkoneksi Sistem Bus......................................................................................... 137
4. Jenis-Jenis Bus ....................................................................................................... 138
5. Elemen-elemen Rancangan Bus .......................................................................... 141
C. Soal Latihan/Tugas ...................................................................................................... 146
D. Referensi ....................................................................................................................... 146
PERTEMUAN 10 ...................................................................................................... 147
PIPELINING ............................................................................................................. 147
A. Tujuan Pembelajaran................................................................................................... 147
B. Uraian Materi................................................................................................................. 147
1. Pengertian Pipelining.............................................................................................. 147
2. Pipelining Unit Aritmatika ....................................................................................... 149
3. Pipelning Instruksi ................................................................................................... 152
4. Prefetch Branch Target .......................................................................................... 157
5. Loop Buffer............................................................................................................... 157
6. Branch Prediction .................................................................................................... 159
7. Delayed Branch ....................................................................................................... 163
C. Soal Latihan/Tugas ...................................................................................................... 166
D. Referensi ....................................................................................................................... 166
PERTEMUAN 11 ...................................................................................................... 167
PROSES NON PIPELINING ..................................................................................... 167
A. Tujuan Pembelajaran................................................................................................... 167
B. Uraian Materi................................................................................................................. 167
1. Pipelining dan Non Pipelining ............................................................................... 167
2. Percepatan Pipelining ............................................................................................ 169
3. Instruksi Pipelining .................................................................................................. 171
4. Faktor Penghambat Pipelning ............................................................................... 172

x
Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas ...................................................................................................... 178


D. Referensi ....................................................................................................................... 178
PERTEMUAN 12 ...................................................................................................... 179
DESAIN SET INSTRUKSI ........................................................................................ 179
A. Tujuan Pembelajaran................................................................................................... 179
B. Uraian Materi................................................................................................................. 179
1. Desain set instruksi ................................................................................................. 179
2. Set instruksi.............................................................................................................. 180
3. Ortogonalitas............................................................................................................ 180
4. Format Instruksi ....................................................................................................... 181
5. Distribusi bit.............................................................................................................. 182
6. Karakteristik Pelaksanaan Instruksi ..................................................................... 186
7. Karakteristik Instruksi ............................................................................................. 187
8. Operasi ..................................................................................................................... 189
9. Operand .................................................................................................................... 191
10. Prosedur panggilan ................................................................................................ 192
11. Implikasi ................................................................................................................... 193
C. Soal Latihan/Tugas ...................................................................................................... 194
D. Referensi ....................................................................................................................... 194
PERTEMUAN 13 ...................................................................................................... 195
SET INSTRUKSI, MODE, DAN FORMAT PENGALAMATANNYA ............................ 195
A. Tujuan Pembelajaran................................................................................................... 195
B. Uraian Materi................................................................................................................. 195
1. Set Instruksi ............................................................................................................. 195
2. Mode Pengalamatan .............................................................................................. 197
3. Permasalahan Desain Pengalamatan ................................................................. 204
4. Efisiensi Pengalamatan.......................................................................................... 206
C. Soal Latihan/Tugas ...................................................................................................... 208
D. Referensi ....................................................................................................................... 208
PERTEMUAN 14 ...................................................................................................... 209
ARSITEKTUR MEMORI SISTEM KOMPUTER ........................................................ 209
A. Tujuan Pembelajaran................................................................................................... 209
B. Uraian Materi................................................................................................................. 209

xi
Universitas Pamulang Teknik Informatika S-1

1. Definisi Memori ........................................................................................................ 209


2. Jenis Memori............................................................................................................ 211
C. Soal Latihan/Tugas ...................................................................................................... 224
D. Referensi ....................................................................................................................... 224
PERTEMUAN 15 ...................................................................................................... 225
KARAKTERISTIK DAN DEFINISI SISTEM MEMORI DAN ....................................... 225
MEMORI UTAMA ..................................................................................................... 225
A. Tujuan Pembelajaran................................................................................................... 225
B. Uraian Materi................................................................................................................. 225
1. Karakteristik Sistem Memori .................................................................................. 225
2. Definisi Sistem Memori dan Memori Utama ....................................................... 227
3. Sistem Memori Utama ............................................................................................ 230
C. Soal Latihan/Tugas ...................................................................................................... 238
D. Referensi ....................................................................................................................... 238
PERTEMUAN 16 ...................................................................................................... 239
KARAKTERISTIK SISTEM MEMORI ........................................................................ 239
A. Tujuan Pembelajaran................................................................................................... 239
B. Uraian Materi................................................................................................................. 239
1. Arsitektur Set Instruksi ........................................................................................... 239
2. Set Instruksi RISC dan CISC ................................................................................ 240
3. Sistem Memori ......................................................................................................... 244
4. Hierarki memori ....................................................................................................... 254
5. Memori Cache ......................................................................................................... 257
C. Soal Latihan/Tugas ...................................................................................................... 258
D. Referensi ....................................................................................................................... 258
PERTEMUAN 17 ...................................................................................................... 259
STRUKTUR DAN ORGANISASI CACHE ................................................................. 259
A. Tujuan Pembelajaran................................................................................................... 259
B. Uraian Materi................................................................................................................. 260
1. Organisasi Cache.................................................................................................... 260
2. Organisasi Arm Cache ........................................................................................... 262
3. Unsur Desain Cache .............................................................................................. 264
C. Soal Latihan/Tugas ...................................................................................................... 279

xii
Universitas Pamulang Teknik Informatika S-1

D. Referensi ....................................................................................................................... 279


PERTEMUAN 18 ...................................................................................................... 280
DEFINISI MEMORI MAYA ........................................................................................ 280
A. Tujuan Pembelajaran................................................................................................... 280
B. Uraian Materi................................................................................................................. 280
1. Memori Maya ........................................................................................................... 280
2. Terjemahan Alamat Memori Virtual ...................................................................... 284
3. Karakteristik Instruksi Mesin .................................................................................. 285
4. Prinsip Memori Cache ............................................................................................ 287
5. Akses Memori Langsung ....................................................................................... 291
C. Soal Latihan/Tugas ...................................................................................................... 295
D. Referensi ....................................................................................................................... 295
GLOSARIUM ............................................................................................................ 296
DAFTAR PUSTAKA .................................................................................................. 303
RPS .......................................................................................................................... 304

xiii
Universitas Pamulang Teknik Informatika S-1

DAFTAR TABEL

Tabel 3. 1 Reresentasi integer ............................................................................................... 37

Tabel 3. 2 Representasi Magnitude....................................................................................... 39

Tabel 3. 3 Bilangan Bit............................................................................................................. 40

Tabel 4. 1 Penambahan Angka-angka dengan Komplemen Dua .................................... 47

Tabel 4. 2 Pengurangan Dua Angka Komplemen (M - S) ................................................ 48

Tabel 4. 3 Contoh Algoritma Booth (7x3) ............................................................................. 55

Tabel 4. 4 Contoh Mengembalikan Pembagian Komplemen Dua .................................... 59

Tabel 4. 5 Mengunakan Bit Pairs untuk Identifikasi Posisi String di Algoritma Booth .. 62

Tabel 5. 1 Mikro-operasi dan Sinyal Kontrol ........................................................................ 82

Tabel 6. 1 Teknik I/O ................................................................................................................ 93

Tabel 6. 2 Contoh Atribut Eksekusi Program ..................................................................... 100

Tabel 6. 3 Pengaruh Multiprogramming pada Pemanfaatan Sumber Daya ................. 100

Tabel 6. 4 Multiprogramming Batch versus Time Sharing ............................................... 102

Tabel 7. 1 Perbandingan jenis-jenis monitor ...................................................................... 108

Tabel 7. 2 Jenis Printer .......................................................................................................... 116

Tabel 9. 1 Klasifikasi Elemen Bus........................................................................................ 141

Tabel 12. 1 Karakteristik Beberapa CISCs, RISCs, dan Superscalar Processors ....... 188

Tabel 12. 2 Frekuensi Dinamis Relatif Tertimbang dari Operasi HLL [PATT82a]........ 190

xiv
Universitas Pamulang Teknik Informatika S-1

Tabel 12. 3 Dynamic Percentage of Operands.................................................................. 191

Tabel 12. 4 Argumen Prosedur dan Variabel Skalar Lokal.............................................. 192

Tabel 13.1 Mode Pengalamatan dan Mekanismenya ...................................................... 198

Tabel 17. 1 Intel Cache Evolution ........................................................................................ 260

Tabel 17. 2 Pentium 4 Cache Operating Modes ............................................................... 261

Tabel 17. 3 Fitur Cache ARM ............................................................................................... 263

Tabel 17. 4 Ukuran Cache Beberapa Prosesor ................................................................. 267

xv
Universitas Pamulang Teknik Informatika S-1

DAFTAR GAMBAR

Gambar 1. 1 Komputer generasi pertama .............................................................................. 4

Gambar 1. 2 Komputer generasi kedua .................................................................................. 5

Gambar 1. 3 Komputer generasi ketiga .................................................................................. 6

Gambar 1. 4 Komputer generasi keempat ............................................................................. 7

Gambar 1. 5 Komputer generasi kelima ................................................................................. 8

Gambar 1. 6 Fungsi arsitektur komputer ................................................................................ 9

Gambar 1. 7 Operasi pemindahan data................................................................................ 10

Gambar 1. 8 Operasi penyimpanan data.............................................................................. 10

Gambar 1. 9 Operasi pengolahan data ................................................................................. 11

Gambar 1. 10 Operasi pengolahan data .............................................................................. 11

Gambar 2. 1 Bagian dari CPU ................................................................................................ 19

Gambar 2. 2 Struktur internal pada CPU .............................................................................. 22

Gambar 2. 3 Rangkaian komponen ALU .............................................................................. 23

Gambar 2. 4 Fungsi ALU......................................................................................................... 24

Gambar 2. 5 Sistem control unit ............................................................................................. 26

Gambar 2. 6 alur kerja elemen CPU ..................................................................................... 29

Gambar 3. 1 Rangkaian ALU.................................................................................................. 34

Gambar 3. 2 Susunan CPU dengan ALU ............................................................................. 35

Gambar 3. 3 Cara Keja ALU ................................................................................................... 37

Gambar 3. 4 Representasi Integer ........................................................................................ 39

Gambar 4. 1 Blok Diagram dari Hardware untuk Penambahan dan Pengurangan ....... 48

Gambar 4. 2 Perkalian Biner Integer tidak bertanda........................................................... 49

xvi
Universitas Pamulang Teknik Informatika S-1

Gambar 4. 3 Impementasi Hardware dari Perkalian Binary tidak bertanda .................... 51

Gambar 4. 4 Flowchart untuk Perkalian Binary tidak bertanda ......................................... 52

Gambar 4. 5 Perkalian Dua 4-bit Integer tidak bertanda menghasilkan 8-bit ................. 52

Gambar 4. 6 Perbandinan dari Perkalian dari Integer tidak bertanda dan Integer
Komplemen Dua ....................................................................................................................... 54

Gambar 4. 7 Algoritma Booth untuk Perkalian Komplemen Dua ...................................... 55

Gambar 4. 8 Contoh Penggunaan Algoritma Booth ........................................................... 56

Gambar 4. 9 Contoh Pembagian Binary Integer Tak Bertanda ........................................ 57

Gambar 4. 10 Flowchart Pembagian Binary tak bertanda ................................................. 58

Gambar 4. 11 Sirkuit berurutan untuk mengalikan angka bertanda menggunakan


algoritma Booth ......................................................................................................................... 63

Gambar 4. 12 Perkalian dari (+2) x (-3) menggunakan Algoritma Booth ........................ 64

Gambar 4. 13 Perkalian dari (-4) x (-6) menggunakan Algoritma Booth ......................... 64

Gambar 4. 14 Contoh pembagian restoring division........................................................... 66

Gambar 5. 1 Elemen Penyusun Eksekusi Program ............................................................ 70

Gambar 5. 2 Urutan Siklus Pengambilan ............................................................................. 72

Gambar 5. 3 Flowchart dari Siklus Instruksi ......................................................................... 76

Gambar 5. 4 Blok Diagram Control Unit ............................................................................... 77

Gambar 5. 5 Decoder dengan 4 Input dan 16 Output ........................................................ 80

Gambar 5. 6 Jalur Data dan Sinyal Kontrol .......................................................................... 81

Gambar 5. 7 Unit Kontrol dengan Input Decode ................................................................. 83

Gambar 6. 1 Komputer Struktur Tingkat Atas ...................................................................... 86

Gambar 6. 2 I/O Channel Architecture .................................................................................. 89

Gambar 6. 3 Rangka I/O IBM zEC12 – Tampak Depan .................................................... 90

xvii
Universitas Pamulang Teknik Informatika S-1

Gambar 6. 4 Struktur Sistem I/O IBM zEC12 ...................................................................... 92

Gambar 6. 5 Tiga Teknik untuk Memasukkan Blok Data ................................................... 95

Gambar 6. 6 Memory-Mapped and Isolated I/O .................................................................. 97

Gambar 6. 7 Contoh Pemanfaatan Sistem .......................................................................... 98

Gambar 6. 8 Contoh Multiprogramming................................................................................ 99

Gambar 6. 9 Histogram Pemanfaatan ................................................................................ 101

Gambar 7. 1 Diagram Block Keyboard ............................................................................... 105

Gambar 7. 2 Serial Keyboard ............................................................................................... 105

Gambar 7. 3 Keyboard Output ............................................................................................. 106

Gambar 7. 4 Matriks Keyboard ........................................................................................... 106

Gambar 7. 5 Diagram Blok Printer ....................................................................................... 114

Gambar 7. 6 Metode Data Transfer ..................................................................................... 117

Gambar 7. 7 Prinsip Data Transfer ...................................................................................... 118

Gambar 8. 1 Blok Diagram Modul I/O .......................................Error! Bookmark not defined.

Gambar 8. 2 Tiga Teknik I/O Sistem Komputer .......................Error! Bookmark not defined.

Gambar 8. 3 Peta Memory I/O dan Isolasi I/O ................................................................... 128

Gambar 8. 4 Alur Proses Interupsi I/O ................................................................................ 129

Gambar 9. 1 Struktur Sistem Bus ........................................................................................ 134

Gambar 9. 2 Arsitektur Sistem Bus ..................................................................................... 136

Gambar 9. 3 Bus Lokal .......................................................................................................... 140

Gambar 9. 4 Timing Syncronus Bus.................................................................................... 143

Gambar 9. 5 Timing Asyncronus Bus.................................................................................. 145

xviii
Universitas Pamulang Teknik Informatika S-1

Gambar 10. 1 diberi label sebagai mengambil (Fetch), membaca sandi (Decode),
menghitung (Compute), penyimpanan (Memory) dan menulis (write). .......................... 149

Gambar 10. 2 Operator untuk menambah dan menghapus titik bergerak. ................... 152

Gambar 10. 3 Empat bagian tabung cpu ............................................................................ 155

Gambar 10. 4 Loop Buffer ..................................................................................................... 158

Gambar 10. 5 Diagram Alir Prediksi Cabang ..................................................................... 161

Gambar 10. 6 Diagram Status Prediksi Cabang ............................................................... 162

Gambar 10. 7 Waktu pipa instruksi. .................................................................................... 164

Gambar 10. 8 Menggunakan instruksi tanpa operasi ....................................................... 165

Gambar 10. 9 Mengatur ulang instruksi .............................................................................. 165

Gambar 11. 1 Konsep pemipaan ......................................................................................... 168

Gambar 11. 2 Saluran pipa empat tahap............................................................................ 169

Gambar 11. 3 Diagram waktu untuk pipa empat tahap .................................................... 170

Gambar 11. 4 Prosesor saluran pipa enam tahap ............................................................ 170

Gambar 11. 5 Pemipaan instruksi........................................................................................ 171

Gambar 11. 6 Pipa dua-tahap .............................................................................................. 172

Gambar 11. 7 Diagram waktu untuk pipa dua-tahap ........................................................ 172

Gambar 11. 8 Koefisien Percepatan ................................................................................... 174

Gambar 11. 9 Contoh Bahaya Sumber Daya .................................................................... 175

Gambar 11. 10 Example of Data Hazard............................................................................ 177

Gambar 12. 1 Format Instruksi PDP-8 ................................................................................ 185

Gambar 13. 1 Tingkat Arsitektur Set Instruksi adalah antarmuka antara compiler dan
perangkat keras ............................................................................Error! Bookmark not defined.

xix
Universitas Pamulang Teknik Informatika S-1

Gambar 13. 2 Bidang Mode Pengalamatan ....................................................................... 198

Gambar 13. 3 Pengalamatan Register................................................................................ 200

Gambar 13. 4 Keselarasan dan ketidak selarasan Alamat byte, setengah kata, kata,
dan objek kata ganda untuk komputer beralamat byte. ................................................... 203

Gambar 13. 5 Rangkuman dari 4 Arsitektur Generasi Tahun 1970-an ......................... 206

Gambar 13. 6 Tipikal Prosessor CISC ................................................................................ 207

Gambar 13. 7 Tipikal Prosessor RISC ................................................................................ 207

Gambar 14. 1 Hierarki penyimpanan dengan empat tingkatan peningkatan kapasitas,


penurunan kecepatan, dan biaya dari tingkat rendah hingga tinggi ............................... 210

Gambar 14. 2 Tingkat hierarki yang khas melambat dan meningkat saat kita menjauh
dari prosesor untuk stasiun kerja besar atau server kecil ................................................ 211

Gambar 14. 3 Perbandingan berbagai jenis memori ........................................................ 216

Gambar 14. 4 Organisasi permukaan disk ......................................................................... 217

Gambar 14. 5 Cakram Disk .................................................................................................. 220

Gambar 14. 6 Organisasi data pada pita magnetik. ......................................................... 222

Gambar 14. 7 Catridge Tape sebagai alternatif media pencadangan data .................. 223

Gambar 15. 1 Hubungan antara memori utama dan memori tambahan ....................... 229

Gambar 15. 2 Lokasi Memori utama ................................................................................... 229

Gambar 15. 3 Kapasitas dan Organisasi Memori ............................................................. 230

Gambar 15. 4 Cache secara logis terletak di antara CPU dan memori utama. Secara
fisik, ada beberapa tempat yang memungkinkan. ............................................................. 232

Gambar 15. 5 Dua model memori virtual untuk sistem multiprosesor (Terima kasih
untuk Dubois dan Briggs, tutorial, Simposium Tahunan tentang Arsitektur Komputer,
1990)......................................................................................................................................... 237

xx
Universitas Pamulang Teknik Informatika S-1

Gambar 16. 1 Koneksi memori ke prosesor ....................................................................... 245

Gambar 16. 2 Organisasi sel bit dalam chip memori. ....................................................... 248

Gambar 16. 3 Organisasi chip memori 1K × 1................................................................... 249

Gambar 16. 4 Sel RAM statis ............................................................................................... 250

Gambar 16. 5 Contoh sel memori CMOS........................................................................... 251

Gambar 16. 6 Susunan memori 2M×32 menggunakan chip memori statis 512K × 8 . 252

Gambar 16. 7 Hierarki memori ............................................................................................. 256

Gambar 17. 1 Diagram Blok Pentium 4 .............................................................................. 261

Gambar 17. 2 ARM Cache dan Write Buffer Organization .............................................. 263

Gambar 17. 3 Elemen Desain Cache.................................................................................. 264

Gambar 17. 4 Cache Logis dan Fisik .................................................................................. 266

Gambar 17. 5 Modulo ............................................................................................................ 268

Gambar 17. 6 Pemetaan dari Memori Utama ke Cache: Langsung dan Asosiatif ...... 269

Gambar 17. 7 Organisasi Cache Pemetaan Langsung .................................................... 270

Gambar 17. 8 Contoh Direct Mapping ................................................................................ 271

Gambar 17. 9 Organisasi Cache Asosiatif Penuh ............................................................. 272

Gambar 17. 10 Contoh Pemetaan Asosiatif ....................................................................... 273

Gambar 17. 11 Pemetaan dari Memori Utama ke Cache: k-way Set Associative ....... 275

Gambar 17. 12 K-Way Set Associative Cache Organization .......................................... 276

Gambar 17. 13 Contoh Pemetaan Asosiatif Set Dua Arah .............................................. 277

Gambar 17. 14 Memvariasikan Asosiasi atas Ukuran Cache ......................................... 277

Gambar 18. 1 Struktur Tabel Halaman Terbalik ................................................................ 283

Gambar 18. 2 Terjemahan Alamat Memori Virtual ARM untuk Halaman Kecil ............ 285

Gambar 18. 3 Diagram Status Siklus Instruksi .................................................................. 286

xxi
Universitas Pamulang Teknik Informatika S-1

Gambar 18. 4 Format Instruksi Sederhana ........................................................................ 287

Gambar 18. 5 Cache dan Memori Utama ........................................................................... 288

Gambar 18. 6 Cache / Struktur Memori Utama ................................................................. 289

Gambar 18. 7 Cache Read Operation ................................................................................ 290

Gambar 18. 8 Organisasi Cache Khusus ........................................................................... 291

Gambar 18. 9 Register tipikal dalam pengontrol DMA ..................................................... 293

Gambar 18. 10 Penggunaan pengontrol DMA dalam sistem computer ........................ 294

xxii
Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 1
PENGANTAR ARSITEKTUR DAN ORGANISASI KOMPUTER

A. Tujuan Pembelajaran
Mata kuliah arsitektur dan organisasi komputer memberikan ulasan tentang
pengertian, fungsi dan struktur arsitektur komputer. Dalam hal ini pengertian yang
dimaksudkan adalah penjelasan secara umum dan khusus. Dibuat sedemikian rupa
agar mahasiswa dapat memahami materi yang disampaikan.

Pengantar arsitektur dan organisasi komputer diciptakan bertujuan untuk


mengetahui atribut- atribut yang terdapat pada arsitektur komputer. Dengan
harapan mahasiswa mampu merancang sebuah sistem komputer secara utuh. Dan
dapat mengaplikasikan materi yang telah dipelajari pada kehidupan sehari-hari.
Tidak hanya pengertian saja, namun pada pembelajaran kali ini akan
mengulas tentang fungsi dan struktur arsitektur komputer. Sehingga mahasiswa
diharapkan dapat memahami dengan baik. Serta dapat mempraktekkan jika
sewaktu-waktu dibutuhkan. Pada sub bab ini juga menjelaskan bagaimana fungsi
komponen komputer.
Setelah mempelajari pengertian dan fungsi, mahasiswa juga dituntut untuk
memahami klasifikasi arsitektur komputer jenis Von Neumann. Harapan yang
dituangkan adalah agar mahasiswa dapat menjelaskan klasifikasi setiap arsitektur
komputer yang ditemukan. Maka dari itu, modul ini akan dibagi menjadi tiga subab
pembahasan, yaitu :

1. Pengertian Arsitektur dan Organisasi Komputer


2. Dungsi dan Struktur Komputer
3. Klasifikasi Arsitektur Komputer Von Neumann

B. Uraian Materi
1. Pengertian Arsitektur dan Organisasi Komputer
Komputer adalah sebuah sistem yang dibuat khusus sebagai alat
pengolah data yang terdiri dari berbagai elemen yang disusun sedemikian rupa
hingga bisa melakukan sistem operasi secara digital. Terdiri dari beberapa
komponen input dan output, komputer disusun dengan jutaan komponen dasasr

Arsitektur dan Organisasi Komputer 1


Universitas Pamulang Teknik Informatika S-1

yang merupakan suatu sistem yang kompleks. Dari waktu ke waktu, komputer
selalu hadir dengan model keluaran dan rancangan elemen yang terbaru dan
tentunya tidak diragukan lagi untuk penguasaan teknologi.

Pada dasarnya, sebuah sistem yang dirancang untuk kebutuhan teknologi


ini pastinya memerlukan desain yang sangat canggih. Mengingat
perkembangan zaman yang memasuki di era 5.0, desain komputer dibuat
sedemikian rupa sesuai dengan kebutuhan yang diinginkan. Dalam dunia
teknologi, desain yang dibuat khusus untuk sebuah program komputer disebut
arsitektur komputer.
Arsitektur komputer adalah sebuah implementasi yang dirancang untuk
mengetahui berbagai jenis komputer dari generasi ke generasi. Dari mulai
komputer jadul hingga berubah pada komputer canggih seperti sekarang ini.
Berbagai sistem komponen juga semakin canggih seiring mengikuti
perkembangan zaman. Komputer terbagi dalam lima generasi, yang masing-
masing generasi mempunyai kelebihan dan kekurangan.
Sedangkan Organisasi komputer mengacu pada semua unit opersional
komputer dan berguna untuk mengabulkan spesifikasi dari arsitektur komputer.
Arsitektur dan organisasi komputer mempunyai perbedaan tugas dan
pengoperasiannya. Berikut ini adalah pembahasan perbedaan antara arsitektur
dan organisasi komputer
Arsitektur bertugas untuk merencanakan dan menjalankan pengoperasian
pada sistem komputer. Perangkat keras adalah bagian yang akan dirancang
oleh arsitektur komputer dri mulai dsain hingga spesifikasinya. Selain itu
komponen yang dirancang pada arsitektur komputer akan sangat berpengaruh
terhadap kinerja perangkat keras. Sebagai contoh seorang programmer akan
merancang sebuah komputer yang dipakai untuk membuat suatu program,
programmer itu akan membuat komputer sesuai denan spesifikasi yang
diinginkan agar tidak tidak menjadi hambatan saat dia membuat program. Dari
mulai bahan yang dibutuhkan hingga kualitas akan sangat dipertimbangkan.
Arsitektur komputer minimal mempunyai tiga bagian yaitu :

a. ISA (Set Instruksi)


b. Arsitektur mikro dari ISA
c. Komponen perangkat keras yang sudah di desain

Arsitektur dan Organisasi Komputer 2


Universitas Pamulang Teknik Informatika S-1

Organisasi komputer bertugas untuk pengoperasional komputer dan


menghubungkan antara kompoen sistem yang terdapat pada komputer
sehingga bisa menjalankan yang diperintahkan oleh arsitektural. Contoh dari
organisasi komputer yaitu

a. Interface
b. Teknologi Hardware
c. Sistem pada memori
d. Teknologi pada memori
e. Sinyal – sinyal kontrol

Komputer generasi pertama dikeluarkan oleh J Presper Eckert dan John


Muachly pada tahun 1941- 1959 bertempat di University of Pennsylvani. Jenis
komputer ini dibuat dengan desian berupa tabung vakum besar yang berguna
sebagai komponen dasar komputer. Program yang dibuat oleh komputer
generasi pertama ini dirancang menggunakan bahasa mesin yang relatif susah
dipahami oleh programmer.
Pada komputer generasi ini, membutuhkan daya listrik yang sangat besar
setiap kali pemakaiannya dan mesin akan cepat panas ketika digunakan.
Desain yang dibuat untuk komputer generasi ini adalah sistem operasi yang
sangat spesifik sehingga hanya dapat mengoperasikan suatu sistem tertentu.

Berikut adalah gambar komputer generasi pertama

Arsitektur dan Organisasi Komputer 3


Universitas Pamulang Teknik Informatika S-1

Gambar 1. 1 Komputer generasi pertama

Komputer generasi kedua, dikeluarkan pada tahun 1959- 1965. Pada


komputer generasi ini sistem yang dibuat sudah lebih baik dari komputer
generasi pertama. Ukuran komputer ini cenderung lebih kecil dari pada
komputer generasi sebelumnya dan tidak memakan daya listrik yang tinggi.
Bahasa pemrograman yang digunakan pada komputer ini adalah assembly dan
simbolik.
Kelebihan dari komputer generasi kedua ini adalah bisa memberikan
instruksi dengan kata dan kalimat. Ciri utama pada komputer generasi kedua ini
adalah sudah menggunakan bahasa pemograman khusus yang disebut fortran
dan cobol. Berikut adalah gambar komputer generasi kedua

Arsitektur dan Organisasi Komputer 4


Universitas Pamulang Teknik Informatika S-1

Gambar 1. 2 Komputer generasi kedua

Komputer generasi ketiga dikeluarkan oleh Jack Kilby kisaran tahun 1959-
1971. Insinyur dari Texas Instrument ini membuat rancangan sistem komputer
yang bisa menjalankan berbagai operasi program berbeda dalam suatu
program yang sama. Komputer ini dibuat dalam bentuk yang lebih kecil, terdiri
dari sebuah piringan kecil dan diberi nama integrated circuit (IC).
Pada komputer ini dirancang dengan sedemikian rupa sehingga dapat
lebih canggih dari komputer generasi sebelumya. Komputer generasi ini juga
relatif tidak memerlukan daya listrik yang besar sehingga biaya listrik yang
digunakan tidaklah banyak. Rancangan komputer generasi ketiga ini memiliki
bentuk yang lebih kecil simpel bisa ditaruh di meja tidak memenuhi ruangan
dan memori penyimpanan berkapasitas besar sehingga bisa menyimpan
berbagai data yang relatif besar tanpa menggunakan memori tambahan.

Arsitektur dan Organisasi Komputer 5


Universitas Pamulang Teknik Informatika S-1

Gambar 1. 3 Komputer generasi ketiga

Komputer generasi keempat, diciptakan dengan teknologi yang semakin


canggih sehingga membawa kemajuan teknologi yang cukup pesat. Komputer
generasi keempat dibuat pada tahun 1971-1980 dengan menggunakan LSI
atau Large Scale Integration. Dengan komponen menggunakan microprocessor
dan semiconductor dalam bentuk chip. Komputer generasi ini sudah mulai
digunakan oleh masyarakat dirumah maupun di perusahaan. Generasi inipun
hampir dikatakan mendekati sistem yang sempurna, pasalnya orang awam pun
sudah bisa memilikinya dirumah, juga tergolong simpel karena bahasa program
dan sistem yang digunakan dikategorikan sebagai mudah untuk dipelajari.
Berikut ini adalah gambar komputer generasi keempat

Arsitektur dan Organisasi Komputer 6


Universitas Pamulang Teknik Informatika S-1

Gambar 1. 4 Komputer generasi keempat

Memasuki era 4.0, teknologi semakin berkembang pesat ditandai


dengan diciptakannya komputer generasi kelima. Komputer yang mulanya
berbentuk tabung besar dengan berbagai komponen yang menyertainya,
sekarang sudah dialih ubahkan menjadi bentuk kecil yang efisien untuk dibawa
kemanapun. Komputer generasi kelima ini dianggap sebagai ratu komputer
paling canggih dari pada komputer yang sebelumnya.

Generasi kelima ini menempatkan komputer pada generasi platinum


karena penggunaannya sebagai mikroprosesor pada sistem pengolah data.
Komputer generasi kelima ini juga sudah menggunakan microsoft dan intel
untuk pengoperasian software dan hardware. Maka dari itu, komputer generasi
kelima sudah masuk standar internasional pada perkembangan teknologi dan
informasi dunia. Berikut ini adalah gambar komputer generasi kelima

Arsitektur dan Organisasi Komputer 7


Universitas Pamulang Teknik Informatika S-1

Gambar 1. 5 Komputer generasi kelima

2. Fungsi dan Struktur Arsitektur Komputer


a. Fungsi Arsitektur Komputer

Sebuah komponen pengolah data tentunya memiliki fungsi masing-


masing sesuai dengan tugas dan kinerjanya. Disini akan dijelaskan dari
mulai fungsi sederhana hingga fungsi yang rumit dari sebuah komponen
komputer. diantaranya adalah :

1) Fungsi pengolahan data


Pada sistem komputer, hal yang pastinya dilakukan adalah
mengolah data berbentuk word, excel maupun power point. Data dapat
bersumber dari berbagai jenis pemrosesan. Sebelum data diolah, data
akan terlebih dulu masuk pada elemen-elemen komputer sebagai tanda
dan pemberi sinyal agar komputer dapat melakukan sebuah operasi
pengolahan data. Data yang sudah diolah akan menjadi sebuah file
yang siap disajikan untuk dijadikan sebuah informasi.
2) Fungsi penyimpanan data
Sebuah data yang masuk pada elemen komputer pasti langsung
akan diproses oleh elemen komputer yang bertugas. Setelah data
diproses lalu akan disimpan pada memori untuk tetap bisa dilihat ketika
sewaktu- waktu dibutuhkan. Sebelum data disimpan pada memori,
adakalanya data akan disimpan sementara oleh salah satu elemen
komputer.

Arsitektur dan Organisasi Komputer 8


Universitas Pamulang Teknik Informatika S-1

3) Fungsi pemindahan data


Perangkat pada komputer yang sedang on proses dalam
pengolahan data akan melakukan kegiatan input ouput. Perangkat yang
terhubung langsung kedalam komputer biasanya akan mengirim dan
menerima data untuk segera diolah. Lalu hasil dari pengolahan data
tersebut akan disimpan pada memori, sehingga seorang programmer
akan dengan mudah mengakses kembali dengan mudah.
4) Fungsi kontrol
Salah satu fungsi pada komputer adalah fungsi kontol. Dimana
ada sebuah elemen yang berfungsi untuk mengatur jalannya semua
sistem operasi komputer. Fungsi ini juga mengontrol bagian pengelola
sumber daya komputer untuk mengatur kinerja bagian fungsionalnya.

Sistem komputer harus dapat menerima data, lalu memproses data,


mengontrol kinerja saat proses pengolahan data dan menyimpan data untuk
kembali disajikan ketika programmer membutuhkan, karena jika salah satu
fungsi tidak berjalan maka fungsi lainnya pun tidak akan berjalan dengan
normal. Maka fungsi tersebut haruslah saling berkesinambungan untuk
menciptakan keselarasan saat programmer memerlukannya. Berikut adalah
gambar mengenai fungsi arsitektur komputer.

Gambar 1. 6 Fungsi arsitektur komputer

Arsitektur dan Organisasi Komputer 9


Universitas Pamulang Teknik Informatika S-1

Dalam proses pengolahan data, komputer memerlukan beberapa


komponen pendukung yang dapat membantu proses pengolahan data.
Dalam pengolahan data, komputer memerlukan unit penyimpanan sehingga
memerlukan suatu mekanisme penyimpanan data. Unit penyimpanan data
ada dua macam, yaitu penyimpanan sementara dan penyimpanan
permanen.

Gambar 1. 7 Operasi pemindahan data

Gambar 1. 8 Operasi penyimpanan data

Arsitektur dan Organisasi Komputer 10


Universitas Pamulang Teknik Informatika S-1

Gambar 1. 9 Operasi pengolahan data

Gambar 1. 10 Operasi pengolahan data

Arsitektur dan Organisasi Komputer 11


Universitas Pamulang Teknik Informatika S-1

b. Struktur Arsitektur Komputer


Struktur komputer yaitu cara menggabungkan antar komponen yang
terdapat pada komputer sehingga komponen- komponen tersebut bisa
berjalan dengan normal. Struktur yang adapa pada komputer bisa saling
berkaitan dan menjalankan tugasnya masing- masing. Berikut ini adalah
struktur yang ada pada komputer
1) CPU (Control Processing Unit )
Tempat dimana pembentukan fungsi pengolahan data dan operasi
komputer dikontrol
2) I/O (Input Output)
Mentransfer data ke luar komputer
3) Main Memory
Penyimpanan data komputer
4) System Interconnections
Menghubungkan antara CPU,I/O, dan Main Memory

Adapun jenis- jenis arsitektur komputer, yaitu :

1) Komputer MISD, yaitu jenis arsitektur yang menggunakan data lebih dari
satu prosesor.
2) Komputer MMID, yaitu arsitektur yang menggunakan data lebih dari satu
prosesor dan memiliki intruksi yang berbeda pada setiap prosesornya.
3) Komputer SISD, adalah sebuah singkatan dari Single Intruction Single
Data, yang hanya menggunakan satu prosesor daja. Sebutan lain untuk
jenis arsitektur ini adalah komputasu tunggal.
4) Komputer SIMD, atau kepanjangan dari Single Inatruction Multiple
Data. Sebuah jenis arsitektur yang dibangun menggunakan sistem
paralel dalam satu unit control. Pada jenis ini ada beberapa bentuk
model arsitektur, diantaranya adalah model Exclusive Readn,
Concurrent Write, Concurrent Read, Concurrent Write, Exclusive Read,
Exclusive Write, Concurrent Read, Exclusive Write.
Dalam mempelajari sistem arsitektur dan organisasi komputer terdapat
berbagai kemudahan ketika akan melakukan semuah proses pengolahan
data, diantaranya adalah :
1) Mempermudah saat melakukan perbaikan komputer
Ilmu arsitektur komputer akan sangat berguna untuk programer ketika
menemukan sebuah kerusakan ataupun kesulitan. Rancangan materi

Arsitektur dan Organisasi Komputer 12


Universitas Pamulang Teknik Informatika S-1

yang dijelasakan akan membantu programmer dalam hal memperbaiki


tanpa harus membongkar lebih jauh lagi.
2) Memperbanyak pengguna processor
Dalam suatu server komputer, tentunya membutuhkan beberapa elemen
prosesor. Diantaranya adalah CPU yang didalamnya terdapat berbagai
rangkaian prosesor untuk unit pengolahan data.
3) Memperbanyak User
Ilmu arsitektur komputer mempunyai fungsi memperbanyak pengguna
komputer. Berbagai user bisa mengakses sistem pengolahan data
secara bersamaan. Ini mempemudah manusia dalam dunia teknologi.
4) Memastikan komponen berjalan dengan lancar
Pada arsitektur komputer diperlukan management unit pengolahan data
yang dapat memastikan seluruh komponen sehingga dapat berfungsi
dengan benar.
5) Memberikan gambaran aplikasi yang akan dibuat
Perkembangan sebuah komponen komputer pada masa sekarang ini
sangatlah berkembang pesat. Diperlukan adanya ilmu yang menunjang
perkembangan dunia teknologi. Salah satunya adalah ilmu arsitektur
komputer.

3. Klasifikasi Arsitektur Komputer Von Neumann

Arsitektur komputer jenis Von Neumann adalah sebuah arsitektur


komputer yang diciptakan oleh Jhon Von Neumann pada tahun 1903- 1957.
Komputer yang keluar dikisaran tahun tersebut rata-rata menggunakan model
arsitektur Von Neumann. Dalam kategori ini, terdapat empat bagian utama yaitu
unit aritmatika dan logic atau ALU, memori penyimpanan, alat masukan, unit
kontrol dan hasil yang berupa input dan output.

Dalam model Van Neumann terbagi menjadi beberapa sub kategori


komputer, yaitu :

a. Arsitektur mikro dari ISA


b. Set Intruksi (ISA)
c. Sistem desain dari semua komponen dalam perangkat keras.

Dalam klasifikasinya komputer Van Neumann juga memiliki karakteristik


dari mesin Van Neumann itu sendiri, yang meliputi :

Arsitektur dan Organisasi Komputer 13


Universitas Pamulang Teknik Informatika S-1

a. Mesin terdiri dari beberapa komponen yang saling berhubungan, yaitu L


memori utama, ALU, control unit dan perangkat input dan output.
b. Perangkat memiliki jalur bus sebagai penghubung antara beberapa
komponen dalam mesin Van Neumann.
c. Mesin ini menjalankan sistem operasi secara berurutan.
d. Program yang diolah pada mesin ini menyimpan intruksi dalam memori
elektronik.

Selain memiliki karakteristik, komputer Van Neumann juga memiliki


komponen yang mendukung jalannya operasi pengolahan data, yaitu :

a. Set intruksi, sering disebut sebagai bahasa mesin yang berbentuk binner,
sehingga mudah dipahami oleh programmer. Pada set instruksi terdapat dua
bagian utama yaitu Intruction set architecture (ISA) dan Hardware System
Architecture (HSA).
b. Aritmatika dan Logika Unit, yakni sebuah komponen yang berfungsi
melakukan operasi pengolahan data aritmatika.
c. Teknik pengalamatan, sebuah teknik pengoperasian data yang bertujuan
untuk memberi pengalamtan pada data yang diolah. Teknik pengalamatan
ini terbagi menjadi beberapa jenis yaitu immediate addresing, direct
addresing, indirect addresing, ragister addresing, register indirect addresing,
displacment addresing dan stack addresing.
d. Mekanisme Input Output, adalah sebuah sistem perecanaan yang memiliki
cakupan yang luas. Berupa alat input dan output yang berkolaborasai dalam
sistem pengolahan data.

Arsitektur komputer telah mencakup berbagai komponen dan jenis,


dimana masing-masing pada mereka memiliki tugas dan fungsi yang berbeda.
Tidak lepas dari arsitekturnya, komputer juga mempunyai sebuah sistem
organisasi yang mendukung berjalannya operasi pengolahan data.

Organisasi komputer adalah serangkaian susunan komputer yang terdiri


dari software dan hardware. Difungsikan sebagai alat utama dalam
pengoperasian data, oragnisasi komputer memiliki pembagian sebagai berikut :

a. Hardware atau perangkat keras. Hardware adalah perangkat komputer yang


berbentuk fisik, bisa dilihat dan bisa diraba. Jenis- jenis pengelompokan
hardware sendiri terbagi atas input, output, unit proses data, unit keluaran,

Arsitektur dan Organisasi Komputer 14


Universitas Pamulang Teknik Informatika S-1

dan unit penyimpanan. Contoh dari perangkat keras adalah keyboard,


mouse, scanner, joystick dan lain-lain.
b. Software atau perangkat lunak. Adalah sebuah perangkat komputer yang
berbentuk data. Fungsi dari perangkat lunak adalah melakukan pengolahan
data berdasarkan instruksi dari komponen komputer.
c. CPU atau kepanjangan dari Central Processing Unit , adalah sebuah
perangkat keras komputer yang berperan melaksanakan perintah dan
pengolahan data sesuai dengan perintah dari software.
d. Sistem Memori, data yang telah on proses akan disimpan sementara oleh
perangkat keras komputer, lalu diteruskan untuk disimpan secara permanen
oleh sistem memori yang terdapat pada perangkat komputer.
e. Sinyal Control,adalah sebuah komponen yang merupakan sistem pengolah
sinyal yang berupa sinyal umpan balik dan sinyal masukan.

Pada materi pembelajaran kali ini, telah dijelaskan berbagai pengertian


dan fungsi tugas dari arsitektur dan organisasai komputer. Dengan demikian
dapat disimpulkan bahwa arsitektur komputer adalah sebuah bentuk komputer
dari generasi ke generasi. Sedangkan organisasi komputer adalah rangakaian
sistem operasi pada komputer yang terdiri dari software dan hardware.

C. Soal Latihan/ Tugas


Berikut ini adalah soal/latihan sebagai pembelajaran mahasiswa
1. Jelaskan pengertian arsitektur komputer !
2. Apa yang dimaksud dengan organisasi komputer ?
3. Jelaskan secara singkat perkembangan komputer dari generasi ke generasi !
4. Bagaimana sistem operasi bekerja pada organisasi komputer ?
5. Sebutkan dan jelaskan jenis arsitektur komputer !
6. Sebutkan bagia utama yang terdapat pada komputer Von neumann !
7. Sebutkan kemudahan setelah kita mempelajari arsitektur dan organisasi
komputer!

Arsitektur dan Organisasi Komputer 15


Universitas Pamulang Teknik Informatika S-1

D. Referensi
Govindarajalu, B. (2005). Computer Architecture and Organization Desain Principles
and Applications. 2nd Edition. New Delhi: Tata McGraw- Hill Publishing
Company Limited.
Honnessy, Jhon l & David A. Patterson. (2007). Computer Architecture A
Quantitative Approach. 4th Edition. San Francisco. Morgan Kaufmann
Publishers
Tanenbaum, Andrew S. (2006). Structured Computer Organization. 5th Edition.
Amsterdam. Pearson Prentice Hall.
Hamacher, Carl dkk. (2002). Computer Organization And Embedded Systems. 6th
Edition. New York. Connect Learn Succed.
Stallings, William. (2010). Computer Organization And Architecture
DesigningforPerformance. 8th Edition. Pearson Prentice Hall.

Arsitektur dan Organisasi Komputer 16


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 2

DEFINISI CENTRAL PROCESSING UNIT (CPU)

A. Tujuan Pembelajaran

Pada materi pembelajaran terkait elemen CPU dalam proses pengolahan data
dapat memberi pemahaman tentang proses pengolahan data yang dilakukan oleh
CPU beserta eleman-elemennya. Dalam hal ini tentunya tidak lepas dari perangkat
keras komputer (hardware). Mahasiswa akan dapat menjelaskan tentang pengertian
hardware (perangkat keras komputer), perangkat keluaran (output device),
perangkat masukan (input device) dan perangkat pengolah data (processor).
Keterkaita antara elemen pada komputer pastinya akan membuat mahasiswa
memahami bagaimana cara kerja komputer untuk mengolah data yang baik dan
benar.
Dalam rangkaian elemen CPU terdapat tiga elemen dasar yaitu Arithamtic and
Logic Unit (ALU), Control Unit dan Register. Pada pembelajaran kali ini mahasiswa
diharapkan untuk dapat memahami alur kerja elemen-elemen pada CPU. Tentunya
juga mampu menjelaskan elemen pendukung CPU dalam proses pengolahan data.
Tidak lepas dari itu, mahasiswa juga dituntut untuk mampu mengetahui dan
memahami fungsi dari CPU juga elemen-elemen pendukungnya. Sehingga
mahasiswa mampu menguasai seluruh materi pembelajaran ini dan dapat
mempraktikkan dalam kehidupan sehari-hari.
Adapun beberapa materi yang akan dijelaskan dalam pertemuan kedua ini,
antara lain :

1. Definisi Central Processing Unit (CPU)


2. Arithmetic and Logic Unit (ALU)
3. Control Unit
4. Register

Arsitektur dan Organisasi Komputer 17


Universitas Pamulang Teknik Informatika S-1

B. Uraian Materi
1. Definisi Central Processing Unit (CPU)

Dalam dunia teknologi tentunya tidak asing dengan berbagai komponen


komputer yaitu software (perangkat lunak) dan hardware (perangkat keras).
Dari mulai jenis komputer generasi pertama yang digunakan sejak tahun
1950an hingga komputer masa sekarang. Mulai dari komputer dengan tabung
besar dan komponen yang menyertainya hingga komputer masa sekarang yang
sudah berbentuk layar LCD bahkan sudah lebih canggih dalam proses
pengolahan data.
Tidak lepas dari teknologi informatika yang semakin canggih, elemen
komputer yang diciptakan juga berkembang seiring generasi komputer yang
diciptakan. Dalam hal ini komponen komputer selalu berkutik pada perangkat
lunak dan perangkat keras. Kesinambungan antar kedua perangkat tersebut
haruslah kompeten dalam proses pengolahan data. Ketika salah satu dari
elemen komputer tidak saling mendukung, maka proses pengolahan data akan
gagal dan tidak maksimal. Software dan Hardware adalah poin yang harus
diperhatikan ketika kita mau membuat sebuah komputer. Pasalnya software
dan hardware dengan kualitas bagus akan menghasilkan kinerja yang
memuaskan.
Perangkat keras komputer (hardware) terdiri dari beberapa komponen,
antara lain mouse, keyboard, CPU, tabung komputer dan lain sebagainya. Pada
materi ini akan lebih spesifik membahsa mengenai salah satu komponen
komputer yang memiliki fungsi utama pada komputer yaitu Central Processing
Unit (CPU). CPU merupakan sebuah komponen komputer yang menjadi inti
dari proses pengolahan data. Kesalahan terbesar dalam proses pengolahan
data adalah ketika elemen- elemen CPU tidak berfungsi dengan baik. Dengan
adanya support system dan kolaborasi antar elemen-elemen pada CPU akan
menjadikan proses pengolahan data pada komputer tersusun dengan baik.
CPU atau Central Processing Unit adalah suatu komponen perangkat
keras komputer yang berbentuk kotak menyerupai balok besar yang bervolume
dengan berbagai rangkaian elektronik pembantu didalamnya. Didalam CPU
terdapat 9 bagian komponen yang saling mendukung saat proses pengolahan
data berlangsung.

Arsitektur dan Organisasi Komputer 18


Universitas Pamulang Teknik Informatika S-1

Berikut ini adalah gambar hardware pembangun CPU

Gambar 2. 1 Bagian dari CPU

Penjelasan gambar diatas adalah sebagai berikut :

a. Casing Control Processing Unit (CPU)


Casing berguna sebagai pelindung dari komponen yang terdapat pada CPU.
Bahan yang digunakan untuk membuat casing bermacam- macam ada yang
menggunakan besi, stainless dan lain sbagainya. Semakin bagus
kualitasnya semakin awet dalam umurya, dan disarankan menggunakan
produk yang asli.
b. Motherboard
Tanpa adanya motherboard komponen yang ada pada CPU tidak akan bisa
saling terhubung, karena motherboard adalah papan dimana bermacam
komponen elektronik dan komputer dipsangkan sehingga bisa saling
berhubungan. Komponen yang paling penting pada motherboard yaitu
processor, sound card, video card, hardisk dan lain sebagainya.
c. Pendingin dan Processor
Ini adalah bagian yang paling penting dalam sebuah CPU yaitu processor,
sebab tanpa adanya processor mungkin perangkat- perangkat yang ada
pada komputer tidak bisa digunakan. Biasanya processor disandingkan

Arsitektur dan Organisasi Komputer 19


Universitas Pamulang Teknik Informatika S-1

dengan pendingin agar processor tidak cepat panas dan agar stabil saat
komputer berjalan.
d. Random Access Memory (RAM)
RAM sebagai media penyimpanan sementara sebelum data diproses.
Kedudukan RAM juga tidak kalah penting dengan komponen yang lain.
Ukurannya pun bermacam- macam sesuai kebutuhan pengguna. Satua yang
digunakan biasanya menggunakan byte. Yang sering kita jumpai yaitu
berukuran 256MB, 512MB, 1GB, 2GB, 4GB, 8GB, dan lain sebagainya
e. Hardisk
Media untuk penyimpanan data dan sistem operasi pada suatu komputer.
Pada dasarnya hardisk mempunyai macam- macam ukuran, tergantung kita
mau menggunakan komputer itu untuk apa. Biasanya perusahaan
pengembang teknologi Informatika mengeluarkan ukuran 250GB, 500GB,
1TB, hingga 3TB.
f. DVD/CD ROM
Berguna untuk membaca optical pada kepingan DVD/CD juga berguna
sebagai Burning atau mengcopy CD dengan software.
g. VGA Card
Sebelum data ditampilkan ke monitor VGA CARD lah yang mengolah data
grafis. Tanpa adanya VGA CARD ini mustahil untuk monitor menampilkan
gambar.
h. Kipas Heatsink
Bagian ini adalah komponen tambahan yang berguna untuk mengeluarkan
udara panas yang ada di dalam CPU.
i. Power Supply
Yang merubah tegangan dari DC ke AC adalah power supply, selain itu arus
listrik pada komponen- komponen komputer diatur pada power supply.

Komponen diatas adalah inti bagian dari komponen yang membangun


sebuah CPU. Komponen itupun saling berkesinambungan dan memiliki tugas
masing- masing. Komponen pembentuk CPU pun ada berbagai merek dan
berbagai kualitas tergantung kita membuat CPU itu digunakan untuk apa.
Tentunya kualitas yang baik sangat disarankan agar CPU bisa bertahan lama
dan tidak cepat rusak. Pada jaman sekarang banyak perusahaan yang telah
mengembangkan teknologi informatika, bahkan sekarang banyak persaingan
dalam bidang kemajan informatika.

Arsitektur dan Organisasi Komputer 20


Universitas Pamulang Teknik Informatika S-1

Dalam elemen CPU, ada tiga elemen yang mempunyai tugas pokok
dalam penyelesaian sistem pengolahan data, yaitu:

a. ALU,
b. Unit Control dan
c. Register.

Ketiga elemen itu bisa dikatakan sebagai otak dari CPU dan CPU
merupakan otak dari komputer. Dalam sebuah program pengolahan data, CPU
pasti memberi sinyal kepada ALU yang diteruskan pada Unti Control untuk
memproses data hingga berakhir pada register. CPU akan menerima sinyal
berupa instruksi yang berasal dari software komputer untuk memulai proses
pengolahan data dengan cepat dan tepat. Beberapa aksi CPU dalam proses
pengolahan data aritmatika maupun logika adalah mampu melakukan penulisan
data ke memory atau disebut write data, mampu menterjemahkan intruksi dari
software komputer dan juga mampu mengambil data dari perangkat komputer
yang disebut dengan fetch data.
Pada struktur internal CPU terdapat ALU yang terdiri dari status flags,
shifter, compleneter dan arithmatic and boolean logic yang bekerja sama
dengan control unit dan register. Masing-masing mempunyai kapasitas tugas
yang berbeda tapi hampir sama yaitu dalam proses pengolahan data yang
diterima dari perangkat lunak komputer. Dengan bermodalkan komponen dan
kekuatan sinyal dalam hal menangkap tugas dari media penyimpanan, alhasil
CPU dapat menjalankan tugasnya mengolah data dan menyuguhkan hasil
secara cepat, rapi dan teliti.

Arsitektur dan Organisasi Komputer 21


Universitas Pamulang Teknik Informatika S-1

Gambar 2. 2 Struktur internal pada CPU

Operasi yang dilakukan oleh CPU biasanya terdiri dari operasi


pembacaan instruksi (fetch) dan operasi pelaksanaan intruksi (execute). Pada
pembacaan intruksi (fetch) CPU akan melakukan interpretasi intruksi dan
disimpan untuk melakukan tugasnya sesuai intruksi yang diperintah oleh
perangkat komputer. Sedangkan pelaksanaan intruksi yaitu sebuah proses
kerja CPU dimana akan menentukan operasi yang akan dilakukan dan
meneruskan pada memori penyimpanan. Selain kedua sistem operasi kerja
CPU tersebut, ada salah satu tugas CPU dimana CPU melakukan system
penghentian intruksi ketika terjadi kegagalan dan memanajemen system agar
tetap berjalan dengan baik pada saat pengolahan data sedang berlangsung.

2. Arithmetic and Logic Unit (ALU)

Salah satu komponen dalam komputer terutama elemen pada CPU


adalah Arithmatic and Logic Unit atau biasa disebut ALU. Sebuah elemen pada
CPU yang memiliki tugas penting pada saat proses pengolahan data terjadi.
Sesuai dengan namanya, ALU melakukan operasi aritmatika dan operasi
logika. ALU merupakan bagian dari CPU yang hanya bertugas ketika ada sinyal
intruksi berupa pengolahan data aritmatika dan data logika saja.
Arithmetic and Logic Unit adalah sebuah elemen sistem pengolah data
yang tidak mungkin bisa bekerja sendirian. Ada beberapa elemen lainnya yang
membantu sistem ALU bekerja. Dua diantaranya adalah control unit dan
register. Ketiga elemen ini saling berkolaborasi membentuk suatu sistem

Arsitektur dan Organisasi Komputer 22


Universitas Pamulang Teknik Informatika S-1

pengolah data khususnya data perhitungan aritmatika dan logika. ALU


melakukan sistem operasi dimana dapat membandingkan dua buah elemen
logika yang biasanya terdiri dari sama denagn (=), lebih dari (>), kurang dari (<)
dan tiadk sama dengan (<>).
Masing-masing tugas dari elemen pembantu ALU yaitu ketika unit control
mendapat perintah otomatis dari komputer dan meneruskan pada ALU. Setelah
itu diteruskan pada register untuk menghasilkan data aritmatika dan logika serta
menyajikan data yang sudah jadi secara utuh. Perlu diingat bahwa ALU hanya
melakukan operasi pengolahan data berupa perhitungan aritmatika dan logika
saja.

Gambar 2. 3 Rangkaian komponen ALU

Dalam melakukan pekerjaannya, ALU bekerja sama dengan prosesor,


lalu melakukan control bus pada i/o ports yang masuk pada pengolahan input
device dan output device, lalu baru disajikan menjadi data dan disimpan pada
memori.
Adapun fungsi dari alu sendiri yaitu memproses suatu data yang
berbentuk angka dan logika, menjalankan keputusan yang diperintahkan oleh
program, menghitung aritmatika, dan membantu control unit untuk menghitung
aritmatika tersebut.

Arsitektur dan Organisasi Komputer 23


Universitas Pamulang Teknik Informatika S-1

Berikut ini adalah gambaran mengenai fungsi dari Aritmetic Logic and
Unit (ALU) :

Gambar 2. 4 Fungsi ALU

3. Unit Control

Satu elemen yang tidak boleh terlepas dari sistem pengolahan data pada
CPU adalah Unit control. Salah satu komponen pokok yang berfungsi sangat
penting dalam proses pengolahan data. Suatu proses pengolahan pada
komputer dapat tercapai ketika unit control bisa berjalan dengan baik. Dengan
hal ini, fungsi utama dari unit control adalah mengatur jalannya program
komputer ketika sedang melakukan proses pengolahan data.
Tentunya elemen ini tidak bekerja sendiri, melainkan tetap membutuhkan
support system oleh elemen yang lain. Seperti dijelaskan pada ALU, unit control
juga memerlukan bantuan dari ALU dan register sebagai pelengkap fungsinya.
Mereka akan bekerja sama dalam proses pengontrolan olah data sehingga
tidak terjadi kesalahan pada system yang sedang bekerja.
Seperti halnya pengawas, unit control harus selalu siap siaga dalam
keadaan apapun ketika perangkat lunak melakukan aksinya. Sehingga unit
control juga merangkap tugas mengolah data input dan output yang nantinya

Arsitektur dan Organisasi Komputer 24


Universitas Pamulang Teknik Informatika S-1

akan disuguhkan pada system perangkat lunak. Dari hasil pengolahan data
yang dilakukan oleh unit control akan secara otomatis tersimpan pada memori.
Control unit juga memberitahu memori komputer ketika terjadi pengolahan
data aritmatika dan logika. Sehingga outpun dan input bisa menanggapi dengan
baik. Control unit berisi berbagai macam sistem pengendali komputer yang
mempunyai tugas mengendalikan seluruh sistem komputer jika sedang
digunakan.
Unit control menjadi satu- satunya elemen CPU yang mengatur dan
mengawasi jalannya proses pengolahan data. Dengan dibantu oleh elemen
pembantu lainnya, sehingga mempermudah unit control dalam melakukan
pekerjaanya unit control juga memiliki bebagai jenis tipe, diantaranya :

a. Single Cycle CU, merupakan suatu proses sistem yang terjadi dalam satu
siklus putaran saja. Kelebihannya adalah ukuran panjang siklus putaran
pada single cycle ini sama dalam setiap intruksinya. Yang dibagi dalam dua
bagian yaitu decode dan opcode. Desain ini juga mempunyai kelebihan
bekerja dengan lebih tepat dan cepat. Namun, seringkali siklus ini tidak
efisien dalam proses pengolahan data.
b. Multi Cycle CU, jika pada single cyclu memiliki satu fungsi saja, multi cycle
ini memiliki banyak fungsi dalam proses membantu pengolahan data yang
dilakukan oleh prosesor. Pada siklus ini bit intruksi langsung memberitahu
operasi selanjutnya yang akan dilakukan oleh CPU, tidak menunggu sinyal
kontrol lagi.

Dengan demikian, unit control memang berperan penting dalam proses


pengolahan data pada CPU. Bersama dengan jenis-jenis siklus yang dipunyai,
unit control bekerja secara maksilam untuk bisa menyajikan data secara baik
dan benar.
Berikut merupakan gambar dari sistem control unit yang terjadi didalam
CPU.

Arsitektur dan Organisasi Komputer 25


Universitas Pamulang Teknik Informatika S-1

Gambar 2. 5 Sistem control unit

Control unit memberi komando terhadap berbagai macam sistem kerja


komputer. Serta memberi intruksi kapan dan bagaimana output dan input dalam
melakukan pekerjaannya. Control unit juga memberi sinyal dari control bus
supaya bisa mengendalikan semua sistem yang sedang berjalan. Timbal balik
antara control unit dan control bus terjadi ketika mesin komputer hidup dan
sedang bekerja mengolah data.
Input didalam control unit bekerja sebagai penerima dan membaca yang
mana akan dilanjutkan ke sebuam penyimpanan atau memori. Dari gambar
diatas bisa disimpulkan bahwa inputan control unit adalah

a. Clock/pewaktu

yang berguna untuk mengontrol waktu yang terjadi ketika siklus prosesor
sedan berjalan

b. Register Instruksi

yaitu saat siklus dijalankan maka opcode instruksi akan memilih operasi
mana yang akan dilakukan

c. Flag

yaitu bagian yang menentukan hasil operasi dari ALU, bagian inilah yang
menentukannya

Arsitektur dan Organisasi Komputer 26


Universitas Pamulang Teknik Informatika S-1

d. Sinyal Control

Unuk mengontrol sinyal yang akan memberi peringatan dan nantinya akan
dikirimkan kepada unit control

Control Unit mempunyai peranan penting. Adapun fungsi dari control unit
yaitu untuk menontrol dan mengatur peralatan yang sedang diproses di input
dan output, mengontrol perintah yang ada pada memori utama, mengambil data
pada memori utama, mengirimkan perintah ke ALU, mengawasi kerja dan
menyimpan proses yang sudah dijalankan kedalam memori utama

4. Register

Elemen terakhir pada CPU adalah sebuah alat untuk menyimpan hasil
dari pengolahan data yang dilakukan oleh software komputer. Sebut saja
register, alat penyimpanan pada CPU yang memiliki kapasitas kecepatan daya
tingkat tertinggi dalam menagkap data yang telah diolah oleh perangkat
komputer. Diibaratkan seperti otak pada komputer, register juga membutuhkan
teman dalam pelaksanaan aksinya. Ditemani ALU dan control unit, register
selalu berhasil dalam melaksanakan tugasnya menjadi memori internal pada
CPU.
Uniknya, hasil olahan data yang disimpan pada register tidak juga
disimpan pada perangkat komputer. Register hanya dapat penyimpan hasil
pengolahan data sementara. Dengan konsekuensi data yang disimpan pada
register akan diteruskan untuk disimpan pada perangkat komputer.
Pada umumnya register yang dimiliki oleh CPU adalah bagian yang
digunakan untuk menyimpan informasi yang dibutuhkan. Dengan terbagi dalam
beberapa macam, yaitu PC atau Program Counter, bagian ini difungsikan
sebagai alat penelusuran tentang sejauh mana sistem yang dilakukan. Dan
bertindak sebagai pointer untuk memberi perintah selanjutnya pada perangkat.
Memory Address Register atau biasa disebut MAR, adalah bagian yang
tidak boleh terlewatkan dalam hal mengakses data. Yaitu ketika akan
mengakses data pada memori harus melalui MAR. Bagian selanjutnya adalah
Memory Buffer Register atau MBR. Pada bagian ini merupakan jembatan
keluar masuk semua data yang akan dieksekusi pada memori.
Sebelum data tersimpan pada memori, IR (Instruction Register) akan
menyimpan perintah yang akan dikerjakan terlebih dahulu. Lalu IR akan
melakukan kegiatan analisis data yang selanjutnya baru akan dieksekusi.

Arsitektur dan Organisasi Komputer 27


Universitas Pamulang Teknik Informatika S-1

Setelah data masuk, secara otomatis akan disimpan sementara oleh


Accumulator. Ini merupakan bagian dari register yang berfungsi untuk
menyimpan data sementara setelah data itu diolah.
Ada pula status register yang berfungsi untuk menentukan status data
yang sudah diolah. Yang terakhir adalah General purpuse register, yaitu
gambaran umum mengenai tujuan fungsi register. Yaitu sebuah register khusus
yang memiliki fungsi serbaguna yaitu khusus untuk alamat dan khusus untuk
data. Dan tidak diperuntukan untuk olahan data lain sperti arithmatika dan
logika.

Pada umumnya, jenis register dibagi menjadi 8 bagian yaitu:

a. register data
b. register alamat
c. register general purpose
d. register floating point
e. register konstanta
f. register vektor
g. register special purpose
h. register spesifik terhadap model mesin.

Dari jenis register yang telah kita sebutkan diatas bisa maka kita bisa
menyimpulkan. Sebenarnya tugas dan fungsi dari jenis- jenis register tersebut
sama, tetapi akan berbeda ketika sudah dikelompokkan menurut subabnya
masing- masing. Seperti register data, digunakan untk menyimpan data-data
yang masuk pada prosesor yang berbentuk bilangan bulat. Sedangkan register
alamat berfungsi untuk menyimpan alamat-alamat dan mengakses memori
pada prosesor. Dari kedua jenis register ini, ada satu register yang dapat
menyimpan data berupa bilangan bulat sekaligus alamat memori, yaitu register
general purpose. Untuk register floanting point dan register konstanta, hampir
sama dalam fungsi dan tugasnya, hanya saja yang membedakan adalah jika
floanting point hanya menyimpan angka yang mengambang, sedangkan
konstanta adalah menyimpan angka yang dapat dibaca. Lalu pada register
vektor mempunyai fungsi untuk menyimpan hasil vektor yang sudah dilakukan
oleh prosesor. Pada register jenis special purpose,berfungsi untuk menyimpan
data internal pada prosesor. Dan untuk register yang spesifik pada model mesil,
berfungsi untuk menyimpan data yang berkaitan dengan prosesor itu sendiri.

Arsitektur dan Organisasi Komputer 28


Universitas Pamulang Teknik Informatika S-1

Maka dari itu, jenis register akan berfungsi dan melakukan tugasnya masing-
masing dengan cepat dan benar.
Pada gambar di bawah ini deijelaskan bahwa tiga komponen yaitu control
unit, ALU dan register saling berkesinambungan dalam melakukan tugasnya.
Ketika register berfungsi untuk menyimpan data sementara, yang selanjutnya
akan diteruskan pada ALU untuk menerima intruksi dari perangkat, dan yang
akan diawasi oleh control unit dalam sistem kerja secara keseluruhan. Bagian
tersebut jika salah satunya tidak berfungsi maka program yang akan
dijalankanpun tidak akan normal maka harus dipastikan dulu ketiga komponen
tersebut haruslah dalam keadaan yang normal.

Gambar 2. 6 alur kerja elemen CPU

Cara kerja ALU seperti yang sudah dijelaskan diatas bahwasanya ALU
akan bekerja ketika hanya menerima sinyal dari register pada saat akan
melakukan operasi data aritmatika dan logika. Lalu ALU akan meneruskan
sinyal perintah pada unit control suoaya bisa dipantau dan dikendalikan semua
sistemnya.

Arsitektur dan Organisasi Komputer 29


Universitas Pamulang Teknik Informatika S-1

Dengan demikian sistem kerja alu tidaklah lepas dari register dan control
unit. Mereka saling berpasangan dalam hal alur kerja. Saling memberi sinyal
dan energi positif untuk kelangsungan dan keberhasilan pengolahan data.
Sehingga dapat memperkuat jaringan sistem komputer.
Dapat disimpulkan bahwa antara register, control unit dan ALU selalu
melakukan hubungan timbal balik berupa memberi umpan sinyal koneksi
terhadap satu sama lain. Dengan dalih supaya proses pengolahan data berupa
data arimatika dan logika dapat berjalan dengan baik. Untuk sistem yang
digunakan ketiga komponen tersebut hampir sama. Diharapkan mahasiswa
Teknik informatika lebih utamanya, paham akan penjelasan mengenai
hubungan antara ALU, Register, dan Control Unit.

C. Soal Latihan/ Tugas

Berikut adalah soal sebagai bahan uji belajar pada pebahasan tentang CPU

1. Apakah yang dimaksud dengan Central Processing Unit atau CPU ?

2. Bagaimana alur kerja CPU dalam proses pengolahan data ?

3. Apa sajakah elemen pada CPU ?

4. Jelaskan yang dimaksud dengan Arithmatic and Logic unit !

5. Bagaimana sistem kerja dan fungsi dari register ?

6. Sebutkan jenis- jenis register !

7. Jelaskan rangkaian kerja Control Unit !

D. Referensi
Govindarajalu, B. (2005). Computer Architecture and Organization Desain
Principles and Applications. 2nd Edition. New Delhi: Tata McGraw- Hill
Publishing Company Limited.
Honnessy, Jhon l & David A. Patterson. (2007). Computer Architecture
A Quantitative Approach. 4th Edition. San Francisco. Morgan Kaufmann
Publishers
Tanenbaum, Andrew S. (2006). Structured Computer Organization.

Arsitektur dan Organisasi Komputer 30


Universitas Pamulang Teknik Informatika S-1

5th Edition. Amsterdam. Pearson Prentice Hall.


Hamacher, Carl dkk. (2002). Computer Organization And Embedded Systems.
6th Edition. New York. Connect Learn Succed.
Stallings, William. (2010). Computer Organization And Architecture Designing
for Performance. 8th Edition. Pearson Prentice Hall.
Siswanti. (2013). Praktikan Komputer 1. Malang. Kementrian Pendidikan 7
Kebudayaan.

Arsitektur dan Organisasi Komputer 31


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 3

ARITHMETIC AND LOGIC UNIT (ALU)N

A. Tujuan Pembelajaran

Komputer tidak akan bisa menjalankan operasi pengolahan data jika tidak ada
elemen-elemen didalamnya. Berbagai sistem dirangkai dalam prosesor untuk
mempermudah jalannya sistem operasi, terutama aritmatika dan logika. Sistem
komputer akan melakukan pengolahan data secara otomatis dan tepat ketika
mendapat sebuah sinyal perintah dari prosesor. Salah satu elemen inti yang
berpengaruh dalam sistem pengolahan data komputer adalah Arithmatic and Logic
Unit.
ALU kepanjangan dari Arithmatic and Logic Unit adalah serangkaian sistem
yang diciptakan untuk melakukan operasi pengolahan data aritmatika dan logika.
Komponen ALU terdiri dari sistem input dan output yang didukung oleh control unit
dan register. Dalam pembahasan ini, mahasiswa diharapkan dapat menguasai yang
menjelaskan tentang ALU. Sehingga dapat menjelaskan pengertian ALU dengan
benar.
Pemberlajaran ini tidak hanya berpacu pada pengertian saja, melainkan juga
menyisipkan rangkaian materi pendamping tentang ALU. Diantaranya adalah alur
kerja ALU dan juga sistem pengolahan data yang terjadi pada elemen ALU yang
disebut representasi integer.
Mahasiswa akan dituntut untuk memahami tentang pn=engertian dan jenis-
jenis representasi integer. Supaya bisa menjelaskan dan mengaplikasikan dalam
kehidupan sehari-hari. Adapun materi pembelajaran pada modul ini sudah terbagi
menjadi tiga komponen, yaitu:

1. Pengertian Arithmetic and Logic Unit (ALU)


2. Prinsip Kerja ALU
3. Representasi

Arsitektur dan Organisasi Komputer 32


Universitas Pamulang Teknik Informatika S-1

B. Uraian Materi
1. Pengertian Arithmetic and Logic Unit (ALU)

Sistem komputer tentunya memiliki komponen pendukung untuk


membantu melaksanakan tugasnya. Terdiri dari beberapa elemen yang tidak
bisa lepas pada saat sedang melakukan olah data. Ada tiga elemen yang
dimaksud pada penjelasan tersebut, yaitu ALU (Arithmetic and Logic Unit), Unit
Control dan Register.
Ketiga elemen tersebut saling berkesinambungan dalam melakukan
tugasnya. Unit control bertugas mengatur jalannya sistem operasi yang
dilakukan ALU ketika sedang mealkukan operasi aritmatika dan logika, lalu
disimpan sementara oleh register yang akan diteruskan pada memori. Lalu
hasil dari data yang telah melalui rangkaian elemen tersebut siap disajikan oleh
soft ware.
Arithmetic and Logic Unit adalah serangkaian elemen pada CPU yang
diciptakan untuk melakukan proses pengolahan data aritmatika dan logika. ALU
merupakan elemen yang membutuhkan pendukung dari elemen lain untuk bisa
menyelesaikan tugas yang diterimanya. Operasi yang dilakukan oleh ALU
hanya berupa operasi aritmatika dan logika saja. Seperti penjumlahan,
pengurangan, perkalian dan pembagian.
Secara garis besar, cara kerja ALU adalah menerima intruksi dari memori
dan mengolahnya sehingga dapat menghasilkan jawaban dengan baik dan
benar. Data yang dihasilkan oleh ALU tidak disimpan pada register melaiknkan
langsung disimpan oleh memori perangkat komputer. Dalam hal ini tercipta
kerja sama antara ALU dengan memori dalam proses pengolahan data
aritmatika dan logika.
Arithmetic and Logic Unit memiliki dua bagian, yaitu bagian pengolahan
data aritmatika dan bagian pengolahan data logika. Kedua bagian tersebut
tentunya memiliki tugas dan fungsi yang berbeda. Dalam perhitungan aritmatika
data yang diolah sebagian besar berbentuk perhitungan seperti Un = a + (n-1)b,
Sn = n/2 (a+un) yang akan membuahkan hasil secara otomatis secara benar
dan tepat. Sedangkan pada operasiperhitungan logika, ALU biasanya
menangani data yang berupa ^ = dan, v = atau, => = maka dan  = jika dan
hanya jika.
Operasi perhitungan yang dilakukan oleh ALU menggunakan sebuah
kode yang disebut kode binner. Kode binner adalah sebuah intruksi rahasia

Arsitektur dan Organisasi Komputer 33


Universitas Pamulang Teknik Informatika S-1

yang bertugas untuk menjelaskan instruksi yang diterima dan data yang akan
diolah. Data yang sudah diolah oleh ALU sementara disimpan oleh register
yang kemudian akan disimpan permanen oleh memori.
ALU juga bertugas menentukan keputusan hasil dari proses pengolahan
data aritmatika sesuai dengan instruksi yang diberikan oleh program. Adapun
sirkulasi atau sirkuit dari ALU yang disebut dengan Adder. Sirkuit ini
mempunyai tiga jenis yang merupakan kombinasi dari rangkaian perhitungan
aritlmatika, yaitu Half Adder, Full Adder, dan Paralel Adder.
Half Adder merupakan sebuah dasar pengolahan data aritmatika berupa
penjumlahan. Dalam hal ini Half Adder seringkali mengoperasikan sebuah
penjumlahan yang tidak sempurna. Komponen input yang ada pada half adder
terdapat dua macam yaitu input A dan input B. Serta terdapat output yang
berupa S/ SUM dan CY.
Full Adder adalah sebuah dasar pengolahan aritmatika yang berupa
penjumlahan dan hampir sama halnya dengan half adder, hanya saja masing-
masing posisi pad bit dijumlahkan terlebih dulu. Cara kerjanya hampir sama
juga dengan half adder, tetapi pada output terdiri atas SUM dan Bit. Itulah yang
jadi pembeda antara full adeer dengan hlaf adder.
Paralel Adder yaitu komponen yang tersusun dari half adder terhadap
BAB Least Significant Bit dan terhadap bit selanjutnya yang terdiri dari urutan
full adder. Proses operasi data yang berpa penjumlahan dimulai dari LSB dan
sampai pada most significant bit.

Gambar 3. 1 Rangkaian ALU

Arsitektur dan Organisasi Komputer 34


Universitas Pamulang Teknik Informatika S-1

Pada gambar diatas, rangkaian ALU terdiri dari umpan sinyal yang
berasal dari control unit dan menghasilkan input output sehingga dapat di
representasikan oleh perangkat komputer. Setelah itu, terdapat komponen
acumulator pada sistem input dan output yang akan disimpan sementara pada
register dan akan diteruskan pada memori penyimpanan. Sehingga data bisa
disimpan secara permanen dan tidak hilang saat dibutuhkan.
ALU adalah sebuah komponen CPU yang tidak banyak diketahui oleh
orang awam. Hanya programer yang mengetahui rangkaian ALU dan jenis-
jenis ALU. Itu saja tidak sembarang programer yang bisa paham mengenai
sistem kerja ALU. Berbagai jenis ALU mempunyai tugas yang berbeda namun
masih dalam garis besar yang sama.
Rangkaian sistem kerja ALU juga tidak pernah terlepas dari control unit
dan register. Tiga rangkaian sistem yang tidak bisa dipisahkan. Dengan
demikian komponen terpenting dalan unit sistem pengolahan data adalah ALU,
register dan unit control. Semaikn baik sistem komputer ini bekerja semakin
baik pula hasil yang disajikan.

Gambar 3. 2 Susunan CPU dengan ALU

Arsitektur dan Organisasi Komputer 35


Universitas Pamulang Teknik Informatika S-1

Control Processing Unit mempunyai tiga komponen berupa ALU, register,


dan control unit. Masing- masing mempunyai hubungan erat dengan CPU.
Seperti yang dijelaskan pada gambar diatas adalah hubungan CPU dengan
ALU. Dimana status flag, shifter dan complementer memberi sinyal terhadap
ALU yang berasal bus internal CPU. Kemudian disimpan sementara pad
register dan dikendalikan oleh control unit.

2. Prinsip Kerja ALU

Arithmatic and Logic Unit atau ALU adalah satu- satunya elemen CPU
yang mengolah data berupa matematika dan statistika. Sistem kerja ALU akan
selalu bertumpu pada control unit dan register. Tiga elemen tesebut selalu
melaksanakan tugas dan fungsinya secara beriringan. Dari mulai control unit
yang akan memberi perintah sesuai dengan sinyal intruksi yang diperoleh dari
prosesor. Lalu akan diteruskan pada register yang memberi perintah untuk
melakukan proses pengolahan data, setelah itu perangkat secara otomatis
akan memberi komando pada ALU untuk melakukan proses olah data
matematika.
Perhitungan yang dilakukan oleh ALU berupa bilangan integer yang
digambarkan dengan kode binner. ALU akan mendapat umpan data dari
perangkat yang akan disimpan sementara oleh register. Kemudian data
tersebuh akan diolah dengan sistem tertentu berdasarkan perintah dari control
unit.
Dalam sistem kerja komputer terutama prinsip kerja ALU terdapat
beberapa sistem, yaitu representasi integer, representasi sign magnitud,
representasi komplemen dua, representasi fixed point dan representasi floating
point. Masing-masing mempunyai hubungan kerja yang sangat intim. Mulai dari
penangkapan sinyal intruksi, sistem pengolahan data hingga data disajikan
kepada programer.

Arsitektur dan Organisasi Komputer 36


Universitas Pamulang Teknik Informatika S-1

Gambar 3. 3 Cara Keja ALU

Seperti yang terlihat pada gambar diatas rangkaian kerja ALU berupa
rangkaian A, B dan C yang terdiri dari input data utama dari rangakaian sitem
kerja ALU. Kemudian ouput dimasukkan pada multiplexer yang ditandai dengan
nomor 4. Seperti yang kita ketahui bahwa multiplexer hanya mengeluarkan satu
kali output, maka dari itu F0 dan F1 dapat digunakan sebagai selector pad
multiplexer sehingga dapat berfungsi sebagai kontrol operasi terhadap ALU.

3. Representasi

Representasi Integer adalah sebuah sistem pengolahan data pada ALU


yang terdiri dari binner, oktat, desimal dan heksadesimal. Binner digunakan
unuk menjelasakan data dari komputer ketika ada umpan sinyal yang masuk.
Seperti pada gambar dibawah ini, representasi integer menjelaskan bahwa
sistem pengolahan data aritmatika yang dilakukan berbentuk seperti pada tabel

Tabel 3. 1 Reresentasi integer

Desimal Binner Oktal Hexa

0 0000 0 0

1 0001 1 1

Arsitektur dan Organisasi Komputer 37


Universitas Pamulang Teknik Informatika S-1

2 0010 2 2

3 0011 3 3

4 0100 4 4

5 0101 5 5

6 0110 6 6

7 0111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

Arsitektur dan Organisasi Komputer 38


Universitas Pamulang Teknik Informatika S-1

Gambar 3. 4 Representasi Integer

Dalam representasi integer terdapat empat sistem untuk menjelaskan


jenis-jenis integer dan cara kerjanya, yaitu representasi sign magnitude,
representasi nilai tanda, representasi komplemen dua, representasi fixed point
dan representasi floating point. Masing-masing tentunya mempunyai tugas dan
koneksi sistem yang berbeda. Ini semua tergantung pada kode binner yang
beraksi pada masing-masing sistem representasi.

a. Representasi Sign Magnitude


Sistem representasi integer jenis sign magnitude adalah sebuah
sistem yang bekerja mengolah operasi berisi tentang tanda dan nilai (angka).
Dalam sistem tersebut tanda ditafsirkan sebaga sign dan nilai (angka)
dimaksudkan sebagai magnitudenya. Seperti dijelaskan pada tabel berikut
ini :

Tabel 3. 2 Representasi Magnitude

A1 A2 A3 A4 A5 A6
A0
1 0 1 1 1 0
0

Arsitektur dan Organisasi Komputer 39


Universitas Pamulang Teknik Informatika S-1

Shift pertama menerangkan tentang tanda yang digunakan, sedangkan


pada shift kedua menerangkan tentang nilai atau angka sesuai dengan
tanda yang sudah ditentukan. Metode sign magnitude adalah cara yang
sering kali dipakai dalam merepresentasikan significand dalam bilangan
floating point.
Dalam metode sign magnitude, biasanya terdapat dua status bilangan,
yaitu bilangan positif dan bilangan negatif. Status bilang itu tetap berlaku
pada semua bit. Delapan bit sign magnitude adalah sebagai berikut :

Tabel 3. 3 Bilangan Bit

Signed Unsigned
Binary
+0 0
00000000
1 1
00000001
... ...
...
127 127
01111111
-0 128
10000000
-1 129
10000001
... ...
...
127 255
11111111

Contohl unsign magnitude

Contoh operasi penjumlahan bilanagn unsigned.

Arsitektur dan Organisasi Komputer 40


Universitas Pamulang Teknik Informatika S-1

Contoh sign magnitude jenis overlaw aritmatika.

b. Representasi Nilai Tanda


Representasi Nilai tanda adalah sebuah sistem integer yang paling
sederhana dari pada metode representasi yang lain. Karena pada
representasi nilai tanda terjadi sistem penjumlahan dan pengurangan yang
memerlukan sebuah pertimbangan. Adanya pertimbangan dalam sistem ini
berlaku pada tanda bilangan dan juga nilai relatifnya. Hal itu dilakukan oleh
metode representasi nilai tanda dengan tujuan agar operasi pengolah data
dapat berjalan dengan baik dan benar.
Dalam bilangan biner, semua bilangan bisa menggunakan bilangan 0
dan 1 untuk mempresentasikannya. Tapi jika untuk menyimpan dan
mengolah komputer tidak diperlukan tanda minus dan titik. Hanya 0 dan 1
yangdapat mempresentasikan bilangan biner. Namun jka kita menggunakan
integer non negatif maka representasinya akan semakin mudah.sebuah wod
8 bit bisa kita gnakan untuk merepresentasikan bilangan 0 sampai 255.
Sebagai contoh:
00000000 = 0
00000001 = 1
00101001 = 41
10000000 = 128
11111111 = 225

Arsitektur dan Organisasi Komputer 41


Universitas Pamulang Teknik Informatika S-1

c. Representasi Komplemen Dua


Representasi komplemen dua atau dalam bahasa asingnya disebut
two’s complement representation adalah sebuah metode yang bertugas
menangani problem dan kekurangan yang terjadi pada representasi nilai
tanda. Pada representasi ini selalu menggunakan bit tertentu yang
memudahkan untuk mengetahui status bilangan sebuah integer. Contoh
representasi komplemen dua,

Unit operasi penjumlahan

Unit operasi penjumlahan dan pengurangan

Representasi komplemen dua tentunya berbeda dari representasi-


representasi lainnya. Hal ini ditunjukkan dengan cara kerja representasi
komplemen dua yang tidak hanya menginterpretasikan satu bit saja, tetapi
beserta bit- bit lainnya. Metode ini dibilang cukup mudah ketika kita sudah
melakukan dua metode sebelumnya, yaitu representasi sign magnitude dan
representasi nilai tanda.

Arsitektur dan Organisasi Komputer 42


Universitas Pamulang Teknik Informatika S-1

d. Representasi Fixed Point


Representasi Fixed Point adalah sebuah metode integer yang dikenal
sebagai titik tetap. Rangkaian metode logika pada fixed point sama dengan
rangkaian bilangan pada integer. Bilangan fixed point terdiri dari digit dan
pecahan. Berikut adalah konversi bilangan fixed point,

e. Representasi Floating Point


Representasi floating point adalah sebuah bilangan floating yang
mempunyai range dengan batas digit signifikan. Metode ini digunakan untuk
merepresentasikan operasi bilangan. Dalam reperesentasi ini ada sebuah
operasi aritmatika penjumlahan dan pengurangan. Sistem operasi untuk
representasi floating point ini memang agak sedikit rumit, tetapi tentunya
dapat melakukan operasi bilangan aritmatika dengan tepat. Dalam beberapa
aplikasi diperlukan bilangan yang besar dan kecil.

Gambar tersebut adalah represenatsi bilanagn floating point 32 bit

Arsitektur dan Organisasi Komputer 43


Universitas Pamulang Teknik Informatika S-1

Dalam rangakain ALU ada juga rangkaian full adder

Selain itu ada representasi lainnya, yaitu :

f. Operasi bilangan BCD,

Representasi BCD banyak digunakan oleh komputer zaman dahulu.


Sistem operasi ini hanya melakukan format pengolahan data numerik
sederhana. Yang membutuhkan rangkaian yang komples untuk melakukan
operasi aritmatika dan logika.
Kesimplannya adalah Arithmetic Logic and Unit adalah komponen dari
sebuah mikroprosesor yang berguna sebagai operasi hitung pada aritmaika
dan logika. ALU tidak bisa bekerja sendirian, ALU dibantu oleh memori
sebagai piranti penyimpanan hasil dari perhitungan. Perhitungan yang

Arsitektur dan Organisasi Komputer 44


Universitas Pamulang Teknik Informatika S-1

digunakan oleh ALU yaitu menggunakan kode biner, yang


mempresentasikan sebuah perintah yang nantinya akan di jalankan dan
diolah oleh ALU. ALU melakukan operasi aritmatika menggunakan dasar
pertambahan.

C. Soal Latihan/ Tugas


1. Apa yang dimaksud dengan Arithmatic login Unit ?
2. Bagaimana sistem kerja ALU ?
3. Apa sajakah komponen- komponen yang membantu sistem kerja ALU ?
4. Jelaskan representasi integer !
5. Jelaskan representasi Fixed Point,!
6. Apa yang disebut dengan representasi Nilai tanda ?
7. Jelaskan representasi sign magnitude ?

D. Referensi

Govindarajalu, B. (2005). Computer Architecture and Organization Desain

Principles and Applications. 2nd Edition. New Delhi: Tata McGraw- Hill
Publishing Company Limited.

Honnessy, Jhon l & David A. Patterson. (2007). Computer Architecture

A Quantitative Approach. 4th Edition. San Francisco. Morgan Kaufmann


Publishers

Tanenbaum, Andrew S. (2006). Structured Computer Organization.

5th Edition. Amsterdam. Pearson Prentice Hall.

Hamacher, Carl dkk. (2002). Computer Organization And Embedded Systems.

6th Edition. New York. Connect Learn Succed.

Stallings, William. (2010). Computer Organization And Architecture Designing

for Performance. 8th Edition. Pearson Prentice Hall.

Siswanti. (2013). Praktikan Komputer 1. Malang. Kementrian Pendidikan 7


Kebudayaan.

Arsitektur dan Organisasi Komputer 45


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 4
ARITHMETIC AND LOGIC UNIT (ALU)

PERTEMUAN 4 Arithmetic and Logic Unit (ALU)


A. Tujuan Pembelajaran

Mampu melakukan pengolahan aritmatika integer

B. Uraian Materi

1. Aritmatika Integer Penambahan dan Pengurangan

Penambahan komplemen dua diilustrasikan pada Tabel 4.1. Penambahan


berlangsung seolah-olah kedua bilangan itu adalah bilangan integer tidak
bertanda. Jika hasil operasi positif, kita mendapatkan bilangan positif dalam
bentuk komplemen dua, yang sama dengan bentuk integer tidak bertanda. Jika
hasil dari operasi negatif, kita mendapatkan angka negatif dalam bentuk
komplemen dua. Dengan catatan bahwa dalam beberapa kasus, ada sedikit
carry bit di luar akhir kata (ditunjukkan dengan shading), yang diabaikan.
Selain itu, hasilnya mungkin lebih besar daripada yang dapat ditahan
dalam ukuran kata yang sedang digunakan. Kondisi ini disebut overflow. Saat
terjadi overflow, ALU harus memberi tanda sehingga tidak ada upaya yang
dilakukan untuk menggunakan hasilnya. Untuk mendeteksi overflow, aturan
berikut harus diamati:

Arsitektur dan Organisasi Komputer 46


Universitas Pamulang Teknik Informatika S-1

Tabel 4. 1 Penambahan Angka-angka dengan Komplemen Dua

Tabel 4.1 bagian e dan f menunjukkan contoh overflow. Perlu diingat


bahwa overflow dapat terjadi dengan ataupun tanpa carry.
Pengurangan dapat diselesaikan dengan mudah mengikuti aturan berikut
: Untuk mengurangi satu angka (subtrahend) dari yang lain (minuend), ambil
komplemen dua (negasi) dari subtrahend dan tambahkan ke minuend.
Jadi pengurangan dapat dicapai dengan menggunakan penambahan,
seperti yang di tunjukkan pada Tabel 4.2 Dua contoh terakhir menunjukkan
bahwa aturan overflow masih berlaku.

Arsitektur dan Organisasi Komputer 47


Universitas Pamulang Teknik Informatika S-1

Tabel 4. 2 Pengurangan Dua Angka Komplemen (M - S)

Gambar 4. 1 Blok Diagram dari Hardware untuk Penambahan dan Pengurangan

Gambar 4.1 menunjukkan jalur data dan elemen perangkat keras yang
diperlukan untuk menyelesaikan penambahan dan pengurangan. Elemen pusat
adalah penambah biner, yang disajikan dua angka untuk penjumlahan dan
menghasilkan penjumlahan dan indikasi overflow. Penambah biner

Arsitektur dan Organisasi Komputer 48


Universitas Pamulang Teknik Informatika S-1

memperlakukan kedua bilangan tersebut sebagai bilangan bulat tak bertanda.


Sebagai tambahan, kedua nomor tersebut disajikan ke penambah dari dua
register, yang dalam hal ini disebut register A dan B. Hasilnya mungkin
disimpan di salah satu register ini atau di register ketiga. Indikasi overflow
disimpan dalam flag overflow 1-bit (0 = tidak ada overflow; 1 = overflow). Untuk
pengurangan,subtrahend (register B) dilewatkan melalui pelengkap
berpasangan sehingga pelengkap keduanya disajikan kepada penambah.
Perlu diingat Gambar 4.1 hanya menunjukkan jalur-jalur data. Kontrol
penanda dibutuhkan untuk mengatur ketika komplementer digunakan atau
tidak, tergantung dari operasinya apakah penambahan atau pengurangan.

2. Aritmatika Integer Pengalian

Dibandingkan dengan penjumlahan dan pengurangan, perkalian adalah


operasi yang kompleks,baik dilakukan di perangkat keras maupun perangkat
lunak. Berbagai macam algoritma telah digunakan di berbagai komputer.
Tujuan dari sub-bagian ini adalah untuk memberi pembaca pemahaman
beberapa jenis pendekatan yang biasanya diambil. Dimulai dengan hal yang
lebih sederhana mengalikan dua bilangan integer tidak bertanda (nonnegative),
dan kemudian kita melihat salah satu teknik yang paling umum untuk perkalian
bilangan komplemen dua.
Integer tidak bertanda. Gambar 4.2 memperlihatkan perkalian integer
biner tidak bertanda, seperti yang dapat dilakukan dengan menggunakan kertas
dan pensil.

Gambar 4. 2 Perkalian Biner Integer tidak bertanda

Beberapa observasi penting bisa dilakukan, yaitu :

a. Perkalian melibatkan pembuatan produk parsial, satu untuk setiap digit di


pengali. Produk parsial ini kemudian dijumlahkan untuk menghasilkan
produk akhir.

Arsitektur dan Organisasi Komputer 49


Universitas Pamulang Teknik Informatika S-1

b. Produk parsial mudah didefinisikan. Ketika bit pengali adalah 0, maka untuk
produk parsialnya juga 0. Ketika pengali adalah 1, maka produk parsial
adalah pengali.
c. Produk total dihasilkan dari hasil penjumlahan produk parsial. Untuk operasi
ini, setia produk parsial yang sukses digeser satu posisi ke kiri ke produk
parsial sebelumnya.
d. Perkalian dari dua n-bit integer biner menghasilkan produk sampai 2n bit
panjangnya (contoh : 11 x 11 = 1001).

Dibandingkan dengan pendekatan menggunakan cara pensil-dan-kertas,


ada beberapa hal lain yang dapat dilakukan untuk membuat perkalian
terkomputerisasi menjadi lebih efisien. Pertama, kita bisa melakukan
penambahan pada produk parsial daripada menunggu sampai akhir. Ini
menghilangkan kebutuhan untuk menyimpan semua produk parsial, menjadikan
lebih sedikit register yang dibutuhkan. Kedua, dapat menghemat waktu untuk
menghasilkan produk parsial. Untuk setiap 1 pada pengali, operasi
penambahan dan shift diperlukan; tetapi untuk setiap 0, hanya diperlukan satu
shift.
Gambar 4.3 memperlihatkan kemungkinan implementasi dengan
menggunakan langkah-langkah ini. Pengali dan yang dikali dimuat ke dalam
dua register (Q dan M). Register ketiga, yaitu register A juga dibutuhkan dan
awalnya di set 0. Kemudian ada juga register C 1-bit, di set 0, yang akan
menampun potensi bit carry dari hasil penambahan.

Arsitektur dan Organisasi Komputer 50


Universitas Pamulang Teknik Informatika S-1

Gambar 4. 3 Impementasi Hardware dari Perkalian Binary tidak bertanda

Operasi dari pengalian adalah sebagai berikut. Logika kontrol membaca


bit dari pengali satu per satu. Jika Q0 adalah 1, maka yang dikali ditambahkan
ke register A dan hasilnya disimpan dalam register A, dengan bit C digunakan
untuk overflow. Lalu semua bit dari register C, A, dan Q digeser ke kanan satu
bit, sehingga bit C masuk ke An-1, A0 masuk ke Qn-1, dan Q0 hilang. Jika Q0
adalah 0, maka tidak ada penjumlahan dilakukan, hanya shift. Proses ini
diulangi untuk setiap bit pengali asli. Produk 2n-bit yang dihasilkan terkandung
dalam register A dan Q. Diagram alir operasi tersebut ditunjukkan pada Gambar
a, dan contohnya diberikan pada Gambar 4.3. Perhatikan bahwa pada siklus
kedua, ketika bit pengali adalah 0, tidak ada operasi penambahan.

Arsitektur dan Organisasi Komputer 51


Universitas Pamulang Teknik Informatika S-1

3. Pengalian Komplemen Dua

Kita sudah melihat bahwa penambahan dan pengurangan dapat


dilakukan pada angka-angka di komplemen dua notasi dengan
memberlakukannya sebagai integer tidak bertanda. Sebagai contoh 1001 +
0011 = 1100, jika angka tersebut dianggap sebagai integer tidak bertanda,
maka kita menambahkan 9 (1001) tambah 3 (0011) untuk mendapatkan 12
(1100). Sebagai komplemen dua integer, kita menambahkan -7 (1001) dengan
3 (0011) untuk mendapatkan -4 (1100).

Gambar 4. 4 Flowchart untuk Perkalian Binary tidak bertanda

Gambar 4. 5 Perkalian Dua 4-bit Integer tidak bertanda menghasilkan 8-bit

Arsitektur dan Organisasi Komputer 52


Universitas Pamulang Teknik Informatika S-1

Sayangnya, cara sederhana ini tidak berlaku untuk perkalian. Untuk


melihat ini, perhatikan lagi Gambar 4.4. Kita mengalikan 11 (1011) dengan 13
(1101) untuk mendapatkan 143 (10001111). Jika kita menafsirkan ini sebagai
dua bilangan komplemen, kita memiliki - 5 (1011) kali - 3 (1101) sama dengan -
113 (10001111). Contoh ini menunjukkan hal itu secara langsung bahwa
perkalian tidak akan berhasil jika pengali dan yang dikali sama-sama negatif.
Nyatanya, ini tidak akan berhasil jika pengali atau pengali negatif. Untuk
menguatkan pernyataan ini, kita perlu kembali ke Gambar 4.4 dan menjelaskan
apa yang sedang dilakukan dalam hal operasi dengan pangkat 2. Ingatlah
bahwa setiap angka biner tidak bertanda dapat dinyatakan sebagai
penjumlahan dari pangkat 2. Karena, 1101 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 23 +
22 + 20.
Selanjutnya, perkalian bilangan biner dengan 2n dilakukan dengan
menggeser nomor tersebut ke kiri n bit. Dengan pemikiran ini, Gambar 4.5
mengingatkan kembali akan Gambar 4.4 untuk membuat pembuatan produk
parsial dengan perkalian eksplisit. Satu-satunya perbedaan pada Gambar 4.5
adalah ia mengenali bahwa produk parsial seharusnya dilihat sebagai bilangan
2n-bit yang dihasilkan dari perkalian n-bit. Jadi sebagai bilangan integer tidak
bertanda, perkalian 4-bit 1011 disimpan dalam 8-bit sebagai 00001011. Setiap
produk parsial (selain dari 20) terdiri dari nomor ini bergeser ke kiri, dengan
posisi kosong di kanan diisi dengan angka nol (misalnya, pergeseran ke kiri dari
dua tempat menghasilkan 00101100).
Sekarang kita dapat menunjukkan bahwa perkalian langsung tidak akan
berhasil jika perkaliannya negatif. Masalahnya adalah setiap kontribusi negative
perkalian sebagai hasil perkalian parsial harus berupa angka negatif pada
bidang 2n-bit; tanda bit dari produk parsial harus berbaris. Ini ditunjukkan pada
Gambar 4.5, yang menunjukkan bahwa perkalian 1001 dengan 0011. Jika ini
diperlakukan sebagai bilangan integer tak bertanda,perkalian 9 x 3 = 27
berlangsung sederhana.

(a) Integer tidak bertanda (b) Integer Komplemen Dua

Arsitektur dan Organisasi Komputer 53


Universitas Pamulang Teknik Informatika S-1

Gambar 4. 6 Perbandinan dari Perkalian dari Integer tidak bertanda dan Integer
Komplemen Dua

Namun, jika 1001 ditafsirkan sebagai dua nilai komplemen -7, maka
setiap produk parsial harus negative keduanya melengkapi jumlah 2n (8) bit,
seperti yang ditunjukkan pada Gambar 4.6. Perhatikan bahwa ini dapat dicapai
dengan menutupi setiap produk parsial ke kiri dengan biner 1s.
Jika pengali negatif, perkalian langsung juga tidak akan berhasil.
Alasannya adalah bahwa bit pengali tidak lagi sesuai dengan pergeseran atau
perkalian yang harus dilakukan. Misalnya, angka desimal 4-bit -3 ditulis 1101
dalam komplemen dua. Jika kita hanya mengambil sebagian produk
berdasarkan masing-masing posisi bit, kita akan memiliki korespondensi
berikut: 11014 → (1 x 23 + 1 x 22 + 0 x 21 + 1 x 20) = - (23 + 22 + 20)
Padahal, yang diinginkan adalah - (21 + 20). Jadi pengganda ini tidak
dapat digunakan secara langsung di cara yang telah digambarkan.
Ada sejumlah jalan keluar dari masalah ini. Salah satunya adalah untuk
mengubah baik pengali dan yang dikali ke bilangan positif, lakukan perkalian,
dan kemudian ambil komplemen dua dari hasil jika dan hanya jika tanda
keduanya berbeda dengan angka asli. Pelaksana lebih suka menggunakan
teknik itu karena tidak membutuhkan langkah transformasi terakhir ini. Salah
satu yang paling umum adalah Algoritma Booth [BOOT51]. Algoritma ini juga
memiliki keuntungan untuk mempercepat proses perkalian, relatif terhadap
pendekatan yang lebih mudah.

Arsitektur dan Organisasi Komputer 54


Universitas Pamulang Teknik Informatika S-1

Gambar 4. 7 Algoritma Booth untuk Perkalian Komplemen Dua

Tabel 4. 3 Contoh Algoritma Booth (7x3)

Algoritma Booth digambarkan pada Gambar 4.7 dan dapat dideskripsikan


sebagai berikut. Seperti sebelumnya, pengali dan yang dikali ditempatkan pada
register Q dan M. Ada juga register 1-bit yang ditempatkan secara logis di
sebelah kanan bit paling sedikit signifikan (Q0) dari register Q dan Q-1 yang
ditunjuk; penggunaannya akan segera dijelaskan. Hasil perkalian akan muncul
di register A dan Q. A dan Q-1 diinisialisasi ke 0. Seperti sebelumnya, logika
kontrol membaca bit pengali satu per satu. Sekarang, karena setiap bit
diperiksa, bit di sebelah kanannya juga diperiksa. Jika kedua bit adalah sama
(1–1 atau 0–0), maka semua bit dari register A, Q, dan Q-1 bergeser ke kanan

Arsitektur dan Organisasi Komputer 55


Universitas Pamulang Teknik Informatika S-1

1 bit. Jika kedua bit berbeda, maka perkalian ditambahkan atau dikurangkan
dari register A, tergantung apakah kedua bit tersebut 0–1 atau 1–0.
Setelah penjumlahan atau pengurangan, terjadi pergeseran ke kanan.
Dalam kedua kasus tersebut, hak pergeseran sedemikian rupa sehingga bit
paling kiri dari A, yaitu An-1, tidak hanya bergeser menjadi An-2, tetapi juga
tetap di An-1. Ini diperlukan untuk mempertahankan tanda bilangan di A dan Q.
Ini dikenal sebagai arithmetic shift (pergeseran aritmatika), karena
mempertahankan tanda bit.
Tabel 4.3 menunjukkan urutan proses dalam algoritma Booth untuk
perkalian dari 7 x 3. Secara lebih ringkas, operasi yang sama digambarkan
pada Gambar 4.8. Lainnya dari Gambar 4.7 memberikan contoh lain dari
algoritma. Seperti yang bisa dilihat, ini dapat bekerja dengan kombinasi angka
positif dan negatif. Perhatikan juga efisiensi dari algoritma. Blok 1 atau 0
dilewati, dengan rata-rata penambahan atau pengurangan satu saja per blok.

Gambar 4. 8 Contoh Penggunaan Algoritma Booth

Mengapa algoritma Booth berfungsi? Pertimbangkan dulu kasus pengali


positif. Secara khusus, pertimbangkan pengali positif yang terdiri dari satu blok
1 yang dikelilingi dengan 0s (misalnya, 00011110). Seperti yang kita ketahui,
perkalian bisa dicapai dengan menambahkan salinan perkalian yang bergeser
dengan tepat:

M x (00011110) = M x (24 + 23 + 22 + 21)

= M x (16 + 8 + 4 + 2)

Arsitektur dan Organisasi Komputer 56


Universitas Pamulang Teknik Informatika S-1

= M x 30

Jumlah dari operasi dapat dikurangi menjadi dua apabila kita


memperhatikan hal berikut:

M x (00011110) = M x (25 - 21)

= M x (32 - 2)

= M x 30

Jadi, perkaliannya dapat dihasilkan dengan satu penjumlahan dan satu


pengurangan perkalian. Skema ini meluas ke sejumlah blok 1s dalam pengali,
termasuk kasus di mana 1 tunggal diperlakukan sebagai blok.

M x (01111010) = M x (26 + 25 + 24 + 23 + 21)

= M x (27 - 23 + 22 - 21)

Algoritma Booth sesuai dengan skema ini melakukan pengurangan saat


blok pertama ditemukan (1-0) dan penambahan saat akhir blok ditemui (0–1).

4. Aritmatika Integer Pembagian

Pembagian agak lebih kompleks daripada perkalian tetapi didasarkan


pada prinsip-prinsip umum yan sama. Seperti sebelumnya, dasar dari algoritma
adalah pendekatan kertas-dan-pensil, dan operasi melibatkan pergeseran dan
penambahan atau pengurangan berulang.
Gambar 4.9 menunjukkan contoh pembagian panjang bilangan biner
interger tak bertanda. Ini sangat instruktif untuk menjelaskan proses secara
rinci. Pertama, bit dari yang dibagi diperiksa dari kiri ke kanan, sampai
himpunan bit yang diperiksa mewakili sebuah angka yang lebih besar dari atau
sama dengan pembagi; ini disebut sebagai pembagi mampu membagi
angkanya. Sampai hal ini terjadi, 0 ditempatkan di hasil bagi dari kiri ke kanan.
Ketika hal itu terjadi, 1 ditempatkan di hasil bagi dan pembagi dikurangi dari
dividen parsial. Hasilnya disebut sebagai sisa parsial (partial remainder).

Gambar 4. 9 Contoh Pembagian Binary Integer Tak Bertanda

Arsitektur dan Organisasi Komputer 57


Universitas Pamulang Teknik Informatika S-1

Mulai dari ini, pembagian mengikuti pola siklik. Di setiap siklus, tambahan
bit dari dividen ditambahkan ke sisa parsial sampai hasilnya adalah lebih besar
dari atau sama dengan pembagi. Seperti sebelumnya, pembagi dikurangi
angka tersebut untuk menghasilkan sisa parsial baru. Proses berlanjut sampai
semua bit dividen habis.

Gambar 4. 10 Flowchart Pembagian Binary tak bertanda

Gambar 4.10 menunjukkan algoritma mesin yang berhubungan dengan


proses pembagian panjang. Pembagi ditempatkan di register M, dividen di
register Q. Pada setiap langkah, register A dan Q digeser ke kiri 1 bit secara
bersamaan. M dikurangi dari A untuk menentukan apakah A membagi sisa
parsial. Jika ya, maka Q0 mendapat 1 bit. Jika tidak, Q0 mendapat bit 0 dan M
harus ditambahkan kembali ke A untuk mengembalikan nilai sebelumnya.
Hitungan tersebut kemudian dikurangi, dan proses berlanjut selama n langkah.
Pada akhirnya, hasil bagi ada di register Q dan sisanya ada di register A.

Arsitektur dan Organisasi Komputer 58


Universitas Pamulang Teknik Informatika S-1

Proses ini dapat diperluas ke angka negatift, dengan beberapa kesulitan.


Kami berikan di sini satu pendekatan untuk dua nomor komplemen. Contoh dari
pendekatan ini ditunjukkan pada Tabel 4.4.

Tabel 4. 4 Contoh Mengembalikan Pembagian Komplemen Dua

Algoritma mengasumsikan bahwa pembagi V dan dividen D adalah positif


dan |V| < |D| . Jika |V| = |D|, maka hasil bagi Q = 1 dan sisanya R = 0. Jika |V| >
|D|, maka Q = 0 dan R = D. Algoritma dapat diringkas sebagai berikut:

a. Masukkan komplemen dua pembagi ke dalam register M; yaitu, register M


berisi negatif dari pembagi. Masukkan dividen ke dalam A, register Q.
Pembagian harus dinyatakan sebagai bilangan positif 2n-bit. Jadi, misalnya
4-bit 0111 menjadi 00000111.
b. Pindahkan A, Q ke kiri posisi 1 bit.
c. Lakukan A  A – M. Operasi ini mengurangi pembagi dari A.
d. Jika hasil tidak negative (bit paling signifikan dari A = 0), maka set Q0  1.
Jika hasil negative (bit paling signifikan dari A = 1), maka set Q0  0 dan
kembalikan nilai A ke sebelumnya.
e. Ulangi langkah 2 sampai 4 sebanyak posisi bit di Q.
f. Sisanya ada di A dan hasil bagi ada di Q.

Untuk menangani angka negative, kita mengenali bahwa sisa di


definisikan sebagai berikut : D = Q x V + R. Artinya, sisanya adalah nilai R yang
dibutuhkan untuk persamaan berlaku sebelumnya. Pertimbangkan contoh

Arsitektur dan Organisasi Komputer 59


Universitas Pamulang Teknik Informatika S-1

pembagian integer berikut dengan semua kemungkinan kombinasi dari tanda-


tanda D dan V :

D=7 V=3 ➔ Q=2 R=1

D=7 V = -3 ➔ Q = -2 R=1

D = -7 V=3 ➔ Q = -2 R = -1

D = -7 V = -3 ➔ Q=2 R = -1

Pembaca akan mengingat dari Tabel 4.4 bahwa (- 7) / (3) dan (7) / (- 3)
menghasilkan sisa yang berbeda. Kita melihat bahwa besaran Q dan R tidak
dipengaruhi oleh masukan tanda dan bahwa tanda Q dan R mudah diturunkan
dari tanda D dan V. Secara spesifik, tanda (R) = tanda (D) dan tanda (Q) =
tanda (D) x tanda (V). Karenanya, satu cara untuk melakukan pembagian
komplemen dua adalah dengan mengubah operan menjadi nilai tak bertanda
dan, pada akhirnya, untuk menjelaskan tanda-tandanya dengan melengkapi
yang diperlukan. Ini adalahmetode pilihan untuk algoritma pembagian
pemulihan [PARH10].

5. Aritmatika Integer Algoritma Booth

Salah satu cara yang digunakan pada perkalian angka yan efisien adalah
dengan menggunakan algoritma Booth. Pendekatan ini menangani langsung
dua angka komplemen bertanda, tanpa perlu mengubah operan menjadi
bilangan positif atau hasil komplemen untuk membuatnya negatif. Ide dasar di
balik algoritme Booth adalah bahwa pengali, menjadi bilangan biner, terdiri dari
0 dan 1.Kadang-kadang angka 0 diikuti oleh angka 1 (atau sebaliknya);
terkadang ada beberapa string dari 0 atau 1 secara berurutan. Tergantung
apakah kita berada di awal, di akhir, atau di tengah salah satu string ini,
urutannya terlibat dalam mengumpulkan produk parsial berbeda.
Saat kita mengalikan dan pengali berisi string nol berurutan, kita tahu
bahwa setiap produk parsial akan menjadi nol; yang diperlukan adalah
menggeser produk yang terakumulasi sebelumnya dengan posisi satu bit untuk
setiap nol dalam string sehingga produk parsial berikutnya akan ditambahkan di
dalamnya ke banyak tempat di sebelah kiri. Ketika pengali berisi string satu,
kami dapat memperlakukan ini sebagai perkalian dengan bilangan (L - R), di
mana R adalah bobot dari 1 di ujung kanan (paling tidak signifikan) dari strin

Arsitektur dan Organisasi Komputer 60


Universitas Pamulang Teknik Informatika S-1

dan L adalah bobot dari nol di sebelah kiri 1 di ujung kiri (paling signifikan) dari
string.
Misalnya, kita mengalikan beberapa angka dengan +12 (00100 biner).
Dua angka 0 di ujung kanan pengali, dan 0 di kiri akhir, tidak memberikan
kontribusi apa pun pada hasil karena produk parsial yang terlibat adalah nol.
String dari dua 1s di tengah angka akan menentukan hasilnya. 1 di paling
kanan memiliki bobot 22 = 4, sedangkan nol di sebelah kiri paling kiri 1 memiliki
bobot 24 = 16. Nilai pengali adalah 16 - 4 = 12; kita bisa mencapai efek
mengalikan dengan +12 dengan mengambil hasil kali perkalian dengan 16 dan
mengurangkan hasil kali dari perkalian dengan 4. Secara aljabar, 12x = (16 - 4)
x = 16x - 4x.
Misalkan kita ingin mengalikan angka dikali −13 (10011 sebagai bilangan
biner komplemen dua). Sekali lagi, string dua 0 di tengah angka tidak
memberikan kontribusi apa pun pada hasil akhir; kita hanya butuh untuk
mengingatkan terhadap dua angka 1 di ujung kanan pengali dan angka 1 di
ujung kiri. Dua angka 1 di ujung kanan dapat diperlakukan sebagai 22 - 20 = (4 -
1) = 3. Angka 1 paling kiri ada di posisi 24 = 16. Tidak ada bit pada kiri bit ini (bit
tanda untuk pengali), jadi hanya memiliki bobot dari - (24) = −16. Jadi, perkalian
dengan −13 dapat diperlakukan sebagai kombinasi dari mengalikan −16, +4,
dan −1.
Sebagai contoh lain, asumsikan pengali adalah biner 10101, yang berarti
adalah −11 dalam bentuk komplemen dua. Ada tiga string 1, masing-masing
hanya satu panjangnya. Paling kanan diperlakukan sebagai 21 - 20 = 2 - 1 = 1;
string tengah diperlakukan sebagai 23 - 22 = 8 - 4 = 4; paling kiri sekali lagi
diperlakukan sebagai - (24) = −16. Mengalikan dengan −11 dengan demikian
dapat dianggap mengalikan dengan −16, +8, −4, +2, dan −1, dengan produk
sebagian yang bertanda ditambahkan bersama-sama untuk menghasilkan hasil
akhir. Semua produk parsial dapat dibuat sebagai bilangan positif, tetapi
masing-masing ditambahkan atau dikurangi tergantung pada apakah
kontribusinya positif atau negatif. Sebagai alternatif, produk parsial dapat dibuat
di komplemen dua dan hanya ditambahkan bersama-sama.
Contoh numerik terakhir ini menggambarkan kasus terburuk untuk
algoritma Booth,di mana tidak ada string lebih dari satu bit yang sama dengan
1. Dalam hal ini, ada produk parsial positif atau negatif yang dihasilkan untuk
setiap bit dari penali. Namun, jika ada string yang lebih panjang dari 1s

Arsitektur dan Organisasi Komputer 61


Universitas Pamulang Teknik Informatika S-1

algoritma Booth dapat secara signifikan mengurangi jumlah produk parsial yang
dijumlahkan. Ini karena string 1 dengan panjang berapa pun hanya
menghasilkan satu produk parsial positif dan satu negatif.
Dengan ide dasar yang diuraikan di atas, bagaimana kita bisa
menerapkan teknik perkalian Booth di perangkat keras? Kuncinya adalah saat
kita bergerak melewati pengali dari kanan ke kiri, kita menganggap setiap dua
bit yang berdekatan (bit saat ini dan bit di sebelah kanannya) untuk
menentukan apakah kita berada di file awal, tengah, atau akhir string bit, seperti
yang ditunjukkan pada Tabel 4.5. Perlu dicatat sebuah 0 imajiner disisipkan di
sebelah kanan bit paling kanan (paling tidak signifikan)pengali untuk memulai
proses.
Kita bisa membangun sirkuit perangkat keras untuk
mengimplementasikan perkalian bertanda secara berurutan seperti yang
ditunjukkan pada Gambar 4.11. Untuk melakukan perkalian n-bit demi n-bit,
diperlukan penambah n-bit untuk menjumlahkan hasil kali parsial. Perkalian
disimpan dalam register n-bit M; register P 2n-bit digunakan untuk
mengakumulasi produk. (P harus mampu menerapkan aritmatika operasi shift
right, yaitu perpindahan ke kanan dengan tetap mempertahankan paling kiri
atau tanda bit.) Awalnya, bagian bawah P berisi pengali dan bagian atas berisi
nol.

Tabel 4. 5 Mengunakan Bit Pairs untuk Identifikasi Posisi String di Algoritma


Booth

Arsitektur dan Organisasi Komputer 62


Universitas Pamulang Teknik Informatika S-1

Gambar 4. 11 Sirkuit berurutan untuk mengalikan angka bertanda menggunakan


algoritma Booth

Sirkuit ini menghitung produk dalam n langkah, dengan tindakan di setiap


langkah ditentukan berdasarkan yang mana dari empat skenario yang mungkin
dari Gambar 4.11 yang berlaku. Jika pasangan bit saat ini adalah 00 atau 11
(tengah string), tidak ada yang ditambahkan atau dikurangkan dari P. Jika
pasangan bit saat ini adalah 01 (akhir string 1s), konten M (perkalian)
ditambahkan ke setengah bagian atas P; jika pasangan bit saat ini adalah 10
(awal dari string 1s), perkalian dalam M dikurangi dari setengah bagian atas P
(atau, ekuivalen, komplemen dua ditambahkan ke bagian atas P). Mengikuti
penjumlahan atau pengurangan, jika ada, isi P bergeser satu tempat ke kanan.
Proses ini berlanjut sampai semua pasangan n bit pengali telah
dipertimbangkan. (Perhatikan bahwa bit pengali, yaitu awalnya menempati
bagian kanan dari daftar produk P, digeser dan hilang satu per satu hingga
produk menempati seluruh P. Satu tambahan flip-flop C dibutuhkan di ujung
kanan P untuk menahan paling kanan sebelumnya bit pengali hingga dapat
dengan aman dibuang setelah iterasi berikutnya.) Terakhir, C dapat diabaikan,
dan produk bertanda 2n-bit berada di P.
Gambar 4.12 dan Gambar 4.13 menunjukkan contoh perkalian bilangan
4-bit menggunakan algoritma Booth. Dalam contoh pertama, +2 (0010 biner)
dikalikan dengan −3 (1101) untuk menghasilkan produk dari −6 (11111010).
Yang kedua, −4 (1100) dikalikan −6 (1010) menghasilkan produk dari +24
(00011000).

Arsitektur dan Organisasi Komputer 63


Universitas Pamulang Teknik Informatika S-1

Gambar 4. 12 Perkalian dari (+2) x (-3) menggunakan Algoritma Booth

Gambar 4. 13 Perkalian dari (-4) x (-6) menggunakan Algoritma Booth

Sirkuit yang ditunjukkan pada Gambar 4.13 adalah sirkuit berurutan,


membutuhkan n siklus jam untuk mengalikan dua bilangan n-bit untuk
mendapatkan perkalian 2n-bit. Implementasi berurutan seperti itu mungkin
sangat lambat jika perkalian akan sering dilakukan. Untuk mempercepat
proses, dapat mengimplementasikan logika Algoritma Booth dalam bentuk
kombinasi murni menggunakan tree of carry save, penjumlah mirip dengan
yang digunakan untuk perkalian tak bertanda, bukan satu penambah digunakan
secara berulang-ulang seperti pada Gambar 4.13. Register yang tergeser,
dibutuhkan untuk memindahkan produk yang terkumpul sebelumnya satu
tempat ke kanan sebelum penambahan berikutnya, dihilangkan dalam

Arsitektur dan Organisasi Komputer 64


Universitas Pamulang Teknik Informatika S-1

rangkaian kombinasi dengan menambahkan masing-masing produk parsial


yang lebih signifikan satu tempat ke kiri. Hasilnya adalah Wallace tree multiplier
seperti yang ditunjukkan pada Gambar 4.13 kecuali untuk parsial produk
mungkin positif atau negatif.
Kita dapat menyempurnakan dasar algoritma Booth dengan logika periksa
group dari tiga atau lebih bit pengali daripada dua. Ini dapat meningkatkan
kompleksitas sirkuit untuk menghasilkan produk parsial tetapi lebih mengurangi
jumlah produk parsial yang harus dijumlahkan, sehingga menurunkan
penundaan propagasi secara keseluruhan. Sekali lagi, seperti kasus carry
lookahead adder, kami mencatat bahwa kompleksitas sirkuit dapat ditukar
dengan kecepatan.
Pembagian integer biner bahkan lebih kompleks daripada perkalian. Ada
sejumlah algoritma untuk membagi bilangan biner, tetapi tidak ada yang dapat
dianalogikan dengan algoritma Booth untuk perkalian; dengan kata lain, mereka
berfungsi hanya untuk angka yang tidak bertanda. Untuk melakukan pembagian
integer bertanda, yang dibagi dan pembagi harus diproses sebelumnya untuk
memastikan bahwa keduanya positif; kemudian, setelah operasi selesai, hasil
bagi dan sisanya harus disesuaikan untuk menjelaskan salah satu atau kedua
operan menjadi negative.

6. Algoritma paling dasar

Algoritma paling dasar untuk membagi bilangan biner, yang dikenal


sebagai restoring division, beroperasi secara analogi dengan pembagian
panjang; yaitu menggunakan pendekatan "shift and subtract". Bit-bit dividen
dipertimbangkan dari kiri ke kanan (dengan kata lain, dimulai dengan bit paling
signifikan) hingga himpunan bagian dari bit dividen membentuk angka yang
lebih besar dari pembagi. Saat ini, kita tahu bahwa pembagi akan masuk ke
dividen parsial ini (yaitu, bagi dengan bit hasil bagi 1).
Semua bit hasil bagi sebelumnya, di sebelah kiri ini 1 pertama, adalah 0.
Pembagi dikurangi dari dividen parsial, membentuk sisa sebagian; bit tambahan
diturunkan dari sisa dividen dan ditambahkan ke sisa parsial sampai pembagi
dapat membagi nilainya lagi (atau sampai tidak ada lagi bit dividen yang tersisa,
dalam hal ini operasi selesai dan sebagian sisanya adalah sisa akhir).
Semua perbandingan menunjukkan pembagi menjadi lebih besar dari
dividen parsial saat ini (atau sisa parsial) berarti bit hasil bagi pada posisi saat
ini 0; setiap perbandingan yang menunjukkan pembagi menjadi lebih kecil

Arsitektur dan Organisasi Komputer 65


Universitas Pamulang Teknik Informatika S-1

menghasilkan bit hasil bagi dari 1. Gambar 4.14 menunjukkan bagaimana kita
akan melakukan operasi 29/5 (11101 /101) menggunakan restoring division.
Algoritma ini disebut restoring division karena pada setiap langkah
diperlukan dilakukan perbandingan dengan mengurangkan pembagi dari
dividen parsial atau sisa parsial. Jika hasilnya positif atau nol (yaitu jika tidak
perlu meminjam) lalu 1 dimasukkan ke dalam hasil bagi dan kita lanjutkan. Jika
hasilnya negatif (artinya pinjaman akan diperlukan untuk perbedaan menjadi
positif), maka kita tahu pembaginya terlalu besar untuk dimasukkan angka
lainnya. Dalam kasus ini, kita memasukkan 0 dalam hasil bagi dan
menambahkan kembali (mengembalikan) pembagi untuk membatalkan
pengurangan yang seharusnya tidak dilakukan, kemudian lanjutkan untuk
menurunkan bit berikutnya dari dividen.

Gambar 4. 14 Contoh pembagian restoring division

Dalam contoh biner Gambar 4.14, pertama kita coba 1 - 101 (1 - 5


desimal), dapatkan pinjaman, dan harus menambahkan 101 kembali untuk
memulihkan dividen parsial. Kemudian kita coba 11 - 101 (3 - 5 desimal) dan
menghasilkan pinjaman lain; ini memberitahu kita bahwa pembagi masih lebih
besar dari dividen parsial dan menghasilkan restorasi lain.

Arsitektur dan Organisasi Komputer 66


Universitas Pamulang Teknik Informatika S-1

Pada posisi bit berikutnya kita melakukan 111 - 101 = 010, memberi kita 1
pertama dalam hasil bagi. Sisa parsial bernilai positif dan jadi tidak diperlukan
restorasi. Kita menambahkan bit dividen berikutnya ke parsial sisa,
menjadikannya 0100. Pengurangan 0100 - 0101 membutuhkan restorasi lagi,
jadi bit hasil bagi berikutnya adalah nol. Akhirnya tambahkan paling kanan bit
pembagi menjadi sisa parsial, menjadikannya 01001. Mengurangkan 1001 -
101 memberi kita sisa terakhir, 100 (4 desimal), dan paling kanan bit hasil bagi
1 untuk hasil bagi akhir 00101 (5 desimal).
Restoring division rumit dan tidak terlalu efisien karena perlu
menambahkan pembagi kembali ke dividen / sisa parsial untuk setiap bit dalam
hasil bagi 0. Pendekatan lain yang banyak digunakan juga didasarkan pada
pendekatan shift dan pengurangan, tetapi dengan beberapa perbaikan yang
meningkatkan kecepatan dengan mengorbankan kompleksitas rangkaian.
Divisi algoritma lain ini, khususnya divisi nonrestoring dan Sweeney,
Robertson, dan Metode Tocher (SRT) (yang menghasilkan dua bit hasil bagi
per iterasi sebagai salah satu gantinya), menghilangkan kebutuhan untuk
menambahkan kembali pembagi tetapi mempersulit desain dengan cara lain
seperti harus menangani sisa negatif dan memperbaikinyabit hasil bagi. (Untuk
menjawab pertanyaan trivia yang belum ditanyakan, kesalahan dalam
implementasi algoritma SRT - bukan dalam algoritma itu sendiri - adalah
penyebab bug divisi yang dipublikasikan secara luas yang ditemukan di Intel
CPU Pentium pada tahun 1994.)
Ketika detail dari algoritma divisi lanjutan ini berada di luar cakupan
tulisan ini (biasanya dibahas dalam kursus lanjutan tentang komputer
aritmatika), perlu ditunjukkan bahwa bahkan teknik terbaik untuk pembagian
lebih banyak yang dibutuhkan, dari segi waktu dan hardware yang dibutuhkan,
dibandingkan yang digunakan untuk melakukan tiga operasi aritmatika lainnya.
Oleh karena itu biasanya bermanfaat untuk bahasa assembly programmer
(atau kompiler) untuk mencoba membuat kode yang berisi instruksi pembagian
sesedikit mungkin, terutama di dalam loop atau rutinitas yang sering dilakukan.
Trik seperti mengganti pembagian dengan pangkat dua dengan shift
kanan, menggunakan tabel pencarian, dan pembagian awal oleh konstanta
dapat mempercepat eksekusi secara signifikan. Dalam skenario ini dan juga
banyak skenario lainnya, perangkat lunak yang ditulis dengan baik tidak dapat

Arsitektur dan Organisasi Komputer 67


Universitas Pamulang Teknik Informatika S-1

menghilangkannya- tetapi tentunya dapat mengurangi - kinerja penalti yang


ditimbulkan operasi yang dilakukan di perangkat keras yang lambat.

C. Soal Latihan/Tugas

Untuk mengetahui apakah Anda telah memahami aritmatika integer, kerjakan


latihan dengan langkah sebagai berikut :
1. Jelaskan secara singkat representasi dari sign magnitude?
2. Jelaskan secara singkat representasi dari komplemen dua?
3. Jelaskan cara menentukan apakah suatu angka negatif dalam sign magnitude?
4. Apa aturan tanda ekstensi untuk bilangan komplemen dua?
5. Bagaimana Anda dapat membentuk negasi dari sebuah integer dalam

D. Referensi

Hamacher, C., Vranesic, Z., Zaky, S., & Manjikian, N. (2011). Computer
Organization and Embedded Systems (6th edition). New York: McGraw-
Hill.

Stallings, W. (2010). Computer Organization and Architecture: Designing for


Performance (8th Edition). New Jersey: Prentice Hall.

D. Dumas II, Joseph (2006). Computer Architecture : Fundamentals and Principles


of Computer Design. New York: Taylor & Francis Group.

William Stallings. (2016). Computer Organization and Architecture: Designing for


Performance. 10th Edition. London: Pearson Education Limited.

John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A


Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.

Arsitektur dan Organisasi Komputer 68


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 5
ELEMEN-ELEMEN KONTROL UNIT

A. Tujuan Pembelajaran

Mampu menjelaskan prinsip kerja Control Unit dalam proses pengolahan


CPU.

B. Uraian Materi

1. Operasi Unit dan Kontrol Operasi Makro

Kita telah melihat bahwa dalam pengoperasian komputer, dalam


menjalankan suatu program, terdiri dari sebuah urutan siklus instruksi, dengan
satu instruksi mesin per siklus. Tentu saja harus diingat bahwa urutan siklus
instruksi ini belum tentu sama dengan urutan tertulis dari instruksi yang
membentuk program, karena adanya instruksi percabangan. Yang kami
maksud di sini adalah eksekusi urutan waktu instruksi.
Kita telah melihat lebih jauh bahwa setiap siklus instruksi terdiri dari
sejumlah unit yang lebih kecil. Satu subdivisi yang menurut kami bagus adalah
pengambilan (fetch), tak langsung (indirect), execution (eksekusi), dan interupsi
(interruption), tetapi hanya siklus pengambilan dan siklus eksekusi yang selalu
terjadi.
Untuk mendesain unit kontrol, kita perlu mendeskripsikan lebih lanjut. Kita
akan melihat bahwa masing-masing siklus yang lebih kecil melibatkan
serangkaian langkah, yang masing-masing melibatkan register prosesor. Kita
akan lihat langkah-langkah ini sebagai micro-operation.
Maksud mikro disini mengacu pada fakta bahwa masing-masing langkah
ini sangat sederhana dan sedikit. Gambar 5.1 menggambarkan hubungan
tersebut di antara berbagai konsep yang telah kita diskusikan. Untuk lebih
singkatnya, eksekusi sebuah program terdiri dari eksekusi instruksi secara
berurutan. Setiap instruksi dijalankan oleh siklus instruksi yang terdiri dari sub-
siklus yang lebih pendek (misalnya, pengambilan, tidak langsung, eksekusi,
interupsi). Eksekusi setiap sub siklus melibatkan satu atau lebih operasi yang
lebih pendek, yaitu mikro-operasi.

Arsitektur dan Organisasi Komputer 69


Universitas Pamulang Teknik Informatika S-1

Gambar 5. 1 Elemen Penyusun Eksekusi Program

Mikro operasi adalah fungsional atau atom operasi dari sebuah prosesor.
Di bagian ini, kita akan membahas mikro-operasi untuk mendapatkan
pemahaman tentang bagaimana cara kerja dari setiap siklus instruksi dapat
dijelaskan sebagai urutan mikro-operasi. Sebuah contoh sederhana akan
digunakan. Di sini, kami akan menunjukkan bagaimana konsep mikro-operasi
berfungsi sebagai panduan untuk desain unit kontrol.

2. Siklus Pengambilan

Kita mulai dengan siklus pengambilan, yang terjadi di awal setiap siklus
instruksi dan menyebabkan instruksi diambil dari memori. Empat register yang
terlibat adalah:

a. Memory address register (MAR): Terhubung ke baris alamat bus sistem.


MAR Ini untuk menentukan alamat dalam memori untuk operasi read atau
write.
b. Memory buffer register (MBR): Terhubung ke jalur data bus sistem. MBR
ini berisi nilai yang akan disimpan dalam memori atau nilai terakhir yang
dibaca dari memori.
c. Program counter (PC): Menyimpan alamat dari instruksi selanjutnya untuk
diambil.
d. Instruction register (IR): Menyimpan instruksi terakhir yang diambil.

Mari kita lihat urutan kejadian untuk siklus pengambilan dari sudut
pandang pengaruhnya pada register prosesor. Contoh terlihat pada Gambar
5.1. Pada awal siklus pengambilan, alamat dari instruksi berikutnya yang akan

Arsitektur dan Organisasi Komputer 70


Universitas Pamulang Teknik Informatika S-1

dieksekusi ada di program counter (PC); dalam hal ini, alamatnya adalah
1100100. Langkah pertama adalah pindahkan alamat itu ke memory address
register (MAR) karena ini adalah satu-satunya register yang terhubung ke baris
alamat dari bus sistem. Langkah kedua adalah membawa masuk instruksi.
Alamat yang diinginkan (di MAR) ditempatkan di bus alamat,unit kontrol
mengeluarkan perintah BACA pada bus kontrol, dan hasilnya muncul pada bus
data dan disalin ke register buffer memori (MBR). Kita juga perlu untuk
menaikkan panjang instruksi PC sehingga siap untuk instruksi berikutnya.
Karena kedua tindakan ini (baca kata dari memori, peningkatan PC) tidak
mengganggu satu sama lain, kita dapat melakukannya secara bersamaan
untuk menghemat waktu. Langkah ketiga adalah untuk memindahkan konten
MBR ke register instruksi (IR). Hal Ini membebaskan MBR untuk digunakan
apabila ada kemungkinan siklus tidak langsung.
Jadi, siklus pengambilan sederhana sebenarnya terdiri dari tiga langkah
dan empat mikro-operasi.Setiap mikro-operasi melibatkan pergerakan data
masuk atau keluar dari sebuah register. Selama gerakan tersebut tidak saling
mengganggu, beberapa di antaranya dapat berlangsung dalam satu langkah,
menghemat waktu. Secara simbolis, kita bisa menuliskan urutan kejadiannya
sebagai berikut:

t1: MAR  (PC)

t2: MBR  Memory

PC  (PC) + I

t3: IR  (MBR)

Dimana I adalah panjang instruksi. Kami perlu memberikan beberapa


komentar tentang urutan ini. Kami berasumsi bahwa jam tersedia untuk tujuan
penghitungan waktu dan berbunyi secara teratur sesuai pulsa jarak jam. Setiap
pulsa jam menentukan satuan waktu. Jadi, semua unit waktu memiliki durasi
yang sama. Setiap mikro-operasi dapat dilakukan dalam satu satuan waktu.
Notasi (t1, t2, t3) mewakili satuan waktu yang berurutan. Dengan kata lain, kita
memiliki:

a. First time unit: Pindahkan isi dari PC ke MAR.


b. Second time unit: Pindahkan isi dari lokasi memory yang ditentukan oleh
MAR ke MBR. Selisih oleh I dari isi PC.

Arsitektur dan Organisasi Komputer 71


Universitas Pamulang Teknik Informatika S-1

c. Third time unit: Pindahkan isi dari MBR ke IR.

Gambar 5. 2 Urutan Siklus Pengambilan

Catatan bahwa mikro-operasi kedua dan ketiga berlangsung selama


second time unit. Mikro-operasi ketiga bisa saja dikelompokkan dengan
keempat tanpamempengaruhi operasi pengambilan:

t1: MAR  (PC)

t2: MBR  Memory

t3: PC  (PC) + I

IR  (MBR)

Pengelompokkan dari mikro-operasi harus mengikuti dua aturan ini:

a. Urutan kejadian yang tepat harus diikuti. Jadi (MAR  (PC)) harus
mendahului (MBR  Memory) karena operasi pembacaan memori
memanfaatkan alamat di MAR.
b. Konflik harus dihindari. Hendaknya tidak mencoba membaca dan menulis
register yang sama dalam satu unit waktu, karena hasilnya tidak dapat
diprediksi. Misalnya, mikro-operasi (MBR  Memory) dan (IR  MBR) tidak
boleh terjadi selama satuan waktu yang sama.

Poin terakhir yang perlu diperhatikan adalah bahwa salah satu mikro-
operasi melibatkan sebuah tambahan. Untuk menghindari duplikasi sirkuit,
penambahan ini dapat dilakukan dengan ALU. Penggunaan ALU mungkin
melibatkan mikro-operasi, tergantung fungsionalitas ALU dan organisasi
prosesor.

Arsitektur dan Organisasi Komputer 72


Universitas Pamulang Teknik Informatika S-1

3. Siklus Tidak Langsung

Setelah instruksi diambil, langkah selanjutnya adalah mengambil sumber


operan. Melanjutkan contoh sederhana sebelumnya, mari kita asumsikan satu-
alamat format instruksi, dengan pengalamatan langsung dan tidak langsung
diperbolehkan. Jika instruksi menentukan alamat tidak langsung, maka siklus
tidak langsung harus mendahului siklus eksekusi. Aliran data agak berbeda dan
termasuk mikro-operasi:

t1: MAR  (IR (Address))

t2: MBR  Memory

t3: IR (Address)  (MBR (Address))

Alamat instruksi ditransfer ke MAR. Kemudian digunakanuntuk


mengambil alamat operan. Terakhir, alamat IR diperbarui dari MBR, sehingga
sekarang berisi alamat langsung, bukan tidak langsung.
IR sekarang dalam keadaan yang sama seolah-olah pengalamatan tidak
langsung belum digunakan, dan siap untuk siklus eksekusi. Kami melewatkan
siklus itu sejenak, untuk mempertimbangkan siklus interupsi.

4. Siklus Interupsi

Pada penyelesaian siklus eksekusi, tes dilakukan untuk menentukan


apakah telah terjadi interupsi yang diaktifkan. Jika demikian, siklus interupsi
terjadi. Sifat siklus ini sangat bervariasi dari satu mesin ke mesin lainnya. Kami
menyajikan urutan peristiwa yang sangat sederhana, kita punya

t1: MBR  (PC)

t2: MAR  Save_Address

PC  Routine_Address

t3: Memory  (MBR)

Pada langkah pertama, konten PC ditransfer ke MBR, sehingga dapat


disimpan untuk kembali dari interupsi. Kemudian MAR dimuat dengan alamat di
mana konten PC akan disimpan, dan PC dimuat dengan alamat awal interupsi-
pengolahanrutin. Dua tindakan ini mungkin masing-masing menjadi satu mikro-
operasi.

Arsitektur dan Organisasi Komputer 73


Universitas Pamulang Teknik Informatika S-1

Namun karena kebanyakan prosesor menyediakan beberapa jenis dan /


atau tingkat interupsi, mungkin diperlukan satu atau lebih mikro-operasi untuk
mendapatkan Save_Address dan Routine_Address sebelum mereka bias
ditransfer ke MAR dan PC, masing-masing. Bagaimanapun, setelah ini
dilakukan, langkah terakhir adalah menyimpan MBR, yang berisi nilai lama PC,
ke dalam memori. Prosesor sekarang siap untuk memulai siklus instruksi
berikutnya.

5. Siklus Eksekusi

Siklus pengambilan, tidak langsung, dan interupsi adalah siklus


sederhana dan dapat diprediksi. Masing-masing melibatkan urutan kecil dan
tetap dari mikro operasi dan, dalam setiap kasus, mikro operasi yang sama
diulangi setiap waktu.
Ini tidak benar untuk siklus eksekusi. Karena variasi opcode, ada
sejumlah urutan mikro-operasi berbeda yang bisa terjadi. Kontrol unit
memeriksa opcode dan menghasilkan urutan mikro-operasi berdasarkan nilai
opcode. Ini disebut sebagai decoding instruksi.

Mari kita pertimbangkan beberapa contoh hipotesa.

Pertama, pertimbangkan untuk istruksi penambahan: ADD R1, X

yang menambahkan konten lokasi X ke register R1. Urutan berikut dari


mikro-operasi mungkin terjadi:

t1: MAR  (IR (address))

t2: MBR  Memory

t3: R1  (R1) + (MBR)

Kita mulai dengan IR yang berisi instruksi ADD. Pada langkah pertama,
bagian alamat IR dimuat ke MAR. Kemudian lokasi memori yang direferensikan
dibaca. Terakhir, isi R1 dan MBR ditambahkan oleh ALU. Ini adalah contoh
yang disederhanakan. Tambahan mikro-operasi mungkin diperlukan untuk
mengekstrak referensi register dari IR dan mungkin untuk mengatur input atau
output ALU di beberapa register menengah.
Mari kita lihat ke dua contoh yang lebih kompleks. Instruksi umum adalah
kenaikan dan lewati jika 0: ISZ X

Arsitektur dan Organisasi Komputer 74


Universitas Pamulang Teknik Informatika S-1

Isi lokasi X bertambah 1. Jika hasilnya 0, instruksi selanjutnya dilewati.


Urutan kemungkinan mikro-operasi adalah

t1: MAR  (IR (address))

t2: MBR  Memory

t3: MBR  (MBR) + 1

t4: Memory  (MBR)

If ((MBR) = 0) then (PC  (PC) + I)

Fitur baru yang diperkenalkan di sini adalah situasional. PC bertambah


jika (MBR) = 0. Tes dan tindakan ini dapat diimplementasikan sebagai satu
mikro-operasi. Perhatikan juga bahwa mikro-operasi dapat dilakukan pada saat
yang sama satuan waktu di mana nilai yang diperbarui dalam MBR disimpan
kembali ke memori.
Terakhir, pertimbangkan instruksi panggilan subrutin. Sebagai contoh,
pertimbangkan sebuah instruksi branch-and-save-addres: BSA X
Alamat instruksi yang mengikuti instruksi BSA disimpan di lokasi X, dan
eksekusi berlanjut di lokasi X + I. Alamat yang disimpan nanti akan digunakan
untuk kembali. Ini adalah teknik langsung untuk mendukung panggilan subrutin.
Berikut ini mikro-operasi yang mencukupi:

t1: MAR  (IR (address))

MBR  (PC)

t2: PC  (IR (address))

Memory  (MBR)

t3: PC  (PC) + I

Alamat di PC di awal instruksi adalah alamat instruksi berikutnya secara


berurutan. Ini disimpan di alamat yang ditentukan di IR. Alamat yang terakhir
juga bertambah untuk memberikan alamat instruksi untuk siklus instruksi
selanjutnya.

Arsitektur dan Organisasi Komputer 75


Universitas Pamulang Teknik Informatika S-1

6. Siklus Instruksi

Kita telah melihat bahwa setiap fase siklus instruksi dapat diuraikan
menjadi sebuah urutan mikro-operasi dasar. Dalam contoh yang kita punya,
ada satu urutan masing-masing untuk siklus pengambilan, tidak langsung, dan
interupsi, dan, untuk siklus eksekusi, ada satu urutan mikro-operasi untuk
setiap opcode.
Untuk melengkapi gambar, kita perlu mengikat urutan mikro-operasi
bersama-sama, dan ini dilakukan pada Gambar 5.3. Kami mengasumsikan
register 2-bit baru yang disebut kode siklus instruksi (instruction cycle code)
(ICC). ICC menetapkan status prosesor dalam istilah dari bagian siklus mana
itu berada:

00 : Pengambilan
01 : Tak Langsung
10 : Eksekusi
11 : Interupsi

Gambar 5. 3 Flowchart dari Siklus Instruksi

Di akhir masing-masing dari empat siklus, ICC diatur dengan tepat. Siklus
tidak langsung selalu diikuti oleh siklus eksekusi. Siklus interupsi selalu diikuti

Arsitektur dan Organisasi Komputer 76


Universitas Pamulang Teknik Informatika S-1

oleh siklus pengambilan. Untuk siklus pengambilan dan eksekusi, siklus


berikutnya tergantung pada status sistem.
Jadi, flowchart pada Gambar 5.3 mendefinisikan urutan lengkap mikro-
operasi, tergantung pada urutan instruksi dan pola interupsi. Tentu saja, ini
adalah contoh yang disederhanakan. Flowchart untuk prosesor yang
sebenarnya lebih kompleks. Bagaimanapun, kita telah mencapai titik dalam
diskusi di mana operasi prosesor didefinisikan sebagai kinerja urutan mikro-
operasi. Sekarang kita dapat mempertimbangkan bagaimana unit kontrol
menyebabkan urutan ini terjadi.

7. Sinyal Kontrol

Kita telah mendefinisikan elemen-elemen yang membentuk prosesor


(ALU, register, jalur data) dan mikro-operasi yang dilakukan. Untuk unit kontrol
melakukan fungsinya, ia harus memiliki input yang memungkinkannya
menentukan status sistem dan keluaran yang memungkinkannya mengontrol
perilaku sistem. Ini adalah spesifikasi eksternal unit kontrol. Secara internal, unit
kontrol harus memiliki logika yang diperlukan untuk melakukan fungsi
pengurutan dan pelaksanaannya.

Gambar 5. 4 Blok Diagram Control Unit

Gambar 5.4 adalah model umum dari unit control. Memperlihatkan semua
input dan outputnya. Inputnya adalah sebagai berikut:

Arsitektur dan Organisasi Komputer 77


Universitas Pamulang Teknik Informatika S-1

a. Clock: Ini adalah bagaimana unit control “menjaga waktu”. Kontrol uni
tmenyebabkan satu mikro-operasi (atau satu set mikro-operasi simultan)
yang dikerjakan untuk setiap clock pulse. Terkadang ini disebut sebagai
siklus waktu prosesor atau siklus jam.
b. Instruction register: Opcode dan mode pengalamatan dari instruksi saat ini
digunakan untuk menentukan mikro-operasi untuk dilakukan selama siklus
eksekusi.
c. Flags: Ini diperlukan oleh unit kontrol untuk menentukan status prosesor dan
hasil operasi ALU sebelumnya. Misalnya, untuk instruksi increment-and-skip-
if-zero (ISZ), unit kontrol akan menambahkan PC jika flag nol disetel.
d. Control signals from control bus: Porsi bus kontrol dari bus sistem yan
memberikan sinyal ke unit kontrol.

Sedangkan untuk outputnya adalah sebagai berikut:

e. Control signals within the processor: Ada dua tipe, pertama yang
menyebabkan data dipindahkan dari satu register ke register lainnya dan yan
kedua adalah yang mengaktifkan fungsi spesifik ALU.
f. Control signals to control bus: Disini juga ada dua tipe, yaitu sinyal control
ke memori dan control sinyal ke modul I/O.

Tiga jenis sinyal kontrol digunakan: yang mengaktifkan fungsi ALU; yang
mengaktifkan jalur data; dan yang merupakan sinyal pada bus sistem eksternal
atau antarmuka eksternal lainnya. Semua sinyal ini pada akhirnya diterapkan
secara langsung sebagai input biner ke gerbang logika individu.
Mari kita pertimbangkan kembali siklus pengambilan untuk melihat
bagaimana unit kontrol mempertahankan kontrolnya. Unit kontrol melacak
posisinya dalam siklus instruksi. Di suatu titik yang diberikan, ia tahu siklus
pengambilan harus dilakukan selanjutnya. Langkah pertama adalah transfer
konten PC ke MAR. Unit kontrol melakukan ini dengan mengaktifkan sinyal
kontrol yang membuka gerbang antara bit PC dan bitMAR. Langkah selanjutnya
adalah membaca kata dari memori ke dalam MBR dan kenaikan PC. Unit
kendali melakukan ini dengan mengirimkan sinyal kendali berikut secara
serentak:

a. Sinyal kontrol yang membuka gerbang, memungkinkan konten MAR ke bus


alamat.
b. Sinyal kontrol pembacaan memori pada bus control.

Arsitektur dan Organisasi Komputer 78


Universitas Pamulang Teknik Informatika S-1

c. Sinyal kontrol yang membuka gerbang, memungkinkan isi bus data untuk
disimpan di MBR.
d. Kontrol sinyal ke logika yang menambahkan 1 ke konten PC dan simpan
hasilnya kembali ke PC.

Berdasarkan ini, unit control mengirimkan sinyal control yang membuka


gerbang antara MBR dan IR.
Ini melengkapi siklus pengambilan kecuali untuk satu hal: Unit control
harus memutuskan kapan untuk melakukan siklus tidak langsung atau siklus
ekekusi berikutnya. Untuk menentukan ini, diperlukan cek terhadap IR untuk
melihat apakah terbentuk referensi memori tidak langsung.
Siklus tidak lansung dan interupsi memiliki cara kerja yang mirip. Untuk
siklus eksekusi, unit control memulai dengan melakukan cek pada opcode dan
daripada itu, menentukan urutan mana dari mikro-operasi untuk melakukan
siklus eksekusi.

8. Input-input Unit Kontrol

Gambar 5.5 menggambarkan unit kendali seperti yang telah kita


diskusikan sejauh ini. Masukan utamanya adalah IR, clock, flag, dan sinyal bus
kontrol. Dalam kasus flag dan control sinyal bus, setiap bit biasanya memiliki
beberapa arti (e.g., overflow). Dua masukan yang lain, bagaimanapun, tidak
secara langsung berguna untuk unit kendali.
Pertama, pertimbangkan IR. Unit kontrol menggunakan opcode dan akan
mengerjakan tindakan yang berbeda (mengeluarkan kombinasi sinyal kontrol
yang berbeda) untuk istruksi yang berbeda. Untuk menyederhanakan logika
unit kontrol, harus ada input logika unik untuk setiap opcode.
Fungsi ini dapat dilakukan oleh decoder, yang mengambil masukan
enkode dan menghasilkan satu keluaran. Secara umum, decoder akan memiliki
n input biner dan 2n keluaran biner. Masing-masing dari 2n pola masukan yang
berbeda akan mengaktifkan satu keluaran pola unik. Gambar 5.4 adalah contoh
untuk n = 4. Dekoder untuk unit kontrol biasanya harus lebih kompleks dari itu,
untuk memperhitungkan panjang-variabel opcode.

Arsitektur dan Organisasi Komputer 79


Universitas Pamulang Teknik Informatika S-1

Gambar 5. 5 Decoder dengan 4 Input dan 16 Output

Bagian clock dari unit kontrol mengeluarkan urutan pulsa yang berulang.
Ini berguna untuk mengukur durasi mikro-operasi. Pada dasarnya, periode
pulsa clock harus cukup panjang untuk memungkinkan propagasi sinyal di
sepanjang jalur data dan melalui sirkuit prosesor. Namun, seperti yang telah
kita lihat, unit control memancarkan sinyal kontrol yang berbeda pada unit
waktu yang berbeda dalam satu siklus instruksi.
Jadi kami ingin penghitung sebagai input ke unit kontrol, dengan sinyal
control yang berbeda yang digunakan untuk T1, T2, dan sebagainya. Di akhir
siklus instruksi, unit kontrol harus memberi umpan balik ke penghitung untuk
menginisialisasi ulang di T1.

9. Logika Unit Kontrol

Untuk menentukan implementasi unit kontrol yang sudah diterapkan, yang


tersisa hanyalah membahas logika internal dari unit kontrol yang menghasilkan
keluaran sinyal kendali sebagai sebuah fungsi sinyal inputnya.

Arsitektur dan Organisasi Komputer 80


Universitas Pamulang Teknik Informatika S-1

Pada dasarnya, yang harus dilakukan adalah, untuk setiap sinyal kontrol,
mendapatkan ekspresi boolean sinyal itu sebagai fungsi dari input. Ini paling
bagus dijelaskan dengan contoh. Mari kita perhatikan kembali contoh
sederhana kita yang diilustrasikan pada Gambar 5.6.

Gambar 5. 6 Jalur Data dan Sinyal Kontrol

Arsitektur dan Organisasi Komputer 81


Universitas Pamulang Teknik Informatika S-1

Tabel 5. 1 Mikro-operasi dan Sinyal Kontrol

Kita lihat pada Tabel 5.1 urutan mikro-operasi dan sinyal kontrol yang
diperlukan untuk mengontrol tiga dari empat fase siklus instruksi. Mari kita
pertimbangkan sinyal kontrol tunggal, C5. Sinyal ini menyebabkan pembacaan
data bus data eksternal ke MBR. Kita dapat melihat bahwa ini digunakan dua
kali pada Tabel 5.1.
Kami mendefinisikan dua sinyal kontrol baru, P dan Q, yang memiliki
interpretasi berikut:

PQ = 00 Fetch Cycle

PQ = 01 Indirect Cycle

PQ = 10 Execute Cycle

PQ = 11 Interrupt Cycle

Kemudian ekspresi Boolean berikut mendefinisikan C5:

Arsitektur dan Organisasi Komputer 82


Universitas Pamulang Teknik Informatika S-1

Gambar 5. 7 Unit Kontrol dengan Input Decode

Artinya, sinyal kontrol C5 akan ditetapkan selama unit waktu kedua dari
siklus pengambilan dan siklus tidak langsung.
Ekspresi ini tidak lengkap. C5 juga diperlukan selama siklus eksekusi.
Untuk contoh sederhana kita, mari kita asumsikan bahwa hanya ada tiga
instruksi ituyang dibaca dari memori: LDA, ADD, dan AND. Sekarang kita dapat
mendefinisikan C5 sebagai

Proses yang sama ini dapat diulangi untuk setiap sinyal kontrol yang
dihasilkan oleh prosesor. Hasilnya akan menjadi sekumpulan persamaan
boolean yang mendefinisikan perilaku unit kontrol dan prosesor.
Untuk menyatukan semuanya bersama-sama, unit kontrol harus
mengontrol status siklus instruksi. Seperti yang telah disebutkan, di akhir setiap
sub siklus (pengambilan, tidak angsung, eksekusi, interupsi), unit kontrol
mengeluarkan sinyal yang menyebabkan generator waktu untuk
menginisialisasi ulang dan mengeluarkan T1. Unit kontrol juga harus mengatur

Arsitektur dan Organisasi Komputer 83


Universitas Pamulang Teknik Informatika S-1

nilai yang sesuai P dan Q untuk menentukan siklus berikutnya yang akan
dilakukan.
Kita harus dapat memahami bahwa dalam prosesor modern yang
kompleks, jumlah persamaan boolean yang dibutuhkan untuk mendefinisikan
unit kontrol sangat besar. Tugas mengimplementasikan rangkaian
kombinatorial yang memenuhi semua persamaan ini menjadi sangat sulit.
Hasilnya adalah pendekatan yang jauh lebih sederhana, yang dikenal sebagai
microprogramming, yang biasanya digunakan.

C. Soal Latihan/Tugas

1. Jelaskan perbedaan antara urutan tertulis dan urutan waktu sebuah instruksi!
2. Apa hubungan antara instruksi dan mikro-operasi?
3. Jelaskan garis besar dari proses tiga-langkah yang mengarah ke karakterisasi
unit kontrol!
4. Apa tugas dasar yang dilakukan oleh unit kontrol?

D. Referensi

Hamacher, C., Vranesic, Z., Zaky, S., & Manjikian, N. (2011). Computer
Organization and Embedded Systems (6th edition). New York: McGraw-
Hill.

Stallings, W. (2010). Computer Organization and Architecture: Designing for


Performance (8th Edition). New Jersey: Prentice Hall.

D. Dumas II, Joseph (2006). Computer Architecture : Fundamentals and Principles


of Computer Design. New York: Taylor & Francis Group.

William Stallings. (2016). Computer Organization and Architecture: Designing for


Performance. 10th Edition. London: Pearson Education Limited.

John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A


Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.

Arsitektur dan Organisasi Komputer 84


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 6
DEFINISI DAN FUNGSI I/O SISTEM

PERTEMUAN 6 Definisi dan Fungsi I/O System


A. Tujuan Pembelajaran

Mampu memahami proses Sistem Input dan Output pada Sistem Komputer.

B. Uraian Materi

1. Fungsi I/O

Sejauh ini, kita telah membahas pengoperasian komputer berbasis


prosesor dan terutama melihat interaksi antara prosesor dan memori.
Pembahasan hanya menyentuh peran komponen I/O.
Modul I/O (seperti pengontrol disk) dapat berkomunikasi secara langsung
dengan prosesor. Sama seperti prosesor dapat membaca atau menulis dari
memori, menetapkan alamat lokasi tertentu, prosesor juga dapat membaca
data dari atau menulis data ke modul I/O. Dalam kasus terakhir, prosesor
menentukan perangkat spesifik yang dikendalikan oleh unit I/O tertentu. Jadi,
urutan instruksi skema yang mirip dengan instruksi I/O daripada referensi
instruksi memori.
Dalam beberapa kasus, diinginkan untuk mengizinkan pertukaran
langsung I/O dengan memori. Dalam kasus ini, prosesor memberi I/O hak untuk
baca dari atau menulis ke memori sehingga transfer memori I/O dapat
dilakukan tanpa batasan prosesor. Selama transfer ini, modul I/O mengeluarkan
perintah untuk membaca atau menulis ke memori, membebaskan prosesor dari
tanggung jawab untuk pertukaran. Operasi ini dikenal sebagai Direct Memory
Access (DMA).
Sekarang mari kita lihat struktur internal komputer secara umum. Mari kita
mulai komputer tradisional dengan prosesor menggunakan firmware unit kontrol
dan kemudian mempelajari struktur multi-inti yang khas.
Gambar 6.1 menyajikan representasi hierarkis struktur internal komputer
tradisional dengan prosesor. Ada empat elemen struktural utama:

a. Central processing unit (CPU): Mengontrol pengoperasian komputer dan


melakukan fungsi pemrosesan data. sering disebut sebagai prosesor.

Arsitektur dan Organisasi Komputer 85


Universitas Pamulang Teknik Informatika S-1

b. Memori utama: Menyimpan data.


c. I/O: Memindahkan data antara komputer dan lingkungannya.
d. Interkoneksi sistem: Mekanisme yang menyediakan komunikasi antara
CPU, memori utama dan I/O. Contoh umum dari interkoneksi sistem adalah
dengan bus sistem yang terdiri dari serangkaian konduktor kabel yang
menghubungkan semua komponen lainnya.

Gambar 6. 1 Komputer Struktur Tingkat Atas

Mungkin ada satu atau lebih dari masing-masin komponen yang


disebutkan di atas. Secara tradisional, hanya ada satu prosesor. Dalam
beberapa tahun terakhir telah terjadi peningkatan penggunaan beberapa

Arsitektur dan Organisasi Komputer 86


Universitas Pamulang Teknik Informatika S-1

prosesor pada satu komputer. Banyak masalah desain yang terkait dengan
banyak prosesor muncul dan dibahas saat teks ditulis. Bagian lima berfokus
pada komputer semacam itu.

2. Evolusi Fungsi I/O

Seiring berkembangnya sistem komputer, ada kecenderungan


kompleksitas dan kecanggihan komponen individu meningkat. Tidak ada yang
lebih jelas dari ini daripada dalam fungsi I/O. Kami telah melihat beberapa dari
perkembangan ini. Langkah-langkah evolusionernya dapat diringkas sebagai
berikut:

a. CPU secara langsung mengontrol periferal. Ini terlihat di perangkat dengan


kontrol mikroprosesor sederhana.
b. Menambahkan pengontrol atau modul I/O. CPU menggunakan I/O yang
dapat diprogram tanpa interupsi. Langkah ini memisahkan CPU dari detail
spesifik dari antarmuka perangkat eksternal.
c. Menggunakan konfigurasi yang sama seperti pada langkah 2, tetapi
sekarang menggunakan jeda. CPU tidak perlu membuang waktu menunggu
I/O selesai, sehingga meningkatkan efisiensi.
d. Modul I/O memiliki akses memori langsung melalui DMA. Sekarang dia bisa
mengerakkan blok data ke atau dari memori tanpa menggunakan CPU,
kecuali awal dan akhir transfer.
e. Modul I/O diperluas menjadi prosesor yang berdiri sendiri, dengan satu
prosesor satu set instruksi khusus yang disesuaikan untuk I/O. CPU
mengontrol prosesor I/O untuk menjalankan program I/O di memori.
Prosesor I/O menerima dan menjalankan instruksi ini tanpa intervensi
prosesor. Ini memungkinkan prosesor untuk menentukan urutan tindakan I/O
dan terputus hanya jika seluruh urutan dieksekusi.
f. Modul I/O memiliki memori lokal dan sebenarnya adalah computer. Dengan
arsitektur ini, sejumlah besar perangkat I/O dapat dikontrol dengan
keterlibatan prosesor yang minimal. Penggunaan umum dari arsitektur
semacam itu biasanya untuk mengontrol komunikasi dengan terminal
interaktif. Prosesor I/O mengambil alih sebagian besar tugas yang terkait
dengan terminal.

Seiring kemajuan dalam perkembangan ini, semakin banyak operasi I/O


dilakukan tanpa partisipasi CPU. Tugas CPU terkait I/O berkurang, sehingga

Arsitektur dan Organisasi Komputer 87


Universitas Pamulang Teknik Informatika S-1

dapat meningkatkan kinerja. Dalam dua langkah terakhir (5-6) perubahan


utama tersebut terjadi dengan memperkenalkan konsep modul I/O yang
sanggup melakukan eksekusi program. Untuk langkah 5, modul I/O sering
disebut sebagai saluran I/O. Untuk langkah 6, istilah prosesor I/O sering
digunakan. Namun, kedua istilah tersebut kadang-kadang diterapkan pada
kedua situasi tersebut. Berikutnya kami akan menggunakan istilah saluran I/O.

3. Spesifikasi Saluran I/O

I/O merupakan perpanjangan dari konsep DMA. Saluran I/O memiliki


kemampuan untuk mengeksekusi instruksi I/O, yang memberinya kendali
penuh atas operasi I/O. Dalam sistem komputer dengan perangkat seperti itu,
CPU tidak melakukan eksekusi terhadap instruksi I/O. Instruksi semacam itu
disimpan dalam memori utama untuk dieksekusi oleh satu prosesor khusus
pada saluran I/O itu sendiri. Jadi CPU memulai transfer I/O dengan perintah ke
saluran I/O untuk memulai program di memori. Program akan menunjukkan
perangkat atau perangkat-perangkat, area memori untuk penyimpanan,
prioritas dan tindakan yang harus diambil dalam kondisi kesalahan tertentu.
Berikutnya adalah saluran I/O mengikuti instruksi ini dan mengontrol transfer
data.
Secara umum ada dua jenis saluran I/O digunakan, seperti yang
ditunjukkan pada Gambar 6.2 satu saluran pemilih mengontrol banyak
perangkat berkecepatan tinggi, dan selalu dirancang untuk mentransfer data
dengan salah satu perangkat ini. Jadi, saluran I/O memilih perangkat dan
memengaruhi transfer data. Setiap perangkat atau set kecil perangkat
dikendalikan oleh pengontrol atau modul I/O, yang sangat mirip dengan modul
I/O yang telah kita diskusikan. Jadi, saluran I/O berfungsi sebagai pengganti
CPU dalam mengelola pengontrol I/O ini.

Arsitektur dan Organisasi Komputer 88


Universitas Pamulang Teknik Informatika S-1

Gambar 6. 2 I/O Channel Architecture

Saluran multiplekser dapat menangani I/O dengan beberapa perangkat


sekaligus. Untuk perangkat kecepatan rendah, multiplekser byte menerima atau
mentransmisikan karakter ke beberapa perangkat secepat mungkin.
Contohnya, aliran simbol yang dihasilkan dari tiga perangkat dengan laju
berbeda dan aliran terpisah A1A2A3A4, B1B2B3B4, dan C1C2C3C4. dapat
A1B1C1A2C2A3B2C3A4, dan seterusnya. Untuk unit perangkat berkecepatan
tinggi, multiplekser blok memasukkan blok data dari berbagai perangkat.

4. Organisasi Sistem I/O

Untuk menjelaskan organisasi sistem I/O, pertama-tama kita harus


menjelaskan secara singkat fisiknya EC12. Gambar 6.3 adalah tampilan depan

Arsitektur dan Organisasi Komputer 89


Universitas Pamulang Teknik Informatika S-1

versi berpendingin air mesin (ada juga pendingin udara). Sistem memiliki
karakteristik berikut ini:

a. Berat: 2430 kg (5358 lb)


b. Lebar: 1,568 m (5,14 kaki)
c. Panjang: 1,69 m (6,13 kaki)
d. Tinggi: 2,015 m (6,6 kaki)

Bukan laptop, sistem ini terdiri dari dua kompartemen besar, yang disebut
bingkai, yang menampung beberapa komponen. Kotak A di sebelah kanan
berisi dua kotak besar kandang, serta ruang untuk kabel dan aksesori lainnya.
Klip superior – prosesor 4 soket untuk hingga empat blok prosesor yang saling
terhubung sepenuhnya. Setiap buku berisi Modul Multi-Chip (MCM), kartu
memori dan I/O. koneksi sel. Setiap MCM adalah tabel yang menampung enam
chip multi-core dan dua chip chip penyimpanan.
Kompartemen bawah dalam bingkai A adalah soket I/O yang menampung
perangkat keras I/O termasuk multiplekser dan saluran. Sangkar I/O adalah
blok tetap yang dipasang oleh IBM untuk spesifikasi pelanggan di pabrik.
Panel kiri Z berisi baterai internal dan catu daya dan ruang untuk satu
atau lebih komponen pendukung yang digunakan oleh administrator system
manajemen platform. Kotak Z juga berisi slot untuk dua atau lebih kotak
masukan I/O keluaran.

Gambar 6. 3 Rangka I/O IBM zEC12 – Tampak Depan

Arsitektur dan Organisasi Komputer 90


Universitas Pamulang Teknik Informatika S-1

Blok I/O berisi elemen yang mirip dengan sangkar I/O. Perbedaannya
adalah kotaknya lebih kecil dan lebih mudah diubah di situs web klien sehingga
dapat dipenuhi mengubah persyaratan.
Dalam konteks ini, kami menyajikan konfigurasi zEnterprise yang khas.
Struktur sistem EC12 I/O (Gambar 6.4). Setiap buku prosesor zEC12
mendukung dua infrastruktur input / output internal (yaitu internal di kotak A dan
Z): InfiniBand untuk Kue I/O dan blok I/O, serta PCI Express (PCIe) untuk blok
I/O. Saluran ini Pengontrol disebut pemisah.
Koneksi InfiniBand dari laci prosesor ke bay I/O dan Kotak I/O terhubung
melalui Host Channel Adapter (HCA) yang memiliki InfiniBand. Konektor
dengan multiplexer InfiniBand dalam satu ruang atau blok I/O. Multiplexer
InfiniBand digunakan untuk menghubungkan server, peralatan infrastruktur
komunikasi, sistem penyimpanan dan sistem tertanam. Selain menggunakan
InfiniBand untuk koneksi sistem yang menggunakan InfiniBand, multiplexer
InfiniBand mendukung I/O lainnya teknologi. ESCON (Enterprise Systems
Connection) mendukung koneksi ke disk, pita dan printer menggunakan
teknologi serat optik yang dipatenkan. Koneksi Ethernet menyediakan koneksi 1
Gbps dan 10 Gbps untuk berbagai perangkat. yang mendukung teknologi LAN
populer ini. Penggunaan yang luar biasa Ethernet dirancang untuk grup server
yang besar, terutama untuk menghubungkan server blade satu sama lain dan
ke domain pusat lainnya.
Server blade adalah arsitektur server yang menampung beberapa modul
server (blade) dalam satu rangka. Itu banyak digunakan di pusat data untuk
menghemat ruang dan meningkatkan manajemen sistem. Entah berdiri sendiri
atau rak dipasang, sasis menyediakan catu daya, dan setiap blade memiliki
CPU, memori, dan hard disknya sendiri

Arsitektur dan Organisasi Komputer 91


Universitas Pamulang Teknik Informatika S-1

Gambar 6. 4 Struktur Sistem I/O IBM zEC12

Koneksi PCIe dari buku cpu ke blok I/O dilakukan melalui Sakelar PCIe ke
PCIe. Sakelar PCIe dapat dihubungkan ke berbagai perangkat I/O. pengontrol
perangkat. Contoh umum untuk zEnterprise EC12 adalah 1 Gbps dan 10 Gbps.
Saluran Ethernet dan Fiber.
Setiap buku berisi hingga 8 InfiniBand HCA dan PCIe. cabang. Setiap
splitter mendukung hingga 32 koneksi, total 256 koneksi per buku prosesor,
setiap koneksi dikontrol oleh editor saluran.

5. I/O yang Dapat Diprogram

Tiga metode tersedia untuk fungsi masukan / keluaran. Dengan input /


output terprogram data dipertukarkan antara prosesor dan modul I/O. Prosesor
melakukan eksekusi program yang memberinya kontrol langsung atas fungsi
I/O termasuk sensor status, kirim perintah baca atau tulis, dan transfer data.
Saat prosesor mengeluarkan perintah ke modul I/O, prosesor harus menunggu
hingga operasi I/O selesai. Jika prosesor lebih cepat daripada modul I/O, itu
berarti membuang-buang waktu prosesor. Dalam I/O yang digerakkan oleh
interupsi, prosesor mengeluarkan perintah I/O, terus berlanjut untuk melakukan
instruksi lain dan terganggu oleh modul I/O saat terakhir kali menyelesaikan

Arsitektur dan Organisasi Komputer 92


Universitas Pamulang Teknik Informatika S-1

pekerjaannya. Dengan I/O terprogram dan terinterupsi, prosesor bertanggung


jawab untuk mengambil data dari memori utama ke keluaran dan menyimpan
data di memori utama untuk input. Alternatifnya dikenal sebagai Direct Memory
Access (DMA). Dalam mode ini, modul I/O dan memori utama berkomunikasi
secara langsung tanpa keterlibatan prosesor.
Tabel 6.1 menunjukkan hubungan antara ketiga metode ini. Pada bagian
ini, kita mengeksplorasi I/O yang dapat diprogram. Interupsi I/O dan DMA
masing-masing dibahas dalam dua bagian berikutnya.

Tabel 6. 1 Teknik I/O

6. Tinjauan I/O Terprogram

Saat prosesor menjalankan program dan menemukan instruksi yang


terkait dengan I/O, prosesor menjalankan instruksi ini dengan meneruskan
perintah ke modul I/O yang sesuai. Dengan program I/O, modul I/O akan
melakukan tindakan yang diperlukan kemudian mengatur bit yang sesuai dalam
register status I/O. Modul I/O tidak mengambil tindakan lebih lanjut untuk
memberi tahu prosesor. Secara khusus, itu tidak mengganggu prosesor. Untuk
itu, prosesor wajib mengecek situasi modul I/O secara berkala hingga
mendeteksi bahwa operasi telah selesai.
Untuk menjelaskan teknik I/O yang dapat diprogram, pertama-tama kita
akan melihatnya dari perspektif perintah I/O yang dikeluarkan oleh prosesor di
modul I/O lalu mengenai instruksi input / output yang dijalankan oleh prosesor.

7. Perintah I/O

Untuk menjalankan perintah I/O, prosesor mengeluarkan alamat dengan


menentukan unit I/O tertentu dan perangkat eksternal serta perintah I/O. Ada
empat jenis perintah I/O yang dapat diterima modul I/O setelah diakses
prosesor:

Arsitektur dan Organisasi Komputer 93


Universitas Pamulang Teknik Informatika S-1

a. Kontrol: Digunakan untuk menghidupkan perangkat periferal dan


memberitahukan apa yang harus dilakukan. Sebagai contoh, unit perekam
dapat diinstruksikan untuk mengatur ulang atau meneruskan trek. Perintah-
perintah ini disesuaikan dengan jenis perangkat periferal tertentu.
b. Test: Digunakan untuk menguji berbagai kondisi yang terkait dengan unit I/O
dan periferalnya. Prosesor ingin mengetahui bahwa perangkat yang ingin
diaktifkan dan tersedia untuk digunakan. Dia juga ingin tahu operasi input /
output terakhir selesai dan jika terjadi kesalahan.
c. Read: Menyebabkan modul I/O menerima item data dari perangkat dan
menempatkannya di dalam buffer. Prosesor kemudian dapat mengambil item
tersebut dengan meminta modul I/O menaruh di bus data.
d. Write: menyebabkan modul I/O menerima elemen data (byte atau kata) dari
bus data, lalu transfer item data ini ke perangkat periferal.

Gambar 6.5a menunjukkan contoh penggunaan pembaca I/O yang dapat


diprogram pada sebuah blok data dari perangkat periferal (seperti tape
recorder) di memori. Datanya dibaca satu kata (seperti 16 bit) pada satu waktu.
Untuk setiap kata yang dibaca, prosesor harus tetap dalam pengulangan
pemeriksaan status sampai ia mendeteksi bahwa ada kata yang tersedia
register data modul I/O. Diagram blok ini menyoroti kelemahan utama teknik ini:
Ini adalah proses yang memakan waktu yang memaksa prosesor melakukan
hal yang tidak perlu.

Arsitektur dan Organisasi Komputer 94


Universitas Pamulang Teknik Informatika S-1

Gambar 6. 5 Tiga Teknik untuk Memasukkan Blok Data

8. Instruksi I/O

Dengan I/O yang dapat diprogram, ada korelasi erat antara I/O instruksi
yang diterima prosesor dari memori dan instruksi input / output yang prosesor
keluarkan ke modul I/O untuk menjalankan instruksi. Artinya, instruksi mudah
dipetakan ke perintah input / output, dan seringkali ada hubungan satu-ke-satu
yang sederhana. Format instruksi tergantung pada bagaimana perangkat
eksternal ditangani.
Biasanya banyak perangkat I/O yang terhubung melalui modul I/O ke
sistem. Setiap perangkat diberi ID atau alamat unik. Saat prosesor
mengeluarkan perintah I/O, perintah tersebut berisi alamat perangkat yang
diinginkan. Jadi, setiap unit I/O harus menafsirkan bilah alamat untuk
menentukan apakah perintah itu untuk dirinya sendiri.
Ketika prosesor, memori utama dan I/O berbagi bus yang sama, ada dua
model pengalamatan yang memungkinkan: memori yang dipetakan dan
diisolasi. Dengan memori yang ditetapkan I/O, ada ruang alamat untuk sel
memori dan perangkat I/O. Prosesor memperlakukan status dan pencatat data
modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama

Arsitektur dan Organisasi Komputer 95


Universitas Pamulang Teknik Informatika S-1

untuk mengakses memori dan perangkat I/O Misalnya, dengan 10 baris alamat,
210 = 1024 lokasi memori secara total dan alamat I/O dapat didukung dalam
kombinasi apapun.
Pemetaan memori I/O membutuhkan garis baca dan garis tulis di bus.
Alternatifnya, bus bisa dilengkapi dengan read / write memory plus masukan
dan keluaran baris perintah. Baris perintah menunjukkan apakah itu akan
menjadi alamat mengacu pada area memori atau perangkat I/O. Berbagai
alamat dapat berupa tersedia di keduanya. Sekali lagi, dengan 10 baris alamat,
sistem sekarang dapat mendukung keduanya 1024 lokasi memori dan 1024
alamat input / output. Dari ruang alamat I/O terisolasi dari memori, ini disebut
I/O terisolasi.
Gambar 6.5 membandingkan kedua metode masukan / keluaran yang
dapat diprogram ini. Gambar 6.5 menunjukkan seperti apa tampilan antarmuka
untuk perangkat input sederhana, seperti keyboard terminal seorang
programmer yang menggunakan memori I/O berpasangan, misalkan alamat 10-
bit hingga 512-bit memori (sel 0-511) dan hingga 512 alamat masukan /
keluaran (sel 512-1023). Dua alamat ditujukan untuk input keyboard dari
terminal tertentu. Alamat 516 mengacu pada register data dan alamat 517
mengacu pada register status, yang juga bertindak sebagai register kontrol
untuk menerima perintah prosesor. Program yang muncul adalah membaca 1
byte data dari keyboard ke dalam pengumpul register prosesor. Perhatikan
bahwa prosesor melakukan loop sampai satu byte data tersedia.

Arsitektur dan Organisasi Komputer 96


Universitas Pamulang Teknik Informatika S-1

Gambar 6. 6 Memory-Mapped and Isolated I/O

Dengan I/O terisolasi (Gambar 6.6), port I/O hanya bias diakses oleh
perintah I/O khusus yang mengaktifkan baris perintah I/O di bus.
Untuk sebagian besar jenis prosesor, terdapat sekumpulan instruksi
berbeda yang relatif besar untuk mengakses memori. Jika I/O terisolasi
digunakan, hanya ada sedikit instruksi I/O. Jadi, keuntungan dari memori I/O
yang dipetakan adalah repertoar yang besar dari instruksi yang dapat
digunakan, yang memungkinkan perencanaan yang lebih efisien. Sisi
negatifnya adalah ruang alamat memori yang berharga ini habis. Baik memori
dipetakan dan I/O diisolasi banyak digunakan.

9. Sistem Pengoperasian Multiprogramming

Bahkan dengan urutan kerja otomatis dalam yang disediakan oleh OS


batch sederhana, prosesor sering kali menganggur. Masalahnya adalah

Arsitektur dan Organisasi Komputer 97


Universitas Pamulang Teknik Informatika S-1

perangkat I/O lambat dibandingkan dengan prosesor. Perhitungan mengacu


pada program yang memproses file rekaman dan mengeksekusi rata-rata 100
instruksi prosesor per record. Dalam contoh ini komputer menghabiskan lebih
dari 96% waktunya menunggu transfer perangkat I/O selesai. Data Gambar 6.7
mengilustrasikan situasi ini.

Gambar 6. 7 Contoh Pemanfaatan Sistem

Prosesor menghabiskan sejumlah waktu eksekusi hingga mencapai


perintah I/O. Kemudian harus menunggu I/O instruksi ini berakhir sebelum
melanjutkan.
Inefisiensi ini tidak perlu. Kita tahu bahwa memory harus cukup untuk
menjadi tuan rumah sistem operasi (layar permanen) dan program pengguna.
Misalkan ada tempat untuk program operasi dan dua program pengguna.
Sekarang sebuah pekerjaan harus menunggu I/O, prosesor dapat beralih ke
pekerjaan lain, yang mungkin tidak menunggu I/O (Gambar 6.8b). Selain itu,
kami dapat memperluas memori untuk menyimpan tiga, empat atau lebih
program dan beralih di antara mereka (Gambar 6.8c). Teknik ini dikenal
sebagai multiprogramming atau multitasking. Ini adalah tema sentral dari sistem
operasi modern.
Istilah "multitasking" kadang-kadang digunakan untuk merujuk pada
beberapa tugas dalam program yang bias memproses sistem operasi pada saat
yang sama, tidak seperti multiprogramming, yang merujuk ke banyak prosedur
dari berbagai program.
Seperti sistem batch sederhana, sistem batch multi-program adalah suatu
keharusan didasarkan pada fungsi tertentu dari perangkat keras komputer. Fitur
tambahan yang paling menonjol yang berguna untuk multiprogramming adalah
perangkat keras yang mendukung interupsi I/O.

Arsitektur dan Organisasi Komputer 98


Universitas Pamulang Teknik Informatika S-1

Tabel 6.2 menggambarkan manfaat dari multiprogramming.


Pertimbangkan sebuah komputer dengan 250 Mbytes memori yang tersedia
(tidak digunakan oleh OS), disk, terminal, dan printer. Tiga program, JOB1,
JOB2, dan JOB3, diajukan untuk dijalankan di bersamaan, dengan atribut yang
tercantum pada table tersebut. Kami mengasumsikan persyaratan prosesor
minimal untuk JOB1 dan JOB2 serta penggunaan disk dan printer yang
berkelanjutan oleh JOB3. Untuk batch yang sederhana, pekerjaan ini akan
dijalankan secara berurutan. Jadi, JOB1 selesai 5 menit. JOB2 harus
menunggu sampai 5 menit selesai dan kemudian selesai 15 menit setelah itu.
JOB3 dimulai setelah 20 menit dan selesai pada 30 menit sejak semula
awalnya dikirim.

Gambar 6. 8 Contoh Multiprogramming

Arsitektur dan Organisasi Komputer 99


Universitas Pamulang Teknik Informatika S-1

Pemanfaatan sumber daya rata-rata, hasil, dan waktu respons adalah


ditunjukkan pada kolom uniprogramming pada Tabel 6.2. Penggunaan
perangkat demi perangkat diilustrasikan pada Gambar 6.8a. Terbukti bahwa
ada kekurangan penggunaan bruto untuk semua sumber daya dirata-rata
selama periode waktu 30 menit yang diperlukan.
Sekarang misalkan pekerjaan dijalankan secara bersamaan di bawah OS
multiprogramming. Karena ada sedikit perebutan sumber daya antara
pekerjaan, ketiganya dapat berjalan dalam waktu yang minimum saat
berdampingan dengan yang lain di komputer (dengan asumsi bahwa JOB2 dan
JOB3 diberi waktu prosesor yang cukup untuk menjaga operasi input dan
output mereka tetap aktif). JOB1 masih membutuhkan waktu 5 menit untuk
diselesaikan, tetapi pada akhirnya, JOB2 akan selesai sepertiga selesai, dan
JOB3 akan setengah jadi. Ketiga pekerjaan akan selesai di dalam 15 menit.
Peningkatan tersebut terbukti saat memeriksa kolom multiprogramming dari
Tabel 6.2, diperoleh dari histogram yang ditunjukkan pada Gambar 6.8b.

Tabel 6. 2 Contoh Atribut Eksekusi Program

Tabel 6. 3 Pengaruh Multiprogramming pada Pemanfaatan Sumber Daya

Dengan I/O atau DMA yang digerakkan oleh interupsi, prosesor dapat
mengeluarkan perintah I/O untuk satu tugas dan melanjutkan dengan tugas lain

Arsitektur dan Organisasi Komputer 100


Universitas Pamulang Teknik Informatika S-1

saat I/O dijalankan oleh pengontrol perangkat. Saat operasi I/O selesai,
prosesor dihentikan dan kontrol dipindahkan ke rutinitas pematian sistem
operasi. Sistem operasi kemudian akan mentransfer kontrol ke tugas lain.

Gambar 6. 9 Histogram Pemanfaatan

Sistem operasi multiprogramming cukup kompleks dibandingkan sistem


program tunggal. Untuk menyiapkan banyak pekerjaan, tugas harus disimpan di
memori utama, yang memerlukan beberapa manajemen memori. Selain itu, jika
banyak tugas yang siap dilakukan, prosesor harus memutuskan tugas mana
berjalan, yang membutuhkan beberapa algoritma pemrograman untuk
penjadwalan.

10. Sistem Pembagian Waktu

Dengan menggunakan multiprogramming, pemrosesan batch bisa sangat


efektif. Namun, untuk banyak tugas, diinginkan untuk menyediakan fungsi
dimana pengguna berinteraksi langsung dengan komputer. Memang untuk
beberapa pekerjaan seperti pemrosesan transaksi, diperlukan mode interaktif.

Arsitektur dan Organisasi Komputer 101


Universitas Pamulang Teknik Informatika S-1

Saat ini, kebutuhan untuk instalasi komputer interaktif dapat, dan sering kali
dicapai dengan menggunakan mikro komputer khusus. Opsi ini tidak tersedia di
1960-an, ketika sebagian besar komputer besar dan mahal. Sebaliknya, berbagi
waktu berkembang.

Sama seperti multiprogramming memungkinkan prosesor untuk


memproses banyak pekerjaan batch. Multiprogramming dapat digunakan
secara bersamaan untuk mengedit beberapa tugas interaktif. Di dalam kasus
terakhir, metode ini disebut berbagi waktu karena waktu prosesor dibagi di
antara banyak pengguna. Banyak pengguna dalam sistem distribusi waktu
akses simultan ke sistem melalui terminal, sedangkan sistem operasi dapat
dipertukarkan pelaksanaan setiap program pengguna dalam waktu singkat atau
siklus perhitungan.

Tabel 6. 4 Multiprogramming Batch versus Time Sharing

Jadi, jika ada n pengguna yang secara aktif meminta layanan pada saat
yang sama, setiap pengguna hanya akan melihat kecepatan komputer aktual
rata-rata 1/n selain sistem operasi umum. Namun, mengingat waktu respons
seseorang yang relatif rendah, waktu responsnya adalah yang tepat Sistem
yang dirancang harus sebanding dengan yang ada di komputer khusus.
Kedua kelompok multi-pemrograman dan berbagi waktu menggunakan
multipemrograman Perbedaan utama tercantum dalam Tabel 6.4.

Arsitektur dan Organisasi Komputer 102


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas

1. Jelaskan secara umum perbedaan antara organisasi komputer dan arsitektur


computer!
2. Jelaskan secara umum perbedaan antara struktur komputer dan fungsi
computer!
3. Apa empat fungsi utama komputer?
4. Buat daftar dan jelaskan secara singkat komponen struktural utama computer!
5. Buat daftar dan jelaskan secara singkat komponen struktural utama sebuah
prosesor!

D. Referensi

Hamacher, C., Vranesic, Z., Zaky, S., & Manjikian, N. (2011). Computer
Organization and Embedded Systems (6th edition). New York: McGraw-
Hill.

Stallings, W. (2010). Computer Organization and Architecture: Designing for


Performance (8th Edition). New Jersey: Prentice Hall.

D. Dumas II, Joseph (2006). Computer Architecture : Fundamentals and Principles


of Computer Design. New York: Taylor & Francis Group.

William Stallings. (2016). Computer Organization and Architecture: Designing for


Performance. 10th Edition. London: Pearson Education Limited.

John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A


Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.

Arsitektur dan Organisasi Komputer 103


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 7

MULTIPORTED PERANGKAT EKSTERNAL

A. Tujuan Pembelajaran

Periferal adalah faktor yang berinteraksi dengan komputer. Sebelumnya


perangkat periferal adalah mesin elektromekanis besar dengan berbagai sirkuit dan
mekanisme. Periferal saat ini kecil dan bertenaga. Bab ini menyajikan semuanya
organisasi periferal populer yang digunakan dalam konfigurasi umum: keyboard,
monitor, disk drive, tape drive, printer dan modul input/output. Selain periferal
umum tersebut, ada beberapa periferal khusus yang khusus digunakan aplikasi.
Seiring penggunaan komputer menyebar dengan cepat, jenis periferal baru sedang
dikembangkan untuk memenuhi kebutuhan operasional. Selain itu, peningkatan
kinerja sering kali dicapai pada periferal yang ada.

B. Uraian Materi
1. Keyboard

Keyboard adalah perangkat input yang paling nyaman. Baik program


maupun data dapat dimasukkan melalui keyboard. Selain itu, beberapa perintah
dalam program dapat dimasukkan dari keyboard. Keyboard terdiri dari satu set
kunci. Ada kunci untuk setiap surat angka, simbol, dll., seperti pada mesin tik.
Menekan tombol akan menghidupkan sakelar kunci. Keyboard memiliki sirkuit
elektronik yang menentukan tombol mana yang ditekan. Kemudian kode 8-bit
standar dibuat dan dikirim ke komputer. Tentukan kunci yang mana menekan
dan menghasilkan kode yang sesuai disebut pengkodean. Keyboard serial
mengirimkan data sedikit demi sedikit, secara berurutan. Keyboard nirkabel
adalah perkembangan terbaru yang tidak memerlukan kabel fisik dan
memungkinkan Anda mengatur posisi keyboard dengan nyaman.

a. Fungsi Keyboard

Gambar 7.2 menunjukkan diagram blok keyboard. Biasanya sakelar


rocker terhubung di tabel baris dan kolom. Fungsi dilakukan oleh keyboard
elektronik:

1) Pengkodean

Arsitektur dan Organisasi Komputer 104


Universitas Pamulang Teknik Informatika S-1

Gambar 7. 2 Serial Keyboard

Gambar 7. 1 Diagram Block Keyboard

2) Kirim sandi ke komputer Anda.

b. Pengorganisasian Keyboard

Ada beberapa cara untuk mengatur tombol pada keyboard Anda.


Gambar 7.3 menunjukkan cara paling sederhana: output dari setiap kunci
terhubung langsung ke sirkuit elektronik, menghasilkan pengkodean yang
cepat, tetapi membutuhkan banyak sirkuit perangkat keras. Parameter ini
hanya cocok untuk keyboard kecil kalkulator dan mesin kasir elektronik. DI
Organisasi matriks adalah teknik populer yang digunakan pada keyboard
komputer besar. Gambar 7.4 menunjukkan keyboard matriks di mana

Arsitektur dan Organisasi Komputer 105


Universitas Pamulang Teknik Informatika S-1

tombol-tombolnya disusun dalam baris dan kolom. Setiap kunci memiliki satu
set koordinat unik: nomor urut dan nomor kolom. Saat tombol ditekan,
keyboard elektronik harus menunjukkan urutan penekanan tombol tersebut.
nomor kolom dan nomor. Pengkodean ini dilakukan pada keyboard matriks
yang dipindai. Teknik. Metode scan menggunakan baris sebagai input ke
matriks dan kolom sebagai keluar dari rahim. Memindai urutan matriks
secara berurutan untuk menentukan penekanan tombol.

Gambar 7. 3 Keyboard Output

Gambar 7. 4 Matriks Keyboard

Keyboard komputer asli menggunakan microchip Intel 8048. Beberapa


keyboard menggunakan mikrokontroler, seperti Intel 8039 atau Intel 8031,
dan aksesori eksternal. Paling keyboard, firmware mikrokontroler terpasang
ke ROM di dalam mikrokontroler. Mikrokontroler keyboard melakukan fungsi
berikut:

1) Pindai keyboard.

Arsitektur dan Organisasi Komputer 106


Universitas Pamulang Teknik Informatika S-1

2) Temukan kuncinya
3) Pembongkaran
4) Menghasilkan make scancode
5) Simpan hingga 20 kode pindai jika komputer sibuk tanpa menerima
kode pindai.
6) Transmisi kode pindai melalui antarmuka serial.
7) Menyediakan komunikasi serial dua arah untuk jalur Data dan Clock.
8) Memantau protokol jabat tangan untuk setiap transmisi kode pindai.
9) Melakukan power-on self-test. self-test termasuk kontrol ROM internal
dan RAM dan deteksi kunci macet
10) Tindakan standar: ulangi pengiriman kode pindai jika tombol ditekan.
turun terus-menerus

2. Monitor

Monitor adalah perangkat elektronik yang merupakan bagian dari


perangkat keluaran komputer / laptop. Peran layar itu sendiri adalah untuk
menampilkan data grafik dari komputer atau laptop. Layar komputer adalah
perangkat yang mirip dengan layar TV.
Orang sering menyebutnya sebagai layar monitor. Alat ini juga dapat
menampilkan / menampilkan gambar seperti layar TV, tetapi pada layar
komputer, teks atau tabel yang berisi angka atau gambar sering kali ditampilkan
sebagai grafik. Monitor adalah jenis mesin fotokopi elektronik karena
keluarannya adalah sinyal elektronik, dalam hal ini gambar ditampilkan pada
layar monitor.
Gambar yang ditampilkan merupakan hasil pengolahan data atau
informasi yang dimasukkan. Monitor tersedia dalam berbagai ukuran, seperti
televisi. Setiap merek dan ukuran layar memiliki tingkat resolusi yang berbeda.
Resolusi ini akan menentukan ketajaman gambar yang bisa ditampilkan di
layar. Jenis layar saat ini sangat berbeda, dari bentuk besar dengan layar
lengkung hingga layar tipis dengan layar datar.
a. Fungsi Monitor
Monitor bertindak sebagai output dari memori komputer atau unit
pengolah pusat sebagai file biner. Itu harus dikonversi ke bahasa manusia
dan ditampilkan di layar agar pengguna dapat membaca. Semua monitor

Arsitektur dan Organisasi Komputer 107


Universitas Pamulang Teknik Informatika S-1

memiliki resolusi yang digunakan untuk menampilkan gambar. Ukuran LCD


dalam inci menunjukkan jenis resolusi yang tersedia. Layar 17 "dapat
memiliki resolusi 1024 × 768, dan layar 20" akan memiliki resolusi 1600.
1200. Angka dalam inci adalah ukuran layar diagonal dan resolusinya adalah
lebar piksel dengan tinggi piksel. Meskipun laptop memiliki monitor internal,
beberapa laptop memiliki port S-Video yang memungkinkan Anda
menyambungkan kabel S-Video ke beberapa TV. Saat TV dialihkan ke input
yang benar, itu akan bertindak seperti tiruan.
Anda dapat menganggap layar ini sebagai monitor dan perangkat
keluaran, seperti selembar kertas tempat Anda dapat merekam hasil
pemikiran Anda secara tertulis, dalam tabel, perhitungan, dan gambar. Untuk
menggunakan monitor di komputer, harus dihidupkan (tidak rusak). Berikut
adalah definisi dan pengoperasian layar monitor pada komputer.

b. Jenis Monitor
Dalam perkembangannya, monitor terdiri dari berbagai jenis, berikut
akan disajikan dalam bentuk tabel perbandingan jenis monitor

Tabel 7. 1 Perbandingan jenis-jenis monitor

Jenis-jenis Monitor Monitor Monitor Monitor Touch Monitor OLED


Monitor CRT LCD Plasma Screen

Perbedaan

Ukuran Berbentuk Berbentuk Berbentuk Berbetuk tipis Berbentuk tipis


Fisik tabung ramping, ramping, dan ringan
ringan,dan ringan, dan
tipis tipis

Resolusi 1024x768 1680x1050 3456x2304 4096x4096 1920x1080

Warna Memiliki Memiliki Menggunakan Memiliki warna Memproduksi


jutaan ratusan warna penuh yang relatif warna yang
warna hingga panel data sangat jernih
ribuan fosfor
warna

Arsitektur dan Organisasi Komputer 108


Universitas Pamulang Teknik Informatika S-1

Kualitas Menghasil Menghasila Menghasilkan Menghasilkan Menghasilkan


Gambar kan kan gambar gambar yang ketajaman gambar yang
gambar lebih jenih sangat gambar, warna sangat tajam
lebih dan tajam maksimal dan kontras
akurat dan dari dapa nada tinggi
tajam monitor
CRT

Harga Harga Harga lebih Harga relatif Harga relatif Harga lebih
lebih mahal dari mahal mahal mahal
murah pada dibandingkan
monitor monitor LCD
CRT

c. Cara Kerja Monitor


Prinsip pengoperasian monitor konvensional, layar CRT (Cathode Ray
Tube), sama dengan prinsip pengoperasian TV CRT. Elektron dikeluarkan
dari belakang tabung pencitraan ke bagian dalam tabung, yang ditutupi
dengan elemen yang terdiri dari bagian yang memiliki kemampuan untuk
bersinar.
Berkas elektron bergerak melalui serangkaian magnet kuat yang
membelokkan berkas ke bagian tertentu dari ban dalam. Saat cahaya
mencapai bagian kaca TV atau tabung monitor, ia menerangi lapisan
fluoresen, menyebabkan titik-titik tertentu bersinar sementara.
Setiap bagian tertentu mewakili piksel tertentu. Dengan memanipulasi
voltase cahaya, diciptakan teknologi yang dapat menyetel piksel agar
bersinar pada intensitas tertentu. Dari piksel tersebut, sebuah gambar dapat
dibentuk. Secara teori, untuk membentuk gambar, cahaya memindai garis
horizontal dari kiri ke kanan, menyebabkan piksel bersinar pada intensitas
cahaya sesuai dengan tren yang telah ditentukan.

3. Disk Drive

Disk Drive adalah perangkat penyimpanan sekunder yang paling sering


ditemukan dalam sistem komputer modern. Saat cakram digunakan, motor
berputar dengan kecepatan sangat tinggi. Kepala baca-tulis dipasang di

Arsitektur dan Organisasi Komputer 109


Universitas Pamulang Teknik Informatika S-1

permukaan pelat. Permukaan cakram terbagi menjadi beberapa bagian yang


masih terbagi menjadi beberapa bagian. Fixed head drive memiliki satu head
untuk setiap track, sedangkan drive head (atau biasa disebut hard drive) hanya
memiliki satu head yang harus dipindahkan untuk mengakses dari satu track ke
track lainnya. Disk magnetik terdiri dari satu atau lebih prasasti yang terbuat
dari logam atau plastik, dan permukaannya dilapisi dengan lapisan oksida besi.
Data yang direkam disimpan di permukaan sebagai kode biner.

Beberapa perangkat penyimpanan yang diklasifikasikan sebagai disk


magnetik adalah disket, disk IDE, dan disk SCSI. Disk magnet sendiri terdiri
dari piringan bundar yang terbuat dari logam atau plastik yang permukaannya
memiliki sifat kemagnetan, sehingga nantinya dapat tercipta semacam medan
magnet yang dibutuhkan untuk proses baca / tulis memori, karena selama
proses baca / tulis, proses baca kepala disebut kepala.

a. Prinsip Kerja Disk Drive

Sistem kerja pada Disk Drive terbagi menjadi tiga bagian, yaitu:

1) Representasi Data dan Pengalamatan

Data pada disk juga terkunci, sama seperti data pada pita
magnetik. Panggilan blok adalah jumlah data yang dapat diakses di
perangkat penyimpanan. Data dari disk ditransfer ke buffer di komputer
penyimpanan utama untuk akses program. Akses disk langsung berarti
bahwa catatan tidak selalu tersedia secara berurutan.

Ada 2 metode utama untuk bekerja dengan data yang disimpan di


disk, yaitu:

a) Metode silinder.

Pemesinan berdasarkan nomor roller, nomor permukaan, dan


nomor registrasi. Semua bagian paket piringan berbentuk silinder.
Jadi, jika satu paket cakram terdiri dari 200 buah per permukaan,
maka akan ada 200 rol.

Permukaan alamat record menunjukkan permukaan silinder


dari record yang disimpan. Jika ada 11 baki, maka nomor
permukaannya adalah dari 0 hingga 19 (1-20). Alamat nomor

Arsitektur dan Organisasi Komputer 110


Universitas Pamulang Teknik Informatika S-1

catatan menunjukkan di mana catatan berada di trek yang


ditunjukkan oleh nomor klip dan nomor permukaan.

b) Metode domain

Setiap bagian kemasan dibagi menjadi beberapa bagian.


Setiap domain mewakili area penyimpanan untuk sejumlah karakter
tertentu. Memproses catatan berdasarkan nomor domain, nomor
track, dan nomor permukaan. Nomor domain yang ditetapkan oleh
pengontrol disk menunjukkan track mana yang akan diakses dan
alamat track mana yang ada di track.

Tiap bagian di setiap tray memiliki kapasitas yang sama,


meskipun diameter bagiannya berbeda-beda. Konsistensi kapasitas
dicapai dengan menyesuaikan kepadatan data secara tepat untuk
setiap ukuran track. Keuntungan lain dari pendekatan kapasitas
tunggal adalah bahwa file dapat ditempatkan pada disk tanpa
mengubah posisi nomor sektor (trek atau gulir) dalam file.

2) Movable-Head Disk Access

Movable Disk Drive yang bergerak memiliki kepala baca / tulis


untuk setiap permukaan penyimpanan rekaman. Sistem mekanis yang
digunakan pada set jok lengan tambahan sedemikian rupa sehingga
kepala kemudi baca / tulis mengarah ke trek. Semua tuas akses di
perangkat bergerak secara bersamaan, tetapi hanya kepala aktif yang
akan mengarah ke permukaan.

3) Cara Pengaksesan Record yang Disimpan pada Disk Pack

Pengontrol disk mengubah kode yang ditetapkan oleh alamat tulis


dan menentukan berapa banyak rekaman di perangkat. Tuas akses
digerakkan sehingga kepala baca / tulis terpasang pada penggulung
yang benar. Head baca-tulis ini menunjukkan bagian yang aktif.
Kemudian disk akan berputar hingga menunjukkan posisi tulis kepala
baca-tulis. Kemudian data tersebut akan dibaca dan ditransfer melalui
channel yang diminta oleh program ke komputer.

b. Kelebihan dan Kekurangan Disk Drive

Kelebihan dan kukurangan pada disk drive adalah sebagai berikut:

Arsitektur dan Organisasi Komputer 111


Universitas Pamulang Teknik Informatika S-1

1) Keuntungan dari disk drive

Disk drive seperti hard disk dan floppy disk bersifat non-volatile,
yang artinya data yang disimpan akan tetap ada meskipun tidak ada
tegangan, kecuali media penyimpanan ini dapat ditulis ulang, yang
berarti data yang ditulis dapat dihapus dan ditulis ulang. Keuntungan
menggunakan disk magnetik adalah akses tulis dapat berurutan atau
langsung, waktu yang diperlukan untuk mengakses tulis lebih pendek,
dan waktu respons cepat. Data yang disimpan tidak akan hilang saat
komputer dimatikan. Keunggulan lain dari media penyimpanan ini
adalah memiliki kapasitas penyimpanan yang lebih tinggi dari media
penyimpanan lain seperti cakram optik.

2) Kelemahan dari disk drive

Selain banyak keuntungan, disk drive juga memiliki beberapa


kelemahan: bahan yang disk magnetisnya adalah konduktor, yang cepat
panas, sehingga kecepatannya masih lebih rendah daripada flash drive
semikonduktor. ... Selain kecepatan, masa pakai magnetic disk lebih
pendek dibandingkan flash drive pada umumnya. Saat menangani disk
magnet, contoh hard disk yang dipasang di laptop konvensional juga
rentan karena hard disk terbuat dari pelat logam yang terkena abrasi
internal dan dapat merusak disk magnet, yaitu akibat tumbuhnya jamur
dan jamur. Korosi komponen piringan magnet yang sebagian logam.

4. Tape Drive

Tape Drive adalah model memori sekunder pertama. Pita adalah data
untuk file besar yang diakses dan diproses secara berurutan (bekerja dalam
urutan kronologis). Kartrid ini juga digunakan untuk perangkat I / O, di mana
informasi diumpankan ke CPU dari satu kartrid dan informasi tersebut diambil
oleh CPU dan kemudian disimpan di pita lain.
Pita magnet adalah lapisan tipis dari media perekam magnet yang dapat
dimagnetisasi ke dalam lembaran film plastik yang panjang dan sempit.
Dikembangkan di Jerman pada tahun 1928 berdasarkan pita magnetik.
Perangkat yang merekam dan memutar audio dan video dari pita magnetik
masing-masing adalah pita dan pita. Perangkat yang menyimpan data
komputer pada pita magnetik dikenal sebagai drive film.

Arsitektur dan Organisasi Komputer 112


Universitas Pamulang Teknik Informatika S-1

Pita itu biasanya memiliki panjang 2.400 kaki, lebar 0,5 inci dan tebal 2
mm. Data disimpan di lokasi mikroskopis, magnetis, tak terlihat pada bahan
plastik berlapis besi. Plastik fleksibel disebut mylar. Mekanisme aksesnya
adalah drive film. Mekanisme akses adalah penggerak pita, perangkat
penyimpanan adalah strip plastik tipis panjang yang dilapisi dengan oksida besi.
digunakan untuk merekam sinyal audio atau video atau komputer untuk
menyimpan informasi. yang berpartisipasi dalam dua belas film untuk merekam
wawancara.

a. Prinsip Kerja Tape Drive

Data tersebut direkam secara digital pada pembawa film berupa titik
kemagnetan pada lapisan oksida besi. Magnet positif mewakili 1 bit dan
magnet negatif mewakili 0 bit atau sebaliknya.

b. Kelebihan dan Kekuranag Tape Drive

Kelebihan dan kukurangan pada disk drive adalah sebagai berikut:

1) Keuntungan dari tape drive


a) Panjang rekaman tidak terbatas.
b) Kepadatan data tinggi.
c) Kapasitas penyimpanan besar dan biaya rendah.
d) Kecepatan transfer yang tinggi.
e) Sangat efektif bila semua atau sebagian besar rekaman pada kaset
memerlukan pemrosesan lengkap.
2) Kerugian dari tape drive adalah:
a) Akses file langsung lambat
b) Masalah lingkungan
c) Diperlukan interpretasi mesin
d) Prosesnya harus sequential

5. Printer

Printer adalah perangkat elektromekanis. Ini memiliki sirkuit elektronik dan


mekanis majelis. Sirkuit elektronik mengontrol komponen mekanis. Karenanya

Arsitektur dan Organisasi Komputer 113


Universitas Pamulang Teknik Informatika S-1

Gambar 7. 5 Diagram Blok Printer

elektronik Sirkuit di printer biasanya disebut sebagai elektronik printer atau


elektronik kontrol.Gambar 7.5 menunjukkan diagram blok sederhana dari
sebuah printer. Antarmuka komputer terhubung printer dengan komputer.
Perintah dan data dari komputer dikirim ke printer melalui antarmuka ini. Melalui
antarmuka ini, printer mengirimkan statusnya ke komputer. Elektronik printer
memiliki sirkuit yang diperlukan untuk memecahkan kode perintah, membuat
kontrol sinyal dan aktivasi mekanisme pencetakan untuk mencetak data yang
diterima dari komputer. Rakitan mekanis termasuk rakitan kepala cetak, motor
cetak, rakitan pita, unit penggerak kertas, unit sensor, dll.

a. Fungsi Printer

Printer menerima karakter data dari komputer dan mencetak karakter


tersebut kertas. Selain itu, printer juga menerima karakter kontrol dari
komputer. Karakter kontrol bukan karakter yang dapat dicetak. Mereka
membawa beberapa informasi kontrol ke printer. Beberapa karakter kontrol
yang paling umum digunakan adalah CR (carriage return), LF.(Line Feed)
dan FF (Form Feed). CR menunjukkan bahwa penahan kepala printer harus
dikembalikan kolom pertama cetakan. Karakter data yang diterima
selanjutnya akan dicetak mulai dari kolom pertama. LF memberi tahu printer
untuk melewati satu baris di atas kertas. FF mengajarkan printer untuk
memberi makan kertas di bagian atas halaman berikutnya (atau formulir).
Alat tulis untuk printer (kertas) tersedia dalam lembaran kontinu yang dilipat
menjadi halaman. Setiap halaman disebut formulir.

b. Karakteristik Printer

Ada berbagai macam printer. Mereka berbeda dalam berbagai


parameter seperti kinerja, harga. dan kualitas. Karakteristik utama printer
tercantum di bawah ini:

Arsitektur dan Organisasi Komputer 114


Universitas Pamulang Teknik Informatika S-1

1) SPEED didefinisikan sebagai CPS (karakter per detik), LPM (baris per
menit) atau PPM.(Halaman per menit). Menunjukkan seberapa cepat
printer ini.
2) KUALITAS DIDEFINISIKAN sebagai DRAFT, NLQ (kualitas hampir
seperti huruf) atau LQP (kualitas huruf) Sebuah printer). Ini berarti
seberapa bagus bentuk karakter yang dicetak.
3) SET KARAKTER yang menunjukkan jumlah total data dan karakter
kontrol. dikenali oleh printer.
4) INTERFACE, yang menentukan apakah printer menerima karakter dari
printer. format paralel (satu karakter pada satu waktu) atau format serial
(satu bit pada satu waktu).
5) BUFFER SIZE, menunjukkan berapa banyak karakter data yang dapat
dimuat di printer. cache sebelum mencetak.
6) MEKANISME PENCETAKAN diartikan sebagai dampak matriks, roda
impak, impak bola golf, dot matrix sensitivitas listrik, titik panas, sabuk,
sabuk, drum, kereta api, rantai, inkjet atau laser.
7) CETAK JENIS: serial atau paralel.
8) UKURAN CETAK didefinisikan sebagai ukuran font dan jumlah karakter
per baris (angka kolom yang dicetak).
9) PRINT PRINT didefinisikan sebagai pencarian satu arah, kebalikan, dua
arah.

c. Jenis Printer

Printer dikategorikan ke dalam jenis yang berbeda. Beberapa jenis


printer seperti printer drum dan printer rantai sudah usang saat ini, meskipun
sangat populer dengan maxkomputer tua. Dengan mikrokomputer modern
printer dot matrix dan printer inkjet adalah dua jenis yang paling banyak
digunakan. Printer laser digunakan untuk kecepatan tinggi Aplikasi. Printer
LED mirip dengan printer laser tetapi menawarkan kecepatan dan
kesederhanaan yang lebih tinggi pemeliharaan. Terlepas dari jenis printer,
printer harus memindahkan kertas pada tempatnya, mencetak di atasnya
dan kemudian pindahkan. Bentuk kertas konvensional adalah lembaran
polos, lipatan, dan gulungan. kertas bergerak dengan salah satu dari banyak
cara: umpan gesekan, dan umpan traktor. Bagian di dalam printer:

1) Mekanisme kepala cetak

Arsitektur dan Organisasi Komputer 115


Universitas Pamulang Teknik Informatika S-1

2) Mekanisme transfer-transfer
3) Mekanisme pengumpanan kertas
4) Kontrol elektronik
5) Logika antarmuka
6) Catu daya

Dibawah ini merupakan jenis-jenis printer berdasarkan fitur yang


digunakan:

Tabel 7. 2 Jenis Printer

No. Fitur Klasifikasi

1. Teknik pencetakan a) Impact printer.

(b) Printer dampak

2. Urutan pencetakan (a) Printer serial / Printer karakter

(b) Printer paralel / Printer Linear

3. Kualitas Cetak (a) Draf printer.

(b) Printer Kualitas Surat (LQP)

(c) Printer Almost Letter Quality


(NLQ)

4. Mekanisme pencetakan (a) Printer dot matrix.

(b) Printer dengan roda chamomile

(c) Pencetak bola golf

(d) Drum printer

(e) Printer pita

(f) Printer rantai

(g) Latih printer

Arsitektur dan Organisasi Komputer 116


Universitas Pamulang Teknik Informatika S-1

(h) Printer termal

(i) Pencetak celah percikan

(j) Pencetak inkjet

(k) Pencetak laser

(l) printer LED

5. Antarmuka printer (a) Printer paralel.

(b) Printer serial

6. Arah Percetakan (a) Printer satu sisi.

(b) pencetak dupleks

(c) Membalikkan printer

6. Pengertian Dasar Input/Output Pada Arsitektur Komputer

Perangkat input dan output membantu kita untuk mengirimkan


/menerima program, data dan hasil dari/kekomputer. Ketika operasi input
dilakukan, kami meneruskan informasi dari input perangkat di memori (atau
CPU). Demikian pula, fungsi inferensi memindahkan informasi keluar memori
(atau CPU) pada perangkat keluaran. Rutinitas login/logout (program)
menangani proses login/ fungsi keluaran.

Gambar 7. 6 Metode Data Transfer

Arsitektur dan Organisasi Komputer 117


Universitas Pamulang Teknik Informatika S-1

Gambar 7. 7 Prinsip Data Transfer

Berinteraksi dengan pengontrol perangkat untuk menjalankan informasi


(input output). Prosedur I/O dapat menggunakan tiga metode transfer data yang
berbeda, seperti yang ditunjukkan. dalam Gambar 7.6 Dalam metode
programatik, I/O rutin mentransfer setiap bagian data (byte), melalui CPU
dalam dua langkah, seperti yang ditunjukkan pada Gambar 7.7 perintah IN atau
OUT digunakan untuk mentransfer data antara prosesor dan perangkat.
Transfer data dari perangkat berkecepatan tinggi seperti hard disk dan floppy
disk, sulit untuk dikelola melalui operasi terjadwal atau pematian mode karena
baud rate dari fungsi ini lebih rendah daripada sumber data perangkat ini. Oleh
karena itu, mode DMA sangat penting untuk perangkat berkecepatan tinggi.
Perangkat kecepatan rendah bisa bekerja dengan operasi terprogram atau
dalam mode berhenti. Fungsi berhenti ideal untuk sangat lambat mempercepat
perangkat untuk menghindari pemborosan waktu prosesor menunggu
perangkat siap antara berturut-turut transfer byte. Driver I/O yang berbeda
menggunakan metode berbeda untuk mencocokkan pengontrol
perangkat/peralatan.

C. Soal Latihan/Tugas

Untuk mengetahui apakah Anda telah mampu menghitung uji validitas pemahaman
beberapa perangkat komputer sebagai periperal sistem I/O, kerjakan latihan
sebagai berikut :
1. Sebutkan dan jelaskan fungsi keyboard komputer !
2. Sebutkan dan jelaskan jenis-jenis monitor komputer pada perkembangannya!
3. Sebutkan jenis-jenis printer berdasarkan urutan pencetakan!

Arsitektur dan Organisasi Komputer 118


Universitas Pamulang Teknik Informatika S-1

4. Sebutkan fungsi printer pada komputer!


5. Jelaskan konsep dasar sistem I/O pada komputer!

D. Referensi

Stallings, W. (2010). Computer Organization and Architecture: Designing for


Performance (8th Edition). New Jersey: Prentice Hall.

Tanenbaum, Andrew S. (2005). Structured Computer Organizatizion: Designing for


Performance (5th Edition). New Jersey: Prentice Hall.

Hamacher, C., Vranesic, Z., Zaky, S., & Manjikian, N. (2011). Computer
Organization and Embedded Systems (6th edition). New York: McGraw-Hill.

Arsitektur dan Organisasi Komputer 119


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 8

SISTEM INPUT DAN OUTPUT PADA SISTEM KOMPUTER

A. Tujuan Pembelajaran

Sistem komputer adalah kumpulan modul input-output. Setiap modul


terhubung ke sistem bus atau sakelar utama dan mengontrol satu atau lebih
perangkat periferal. Modul I/O bukan hanya satu set konektor mekanis yang
menghubungkan perangkat ke bus sistem. Sebagai gantinya, modul I/O berisi logika
untuk menjalankan fungsi komunikasi antara jalan lingkar dan bus. Oleh karena itu,
diperlukan modul I/O yang menjalankan dua fungsi utama, yaitu:

1. Antarmuka ke prosesor dan memori melalui bus sistem atau sakelar utama.
2. Antarmuka dengan satu atau lebih perangkat periferal dengan koneksi data yang
dapat disesuaikan.

Dalam bab ini kami akan menjelaskan tentang fungsi modul I/O, Struktur
Modul I/O Terprogram, Perintah-perintah I/O dan Instruksi-instruksi I/O.

B. Uraian Materi

1. Fungsi Modul I/O

Fungsi atau persyaratan utama modul I/O adalah sebagai berikut :

a. Kontrol dan waktu


b. Komunikasi prosesor
c. Komunikasi perangkat
d. Penyangga data
e. Deteksi kesalahan

Untuk periode waktu apa pun, prosesor dapat berkomunikasi dengan satu
atau lebih perangkat eksternal dalam pola yang tidak dapat diprediksi,
tergantung pada kebutuhan program I/O. Sumber daya internal seperti memori
utama dan bus sistem harus digunakan bersama antara aktivitas tertentu,
termasuk data I/O. Jadi fungsi I/O termasuk persyaratan kontrol dan waktu
untuk mengoordinasikan arus lalu lintas antar ruangan sumber daya dan

Arsitektur dan Organisasi Komputer 120


Universitas Pamulang Teknik Informatika S-1

perangkat eksternal. Misalnya, kontrol transfer data dari perangkat eksternal


dalam prosesor dapat mencakup urutan langkah-langkah berikut:

a. Prosesor memeriksa modul I/O untuk memeriksa status lampiran alat.


b. Modul I/O mengembalikan status perangkat.
c. Jika perangkat dimulai dan siap untuk mentransfer, prosesor memintanya
mentransfer data menggunakan perintah di bagian I/O.
d. Modul I/O menerima modul data (misalnya 8 atau 16 bit) dari eksternal alat.
e. Data ditransfer dari modul I/O ke prosesor.

Jika sistem menggunakan bus, maka setiap interaksi antar prosesor dan
bagian I/O mencakup satu atau lebih arbitrase saluran. Skenario yang
disederhanakan sebelumnya juga menunjukkan bahwa modul I/O harus
berkomunikasi dengan prosesor dan perangkat eksternal. Komunikasi prosesor
termasuk yang berikut ini:

a. Kode perintah: modul I/O menerima perintah dari prosesor, biasanya dikirim
sebagai sinyal ke saluran kontrol. Misalnya, modul I/O untuk satu Drive
dapat menerima perintah berikut: READ SECTION, WRITE. SEKTOR, SEEK
track number dan SCAN registrasi ID. Dua tim terakhir masing-masing berisi
parameter yang dikirim ke bus data.
b. Data: Data dipertukarkan antara prosesor dan modul I/O melaluinya bus
data.
c. Laporan status: Karena periferal sangat lambat, penting untuk diketahui
status modul I/O. Misalnya, jika modul I/O meminta untuk mengirim data di
prosesor (baca) mungkin belum siap untuk ini karena masih berjalan dalam
perintah I/O sebelumnya Peristiwa ini dapat dilaporkan menggunakan sinyal
status. Sinyal status umum adalah BUSY dan READY. Mungkin juga ada
sinyal laporkan berbagai kondisi kesalahan.
d. Pengenalan alamat: karena setiap kata dalam memori memiliki alamat, jadi
setiap perangkat I/O. Oleh karena itu, modul I/O harus mengenali alamat
unik untuk setiap kontrol periferal.

Di sisi lain, modul I/O harus dapat berkomunikasi dengan perangkat.


Komunikasi ini meliputi perintah, informasi status dan data. Tugas utama modul
I/O adalah penyimpanan data. Kebutuhan akan fungsi. Sedangkan baud rate
dari dan ke rumah memori atau prosesor cukup tinggi, kecepatannya lipat lebih
rendah banyak periferal dan mencakup jangkauan yang luas. Data berasal dari

Arsitektur dan Organisasi Komputer 121


Universitas Pamulang Teknik Informatika S-1

memori utama dikirim ke blok ledakan I/O. Data disimpan di bagian I/O. dan
kemudian dikirim ke periferal dengan baud rate. Membalikkan data disimpan di
cache, sehingga memori tidak terhubung ke mode transfer lambat. Lewat sini
Modul I/O harus beroperasi pada kecepatan perangkat dan memori. Begitu pula
jika perangkat I/O beroperasi pada kecepatan yang lebih cepat daripada
kecepatan akses memori setelah I/O. perangkat melakukan operasi
penyimpanan sementara yang diperlukan. Terakhir, modul I/O sering kali
bertanggung jawab atas deteksi kesalahan, dll. laporkan kesalahan ke
prosesor. Kelas kesalahan termasuk mekanik dan masalah listrik yang
dilaporkan oleh produk (seperti kertas macet, drive rusak). Kelas lain terdiri dari
perubahan tak disengaja dalam pola bit selama transmisi dari perangkat ke
modul I/O. Beberapa bentuk kesalahan adalah deteksi kata sandi sering
digunakan untuk mendeteksi kesalahan transmisi. Contoh sederhananya
adalah dengan menggunakan satu bit paritas di masing-masing sifat datanya.
Misalnya, kode karakter IRA adalah 7 byte per byte. Bit kedelapan diatur
sehingga jumlah total bit dalam satu byte seragam (seragam) atau aneh (nilai
tukar aneh). Ketika byte diterima, modul I/O memeriksa bagian untuk tentukan
apakah telah terjadi kesalahan.

2. Struktur Module I/O Terprogram

Modul I/O sangat bervariasi dalam kompleksitas dan jumlah perangkat


eksternal kontrol ini. Kami hanya akan mencoba penjelasan yang sangat umum
di sini. (dan perangkat tertentu, Intel 8255A ). Gambar 8.1 diagram blok umum
dari modul I/O. Modul ini terhubung dengan modul lainnya komputer melalui
serangkaian jalur sinyal (misalnya, jalur bus sistem). Data ditransfer dari modul
disimpan dalam satu atau lebih register data. Mungkin juga menjadi satu atau
lebih register status yang memberikan informasi tentang keadaan saat ini.
Situasi registri juga dapat bertindak sebagai jejak audit untuk informasi audit
terperinci dari prosesor. Logika di dalam modul berinteraksi dengan prosesor
melalui satu set garis kontrol. Prosesor menggunakan panel kontrol untuk
mengeluarkan perintah dalam modul I/O.

Arsitektur dan Organisasi Komputer 122


Universitas Pamulang Teknik Informatika S-1

Gambar 8. 1 Blok Diagram Modul I/O

Beberapa jalur kontrol dapat digunakan oleh modul I/O (misalnya, untuk
arbitrase dan sinyal status). Modul juga harus mampu mengenali dan buat
alamat yang terkait dengan perangkat yang dikontrolnya. Setiap blok I/O
memiliki satu alamat atau, jika mengontrol lebih dari satu perangkat eksternal,
satu set alamat. Terakhir, bagian I/O berisi logika khusus untuk antarmuka
dengan masing-masingnya perangkat yang mengontrol.
Modul I/O memungkinkan prosesor untuk melihat berbagai perangkat
secara sederhana rela cara. Ada sejumlah kemungkinan yang bisa diberikan.
Modul I/O dapat menyembunyikan pengaturan waktu, bentuk, dan detail
elektromekanis perangkat eksternal sehingga prosesor dapat menjadi hanya-
baca dan menulis perintah, dan mungkin mengajukan perintah buka dan tutup.
Dalam bentuknya yang paling sederhana modul I/O mungkin masih
meninggalkan sebagian besar tugas untuk mengontrol perangkat (mis. Reset
film) terlihat oleh prosesor.
Modul I/O yang mengambil alih sebagian besar penanganan beban
terperinci dengan presentasi cukup tingkat antarmuka dengan prosesor,
biasanya disebut sebagai pipa I/O, atau Prosesor I/O. Modul I/O, yang cukup
primitif dan membutuhkan pengujian terperinci. biasa disebut sebagai
pengontrol I/O atau pengontrol perangkat. Pengontrol I/O biasanya muncul di
mikrokomputer, dan saluran I/O digunakan di bingkai pusat. Berikut ini, kita

Arsitektur dan Organisasi Komputer 123


Universitas Pamulang Teknik Informatika S-1

akan menggunakan istilah umum modul I/O jika tidak ada kebingungan. hasil
dan akan menggunakan istilah yang lebih spesifik jika diperlukan.

3. Program I/O

Tiga metode tersedia untuk fungsi I/O. Dengan I/O terjadwal, data
dipertukarkan antara prosesor dan modul I/O. Prosesor bekerja sebuah
program yang memberinya kendali langsung atas fungsi I/O, termasuk
perangkat pendeteksi status, mengirim perintah baca atau tulis dan
mengirimkan data. Saat prosesor mengeluarkan perintah ke modul I/O, harus
menunggu hingga operasi I/O selesai penuh. Jika prosesor lebih cepat daripada
modul I/O, maka pemborosan sumber daya prosesor tahun. Dengan istirahat-
sedang berlangsung I/O, prosesor mengeluarkan perintah I/O, berlanjut untuk
menjalankan instruksi lain dan dihentikan oleh modul I/O saat terakhir
menyelesaikan pekerjaannya. Dengan I/O terprogram dan terputus-putus,
prosesor bertanggung jawab untuk mengekspor data dari memori utama untuk
mengeluarkan dan menyimpan data memori utama untuk input. Alternatifnya
dikenal sebagai Direct Memory Access (DMA). Dalam mode ini, modul I/O dan
memori utama berkomunikasi secara langsung tanpa partisipasi prosesor.
Kita akan memeriksa I/O terjadwal. gangguan I/O dan DMA dieksplorasi
berikut ini dua bagian masing-masing. Saat prosesor menjalankan program dan
menemukan instruksi yang terkait dengan I/O, jalankan perintah ini dengan
meneruskan perintah ke modul I/O yang sesuai. Dengan I/O yang diprogram,
modul I/O akan melakukan tindakan yang diperlukan kemudian mengatur bit
yang sesuai di I/O Status Register (Gambar 8.1). Modul I/O menerima tidak ada
tindakan lebih lanjut untuk memberi tahu prosesor. Secara khusus, itu tidak
mengganggu prosesor. Jadi, pawang diharuskan untuk memeriksa status
secara berkala modul I/O hingga mendeteksi bahwa operasi telah selesai.
Untuk menjelaskan teknik I/O yang dapat diprogram, pertama-tama kita akan
melihatnya dari sudut pandang lihat perintah I/O yang dikeluarkan oleh
prosesor di modul I/O lalu dari representasi dari instruksi input/output yang
dijalankan oleh prosesor.

Arsitektur dan Organisasi Komputer 124


Universitas Pamulang Teknik Informatika S-1

4. Perintah-Perintah I/O

Untuk melakukan I/O Terhubung instruksi, prosesor mengeluarkan alamat


dengan menentukan blok I/O tertentu dan perangkat eksternal, dan perintah
I/O. Hanya empat jenis perintah I/O yang dapat diterima modul I/O bila dilihat
oleh satu CPU:

a. Kontrol: digunakan untuk mengaktifkan perangkat periferal dan


memberitahukan apa yang harus dilakukan. Contohnya, magnet kaset
perangkat mungkin diinstruksikan untuk kembali atau melanjutkan
perekaman. Perintah ini disesuaikan dengan jenis perangkat periferal
tertentu.
b. Test: Digunakan untuk menguji berbagai kondisi yang terkait dengan blok
I/O dan periferalnya. Prosesor pasti ingin mengetahui minat periferal
disertakan dan tersedia untuk digunakan. Dia juga ingin tahu I/O terakhir
diselesaikan meskipun terjadi kesalahan.
c. Read : Menyebabkan modul I/O menerima komponen data dari periferal dan
menempatkannya di buffer internal (ditunjukkan sebagai datalogger pada
Gambar 8.2). Di prosesor kemudian dapat memperoleh item tersebut
dengan meminta modul I/O. taruh di bus data.
d. Write: menyebabkan modul I/O menerima item data (byte atau word) dari
bus data dan kemudian mentransfer item data ini ke pinggiran.

Arsitektur dan Organisasi Komputer 125


Universitas Pamulang Teknik Informatika S-1

Gambar 8. 2 Tiga Teknik I/O Sistem Komputer

Gambar 8.2 menunjukkan contoh penggunaan I/O yang dapat diprogram


untuk membaca blok data dari perangkat periferal (seperti tape recorder) di
memori. Data dibaca dengan satu kata (seperti 16 bit) pada satu waktu. Untuk
setiap kata yang dibaca, prosesor harus tetap bugar- kontrol lingkari hingga
menentukan bahwa kata tersebut tersedia di Log data modul I/O. Diagram blok
ini menyoroti kelemahan utamanya teknik: sudah waktunya mengkonsumsi
sebuah proses yang memuat prosesor secara tidak perlu.

5. Instruksi-Instruksi I/O

Dengan I/O terjadwal, ada kecocokan erat antara I/O. Terhubung instruksi
yang diambil oleh prosesor dari memori dan instruksi I/O itu prosesor
mengeluarkan modul I/O untuk menjalankan instruksi. Artinya, instruksinya
mudah dipetakan ke perintah I/O, dan seringkali sederhana untuk hubungan.
Format perintah tergantung pada bagaimana perangkat eksternal diproses.
Adapun tiga teknik dalam instruksi I/O, diantaranya:

Arsitektur dan Organisasi Komputer 126


Universitas Pamulang Teknik Informatika S-1

a. Program I/O
b. Interrupt-Driven I/O
c. Direct-Acces Memory

Biasanya, banyak perangkat I/O yang terhubung ke sistem melalui modul


I/O. Setiap perangkat diberi pengenal atau alamat unik. Ketika prosesor
mengeluarkan perintah I/O, perintah ini berisi alamat perangkat yang
diinginkan. Jadi, setiap modul I/O harus menafsirkan baris alamat untuk
menentukan apakah perintahnya terpisah.
Ketika prosesor, memori utama, dan I/O berbagi bus yang sama, ada dua
cara untuk menangani ini: memori dipetakan dan diisolasi. Ketika I/O
dialokasikan ke memori, ada satu ruang alamat untuk sel memori dan
perangkat I/O. Prosesor memperlakukan status dan log data dari drive I/O
sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk
mengakses keduanya. perangkat memori serta perangkat I/O. Jadi, misalnya
dengan 10 baris alamat, kumpulan gabungan dari 210 = 1024 lokasi memori
dan alamat I/O dapat didukung dalam kombinasi apapun.
Jika I/O ditetapkan ke memori, diperlukan garis baca dan garis tulis di
bus. Alternatifnya, bus dapat membaca dan menulis memori dan baris perintah
untuk input dan output. Baris perintah menentukan apakah alamatnya untuk
area memori atau perangkat I/O. Berbagai alamat lengkap dapat diakses oleh
keduanya. Sekali lagi, dengan 10 baris alamat, sistem sekarang dapat
mendukung 1024 lokasi memori dan 1024 alamat I/O. Karena ruang alamat
untuk I/O diisolasi dari ruang untuk memori, ini disebut I/O terisolasi.
Gambar 8.2 kontras dengan dua metode pemrograman I/O ini. Dalam
gambar. 8.2 menunjukkan bagaimana antarmuka perangkat input sederhana
seperti keyboard terminal dapat dipetakan ke programmer menggunakan I/O
yang dipetakan memori. Misalkan alamat 10-bit dengan memori 512-bit (lokasi
0-511) dan hingga 512 I/O alamat (lokasi 512-1023). Kedua alamat tersebut
untuk input keyboard dari terminal tertentu. Alamat 516 mengacu pada register
data dan alamat 517 mengacu pada register status, yang juga bertindak
sebagai register kontrol untuk menerima perintah prosesor. Program yang
ditampilkan akan membaca 1 byte data keyboard ke dalam register baterai
prosesor. Perhatikan bahwa prosesor dimatikan sampai satu byte data tersedia.
Dengan I/O terisolasi (Gambar 8.3), port I/O hanya dapat diakses dengan
perintah I/O khusus yang mengaktifkan baris perintah I/O di bus.

Arsitektur dan Organisasi Komputer 127


Universitas Pamulang Teknik Informatika S-1

Untuk sebagian besar jenis prosesor, terdapat sekumpulan instruksi


berbeda yang relatif besar untuk mengakses memori. Jika I/O terisolasi
digunakan, hanya ada beberapa instruksi I/O. Oleh karena itu, keuntungan dari
I/O yang dipetakan memori adalah bahwa sekumpulan besar instruksi ini dapat
digunakan, yang memungkinkan pemrograman yang lebih efisien. Salah satu
kelemahannya adalah kurangnya ruang memori beralamat yang berharga. Baik
memori yang dipetakan dan I/O terisolasi digunakan bersama.

Gambar 8. 3 Peta Memory I/O dan Isolasi I/O

Masalah dengan I/O yang dapat diprogram adalah prosesor harus


menunggu lama Modul I/O ini harus siap untuk menerima atau mengirim data.
Prosesor harus berulang kali memeriksa status modul I/O selama menunggu.
Akibatnya, tingkat kinerja keseluruhan sistem sangat menurun. Alternatifnya
adalah prosesor mengeluarkan perintah I/O ke unit dan kemudian sedang
melakukan pekerjaan berguna lainnya. Modul I/O akan mematikan prosesor.
minta servis jika sudah siap untuk menghubungi prosesor. Ini kemudian
melakukan transfer data seperti sebelumnya dan kemudian melanjutkan
pemrosesan sebelumnya. Mari kita lihat cara kerjanya, pertama dalam hal
modul I/O. Untuk input, modul I/O menerima perintah READ dari prosesor. Unit
kemudian membaca data dari perangkat periferal yang relevan. Hanya datanya

Arsitektur dan Organisasi Komputer 128


Universitas Pamulang Teknik Informatika S-1

berada di register data drive, drive menandakan kerusakan di prosesor melalui


garis kontrol. Unit kemudian menunggu hingga prosesor meminta datanya.
Ketika permintaan dibuat, bagian tersebut menempatkan datanya di bus data
dan kemudian siap untuk mode I/O berikutnya.
Dari sudut pandang prosesor, energi inputnya mirip dengan ini. Prosesor
mengeluarkan perintah Read. Kemudian dia menutup diri dan melakukan
sesuatu yang lain (seperti prosesor dapat bekerja di banyak program berbeda
pada saat bersamaan). Pada akhir setiap siklus perintah, prosesor memeriksa
jeda (Gambar 8.3). Saat drive I/O rusak, prosesor menjaga lingkungan
(misalnya, penghitung program dan register prosesor) dari program saat ini,
dan menangani gangguan. Dalam hal ini, prosesor membaca kata data dari
Drive I/O menyimpannya di memori. Ini kemudian mengatur ulang lingkungan
program. bekerja (atau program lain) dan terus berjalan menunjukkan
penggunaan interupsi input/output untuk membaca blok data. Interrupt I/O lebih
efisien dari pada software I/O karena Ini menghilangkan penantian yang tidak

Gambar 8. 4 Alur Proses Interupsi I/O

perlu. Namun, penghentian I/O masih memakan banyak waktu prosesor,


karena setiap kata data ditransfer dari memori ke modul I/O atau dari drive I/O
ke memori harus melewati prosesor.
Mari lihat lebih dekat peran prosesor di I/O yang menyebabkan jeda
terjadinya interupsi memicu serangkaian kejadian seperti pada perangkat keras

Arsitektur dan Organisasi Komputer 129


Universitas Pamulang Teknik Informatika S-1

prosesor dan dalam perangkat lunak. Gambar 8.4 menunjukkan urutan


tindakan yang khas ketika perangkat I/O diakhiri. Urutan peristiwa perangkat
keras berikut ini ditampilkan selama operasi I/O:

a. Perangkat memancarkan sinyal berhenti ke prosesor.


b. Prosesor menyelesaikan eksekusi perintah saat ini sebelum merespons.

berhenti, seperti yang ditunjukkan pada Gambar 3.9.

c. Prosesor memeriksa gangguan, menempatkannya dan mengirimkannya

sinyal identifikasi pada perangkat yang menyebabkan gangguan. Homologi

memungkinkan perangkat untuk menghapus sinyal berhenti.

d. Prosesor sekarang harus siap untuk mentransfer kontrol ke rutinitas


mematikan. Pertama, harus menyimpan informasi yang diperlukan untuk
melanjutkan program saat ini breakpoint. Informasi minimum yang
dibutuhkan adalah
1) kondisi prosesor yang terdapat dalam registri yang disebut program
status word (PSW);
2) dan (b) lokasi dari perintah berikutnya yang harus diikuti, yang terdapat
dalam penghitung program yang dapat diteruskan ke tumpukan
manajemen sistem.
e. Prosesor sekarang memuat penghitung program dengan lokasi input
Operator interupsi yang akan menanggapi interupsi ini. Tergantung
Arsitektur komputer dan desain sistem operasi bisa jadi seragam program;
program untuk setiap jenis interupsi. atau program untuk setiap perangkat
dan segala jenis gangguan. Jika ada lebih dari satu operasi interupsi
subrutin, prosesor harus menentukan siapa yang harus dihubungi. Informasi
ini dapat dimasukkan dalam sinyal stop asli atau prosesor bisa Anda harus
mengirim permintaan ke perangkat yang menyebabkan gangguan untuk
menerima tanggapan berisi informasi yang diperlukan. Setelah memuat
penghitung program, prosesor beralih siklus perintah berikutnya, yang
dimulai dengan menerima perintah. Karena direktif sampel ditentukan oleh
konten penghitung program sebagai hasilnya kontrol ditransfer ke operator
berhenti. Jalankan program ini mengarah ke fungsi berikut:
f. Pada titik ini, penghitung program dan PSW terkait dengan program yang
terputus disimpan di tumpukan sistem. Namun, ada informasi lain, dianggap

Arsitektur dan Organisasi Komputer 130


Universitas Pamulang Teknik Informatika S-1

sebagai bagian dari "status" program saat ini. Secara khusus, isinya register
prosesor perlu disimpan karena register ini dapat digunakan penutupan
operator. Jadi, semua nilai ini ditambah informasi status lainnya, harus
diselamatkan. Biasanya operator shutdown memulai dengan menyimpan
konten semua register di tumpukan. Gambar 8.4 menunjukkan contoh
sederhana. Dalam hal ini, pengguna program dihentikan setelah perintah di
sel N. Isi semua dimasukkan ditambah alamat dari perintah berikutnya (N 1)
penunjuk tumpukan diperbarui untuk menunjuk ke atas tumpukan baru dan
ke program meteran diperbarui untuk menunjukkan dimulainya rutinitas
gangguan layanan.
g. Operator shutdown kemudian memproses shutdown. Ini termasuk
pemeriksaan informasi status terkait dengan operasi I/O atau peristiwa
lainnya menyebabkan gangguan. Ini mungkin juga termasuk mengirimkan
perintah atau konfirmasi tambahan di perangkat I/O.
h. Saat memproses interupsi, nilai registri yang disimpan diambil dari tumpukan
dan dikembalikan ke register (misalnya, lihat Gambar 8.4).
i. Langkah terakhir adalah mereset nilai PSW dan program counter dari stack.
Akibatnya, perintah selanjutnya yang akan dijalankan akan berasal dari
interupsi sebelumnya program. Perhatikan bahwa penting untuk menyimpan
semua informasi tentang status berhenti program untuk pembaruan
selanjutnya. Ini karena menghentikan bukanlah proses yang dipanggil dari
program. Sebaliknya, interupsi dapat terjadi kapan saja dan karena itu kapan
saja pada saat menjalankan program pengguna. Penampilannya tidak dapat
diprediksi. Memang, bagaimana caranya kita akan lihat di bab selanjutnya,
kedua program mungkin tidak memiliki kesamaan dan mungkin milik dua
pengguna yang berbeda.

Arsitektur dan Organisasi Komputer 131


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas

Untuk mengetahui apakah Anda telah mampu menghitung uji validitas memahami
sistem I/O pada sistem komputer, kerjakan latihan sebagai berikut :
1. Sebutkan fungsi dari modul I/O pada sistem komputer!
2. Sebutkan dan jelaskan perintah-perintah I/O!
3. Sebutkan tiga teknik instruksi-intruksi I/O!
4. Bagaimana struktur modul I/O pada sistem komputer?
5. Sebutkan komunikasi yang dapat dilakukan pada processor ?

D. Referensi

Stallings, W. (2010). Computer Organization and Architecture: Designing for


Performance (8th Edition). New Jersey: Prentice Hall.

Tanenbaum, Andrew S. (2005). Structured Computer Organizatizion: Designing for


Performance (5th Edition). New Jersey: Prentice Hall.

Hamacher, C., Vranesic, Z., Zaky, S., & Manjikian, N. (2011). Computer
Organization and Embedded Systems (6th edition). New York: McGraw-Hill.

Arsitektur dan Organisasi Komputer 132


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 9

SISTEM BUS KOMPUTER DAN KOMPONEN PENDUKUNGNYA

A. Tujuan Pembelajaran

Komputer terdiri dari banyak komponen penting, seperti CPU, memori,


perangkat I/O. Bus sistem, atau bus sistem dalam arsitektur komputer, terhubung ke
bus yang digunakan oleh sistem komputer untuk menghubungkan semua
komponennya selama pelaksanaan tugas. Bus adalah nama rute dimana data dapat
pergi ke komputer. Garis-garis ini digunakan untuk komunikasi dan dapat dibuat
antara dua elemen atau lebih. CPU dapat mengakses dan menjalankan data atau
program yang disimpan dalam memori melalui bus sistem.Dalam Bab ini akan
dijelaskan secara menyeluruh tentang sistem bus pada sistem komputer dari
Definisi Bus dan Sistem Bus, Struktur dan Fungsi Bus, Interkoneksi Bus, Jenis Bus
dan Elemen-elemen Rancangan Bus.

B. Uraian Materi
1. Definis Bus dan Sistem Bus

Bus adalah jalur komunikasi yang digunakan oleh pengguna kabel yang
sama untuk menghubungkan subsistem yang berbeda. Bus adalah bus yang
menghubungkan komponen utama komputer (CPU, memori, I/O). Bus adalah
koneksi dari semua komponen komputer selama pengoperasiannya.
Bus sistem, atau bus sistem dalam arsitektur komputer, mengacu pada
bus yang digunakan sistem komputer untuk menghubungkan semua
komponen. Bus adalah istilah untuk jalur di mana data dapat masuk ke
komputer, jalur ini digunakan untuk komunikasi dan dapat melewati antara dua
atau lebih komponen, data atau program yang disimpan dalam memori dapat
diakses dan dijalankan dari CPU melalui saluran sistem perantara.
Komputer memiliki banyak bus. Banyaknya bus yang terdapat dalam
suatu sistem bergantung pada arsitektur sistem komputer yang digunakan.
Misalnya, komputer dengan prosesor Intel Core I5 biasanya memiliki prosesor
(bus depan), bus AGP, bus PCI, bus USB, bus ISA (digunakan oleh keyboard
dan mouse), dan bus lainnya.

Arsitektur dan Organisasi Komputer 133


Universitas Pamulang Teknik Informatika S-1

Bus diatur secara hierarki karena setiap bus kecepatan rendah akan
dikaitkan dengan bus kecepatan tinggi. Misalnya, kartu video AGP akan
dihubungkan ke bus AGP. Banyak perangkat lain (terutama chipset atau
pengontrol) akan bertindak sebagai jembatan antara berbagai bus. Misalnya,
pengontrol bus SCSI dapat mengubah bus menjadi bus SCSI, baik itu bus PCI
atau bus PCI Express.

2. Struktur dan Fungsi Bus

Bus sistem biasanya terdiri dari 50 atau ratusan jalur individu. Setiap baris
memiliki arti atau fungsi tertentu. Meskipun ada banyak desain bus yang
berbeda, pada bus mana pun, jalur dapat dibagi menjadi tiga kelompok
fungsional (Gambar 9.1): jalur data, alamat, dan kontrol. Selain itu, mungkin
ada jalur distribusi yang memberi daya pada perangkat yang terhubung.
Panel data menyediakan jalur untuk transfer data antar modul sistem.
Jalur-jalur ini secara kolektif disebut jalur bus. Bus data dapat memiliki 32, 64,
128, atau bahkan lebih jalur individu, dengan jumlah jalur yang ditunjukkan
sebagai lebar bus data. Karena setiap baris hanya dapat mengirimkan 1 bit
pada satu waktu, jumlah baris menentukan berapa banyak bit yang dapat
dikirim secara bersamaan. Bandwidth saluran data adalah kuncinya.Faktor
yang menentukan kinerja sistem secara keseluruhan. Misalnya, jika bus data
berukuran lebar 32 bit dan setiap instruksi berukuran 64 bit, maka prosesor
harus mengakses modul memori dua kali selama setiap siklus instruksi

Gambar 9. 1 Struktur Sistem Bus

String alamat digunakan untuk menentukan sumber atau tujuan data di


bus data. Misalnya, jika prosesor ingin membaca sebuah kata (8, 16, atau 32

Arsitektur dan Organisasi Komputer 134


Universitas Pamulang Teknik Informatika S-1

bit) data dari memori, ia menempatkan alamat kata tersebut di bilah alamat.
Jelas bahwa lebar bus alamat menentukan jumlah memori maksimum yang
mungkin dalam sistem. Selain itu, address bar juga biasa digunakan untuk
mengalamatkan port input / output.
Biasanya, bit yang paling penting digunakan untuk memilih disk tertentu di
bus, sedangkan bit yang lebih rendah memilih lokasi memori atau port input /
output pada disk. Misalnya, dalam bus alamat 8-bit, alamat 01111111 dan di
bawahnya dapat merujuk ke lokasi pada modul memori (modul 0) dengan 128
kata memori, sedangkan alamat 10000000 dan di atasnya dapat merujuk ke
perangkat yang terhubung ke Modul I / O (bagian 1).
Panel kontrol digunakan untuk mengontrol akses dan penggunaan data
dan bilah alamat. Karena string data dan alamat melewati semua data, harus
ada cara untuk mengontrol penggunaannya. Sinyal kontrol membawa perintah
dan informasi waktu antar modul sistem. Sinyal sinkronisasi menunjukkan
validitas data dan informasi alamat. Sinyal perintah menentukan fungsi yang
akan dilakukan. Garis kontrol tipikal meliputi:

a. Penulisan memori: menyebabkan data ditulis ke bus alamat.


b. Baca dari memori: menyebabkan data ditempatkan di bus data alamat.
c. Perekaman I/O: menyebabkan data dikeluarkan ke bus melalui port I/O
d. Read I / O: Memaksa data untuk ditempatkan di bus dari port input / output
yang diinginkan.
e. ACK Transfer: menunjukkan bahwa data telah diterima atau ditransfer ke
bus.
f. Permintaan Saluran: Menunjukkan bahwa entitas harus mengendalikan
saluran.
g. Kemampuan bus: menunjukkan bahwa bus dikendalikan oleh blok aplikasi.
h. Pertanyaan Query: Menunjukkan bahwa berhenti sedang menunggu
keputusan.
i. Gangguan ACK: Tetapkan bahwa interupsi yang tertunda telah dikenali.
j. Jam: Digunakan untuk menyinkronkan fungsi.
k. Reset: menginisialisasi semua partisi.

Bus beroperasi sebagai berikut. Jika satu unit ingin mengirim data ke
yang lain, ia harus melakukan dua hal: (1) dapat menggunakan pipa dan (2)
mengirim data melalui pipa. Jika sebuah perangkat ingin meminta data dari
perangkat lain, ia harus (1) dapat menggunakan saluran itu dan (2) meneruskan

Arsitektur dan Organisasi Komputer 135


Universitas Pamulang Teknik Informatika S-1

permintaan tersebut ke perangkat lain melalui kontrol dan bilah alamat yang
sesuai. Kemudian Anda harus menunggu bagian kedua mengirim data.

Gambar 9. 2 Arsitektur Sistem Bus

Tentu saja, bus sistem sebenarnya terdiri dari banyak kabel paralel.
Dalam rangkaian bus klasik, konduktor ini adalah garis logam yang diukir pada
kartu atau papan (papan sirkuit tercetak). Bus mencakup semua komponen
sistem, yang masing-masing menyentuh beberapa atau semua jalur bus.
Perangkat fisik klasik ditunjukkan pada Gambar 9.2. Dalam contoh ini, jalur bus
terdiri dari dua kolom drainase vertikal. Di sepanjang kolom, terkadang terdapat
titik pemasangan konektor yang bekerja secara horizontal untuk menopang
PCB. Setiap komponen dari sistem pemblokiran mengambil satu atau lebih
kartu dan menghubungkan bus ke link tersebut. Seluruh perangkat terpasang
ke bingkai. Format ini bahkan dapat digunakan untuk banyak bus yang
terhubung ke sistem komputer. Namun, sistem modern cenderung memiliki
semua komponen utama pada satu papan, dan banyak komponen berada pada
matriks yang sama dengan prosesor. Dengan demikian, bus-on-chip dapat
menghubungkan prosesor dan cache, dan bus internal dapat menghubungkan
prosesor ke memori utama dan komponen lainnya.
Lokasi ini lebih nyaman. Sistem komputer kecil mungkin diperlukan yang
dapat diperluas nanti (lebih banyak memori, lebih banyak I / O) dengan
menambahkan lebih banyak tabel. Jika papan rusak, dapat dengan mudah
dilepas dan diganti.

Arsitektur dan Organisasi Komputer 136


Universitas Pamulang Teknik Informatika S-1

Tentu saja, bus adalah saluran listrik paralel yang menghubungkan balok.
Channel ini biasanya merupakan channel utama pada motherboard dengan
layout tertentu untuk kemudahan penggunaan. Modul I / O biasanya
menggunakan koneksi bus yang mudah dipasang dan dilepas, seperti koneksi
PCI dan ISA. Sementara itu, chip akan dihubungkan melalui pin. Awal saluran
adalah sebagai berikut.Fungsi pengiriman data ke modul lain:

Minta untuk menggunakan bus.

Jika disetujui, unit akan mengirimkan data yang diperlukan ke perangkat tujuan.

Fungsi meminta data dari modul lain:

a. Minta untuk menggunakan bus.


b. Kirim permintaan ke perangkat tertentu melalui saluran kontrol dan alamat
yang sesuai.
c. Menunggu target mengirimkan data yang diinginkan.

3. Interkoneksi Sistem Bus

Bus adalah jalur komunikasi yang menghubungkan dua perangkat atau


lebih. Fitur utama bus ini adalah mobil biasa. Banyak perangkat yang terhubung
ke bus dan sinyal yang dikirim oleh perangkat apa pun tersedia untuk diterima
dari semua perangkat lain yang terhubung ke bus. Jika dua perangkat
memancarkan pada saat yang sama, sinyalnya akan tumpang tindih dan aus.
Jadi, hanya satu perangkat yang berhasil mengirim dalam satu waktu.
Biasanya bus terdiri dari beberapa rute atau jalur komunikasi. Setiap baris
dapat membawa sinyal yang mewakili biner 1 dan biner 0. Seiring waktu, urutan
bit dapat dikirim ke satu baris. Biasanya, beberapa saluran dapat digunakan
untuk transmisi bit secara simultan (secara paralel). Misalnya, blok data 8-bit
dapat dikirim ke delapan jalur bus.
Sistem komputer berisi banyak bus berbeda yang menyediakan rute antar
komponen di berbagai tingkat hierarki komputer. Bus yang menghubungkan
komponen utama komputer (prosesor, memori, I / O) disebut bus sistem.
Struktur antarmuka komputer yang paling umum didasarkan pada penggunaan
satu atau lebih saluran sistem.
Bus biasanya memiliki banyak saluran. Misalnya, bus data terdiri dari 8
saluran untuk transmisi 8 bit data secara bersamaan. Biasanya fungsi jalur bus
dibagi menjadi tiga bagian:

Arsitektur dan Organisasi Komputer 137


Universitas Pamulang Teknik Informatika S-1

a. Saluran data

Rute transfer data antar modul. Secara kolektif, jalur ini disebut bus data.
Biasanya jumlah saluran tergantung pada panjang kata, misalnya 8, 16, 32
saluran. Tujuan: untuk mentransmisikan kata pada saat yang sama, saluran
di bus data disebut lebar saluran dan unit bit, yaitu lebar saluran 16 bit.

b. Alamat saluran (alamat bus)


1) Digunakan untuk menentukan sumber dan tujuan data di bus.
2) Digunakan untuk mengirim kata alamat ke memori akses prosesor.
3) Digunakan untuk bekerja dengan alamat modul elektronik yang
sekarang dimiliki CPU.
4) Semua peralatan yang terhubung ke sistem komputer, siap untuk
diakses, harus memiliki alamat. Misal: akses ke port input / output, maka
port input / output harus memiliki akses ke alamat peralatan.
c. jalur kendali (control bus)

Digunakan untuk mengelola saluran data, saluran alamat, dan semua modul
yang ada. Karena bus data dan bus alamat digunakan oleh semua
komponen maka kita membutuhkan mekanisme kerja yang terkontrol

melalui saluran kontrol ini.

1) Sinyal kontrol terdiri dari sinyal sinkronisasi - indikator sinkronisasi.


keandalan data dan alamat
2) Sinyal perintah merupakan fungsi dari sinyal perintah pembentukan
fungsi.

4. Jenis-Jenis Bus

Sistem Bus pada sistem komputer memiliki beberap jenis, diantaranya:

a. Bus Lokal
b. Bus Sistem
c. Bus Lokal Diperluas

Dibawah ini akan dijelaskan jenis-jenis sistem bus tersebut.

a. Bus Lokal

Arsitektur dan Organisasi Komputer 138


Universitas Pamulang Teknik Informatika S-1

Bus paling sederhana terdiri dari kabel / kabel (atau potongan jika
dibuat sebagai bagian dari papan sirkuit tercetak). Bus ini disebut bus lokal.
(bus lokal) karena merupakan peralatan yang digunakan dan dikendalikan.
Dalam unit pemrosesan pusat, bus lokal biasanya dibagi menjadi tiga jenis:
bus alamat, bus data, atau bus kontrol.

Alamat bus (alamat bus) biasanya spesifik untuk tujuan tertentu dan
biasanya satu arah. Transfer alamat terjadi lebih sering daripada penghitung
perangkat lunak (komputer), register tumpukan, atau siklus komputasi
alamat memori, tetapi tidak sebaliknya.

Bus data (bus data) biasanya diberitahukan. penggunaannya juga


bilateral. Ini dapat mentransfer data, instruksi dan alamat, serta mentransfer
data ke dan dari sistem memori utama, bantuan I/O dan ALU.

Bus kontrol (bus kontrol) mengirimkan sinyal dari modul kontrol ke


komponen lain di komputer dan kembali ke modul kontrol. Sinyal kontrol
yang dijalankannya akan mengontrol pengoperasian komponen ini.
menerima sinyal

Dukungan untuk periferal berkecepatan tinggi seperti hard drive


modern yang cepat memerlukan pengontrol monitor, GPU, dll. Solusi lama
untuk masalah ini adalah konektivitas terbatas. Pengontrol I/O bus lokal
sehingga pengontrol ini dapat berkomunikasi dengan memori pada
kecepatan bus lokal Bus lokal adalah rute di mana operator area memori
utama dapat memiliki akses langsung tanpa melalui bus I/O ekspansi.
Gambar 9.3 menunjukkan konsep bus lokal. Biasanya, pengontrol CRT
ditempatkan di soket saluran lokal. Hal ini memungkinkan penggunaan
"pintasan" dengan kecepatan bit yang lebih tinggi untuk kontrol video dan
kinerja video yang lebih baik. Namun, adaptor bus lokal dapat memengaruhi
lalu lintas CPU di memori. Dari bus lokal, adaptor berada tepat di ujung
prosesor, berinteraksi dengan memori pada kecepatan yang lebih cepat.
Setiap adaptor harus dirancang dengan hati-hati untuk menghindari
kelebihan beban pada bus lokal.

Arsitektur dan Organisasi Komputer 139


Universitas Pamulang Teknik Informatika S-1

Gambar 9. 3 Bus Lokal

b. Bus Sistem

Berbeda dengan bus lokal, bus sistem adalah bagian komputer yang
independen secara fungsional. Setiap sistem saluran memiliki rangkaian
kontrol yang sama yang disebut pengontrol garis, dan ada hakim dalam
setiap pengontrol saluran yang menangani permintaan penggunaan saluran.
Pengendali bus dapat digunakan bersama antara peralatan yang digunakan
oleh bus peralatan. Mereka yang ingin menggunakan bus sistem harus
meminta penggunaan bus. Bus sistem biasanya menghubungkan komponen
sistem seperti CPU, sistem I/O dan seringkali sistem memori utama dan
biasanya programmer. Sistem bus yang dioptimalkan untuk transfer data
antara I/O dan memori. Perbedaan utama antara bus sistem dan bus lokal
adalah bahwa bus sistem memiliki definisi yang terdokumentasi dengan baik
dan seragam, sehingga seorang desainer dapat mengintegrasikan sejumlah
besar perangkat keras ke dalam bus sistem. Sebaliknya, bus lokal
bergantung pada prosesor dan tidak didokumentasikan. Baik. Biasanya milik
pribadi. Contoh bus sistem adalah bus DEC, UNIBUS, S-100, dan Apple
NuBus.

c. Bus Lokal Diperluas

Bus lokal yang diperluas, yang terutama terletak di sistem mikro,


adalah bus lokal dengan ekstensi khusus untuk digunakan di luar prosesor.
Sama seperti sistem saluran dalam arti memberikan sinyal kontrol standar
selain menyediakan jalur data dan alamat, namun, ini lokal dalam arti itu

Arsitektur dan Organisasi Komputer 140


Universitas Pamulang Teknik Informatika S-1

adalah pulsa jam dan pengatur waktu rangkaian prosesor mengaturnya, jadi
ini tergantung pada prosesor.

5. Elemen-elemen Rancangan Bus

Meskipun ada banyak aplikasi bus yang berbeda, ada beberapa


pedometer dasar atau elemen desain yang dapat digunakan untuk
mengklasifikasikan dan membedakan bus. Berikut adalah klasifikasi elemen-
elemen rancangan bus :

Tabel 9. 1 Klasifikasi Elemen Bus

No Klasifikasi Jenis Elemen Rancangan

1. Type 1) Dedicated

2) Multiplexed

2. Arbitration Method 1) Centralized

2) Distributed

3. Timing 1) Synchronous

2) Asynchronous

4. Bus Width 1) Address

2) Data

a. Jenis Bus

Jalur bus dapat dibagi menjadi dua tipe dasar: tunggal dan ganda.
Jalur bus eksklusif secara permanen ditetapkan ke suatu fungsi atau bagian
fisik dari komponen komputer.

Contoh loyalitas fungsional adalah penggunaan alamat khusus dan


jalur data terpisah yang umum untuk banyak bus. Namun, ini tidak perlu.
Misalnya, informasi alamat dan data dapat dikirim melalui rangkaian baris
yang sama menggunakan baris kontrol alamat yang valid. Pada awal
transfer data, alamat ditempatkan di bus dan bilah alamat yang valid

Arsitektur dan Organisasi Komputer 141


Universitas Pamulang Teknik Informatika S-1

diaktifkan. Pada titik ini, setiap bagian memiliki waktu tertentu untuk menyalin
alamat dan menentukan apakah itu bagian yang valid. Alamat tersebut
kemudian dihapus dari bus dan koneksi bus yang sama digunakan untuk
membaca atau menulis transfer data nanti. Metode penggunaan garis yang
sama untuk berbagai tujuan ini dikenal sebagai perkalian pembagian waktu.

Keuntungan dari produk dengan waktu terbatas adalah lebih sedikit


jalur yang digunakan, yang menghemat ruang dan biasanya mahal.
Kelemahannya adalah setiap blok membutuhkan sirkuit yang lebih kompleks.
Ada juga kemungkinan penurunan kinerja, karena banyak kejadian di jalur
yang sama tidak dapat dijalankan secara paralel.

Akurasi fisik berarti menggunakan banyak bus, yang masing-masing


hanya menghubungkan sebagian dari modul. Contoh tipikal adalah
penggunaan bus input / output untuk menghubungkan semua modul I/O. Bus
ini kemudian dihubungkan ke bus utama melalui adaptor I/O. Manfaat
potensial dari loyalitas fisik adalah produktivitas tinggi. karena ada lebih
sedikit kontradiksi. Salah satu kelemahannya adalah peningkatan ukuran
dan biaya sistem.

b. Metode Arbitrasi

Semua kecuali sistem yang paling sederhana mungkin memerlukan


lebih dari satu perangkat kontrol saluran. Misalnya, modul I/O mungkin perlu
membaca atau menulis langsung ke memori tanpa mengirim data ke
prosesor. Karena hanya satu perangkat yang berhasil menyiarkan di satu
saluran pada satu waktu, diperlukan beberapa teknik arbitrase. Berbagai
metode secara kasar dapat dibagi menjadi terpusat dan didistribusikan.
Dalam skema terpusat, perangkat keras terpisah yang disebut pengontrol
garis atau arbiter bertanggung jawab atas penjadwalan saluran. Perangkat
dapat berupa blok atau bagian terpisah dari sebuah prosesor. Sirkuit
terdistribusi tidak memiliki pengontrol pusat. Sebaliknya, setiap modul berisi
logika kontrol akses, dan modul tersebut bekerja sama untuk berbagi bus.
Dalam kedua metode arbitrase, tujuannya adalah untuk menentukan
perangkat master, prosesor, atau modul I/O. Master kemudian dapat
memulai transfer data (seperti membaca atau menulis) dengan perangkat
lain yang bertindak sebagai pendukungnya. pertukaran.

Arsitektur dan Organisasi Komputer 142


Universitas Pamulang Teknik Informatika S-1

c. Timing

Waktu mengacu pada cara acara dikoordinasikan di dalam bus. Bus


menggunakan sinkronisasi atau asinkronisasi.

Timing Sinkronisasi, terjadinya peristiwa di bus ditentukan oleh jam.


Bus termasuk garis jam di mana jam memancarkan frekuensi normal dari
satu dan nol bergantian dengan durasi yang sama. Transmisi 1-0 sederhana
diposisikan sebagai siklus clock atau siklus saluran dan menetapkan interval
waktu.

Gambar 9. 4 Timing Syncronus Bus

Arsitektur dan Organisasi Komputer 143


Universitas Pamulang Teknik Informatika S-1

Semua perangkat lain di bus dapat membaca skala jam dan semua
acara dimulai pada awal siklus jam. Sinyal bus lain mungkin berubah di awal
jam (dengan sedikit penundaan). Sebagian besar acara menggunakan siklus
jam. Dalam contoh sederhana ini, prosesor menempatkan alamat memori di
bilah alamat selama siklus jam pertama dan dapat meminta beberapa bilah
status. Setelah bilah alamat dikoreksi, prosesor mengeluarkan sinyal aktivasi
alamat. Dalam mode membaca, prosesor mengeluarkan perintah baca di
awal siklus kedua. Modul memori mengenali alamat dan, setelah penundaan
siklus, memasukkan data ke jalur data. Prosesor membaca data dari jalur
data dan menyetel ulang sinyal pembacaan. Untuk fungsi perekaman,
prosesor menempatkan data ke dalam baris data pada awal siklus kedua
dan mengeluarkan perintah tulis setelah baris data dikoreksi. Modul memori
menyalin informasi dari jalur data selama siklus jam ketiga.

timing asinkron melacak terjadinya suatu peristiwa di dalam bus dan


bergantung pada terjadinya peristiwa sebelumnya. dalam contoh pembacaan
sederhana pada gambar 9.4 prosesor menempatkan sinyal alamat dan
status pada bus. Setelah sinyal ini distabilkan, ia mengeluarkan perintah
baca yang menunjukkan tekanan sebenarnya dari sinyal kemudi dan kontrol.
Cocok menerjemahkan iklan dan bereaksi dengan menempatkan data dalam
string data. Setelah mengoreksi jalur data, modul memori memvalidasi jalur
yang dikenali untuk menginformasikan proses bahwa data tersedia. Setelah
master membaca data dari jalur data, sinyal pembacaan dimatikan. Ini
menyebabkan modul memori membuang data dan mengenali string.
Akhirnya, segera setelah garis identifikasi dipotong, master menghapus
informasi alamat..

Dalam kasus ini, wizard menempatkan data di baris data sambil


menampilkan baris status dan alamat. Modul memori menanggapi perintah
tulis dengan menyalin data dari jalur data dan kemudian mengkonfirmasi
jalur identifikasi. Master kemudian menyetel ulang sinyal tulis dan modul
memori menyetel ulang sinyal pengenalan.

Asinkronisasi lebih mudah diterapkan dan dikelola. Namun, ini kurang


fleksibel dibandingkan sinkronisasi asinkron. Karena semua perangkat di bus
modern terhubung dengan kecepatan jam yang konstan, sistem tidak dapat
memanfaatkan kinerja perangkat. Dengan sinkronisasi asinkron, perpaduan

Arsitektur dan Organisasi Komputer 144


Universitas Pamulang Teknik Informatika S-1

perangkat lambat dan cepat yang menggunakan teknologi lama dan baru
dapat berbagi bus.

Gambar 9. 5 Timing Asyncronus Bus

d. Lebar Bus

Kami telah membahas konsep lebar saluran. Lebar saluran data


mempengaruhi kinerja sistem: semakin besar saluran data, semakin banyak
bit yang ditransmisikan secara bersamaan. Lebar bus alamat mempengaruhi
kinerja sistem: semakin besar bus alamat, semakin besar kisaran lokasi
yang dilaporkan.

Arsitektur dan Organisasi Komputer 145


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas
Untuk mengetahui apakah Anda telah mampu memahami Sistem Bus pada sistem
komputer, kerjakan latihan sebagai berikut :
1. Apa yang dimaksud dengan Sistem Bus pada sistem komputer?
2. Bagaimana fungsi struktur Sistem Bus pada sistem komputer?
3. Sebutkan saluran-saluran pada Sistem Bus!
4. Sebutkan klasifikasi elemen rancangan sistem bus?
5. Sebutkan dan jelaskan timing pada Sistem Bus?

D. Referensi

Stallings, W. (2010). Computer Organization and Architecture: Designing for


Performance (8th Edition). New Jersey: Prentice Hall.

Tanenbaum, Andrew S. (2005). Structured Computer Organizatizion: Designing for


Performance (5th Edition). New Jersey: Prentice Hall.

Hamacher, C., Vranesic, Z., Zaky, S., & Manjikian, N. (2011). Computer
Organization and Embedded Systems (6th edition). New York: McGraw-Hill.

Arsitektur dan Organisasi Komputer 146


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 10

PIPELINING

A. Tujuan Pembelajaran

Setelah mempelajari materi ini, Mahasiswa memahami pemrosesan dengan


pipelining serta dapat melakukan pengolahan sederhana menggunakan teknik
pipelining.

B. Uraian Materi
1. Pengertian Pipelining

Pipelining adalah metode aplikasi yang menurut banyak instruksi.


tumpang tindih saat runtime; menggunakan paralel di antara mereka tindakan
yang diperlukan untuk menjalankan perintah. Saat ini pipelining adalah teknik
implementasi utama yang digunakan untuk membangun prosesor cepat.
dengan cara yang sangat efisien untuk mengatur pekerjaan simultan dalam
sistem komputer. Ide dasarnya sangat sederhana. Sering ditemukan dalam
pemrosesan objek di mana perpipaan biasanya disebut sebagai operasi jalur
perakitan.
Pipa itu seperti jalur perakitan. Ada jalur perakitan mobil banyak langkah,
yang masing-masing memberikan kontribusi pada desain mobil. Setiap langkah
bekerja secara paralel dengan langkah-langkah lain, meskipun di mesin yang
berbeda. Di komputer pipeline, setiap langkah pipeline menyelesaikan bagian
dari perintah. Seperti jalur perakitan, tahapan yang berbeda menjalankan
bagian yang berbeda dari instruksi yang berbeda pada waktu yang bersamaan.
Masing-masing langkah ini disebut segmen pipa atau pipa. Banyak faktor yang
mempengaruhi kecepatan eksekusi program. Cara untuk meningkatkan kinerja
adalah penggunaan sirkuit yang lebih cepat untuk prosesor dan aplikasi wizard
ukuran memori. Pilihan lain adalah mengatur peralatan sehingga berfungsi
ganda bisa berjalan bersamaan. Jadi, jumlah operasi yang dilakukan di yang
kedua bertambah, meskipun waktu yang dibutuhkan untuk menyelesaikan
fungsinya tidak berubah.

Arsitektur dan Organisasi Komputer 147


Universitas Pamulang Teknik Informatika S-1

Langkah-langkahnya terhubung satu sama lain dalam tabung - instruksi


dimasukkan ke dalam satu akhirnya, pergilah ke stadion dan keluar ke ujung
lain seperti mobil perakitan. Pada jalur perakitan mobil, produktivitas
didefinisikan sebagai jumlah mobil. per jam dan ditentukan oleh seberapa
sering mobil meninggalkan jalur perakitan. Demikian pula, kinerja baris perintah
ditentukan oleh seberapa sering instruksi keluar dari pipa. Karena tahapan pipa
terhubung satu sama lain, semuanya Tahapan harus siap untuk bagian
simultan, seperti yang kita butuhkan dalam satu garis produksi. Waktu yang
dibutuhkan antara memindahkan perintah satu langkah ke bawah konduktor
adalah siklus prosesor. Karena semua langkah dilakukan secara bersamaan,
Waktu siklus prosesor ditentukan oleh waktu yang dibutuhkan untuk yang
paling lambat tahap pipa, seperti di jalur perakitan otomatis, langkah terpanjang
akan ditentukan waktu antara memajukan garis.
Di komputer, siklus prosesor ini biasanya 1 ketukan (terkadang 2, jarang
lebih). Tugas perancang pipa adalah menyeimbangkan panjang setiap tahap
pipa, saat perancang jalur perakitan mencoba menyeimbangkan waktu setiap
langkah proses.
Jika tahapan benar-benar seimbang, maka waktu instruksi diaktifkan.
penangan pipa - dalam kondisi ideal - sama dengan
Waktu per instruksi pada mesin tanpa

terhubung

Jumlahpercepatan
Dalam kondisi tersebut, anak tangga pipa
dari tabung sama dengan jumlah
tabung. panggung, seperti jalur perakitan panggung idealnya dapat
menghasilkan mobil dan jam tangan segera. Biasanya, bagaimanapun, tahapan
tidak bisa diseimbangkan dengan sempurna. Selain, pipa melibatkan beberapa
biaya tambahan. Jadi, waktu untuk tim masuk prosesor pipa tidak akan memiliki
nilai serendah mungkin, tetapi mungkin mendekati. Pipelining mengurangi
waktu eksekusi rata-rata per perintah. Bergantung pada apa yang Anda anggap
asli, kontraksi dapat dianggap sebagai mengurangi jumlah siklus jam per
instruksi (CPI), misalnya jam waktu siklus atau sebagai kombinasi. Jika titik
awalnya adalah prosesor, itu dia berlangsung beberapa siklus jam per instruksi,
dan kemudian pipelining biasanya dipandang sebagai penurunan CPI.
Lima tahap sesuai dengan mereka pada Gambar 10.1 diberi label sebagai
mengambil (Fetch), membaca sandi (Decode), menghitung (Compute),

Arsitektur dan Organisasi Komputer 148


Universitas Pamulang Teknik Informatika S-1

penyimpanan (Memory) dan menulis (write). Arahan Ij dipulihkan pada siklus


pertama dan dilanjutkan ke tahap selanjutnya. dalam siklus berikut. Pada siklus
kedua, Arahan Ij.IJ + 1 diperoleh selama perintah Ij sedang dalam tahap
decoding dimana pernyataannya juga dibaca dari file registry. Di siklus ketiga,
instruksi IJ + 2 diekstraksi saat Ij + 1 berada pada tahap decoding dan instruksi
IJ dalam tahap komputasi di mana operasi numerik atau logika dilakukan dalam
fungsinya. Idealnya, rencana eksekusi yang berlebihan ini akan tersedia untuk
semua orang. instruksi Meskipun pelaksanaan arahan membutuhkan lima
siklus, instruksi dieksekusi dengan kecepatan per siklus.

Gambar 10. 1 diberi label sebagai mengambil (Fetch), membaca sandi (Decode),
menghitung (Compute), penyimpanan (Memory) dan menulis (write).

2. Pipelining Unit Aritmatika

Aritmatika perpipaan biasanya digunakan pada komputer


berkecepatan sangat tinggi. Ini digunakan untuk melakukan operasi titik
mengambang, perkalian titik tetap angka dan perhitungan serupa ditemukan
dalam masalah ilmiah. Satu pengganda konduktor pada dasarnya adalah

Arsitektur dan Organisasi Komputer 149


Universitas Pamulang Teknik Informatika S-1

pengganda matriks dengan aditif khusus yang dirancang untuk


meminimalkan waktu perambatan transportasi beberapa produk.

Sekarang akan menunjukkan contoh modul saluran untuk menambah


dan menghapus titik mengambang. Input ke saluran titik mengambang
menambah dua titik mengambang yang dinormalisasi. bilangan biner bertitik.

X = A X 2a

Y = 8 X 2b

A dan B adalah dua pecahan yang mewakili mantissa, dan a dan b


adalah peserta pameran. Menambah dan menghapus angka floating point
bisa dilakukan di empat bagian register berlabel R ditempatkan di antara
bagian untuk menyimpan hasil antara.

Sub-fungsi itu Terdiri dari empat bagian:

1. Bandingkan eksponennya
2. Sejajarkan mantisa
3. Tambah atau hapus mantisa.
4. Terapkan hasilnya.

Beberapa opsi yang digunakan untuk mengurangi waktu eksekusi sub-


fungsi. DI eksponen dibandingkan dengan menguranginya untuk
menentukan perbedaan di antara eksponen. Eksponen tertinggi dipilih
sebagai eksponen hasil. Eksponen perbedaan tersebut menentukan berapa
kali mantisa dikaitkan dengan indikator bawah harus digeser ke kanan. Ini
mengarah pada keselarasannya dua mantisa. Perlu dicatat bahwa
perubahan harus diformat sebagai sirkuit gabungan untuk mengurangi waktu
beralih. Dua peramal ditambahkan atau dikurangi di bagian 3. Hasilnya
dinormalisasi di bagian 4. Kapan terjadi overflow, peramal untuk jumlah atau
selisih digeser ke kanan dan meningkat secara eksponensial satu. Dalam hal
keunggulan, jumlah inisial nol di mantisa menentukan jumlah shift kiri di
mantisa dan angka yang akan dikurangi dari eksponen.

Contoh numerik berikut dapat memperjelas subfungsi untuk dibentuk di


setiap bagian. Untuk kesederhanaan, kami menggunakan tempat decimal
Ara. Pertimbangkan dua titik bergerak yang dinormalisasi nomor:

X = 0. 9504 X 103

Arsitektur dan Organisasi Komputer 150


Universitas Pamulang Teknik Informatika S-1

Y = 0.8200 X 102

Di bagian pertama, dua eksponen dikurangi, dan ternyata 3 - 2 = 1.


eksponen tertinggi 3 dipilih sebagai eksponen hasil. Bagian selanjutnya
menggeser mantisa Y ke kanan untuk menembak

X = 0.9504 X 103

Y = 0.0820 X 103

Ini menyelaraskan dua mantisa dengan eksponen yang sama.


Menambahkan dua mantisa di bagian 3 memberikan jumlahnya

Z = 1.0324 X 103

Jumlahnya disesuaikan dengan menormalkan hasil sehingga


mengandung pecahan dengan digit pertama bukan nol. Untuk melakukan ini,
Anda perlu memindahkan peramal sekali ke kanan dan tingkatkan eksponen
satu per satu untuk mendapatkan jumlah yang dinormalisasi

Z = 1.0324 X 104

Komparator, shifter, adder, increment dan reducer masuk Konduktor


titik mengambang diimplementasikan oleh sirkuit kombinasional seharusnya
.Misalkan waktu tunda keempat segmen adalah t1 = 60 ns, t2 = 70 ns, t3 =
100 ns, t4 = 80 ns, dan register antarmuka memiliki penundaan sebesar tr =
10 ns. Dermaga lingkaran yang dipilih sama dengan tp = t3 + tr = 110 ns.Non-
konduktor setara titik penjumlah-pengurang akan memiliki waktu tunda tn = t1
+ t2 + t3 + t4 + tr = 320 ns Dalam hal ini, pipa memiliki kecepatan 320/110 =
2,9 lebih tinggi.

Arsitektur dan Organisasi Komputer 151


Universitas Pamulang Teknik Informatika S-1

Gambar 10. 2 Operator untuk menambah dan menghapus titik bergerak.

3. Pipelning Instruksi

Ketika sistem komputer berkembang, kinerja yang lebih tinggi dapat


dicapai dengan memanfaatkan teknologi seperti sirkuit yang lebih cepat.
Selain itu, perbaikan organisasi pada prosesor dapat meningkatkan kinerja.
Kita sudah melihat beberapa contoh seperti ini seperti menggunakan banyak
register dari pada satu penggunaan baterai dan cache. Pendekatan organisasi
lain, yang cukup umum adalah pipelining instruksi.
Banyak faktor yang mempengaruhi kecepatan eksekusi program. Cara
untuk meningkatkan kinerja adalah penggunaan sirkuit yang lebih cepat untuk
prosesor dan aplikasi wizard ukuran memori. Pilihan lain adalah mengatur
peralatan sehingga berfungsi ganda dapat dilakukan secara bersamaan. Jadi,
jumlah operasi yang dilakukan yang kedua bertambah, meskipun waktu yang
dibutuhkan untuk menjalankan fungsinya tidak telah berubah.

Arsitektur dan Organisasi Komputer 152


Universitas Pamulang Teknik Informatika S-1

Setiap kondisi yang melumpuhkan saluran disebut bahaya. Kami baru


saja menjelaskan sebuah contoh resiko adat dimana nilai operator asal
operator tidak tersedia saat dibutuhkan. Bahaya lainnya muncul dari
penundaan memori, instruksi cabang, dan kendala sumber daya. Beberapa
bagian berikutnya menjelaskan risiko ini secara lebih rinci. dengan metode
untuk mengurangi dampaknya terhadap kinerja.
Pemrosesan pipa dapat terjadi tidak hanya di aliran data, tetapi juga
dalam instruksi.mengalir juga. Tabung panduan membaca instruksi berurutan
dari memori sementara instruksi sebelumnya berjalan di bagian lain. Ini
menyebabkan instruksi tumpang tindih dan eksekusi operasi simultan.
Kemungkinan pelanggaran terkait dengan itu Gambar tersebut menunjukkan
bahwa direktif dapat menyebabkan pelanggaran urutan percabangan. Pada
kasus ini pipa harus dikeringkan dan semua instruksi dari mana mereka
dibaca memori setelah instruksi lompat harus dibuang.
Bayangkan sebuah komputer dengan modul dan instruksi pemulihan
perintah unit eksekusi dirancang untuk menyediakan konduktor dua bagian.
Pengarahan bagian pemulihan dapat diimplementasikan melalui FIFO (first-in-
first-out, FIFO) pengatur. Ini adalah tipe blok yang membentuk antrian, bukan
tumpukan. Kapanpun drive tidak menggunakan memori, kontrol meningkatkan
program counter dan menggunakan nilai alamatnya untuk membaca instruksi
berurutan dari memori Batasan. Instruksi disuntikkan ke dalam FIFO sehingga
mereka bias dieksekusi pada pintu keluar pertama dan pertama. Dengan cara
ini Anda dapat menempatkan alur instruksi dalam antrian, menunggu
decoding dan pemrosesan oleh departemen eksekusi. DI Mekanisme tunggu
baris perintah menyediakan cara yang efisien untuk mengurangi waktu akses
memori rata-rata untuk membaca instruksi. Saat ada kosong di FIFO, unit
kontrol mulai menerima perintah berikutnya tahap. Buffer bertindak sebagai
antrian dimana kontrol kemudian mengambil pernyataan tersebut. untuk unit
eksekutif.
Komputer dengan instruksi yang rumit membutuhkan langkah yang
berbeda unduh dan jalankan untuk memproses perintah sepenuhnya. Secara
umum Dalam hal ini, komputer harus memproses setiap instruksi dengan
yang berikut ini serangkaian langkah.

a. Ambil instruksi dari memori.


b. Menguraikan instruksi.

Arsitektur dan Organisasi Komputer 153


Universitas Pamulang Teknik Informatika S-1

c. Hitung alamat sebenarnya.


d. Kembalikan operator dari memori.
e. Ikuti instruksinya.
f. Simpan hasilnya di lokasi yang benar.

Ada beberapa kesulitan yang akan dihadapi oleh baris perintah dari
pekerjaan hingga maksimal. Bagian yang berbeda mungkin berbeda waktu
kerja informasi yang masuk. Beberapa bagian dihilangkan untuk tindakan
tertentu. Misalnya, perintah registrasi tidak diperlukan perhitungan cepat dari
alamat tersebut. Dua atau lebih partisi mungkin membutuhkan memori akses
pada saat yang sama, menyebabkan satu bagian menunggu sampai yang lain
selesai dengan memori. Konflik akses memori terkadang diselesaikan dengan
dua saluran memori untuk mengakses instruksi dan data pada disk terpisah.
Dengan demikian, kata kontrol dan kata data dapat dibaca secara bersamaan
dua bagian berbeda.
Membuat tabung instruksi akan lebih efisien jika siklus dibagi menjadi
beberapa segmen dengan panjang yang sama. Waktu saat setiap langkah
apa yang dibutuhkan untuk menjalankan fungsinya tergantung pada instruksi
dan bagaimana itu dilakukan.
Misalkan instruksi decoding dapat digabungkan dengan perhitungan
alamat sebenarnya di bagian tersebut. Misalkan sebagian besar instruksi
menempatkan hasil di register prosesor sehingga instruksi eksekusi dan
penyimpanan hasil dapat digabungkan dalam satu bagian. Ini mengurangi
tabung perintah menjadi empat bagian.
Gambar 10.3 menunjukkan bagaimana siklus instruksi diproses di CPU.
dengan tabung empat bagian. Saat perintah berjalan di bagian 4 perintah
selanjutnya adalah keluaran operator berurutan memori di bagian 3. Alamat
sebenarnya dapat dihitung secara terpisah skema numerik untuk instruksi
ketiga dan kapan pun memori tersedia instruksi keempat dan semua instruksi
selanjutnya dapat diambil dan ditempatkan di dalam Perintah FIFO. Dengan
demikian, hingga empat sub-fungsi dalam satu putaran perintah bias tumpang
tindih, dan hingga empat instruksi berbeda dapat dijalankan memproses
secara bersamaan.
Terkadang tim dalam satu baris bisa menjadi pemeriksa program jenis
yang menyebabkan percabangan dari urutan normal. Dalam hal ini, Pekerjaan
di dua bagian terakhir selesai dan semua informasi disimpan. Pengatur

Arsitektur dan Organisasi Komputer 154


Universitas Pamulang Teknik Informatika S-1

perintah dihapus. Kemudian tabung di mulai ulang dengan yang baru. alamat
disimpan di penghitung program. Demikian juga, permintaan untuk berhenti
saat dikenali, membuat saluran kosong dan memulai yang baru lagi nilai
alamat.

Gambar 10. 3 Empat bagian tabung cpu

a. Optimalisasi pipeline

Sifat sederhana dan teratur dari panduan RISC membuatnya lebih


mudah bagi perancang peralatan untuk mengimplementasikan pipeline
yang sederhana dan cepat. Ada beberapa opsi untuk eksekusi perintah,
dan Explorer dapat disesuaikan untuk mencerminkan hal ini. Namun, kami
telah melihat data dan ketergantungan industri mengurangi kecepatan
eksekusi secara keseluruhan.

Arsitektur dan Organisasi Komputer 155


Universitas Pamulang Teknik Informatika S-1

Industri latency Untuk mengkompensasi ketergantungan ini,


refactoring kode teknik telah dikembangkan. Mari kita lihat instruksi
percabangan terlebih dahulu. Industri yang ditangguhkan - salah satu cara
untuk meningkatkan efisiensi jalur pipa - menggunakan salah satunya
cabang yang tidak memberikan hasil setelah menjalankan instruksi (karena
itu istilah "penundaan"). Posisi pesanan segera setelah pemisahan disebut
waktu tunda. Proses aneh ini ditunjukkan pada Tabel 10.1.1. DI di kolom
"cabang normal", kita melihat program dalam bahasa mekanik simbolik
konvensional. Setelah menjalankan 102, jalankan perintah berikut 105.
Untuk menormalkan pipa, NOOP disisipkan setelah cabang ini. Namun, itu
meningkat kinerja dicapai jika instruksi pada 101 dan 102 dapat
dipertukarkan.

Perintah JUMP dijalankan pada waktu 4. Pada jam 5, perintah JUMP


dijalankan.bersamaan dengan diterimanya perintah 103 (perintah ADD).
Karena melompat Sebuah pesan muncul yang memberitahu penghitung
program bahwa saluran perlu dihapus dari direktif 103. Pada waktu 6,
perintah 105 dimuat, yang merupakan target JUMP. Gambar 10.2b
menunjukkan kabel yang sama berjalan dengan RISC tipikal. Sinkronisasi
ini sama. Namun, karena diperkenalkannya perintah NOOP, kami tidak
melakukan ini. Anda membutuhkan sirkuit khusus untuk membersihkan
saluran. NOOP hanya berfungsi tanpa hasil. Gambar 10.2c menunjukkan
penggunaan cabang yang tertunda. Perintah JUMP diterima di 2 jam
sebelum perintah ADD diterima pada waktu 3. Perhatikan, bagaimanapun,
itu Perintah ADD diterima sebelum perintah JUMP dijalankan kemampuan
untuk mengubah penghitung program. Oleh karena itu, selama waktu 4
perintah ADD dijalankan bersamaan dengan diterimanya perintah 105.
Jadi, semantik aslinya program didukung, tetapi membutuhkan dua siklus
clock lebih sedikit untuk dijalankan.

Pertukaran instruksi ini akan berhasil tanpa syarat cabang, panggilan


dan pengembalian. Untuk lompatan bersyarat, proses ini tidak dapat
dilakukan diterapkan secara membabi buta. Jika situasi yang diuji untuk
industri dapat diubah.

Arsitektur dan Organisasi Komputer 156


Universitas Pamulang Teknik Informatika S-1

b. Multiple Streams

Pipa sederhana dikenakan sanksi untuk percabangan karena dia


perlu memilih salah satu dari dua instruksi yang harus dia ikuti dan dia
mungkin salah pilihan. Pendekatan brute force adalah meniru bagian asli
konveyor dan biarkan konduktor menerima kedua instruksi menggunakan
dua aliran. Ada dua masalah dengan pendekatan ini:

1) Banyak pipeline mengalami penundaan akses register dan dalam


penyimpanan.
2) Instruksi cabang tambahan dapat masuk ke pipa (aliran apa pun)
sebelumnya keputusan cabang asli telah diselesaikan. Petunjuk
seperti itu membutuhkan aliran tambahan

Terlepas dari kekurangan tersebut, strategi ini dapat meningkatkan


kinerja. Contoh dari mesin dengan dua atau lebih konveyor adalah IBM
370/168 dan IBM 3033.

4. Prefetch Branch Target

Ketika cabang bersyarat dikenali, targetnya adalah industrinya, kecuali


untuk instruksi yang diikuti oleh industri. Ini Target kemudian dipertahankan
sampai perintah lompat dijalankan. Jika cabang diterima,target sudah dibuat
sebelumnya. IBM 360/91 mengambil pendekatan ini.

5. Loop Buffer

Loop buffer adalah memori kecil berkecepatan tinggi yang dipegang


oleh instruksi untuk memuat tahap pipa dan berisi yang baru saja diterima
instruksi, secara berurutan. Jika Anda perlu mendapatkan cabang, periksa
bahannya terlebih dahulu jika target industri ada di cache. Jika demikian,
petunjuk berikut diambil dari buffer. Buffer loop memiliki tiga keuntungan:

a. Saat menggunakan preloading, buffer loop akan berisi beberapa instruksi


secara berurutan sebelum perintah saat ini mengembalikan alamat. Jadi
instruksinya unduhan berurutan akan tersedia tanpa waktu akses memori
normal.
b. Jika cabang muncul pada target hanya di beberapa tempat sebelum
alamatnya instruksi industri, target akan berada di buffer. Ini berguna untuk

Arsitektur dan Organisasi Komputer 157


Universitas Pamulang Teknik Informatika S-1

kejadian yang cukup umum dari rangkaian IF - THEN dan IF - THEN –


ELSE
c. Strategi ini sangat cocok untuk bekerja dengan loop atau repetisi. maka
buffer nama loop. Jika buffer loop cukup besar untuk menampung semua
instruksi dalam satu lingkaran, maka instruksi ini harus diambil dari memori
hanya sekali, untuk pengulangan pertama. Untuk pengulangan berikutnya,
semua instruksi yang diperlukan sudah ada di buffer.

Buffer loop pada prinsipnya mirip dengan cache yang didedikasikan


untuk instruksi. Perbedaannya adalah buffer loop hanya menyimpan instruksi
dalam urutan dan ukurannya jauh lebih kecil dan karenanya lebih rendah
biayanya.
Gambar 10.4. menunjukkan contoh buffer loop. Jika buffer berisi 256
byte, dan alamat byte digunakan, kemudian 8 bit yang lebih rendah digunakan
untuk mengatur indeksnya

Gambar 10. 4 Loop Buffer

Sisa bit terpenting lainnya diperiksa untuk menentukan apakah Targetnya


ada di lingkungan yang ditangkap oleh buffer.

Di antara mesin yang menggunakan buffer loop adalah mesin CDC.(Bintang-


100, 6600, 7600) dan CRAY-1. Format buffer loop yang disesuaikan tersedia di
Motorola 68010, untuk menjalankan siklus tiga instruksi yang disertakan petunjuk
DBcc buffer tiga kata didukung dan prosesor menjalankan instruksi ini.beberapa
kali hingga kondisi loop terpenuhi.

Arsitektur dan Organisasi Komputer 158


Universitas Pamulang Teknik Informatika S-1

6. Branch Prediction

Varian BTB adalah siklus penyangga. Ini adalah kecepatan kecil yang
sangat tinggi log dipertahankan oleh bagian pemulihan perintah pipeline When
siklus program ditemukan dalam program, disimpan di dalamnya dalam buffer
siklus secara umum termasuk semua sektor. Loop program dapat dimulai
secara langsung tanpa akses memori sampai fungsi loop dihapus dari yang
terakhir cabang.
Berbagai teknik dapat digunakan untuk memprediksi apakah suatu
cabang akan diambil. Di antara yang lebih umum adalah sebagai berikut:

a. Prediksi tidak pernah diambil


b. Prediksi selalu diambil
c. Prediksi dengan opcode
d. Diambil / tidak diambil saklar
e. Tabel sejarah cabang

Tiga pendekatan pertama bersifat statis: mereka tidak bergantung pada


riwayat eksekusi sebelum cabang bersyarat. Dua pendekatan terakhir bersifat
dinamis: bergantung pada riwayat eksekusi.
Dua pendekatan pertama adalah yang paling sederhana. Mereka selalu
menganggapnya cabang tidak akan berkomitmen dan akan terus menerima
instruksi secara berurutan, atau ini Selalu berasumsi bahwa industri akan dan
akan selalu menerima dari industri sasaran. Pendekatan tak terduga adalah
yang paling populer dari semua metode peramalan di industri.
Studi yang menganalisis perilaku program telah menunjukkan bahwa
disiplin bersyarat membutuhkan lebih dari 50% waktu [LILJ88], dan oleh karena
itu, memerlukan biaya persiapan Semua rute sama dan kemudian dialihkan dari
alamat tujuan cabang. Harus memberikan kinerja yang lebih baik daripada
sebelumnya melakukan pramuat dari rute serial. Namun, pada mesin paging, ini
lebih cenderung memicu persiapan target industri. kesalahan halaman karena
penerimaan berurutan dari perintah berikutnya, jadi penurunan kinerja ini harus
dipertimbangkan. Mekanisme pencegahannya bias digunakan untuk
mengurangi kalimat ini.
Pendekatan statis terakhir membuat keputusan berdasarkan opcode-nya.
instruksi industri. Prosesor mengasumsikan bahwa cabang akan dimuat terus

Arsitektur dan Organisasi Komputer 159


Universitas Pamulang Teknik Informatika S-1

menerus. opcode industri, bukan untuk yang lain. [LILJ88] melaporkan bahwa
tingkat keberhasilan melebihi 75% dengan strategi ini.
Strategi industri yang dinamis bertujuan untuk meningkatkan akurasi
peramalan catat sejarah saran cabang dalam program. Contohnya, satu atau
lebih bit dapat dikaitkan dengan setiap perintah industri dalam kondisi itu
mencerminkan sejarah pengajaran baru-baru ini. Bit ini dilaporkan sebagai
diterima / saklar tidak digunakan yang menginstruksikan prosesor untuk
membuat keputusan khusus di kemudian hari ketika arahan dipatuhi. Biasanya
potongan sejarah ini tidak berhubungan dengan instruksi di memori utama.
Sebaliknya, mereka disimpan dalam cache berkecepatan tinggi. Salah satu
kemungkinannya adalah mengikat bit ini ke cabang bersyarat mana pun.
instruksi di cache. Ketika sebuah perintah diganti di cache, sejarahnya hilang.
Kemungkinan lain adalah dengan menyimpan tabel kecil untuk dieksekusi baru-
baru ini instruksi cabang dengan satu atau lebih trek sejarah per catatan.
Prosesor bias mengakses tabel korelasi seperti cache, atau menggunakan bit
yang paling tidak signifikan alamat cabang.
Dengan satu bit, satu-satunya hal yang dapat direkam adalah jika
dijalankan terakhir perintah ini menghasilkan cabang atau tidak. Kerugian
menggunakan salah satunya Bit muncul dalam kasus perintah cabang
bersyarat yang hampir selalu diterima sebagai perintah loop. Dengan satu
riwayat, kesalahan prediksi akan terjadi dua kali untuk setiap penggunaan loop:
sekali saat memasuki loop dan sekali di pintu keluar.
Jika dua bit digunakan, mereka dapat digunakan untuk merekam hasil
dari dua bit terakhir.kasus pelaksanaan urutan yang sesuai atau fiksasi situasi
di beberapa mode lain. Gambar 10.5. menunjukkan pendekatan tipikal (lihat.
kemampuan).

Arsitektur dan Organisasi Komputer 160


Universitas Pamulang Teknik Informatika S-1

Gambar 10. 5 Diagram Alir Prediksi Cabang

Misalkan algoritme berjalan di sudut kiri atas. diagram blok. Jika setiap
cabang berikutnya bersyarat mempertimbangkan, proses pengambilan
keputusan memprediksi bahwa cabang berikutnya akan menjadi diterima. Jika
prediksi individu salah, algoritme terus memprediksi itu cabang berikutnya
ternyata. Hanya jika dua cabang yang berurutan tidak diterima, algoritme akan
pindah ke sisi kanan diagram alur. Maka algoritmanya akan memprediksi
bahwa cabang tidak akan diambil sampai dua cabang berturut-turut diambil.
Begitu, algoritme memerlukan dua prediksi salah yang berurutan untuk
mengubah prediksi keputusan.
Proses pengambilan keputusan dapat direpresentasikan secara lebih
kompak daripada keadaan akhir mesin, seperti yang ditunjukkan pada gambar
10.5. Dalam literatur, representasi mesin negara banyak digunakan.

Arsitektur dan Organisasi Komputer 161


Universitas Pamulang Teknik Informatika S-1

Menggunakan cuplikan plot seperti yang baru saja dijelaskan memiliki


satu kelemahan: solusinya dibuat untuk menerima industri, perintah target tidak
dapat diterima sampai alamat tujuan diterjemahkan, yang merupakan operator
dalam perintah industri bersyarat.Efisiensi yang lebih besar dapat dicapai jika
pemulihan pesanan dapat dimulai sebagai segera setelah keputusan tentang
cabang dibuat. Untuk ini, informasi tambahan harus tersedia. disimpan dalam
apa yang disebut buffer sementara industri atau tabel riwayat industri.
Tabel riwayat cabang adalah cache kecil yang terkait dengan fase
pemulihan dari instruksi jalur pipa. Setiap record dalam tabel terdiri dari tiga
elemen:alamat instruksi lompat, jumlah bit historis yang ditulis status
penggunaan perintah ini dan informasi tentang perintah penugasan. Paling
saran dan implementasi, kolom ketiga ini berisi alamat target mandat.
Kemungkinan lain adalah bahwa bidang ketiga benar-benar berisi target
mandat. Kompensasinya jelas: menjaga alamat tujuan memberikan tabel yang
lebih kecil tetapi waktu perintah yang lebih lama dibandingkan dengan
mempertahankan perintah target [RECH98].
Dalam gambar. 10.6 angka ini kontras dengan strategi yang tidak pernah
direncanakan. Dengan Strategi sebelumnya, tahap tim selalu mengambil
berikutnya berturut-turut alamat.

Gambar 10. 6 Diagram Status Prediksi Cabang

Arsitektur dan Organisasi Komputer 162


Universitas Pamulang Teknik Informatika S-1

Jika sebuah cabang dimuat, beberapa logika di prosesor


menemukannya dan mengelolanya. bahwa perintah selanjutnya akan diterima
dari alamat tujuan (kecuali flush pipa). Tabel sejarah industri diperlakukan
sebagai cache. Setiap draf mengaktifkan satu cari di tabel sejarah industri. Jika
tidak ada yang cocok, alamat berurutan berikutnya digunakan untuk
mengunduh. Jika kecocokan ditemukan, prediksi dibuat berdasarkan situasi.
perintah: alamat berurutan berikutnya atau alamat target industry didukung oleh
logika pilihan.
Ketika perintah cabang dijalankan, langkah eksekusi menandai cabang
tersebut tabel sejarah logis dengan hasilnya. Status tim diperbarui untuk
mencerminkan perkiraan yang benar atau salah. Jika prediksi salah, logika
pemilihan diarahkan ke alamat yang benar untuk pencarian berikutnya. Ketika
cabang bersyarat Instruksi yang tidak ada dalam tabel diproses, ditambahkan
ke tabel dan menjadi satu dihapus dari rekaman yang ada menggunakan salah
satu algoritme penggantian cache.
Meningkatkan pendekatan industri historis disebut sebagai dua tingkat
atau sejarah industri berdasarkan korelasi [YEH91]. Pendekatan ini didasarkan
pada asumsi bahwa di cabang-cabang siklus penutupan, sejarah cabang
tertentu sebelumnya belajar adalah prediktor yang baik untuk perilaku masa
depan dengan aliran kendali yang lebih kompleks struktur, arah industri sering
berkorelasi dengan arahnya industri yang relevan. Contohnya adalah struktur if-
then-else atau case. Ada banyak kemungkinan strategi. Biasanya sejarah
terkini dari industri global (yaitu, sejarahnya cabang terbaru (tidak hanya
perintah cabang ini) juga digunakan sejarah tatanan industri saat ini. Struktur
keseluruhan didefinisikan sebagai (m, n) korelator yang menggunakan perilaku
cabang terakhir untuk dipilih prakiraan industri 2mn-bit untuk tim industri saat ini.
Dengan kata lain, n-bit Sejarah disimpan untuk satu cabang untuk setiap
kemungkinan kombinasi cabang bagian terbaru.

7. Delayed Branch

Prosedur yang digunakan di sebagian besar prosesor tipuan adalah


cabang tertunda. Dalam prosedur ini, compiler mendeteksi instruksi cabang dan
mengatur ulang urutan kode bahasa mesin dengan memasukkan instruksi
berguna yang menjaga pipeline tetap beroperasi tanpa interupsi. Contoh
cabang tertunda adalah penyisipan instruksi tanpa operasi setelah instruksi

Arsitektur dan Organisasi Komputer 163


Universitas Pamulang Teknik Informatika S-1

cabang. Hal ini menyebabkan komputer mengambil instruksi target selama


pelaksanaan instruksi tidak ada operasi, yang memungkinkan aliran pipa terus
menerus. Kemungkinan peningkatan otomatis efisiensi pipa menyusun ulang
instruksi dalam program sehingga instruksi cabang muncul kemudian dari yang
dia inginkan.
Dalam gambar. Gambar 10.7. menunjukkan bahwa instruksi cabang
menunda pengoperasian pipa sampai instruksi diterima di alamat cabang.

Gambar 10. 7 Waktu pipa instruksi.

Bagian sebelumnya membahas beberapa metode untuk mengurangi


sanksi industri. Teknik yang digunakan oleh kebanyakan prosesor RISC adalah
dengan mengandalkan kompiler untuk menimpa cabang sehingga cabang
tersebut berlaku pada waktu yang tepat dalam pipeline. Metode ini disebut
transisi yang ditangguhkan.
Kompiler untuk prosesor yang menggunakan cabang latensi dirancang
untuk parse instruksi sebelum dan sesudah cabang dan atur ulang program
urutan dengan memasukkan instruksi yang berguna dalam langkah penundaan.
Contohnya, Kompilator mungkin menunjukkan bahwa ketergantungan program
mengizinkan satu atau lebih instruksi pra-industri untuk melanjutkan ke tahap
penundaan setelahnya cabang. Instruksi ini kemudian diambil dari memori dan
dijalankan. melalui pipa sementara perintah cabang dijalankan di jalur lain
bagian. Hasilnya sama seperti jika instruksi dijalankan sendiri pesanan awal,
tidak termasuk penundaan industri. Itu tergantung pada kompilernya temukan
instruksi yang berguna untuk memposting setelah perintah cabang. Jika tidak
Kompilator dapat memasukkan instruksi tanpa kemampuan.
Dalam gambar. 10.8. kompilator memasukkan dua instruksi yang tidak
terdaftar setelah percabangan. Alamat cabang X ditransmisikan ke komputer

Arsitektur dan Organisasi Komputer 164


Universitas Pamulang Teknik Informatika S-1

dalam siklus jam 7. Menerimanya Instruksi di X tertunda oleh dua siklus clock
dari instruksi tanpa seleksi. DI Perintah X memulai fase pemulihan dalam siklus
jam 8 setelah penghitung program Komputer telah diperbarui.

Gambar 10. 8 Menggunakan instruksi tanpa operasi

Gambar 10. 9 Mengatur ulang instruksi

Program dalam Gambar. 10.9. dimodifikasi dengan menempatkan


instruksi penjumlahan dan pengurangan setelah instruksi cabang, bukan
sebelumnya, seperti pada program aslinya. Memeriksa jadwal pipeline
menunjukkan bahwa komputer sedang memperbarui ke X dalam siklus clock 5,
tetapi instruksi penambahan dan pengurangan diambil dari memori dan
dijalankan dalam urutan yang benar. Dengan kata lain, jika memuat Perintah
ada di alamat 101, dan X di 350, perintah cabang diambil dari alamat 103.
Perintah penambahan diambil dari alamat 104 dan dijalankan di siklus jam 6.
Perintah pengurangan diterima di alamat 105 dan dijalankan di siklus jam 7.
Karena nilai X ditransmisikan ke komputer dengan clock cycle 5 di bagian E,
perintah yang diterima dari memori di clock cycle 6 berasal dari alamat 350,
yaitu perintah di jump address.

Arsitektur dan Organisasi Komputer 165


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas

Jawablah pertanyaan-pertanyaan di bawah ini berdasarkan materi yang Anda


pelajari di bagian Uraian Materi.

1. Jelaskan dengan singkat, apa itu Pipelining?


2. Apa saja kesulitan yang sering terjadi ketika menggunakan teknik pipeline?
3. Jelaskan kelebihan dari pipeline?
4. Jelaskan materi tentang Loop buffer dengan bahasa Anda sendiri secara singkat
dan padat?
5. Apa saja keuntungan dari loop buffer?

D. Referensi

John L. Hennessy & David A. Petterson. (2012). Computer Architecture: A


Quantitative Approach. 5th Edition. Massachusetts: Elsevier Inc.

M. Morris Mano, “Computer System Architecture, 3rd”, Prentice Hall,Eaglewood


Cliffs,1982.

Andrew S. Tanenbaum. (2006). Structured Computer Organization. 5th Edition. New


Jersey: Pearson Education Inc.

John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A


Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.

William Stallings. (2016). Computer Organization and Architecture: Designing for


Performance. 10th Edition. London: Pearson Education Limited.

Arsitektur dan Organisasi Komputer 166


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 11

PROSES NON PIPELINING

A. Tujuan Pembelajaran
Setelah mempelajari materi ini, Mahasiswa memahami pemrosesan dengan
pipelining serta dapat melakukan pengolahan sederhana menggunakan teknik
pipelining.

B. Uraian Materi
1. Pipelining dan Non Pipelining

Pipelining adalah teknik memisahkan tugas menjadi beberapa sub-tugas


dan menjalankannya tugas sub-sekuensial secara paralel, di beberapa unit
perangkat keras atau modul. Secara sederhana prosesor (non-pipelining),
langkah-langkah siklus perintah Pemrosesan konveyor - ini adalah metode
membagi tugas menjadi beberapa sub-tugas dan penyelesaiannya. Tugas
selanjutnya secara paralel, di beberapa blok atau modul perangkat keras.
Secara sederhana skalar, bukan cembung, selesaikan siklus perintah
satu sama lain, dan penyelesaian instruksi selanjutnya juga diselesaikan
akibatnya, satu sama lain. Investasi dalam pelatihan sampai siklus pelatihan
metodologi ini lampiran, di mana instruksi selanjutnya diselesaikan. Target
meningkatkan jumlah pesanan, diselesaikan untuk jangka waktu tertentu. Pipa
Ide jalur perakitan analog di unit produksi pabrik mobil. Kelompok Proses
pembuatan mobil dibagi menjadi beberapa tugas tambahan. Setiap tugas
sekunder diselesaikan secara khusus voxal / departemen. Pada saat tertentu
apartemen yang berbeda akan diisi dengan sub-tugas yang berbeda pula
Pendidikan analog dalam tabung prosesor melakukan berbagai bagian
prosesor. berbagai tahapan siklus pelatihan untuk instruksi yang berbeda pada
saat tertentu. satu demi satu, dan pelaksanaan instruksi berturut-turut juga
dilakukan berturut-turut, satu demi satu. Investasi pengajaran merupakan suatu
teknik untuk siklus pengajaran aplikasi, di mana eksekusi instruksi yang
berurutan tumpang tindih. Tujuannya adalah meningkatkan jumlah total
pesanan yang dieksekusi dalam periode waktu tertentu.

Arsitektur dan Organisasi Komputer 167


Universitas Pamulang Teknik Informatika S-1

Perpipaan Idenya mirip dengan jalur perakitan di unit produksi pabrik


mobil. Band Proses pembuatan mobil dibagi menjadi tugas-tugas sampingan
kecil. Setiap tugas sekunder dilakukan secara khusus stasiun / departemen.
Pada waktu tertentu, stasiun yang berbeda akan melakukan sub-tugas yang
berbeda pula mobil. Demikian pula, dalam prosesor perpipaan, berbagai bagian
prosesor dijalankan langkah-langkah berbeda dalam siklus pengajaran untuk
instruksi berbeda pada waktu tertentu. Setiap langkah disebut tahap tabung.
Semua tahapan pipa bersama-sama membentuk pipa. Gambar 11.7
menunjukkan perpipaan. merasakan. S1, S2,…, Sn adalah n seksi pembentuk
konduktor. Setiap bagian dijalankan pekerjaan sekunder pada input yang
diterima dari buffer, yang menyimpan output sebelumnya Kesatuan. Buffer
mengisolasi modul yang berdekatan Semua modul dapat dijalankan fungsinya
secara bersamaan. Tantangannya adalah mencapai peningkatan kinerja hingga
pelaksanaan tugas yang tumpang tindih.
Waktu yang dihabiskan untuk eksekusi setiap tugas sama dengan waktu
yang diperlukan untuk dilakukan secara berurutan (tidak melalui pemipaan).
Tapi karena pelaksanaan tugas yang berurutan secara bersamaan, jumlah
tugas yang dapat dilakukan dalam satu waktu ini lebih lama, yaitu peralatan
transportasi memberikan kinerja yang lebih baik daripada peralatan non-
transportasi peralatan.

Gambar 11. 1 Konsep pemipaan

Ada dua jenis pipa:


a. Instruksi
b. Konduktor numerik

Baris perintah membagi tindakan dari loop perintah menjadi beberapa


langkah berjalan pada bagian yang berbeda dari prosesor. Garis bilangan
dibagi operasi aritmatika, seperti perkalian, dengan beberapa langkah

Arsitektur dan Organisasi Komputer 168


Universitas Pamulang Teknik Informatika S-1

aritmatika, yang masing-masingnya dilakukan satu demi satu di bagian numerik


yang berbeda dari ALU tubular. Prosesor terdiri dari satu atau kedua jenis pipa.

Konsep konduktor numerik dibahas untuk fungsi floating point. Pembahasan


berikut menyangkut baris perintah.

2. Percepatan Pipelining

Kami mengamati bahwa konduktor dua tahap membutuhkan lima siklus


clock untuk menjalankan 4 instruksi, sedangkan prosesor tanpa kabel
membutuhkan 8 siklus clock (4x2). Demikian juga empat tahap Konduktor
membutuhkan 9 siklus clock untuk menjalankan enam instruksi, sedangkan
sebagai prosesor tanpa konduktor Diperlukan 24 meter (6x4).
Analisis berikut menunjukkan bahwa waktu yang dibutuhkan untuk
menjalankan instruksi pada langkah n pipa kira-kira. n. Waktu yang dibutuhkan
untuk perintah pertama = ntc, di mana tc adalah durasi siklus clock. Waktu yang
dihabiskan untuk instruksi lainnya (m - 1) = (m - 1) tc. Total waktu yang
digunakan untuk m instruksi = (ntc) + (m - 1) tc = (n + m - 1) tc.

Gambar 11. 2 Saluran pipa empat tahap

Arsitektur dan Organisasi Komputer 169


Universitas Pamulang Teknik Informatika S-1

Gambar 11. 3 Diagram waktu untuk pipa empat tahap

Gambar 11. 4 Prosesor saluran pipa enam tahap

Jika prosesor tidak berbentuk tabung, waktu yang diperlukan untuk


instruksi m adalah nmtc, asalkan waktu siklus pengajaran adalah ntc.
Keuntungan efisiensi jalur pipa = waktu yang digunakan untuk operasi di
luar jalur pipa / waktu yang dihabiskan

Untuk nilai m yang besar, ini jauh lebih besar dari n - 1. Oleh karena itu,
(n + m - 1) mendekati m. Oleh karena itu, peningkatan efisiensi atau
percepatan = nm / m = n.
Dengan demikian, percepatan maksimum teoritis sama dengan jumlah
tahapan di konveyor. Jumlah siklus clock yang diperlukan untuk menjalankan
instruksi m adalah m, karena satu perintah dijalankan per siklus clock. Dalam
praktiknya, baik logika perangkat lunak atau perangkat keras akan mengurangi
akselerasi. diperoleh melalui perpipaan dan menambah jumlah siklus yang
diperlukan untuk instruksi m.

Arsitektur dan Organisasi Komputer 170


Universitas Pamulang Teknik Informatika S-1

3. Instruksi Pipelining

Bahkan penambah yang cepat membutuhkan waktu untuk mendapatkan


hasil. Namun prosesornya bisa dibelah di bagian yang berbeda, sehingga
setiap langkah siklus perintah dapat dijalankan oleh bagian independen. Semua
modul dapat dioperasikan secara bersamaan sesuai dengan instruksi yang
berbeda. Teknik ini disebut pemrosesan pipa. Hasil bersih dari pengulangan
instruksi yang lengkap ini
Siklus berarti waktu siklus rata-rata dari sebuah perintah sama dengan
waktu yang dibutuhkan untuk langkah terbesar. Bab 11 menjelaskan secara
rinci teknik perintah penyaluran.

Gambar 11. 5 Pemipaan instruksi

Baris perintah terdiri dari beberapa modul, yang masing-masing


menjalankan salah satu fase. siklus pendidikan. Perangkat keras prosesor
dibagi menjadi beberapa secara terpisah bagian untuk ini. Jumlah bagian (dan
jumlah langkah di loop perintah) dalam pipa yang dirancang oleh arsitek
komputer. Kasus paling sederhana adalah dua tahap pipa seperti yang
ditunjukkan pada
Gambar 11.6. Siklus pengajaran dibagi menjadi dua tahap – instruksi
Sampling (FI) dan Eksekusi Instruksi (EI). Unit pemulihan (FU) melakukan
langkah pemulihan perintah, sedangkan execution unit (EU) menjalankan sisa
loop perintah. Buffer perintah (IB) untuk sementara menyimpan perintah yang
diterima oleh FU. FU mentransfer pesanan ke IS dan UE menerima pesanan
dari IS.
Gambar 11.6 menunjukkan diagram waktu dari baris perintah dua langkah
saat menjalankan empat instruksi, yaitu dari I1 ke I4. Asumsikan waktu yang
dibutuhkan FU atau UE untuk bekerja hanyalah sebuah ritme. Setiap perintah
dijalankan dalam dua siklus jam. Karena itu, yang pertama instruksi berakhir
pada akhir jam kedua. Pernyataan kedua diakhiri dengan akhir pengukuran

Arsitektur dan Organisasi Komputer 171


Universitas Pamulang Teknik Informatika S-1

ketiga. Angka tersebut menunjukkan jumlah pengukuran empat instruksi


membutuhkan lima. Dalam prosesor tanpa kabel, delapan siklus diperlukan
untuk menyelesaikan empat instruksi.

Gambar 11. 6 Pipa dua-tahap

Gambar 11. 7 Diagram waktu untuk pipa dua-tahap

Laju keluarnya instruksi dari konduktor menunjukkan kinerja konduktor.


Semua tahapan harus disinkronkan sehingga berbagai tahapan memulai
tindakannya waktu yang sama. Selain itu, waktu yang dibutuhkan untuk
berbagai tahapan pembawa berbeda. Beberapa tahapan menyelesaikan
langkah-langkah terkait lebih cepat, tetapi mereka tidak dapat memulai langkah-
langkah mereka untuk instruksi selanjutnya dan harus menunggu semua
langkah untuk menyelesaikan langkah-langkah mereka, karena semua langkah
harus bekerja sinkronisasi.

4. Faktor Penghambat Pipelning


a. Kinerja Pipelining
Dalam subbagian ini, kami akan mengembangkan beberapa
pengukuran sederhana untuk kinerja pipa dan percepatan relatif
(berdasarkan diskusi di [HWAN93]). Waktu siklus instruksi adalah waktu

Arsitektur dan Organisasi Komputer 172


Universitas Pamulang Teknik Informatika S-1

yang dibutuhkan untuk memajukan serangkaian instruksi dalam satu langkah


melalui saluran; setiap kolom pada Gambar 12.10 dan 12.11 mewakili
sebuah lingkaran tahun. Waktu siklus dapat diatur sebagai
t = maxi [ti ] + d = tm + d 1 … i … k
Dimana

Ti = waktu tunda sirkuit di tahap pertama konveyor

Tm = penundaan tahap maksimum (penundaan tahap dialami oleh


penundaan terlama)

k = jumlah tahapan di baris perintah

d = waktu penguncian diperlukan untuk meneruskan sinyal dan data dari


satu tahap selanjutnya

Secara umum, waktu tunda d setara dengan pulsa clock dan sekarang
Misalkan instruksi diproses n tanpa cabang. Lepaskan jumlahnya waktu
yang dibutuhkan untuk pipeline dengan tahapan k untuk melaksanakan n
instruksi. kemudian
Tk,n = [k + (n - 1)]t
Secara keseluruhan, instruksi pertama membutuhkan eksekusi siklus k
dan instruksi lainnya membutuhkan c dapat dengan mudah diperiksa.
14 = [6 + (9 - 1)]
Sekarang, pikirkan prosesor dengan fungsi yang setara tetapi tanpa
konduktor, dan asumsikan bahwa waktu siklus perintah sama dengan faktor
percepatan perintah. pipeline terhadap eksekusi tanpa pipeline didefinisikan
sebagai

Gambar 11.8a menunjukkan koefisien percepatan sebagai fungsi dari


jumlah perintah yang dieksekusi. Seperti yang diharapkan, pada batasnya
kami memiliki percepatan k kali. Gambar 11.8b menunjukkan koefisien
percepatan sebagai fungsi dari jumlah tahapan di baris perintah. 3
Dalam hal ini, faktor percepatan mendekati jumlah kelompok yang
dapat ditransfer percabangan, oleh karena itu, semakin banyak langkah
pipa, semakin tinggi potensinya percepatan. Namun, dari sudut pandang
praktis, potensi manfaat dari pipa tambahan tersebut tahapan diimbangi

Arsitektur dan Organisasi Komputer 173


Universitas Pamulang Teknik Informatika S-1

dengan kenaikan biaya, penundaan antara tahapan dan fakta itu akan ada
cabang yang membutuhkan pembilasan pipa.

Gambar 11. 8 Koefisien Percepatan

b. Bahaya Saluran Pipelining


Di sub-bagian sebelumnya, kami mencantumkan beberapa situasi
yang dapat menyebabkan kurang dari kinerja optimal operator. Dalam
subbagian ini, kami membahas masalah ini di cara yang lebih sistematis.
Bab 14 mengeksplorasi masalah ini secara lebih rinci setelah mempelajari
seluk-beluk perpipaan yang tumpang tindih.
Bahaya pipa terjadi jika pipa atau bagiannya harus dihentikan karena
kondisi tidak memungkinkan eksekusi dilanjutkan. Pipa seperti itu Suspensi
juga disebut gelembung saluran. Ada tiga jenis risiko: sumber daya, data,
dan kontrol.

Arsitektur dan Organisasi Komputer 174


Universitas Pamulang Teknik Informatika S-1

c. Bahaya Sumber Daya


Risiko sumber daya muncul ketika dua (atau lebih) instruksi sudah
dalam pengembangan membutuhkan resource yang sama. Akibatnya,
instruksi harus dijalankan secara berurutan, tidak secara paralel untuk
departemen saluran. Risiko sumber daya terkadang disebut sebagai risiko
struktural.
Mari kita lihat contoh sederhana dari risiko sumber daya. Misalkan
konduktor lima tahap yang disederhanakan di mana setiap tahap
berlangsung satu siklus clock. Gambar 11.9a menunjukkan ideal

Gambar 11. 9 Contoh Bahaya Sumber Daya

kasus di mana arahan baru memasuki jalur pipa setiap siklus jam. Mari
kita asumsikan Memori utama memiliki port dan bahwa semua pemulihan
data dan fungsi membaca dan pendaftaran harus dilakukan secara
berurutan. Selanjutnya, abaikan cache.
Pada kasus ini Membaca operator atau menulis dari memori tidak
dapat dilakukan secara paralel dengan menerima perintah. Hal ini
ditunjukkan pada Gambar 11.8b, di mana sumber dianggap operator untuk
instruksi I1 ada di memori, bukan di registri. Oleh karena itu, tahap perintah
penerimaan pipa harus diam selama satu siklus sebelum perintah dimulai.

Arsitektur dan Organisasi Komputer 175


Universitas Pamulang Teknik Informatika S-1

unduh untuk instruksi I3. Angka tersebut mengasumsikan bahwa semua


operator lain ada dalam register.
Contoh lain dari konflik sumber daya adalah situasi di mana banyak
instruksi siap memasuki fase eksekusi instruksi dan ada ALU. Salah satu
solusi untuk masalah sumber daya ini adalah dengan meningkatkan sumber
daya yang tersedia, misalnya seolah-olah Anda memiliki banyak port di
memori utama dan banyak ALU.
Pendekatan untuk analisis konflik sumber daya dan bantuan
pembangunan pipelines - tabel reservasi. Kami meninjau tabel pemesanan
di Lampiran I.

d. Bahaya Data
Risiko data muncul ketika akses mengalami konflik posisi operator.
Secara umum, kita dapat mengungkapkan risiko dalam bentuk ini: dua
instruksi dalam sebuah program harus dijalankan secara berurutan, dan
keduanya mengacu pada satu instruksi tertentu. memori atau operator tulis.
Jika dua instruksi dijalankan dalam urutan yang ketat, tidak ada masalah
yang muncul. Namun, jika instruksi berjalan di pipeline, maka ini Ada
kemungkinan bahwa nilai efek diperbarui sedemikian rupa untuk
menghasilkan yang lain hasil daripada dengan eksekusi sekuensial yang
ketat. Dengan kata lain, program memberikan hasil yang salah karena
piping.

Misalnya, pertimbangkan urutan instruksi mesin x86 berikut:

ADD EAX, EBX /* EAX = EAX + EBX

SUB ECX, EAX /* ECX = ECX - EAX

Instruksi pertama menambahkan konten register EAX dan EBX 32-bit.


dan menyimpan hasilnya di EAX. Pernyataan kedua menghapus isi EAX dari
ECX dan menyimpan hasilnya ke ECX. Gambar 11.9 menunjukkan perilaku
konduktor Perintah ADD tidak menginformasikan register EAX sampai akhir
langkah 5, yang mana terjadi dalam clock cycle 5. Tetapi arahan SUB
membutuhkan nilai ini pada awalnya tahap 2, yang terjadi dalam siklus jam
4. Untuk memastikan operasi yang benar, konveyor harus berhenti selama

Arsitektur dan Organisasi Komputer 176


Universitas Pamulang Teknik Informatika S-1

dua siklus jam. Jadi, dengan tidak adanya perangkat keras khusus dan
algoritma pencegahan khusus, risiko data ini menyebabkan penggunaan
pipa yang tidak efisien.

Ada tiga jenis risiko data:

a. Baca setelah merekam (RAW) atau ketergantungan aktual: perintah


mengubah lokasi registri atau memori dan perintah berikutnya membaca
data di dalamnya memori atau tulis. Bahaya muncul jika membaca terjadi
sebelumnya pendaftaran selesai.
b. Menulis setelah membaca (RAW) atau anti-ketergantungan: perintah
membaca register atau lokasi memori dan perintah selanjutnya menulis
ke lokasi ini. Bahaya terjadi jika operasi tulis selesai sebelum operasi
baca dilakukan.
c. Pasca perekaman (RAW) atau ketergantungan keluaran: kedua instruksi
tertulis di tempat yang sama. Risiko muncul jika operasi pendaftaran
dilakukan pada urutan terbalik dari urutan yang diprediksi.
Contoh pada Gambar 11.10 menyajikan bahaya limbah radioaktif. Dua
risiko lainnya adalah yang terbaik dibahas dalam konteks konsumsi berlebih
yang dibahas dalam Bab 14.

Gambar 11. 10 Example of Data Hazard

e. Bahaya Kontrol

Terjadi bahaya kontrol, juga dikenal sebagai bahaya cabang ketika


pipeline membuat keputusan yang salah pada prediksi cabang dan
karenanya membawa instruksi ke dalam pipa yang selanjutnya harus
dibuang. Kami berdiskusi pendekatan untuk menangani bahaya
pengendalian berikutnya.

Arsitektur dan Organisasi Komputer 177


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas

Jawablah pertanyaan-pertanyaan di bawah ini berdasarkan materi yang Anda


pelajari di bagian Uraian Materi.

1. Jelaskan perbedaan microprocessor yang menggunakan pipeline?


2. Apa saja tahapan pada pipeline?
3. Jelaskan pipelining pada processor?
4. Jelaskan kekurangan pipelining itu sendiri menurut anda?
5. Jelaskan masalah pada pipeline dengan bahasa anda?

D. Referensi
John L. Hennessy & David A. Petterson. (2012). Computer Architecture: A
Quantitative
Approach. 5th Edition. Massachusetts: Elsevier Inc.
M. Morris Mano, “Computer System Architecture, 3rd”, Prentice Hall,Eaglewood
Cliffs,1982.
Andrew S. Tanenbaum. (2006). Structured Computer Organization. 5th Edition. New
Jersey: Pearson Education Inc.
John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A
Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.
William Stallings. (2016). Computer Organization and Architecture: Designing for
Performance. 10th Edition. London: Pearson Education Limited.

Arsitektur dan Organisasi Komputer 178


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 12

DESAIN SET INSTRUKSI

A. Tujuan Pembelajaran
Setelah mempelajari materi ini, Mahasiswa memahami Set Instruksi pada
Arsitektur Komputer berikut mode serta format pengalamatannya.

B. Uraian Materi
1. Desain set instruksi
Salah satu aspek yang paling menarik dan mendetail dari desain komputer
adalah pembuatan set instruksi. Pengembangan set instruksi sangat sulit karena
mempengaruhi itu. banyak aspek dari sistem komputer. Satu set perintah
mendefinisikan banyak fungsi diluncurkan oleh prosesor dan oleh karena itu
secara signifikan mempengaruhi implementasinya CPU. Set instruksi adalah alat
pemrograman untuk mengendalikan prosesor. Jadi, saat mendesain sekumpulan
perintah, Anda perlu mempertimbangkan persyaratan pengembang.
Anda mungkin terkejut mengetahui bahwa beberapa masalah paling
mendasar saling berkaitan untuk desain set direktif tetap kontroversial. Memang,
dalam beberapa tahun terakhir, levelnya ketidaksepakatan atas prinsip-prinsip
utama ini memang semakin meningkat. Yang terpenting dari masalah desain
mendasar ini meliputi:
a. Repertoar fungsi: berapa banyak dan fungsi apa yang harus disediakan dan
bagaimana fungsi kompleks seharusnya
b. Tipe data: tipe data berbeda yang pengoperasiannya dilakukan.
c. Format pelatihan: panjang pelatihan (dalam bit), jumlah alamat, ukuran bidang
yang berbeda dan sebagainya
d. Register: jumlah register prosesor yang dapat direferensikan dengan instruksi,
dan penggunaannya
e. Alamat: metode atau metode untuk menentukan alamat operator.

Masalah masalah ini sangat terkait dan harus dipertimbangkan bersama


ketika mengembangkan seperangkat pedoman. Buku ini, tentu saja, harus
mempertimbangkan mereka dalam urutan tertentu, tetapi upaya dilakukan
untuk menunjukkan hubungan tersebut.

Arsitektur dan Organisasi Komputer 179


Universitas Pamulang Teknik Informatika S-1

Karena pentingnya topik ini, sebagian besar dari bagian ketiga


didedikasikan untuk desain panggung. Setelah bagian ikhtisar ini, bab ini
membahas tipe data. dan repertoar pengoperasian. Bab 11 membahas solusi
(termasuk pemeriksaan register) dan formulir pemesanan. Bab 13
mengeksplorasi singkatan set perintah komputer (RISC). Arsitektur RISC
menantang banyak di antaranya instruksi desain biasanya dilakukan pada
komputer komersial.

2. Set instruksi

Masalah penting lainnya adalah sifat dari rangkaian perintah prosesor


yang digunakan. Pedoman CISC menghasilkan kode yang lebih ringkas
daripada pedoman RISC. Lewat sini, Pilihan prosesor mempengaruhi ukuran
kode. Contoh yang menarik Pendekatan yang memecahkan masalah ini
disediakan oleh versi Thumb ARM arsitektur di mana set perintah RISC untuk
prosesor 32-bit dikembangkan. dikonversi ke format yang lebih dikodekan
menggunakan instruksi 16-bit seperti yang dijelaskan di Bagian 10.6.3. Program
yang ditulis untuk rilis Thumb lebih ringkas hingga 30 persen daripada ditulis
untuk arsitektur ARM lengkap.

3. Ortogonalitas

Prinsip di mana dua variabel tidak bergantung satu sama lain. Dalam
konteks set instruksi, istilah tersebut menunjukkan bahwa elemen lain dari
suatu instruksi tidak bergantung (tidak ditentukan oleh) opcode. Desainer PDP-
10 menggunakan istilah tersebut untuk menggambarkan fakta bahwa alamat
selalu dihitung dengan cara yang sama, terlepas dari opcode. Ini adalah
berbeda dengan banyak mesin, di mana mode alamat terkadang bergantung
secara implisit pada operator yang digunakan. ortogonalitas Sebuah prinsip
dimana dua variabel atau dimensi tidak bergantung satu sama lain. Di konteks
set instruksi, istilah ini umumnya digunakan untuk menunjukkan bahwa elemen
lain dari sebuah instruksi (mode alamat, jumlah operan, panjang operan) tidak
tergantung (tidak ditentukan oleh) opcode.
Kelengkapan: Setiap tipe data aritmatika (integer, fixed-point, floating-
point) harus memiliki rangkaian operasi yang lengkap dan identik.

Arsitektur dan Organisasi Komputer 180


Universitas Pamulang Teknik Informatika S-1

4. Format Instruksi

Format perintah mendefinisikan pengaturan bit perintah dalam istilah


perintah. bidang komponen. Format perintah harus menyertakan opcode dan,
secara implisit, atau secara eksplisit, nol atau lebih operator. Setiap pernyataan
eksplisit dikomunikasikan menggunakan satu solusi yang dijelaskan dalam
Bagian 11.1. Formulir harus default atau secara eksplisit menentukan fungsi
alamat untuk setiap operator. Untuk sebagian besar set instruksi lebih dari satu
format perintah digunakan. Perkembangan pembelajaran adalah seni yang
kompleks dan keanekaragaman yang menakjubkan. rencana telah
dilaksanakan. Mari kita lihat masalah desain utama dengan melihat sekilas
dalam beberapa gambar untuk mengilustrasikan poin, lalu periksa solusi x86
dan ARM secara detail. Durasi pelatihan Masalah desain paling dasar yang
harus Anda hadapi adalah panjang formulir tim. Keputusan ini memengaruhi
dan bergantung pada ukuran memori, organisasi memori, struktur saluran,
kompleksitas prosesor dan kecepatan prosesor. Keputusan ini mendefinisikan
kekayaan dan fleksibilitas mesin, yang ditunjukkan oleh programmer assembler.
Kompensasi yang paling jelas di sini adalah antara keinginan untuk
repertoar pengajaran yang kuat dan kebutuhan untuk menghemat ruang.
Pengembang membutuhkan lebih banyak opcode, lebih banyak operator, lebih
banyak fungsi pengalamatan dan jangkauan alamat yang lebih luas. Lebih
banyak opcode dan lebih banyak operator membuat hidup lebih mudah bagi
programmer, karena program yang lebih kecil dapat dibuat ditulis untuk
melakukan tugas tertentu. Demikian pula, lebih banyak fungsi pengalamatan
memberi pengembang lebih banyak fleksibilitas dalam mengimplementasikan
fungsi tertentu, seperti manipulasi tabel dan garpu dua arah. Dan, tentu saja,
dengan peningkatan utama ukuran memori dan peningkatan penggunaan
memori virtual, pengembang ingin bias untuk bekerja dengan area memori yang
luas. Semua hal ini (opcode, operand, address fungsi, kisaran alamat)
membutuhkan bit dan mendorong ke arah perintah yang lebih besa
panjangnya. Tetapi pelatihan yang lebih lama bisa menjadi tidak berguna.
Membutuhkan instruksi 64-bit dua kali lebih banyak dari instruksi 32-bit, tetapi
mungkin kurang dari dua kali lebih berguna.
Terlepas dari pertukaran dasar ini, ada pertimbangan lain. Atau, panjang
perintah harus sama dengan panjang transfer memori (dalam sistem bus, bus
data length) atau salah satu harus merupakan kelipatan dari yang lain. Jika

Arsitektur dan Organisasi Komputer 181


Universitas Pamulang Teknik Informatika S-1

tidak, kami tidak akan menerima sejumlah instruksi selama siklus pemulihan.
Masalah terkait adalah kecepatan transfer memori. Kecepatan ini tidak
sebanding dengan peningkatan kecepatan prosesor. Akibatnya, memori dapat
menjadi penghalang jika prosesor dapat menjalankan instruksi lebih cepat
daripada yang dapat diterimanya. Salah satu solusi untuk masalah ini adalah
dengan menggunakan cache memori (lihat bagian 4.3). cara lainnya adalah
menggunakan instruksi yang lebih singkat. Jadi, instruksi 16-bit dapat dimuat
dua kali lebih cepat dari instruksi 32-bit, tetapi mereka mungkin dapat berjalan
kurang dari dua kali lebih cepat.
Sekilas, fitur yang umum namun penting adalah bahwa panjang perintah
harus kelipatan dari panjang karakter, yang biasanya 8 bit dan panjang
bilangan fixed-point. Untuk melihat ini, kita harus menggunakan kata yang
sayangnya tidak pantas ini, kata [FRAI83]. Panjang memori sebuah kata, in
dalam arti tertentu, unit organisasi "fisik". Ukuran kata biasanya menentukan
ukuran angka titik tetap (biasanya dua sama). Ukuran kata juga biasanya sama
dengan, atau setidaknya sepenuhnya, ukuran memori yang ditransfer. Karena
format data umum adalah data karakter, kami ingin menyimpan kata sejumlah
karakter integer. Jika tidak, setiap kata akan menjadi mubazir memori multi-
karakter, atau satu karakter harus melebihi batas kata.
Pentingnya poin ini adalah bahwa IBM, ketika memperkenalkan System /
360 dan ingin menggunakan karakter 8 bit, dia memutuskan untuk pindah dari
arsitektur 36-bit anggota ilmiah seri 700/7000 menjadi satu Arsitektur 32-bit.

5. Distribusi bit

Kami melihat beberapa faktor yang mempengaruhi durasi bentuk


pengajaran. Pertanyaan yang sama sulitnya adalah bagaimana memilih bit
dalam format ini. DI lindung nilai sulit. Untuk panjang perintah tertentu, jelas ada
pertukaran antara nomor tersebu opcode dan tweak. Jelas lebih banyak opcode
berarti lebih banyak bit di bidang opcode. Untuk bentuk instruksi dengan
panjang tertentu, ini adalah mengurangi jumlah bit yang tersedia untuk
ditangani. Peningkatan yang menarik untuk pertukaran ini adalah penggunaan
opcode panjang variabel.
Dalam pendekatan ini ada panjang opcode minimum, tetapi untuk
beberapa opcode mungkin ada opcode tambahan dapat ditentukan
menggunakan bit tambahan dalam direktif. Untuk instruksi panjang tetap Ini

Arsitektur dan Organisasi Komputer 182


Universitas Pamulang Teknik Informatika S-1

menyisakan lebih sedikit potongan untuk ditangani. Jadi fungsi ini digunakan
untuk instruksi ini membutuhkan lebih sedikit operator dan / atau alamat yang
kurang kuat.
Faktor yang saling terkait berikut ini mempengaruhi penggunaan
pengalamatan Potongan.

a. Jumlah mode alamat: terkadang fungsi alamat dapat ditentukan secara


implisit. Misalnya, beberapa opcode mungkin selalu memerlukan
pengindeksan. Dalam kasus lain, perawatannya harus jelas dan satu cara
atau lebih Bit akan dibutuhkan.
b. Jumlah operator: kami melihat bahwa semakin sedikit alamat, semakin
banyak Anda dapat bekerja, program yang lebih tidak nyaman. Instruksi
standar hari ini mesin menyediakan dua operator. Alamat setiap operator di
perintah Indikasi operasi Anda sendiri atau penggunaan indikasi mungkin
diperlukan dibatasi hanya untuk satu bidang alamat.
c. Merekam dengan memori: mesin harus memiliki register untuk keberadaan
data dimasukkan ke dalam prosesor untuk diproses. Dengan hanya satu
kasus yang terlihat oleh pengguna (biasanya disebut sebagai baterai),
alamat operator tunggal adalah diam dan tidak menggunakan bit perintah.
Namun, pemrograman dengan registri tidak nyaman. dan membutuhkan
banyak instruksi. Bahkan dengan banyak register, hanya beberapa bit
diperlukan untuk membuat registri. Selain itu, register dapat digunakan untuk
melaporkan kepada operator, bit yang lebih sedikit diperlukan. Banyak
penelitian menunjukkan yang diinginkan oleh 8 hingga 32 register yang
dapat dilihat oleh pengguna [LUND77, HUCK83].

Kebanyakan arsitektur modern memiliki setidaknya 32 pendaftar. Jumlah


register: kebanyakan mesin modern memiliki satu set register tujuan umum,
biasanya dengan 32 register atau lebih per set. Register ini dapat digunakan
untuk menyimpan data dan dapat digunakan untuk menyimpan alamat untuk
perpindahan menangani. Beberapa arsitektur, termasuk x86, memiliki satu set
dua atau lebih set khusus (seperti data dan offset). Sebuah keuntungan
Pendekatan terakhir ini adalah bahwa untuk sejumlah register yang
ditentukan, pembagian fungsional membutuhkan lebih sedikit bit dalam
instruksi. Misalnya dengan dua set delapan register, hanya 3 bit yang
diperlukan untuk mengidentifikasi registri. opcode atau Registrar mode akan
menentukan kumpulan register mana yang disebutkan.

Arsitektur dan Organisasi Komputer 183


Universitas Pamulang Teknik Informatika S-1

a. Rentang alamat: untuk alamat yang terdaftar di memori, kisaran alamat yang
dapat dilaporkan tergantung pada jumlah bit di alamat tersebut. Karena hal
ini menyebabkan keterbatasan yang parah, pengobatan segera jarang
digunakan. Dikompensasi saat menangani, rentang terbuka hingga panjang
buku alamat. Bahkan Oleh karena itu, masih nyaman untuk mengizinkan
offset yang cukup besar dari alamat registri, yang membutuhkan bit alamat
dalam jumlah yang relatif besar dalam direktif.
b. Kejelasan alamat: Untuk alamat yang merujuk ke memori daripada register,
faktor lainnya adalah klarifikasi. Dalam sistem dengan 16- atau 32-bit kata-
kata, alamat dapat merujuk ke kata atau byte pilihan desainer. Byte
Alamatnya nyaman untuk menangani karakter, tetapi membutuhkan lebih
banyak bit alamat untuk memori ukuran tetap.

Dengan demikian, desainer menghadapi banyak faktor yang perlu


diperhatikan dan diseimbangkan. Bagaimana Tidak jelas betapa pentingnya
opsi yang berbeda. Misalnya kami melaporkan sebuah studi [CRAG79]
membandingkan pendekatan yang berbeda untuk mengajar, termasuk
penggunaan tumpukan register tujuan umum, akumulator dan hanya
pendekatan memori untuk menulis.
Saat menggunakan sekumpulan asumsi berurutan, tidak ada perbedaan
signifikan dalam ruang kode atau waktu eksekusi.
Mari kita lihat sekilas bagaimana dua desain mesin historis
menyeimbangkan faktor-faktor yang berbeda ini. PDP-8 Salah satu desain
paling sederhana untuk komputer tujuan umum adalah untuk PDP-8 [BELL78b].
PDP-8 menggunakan instruksi dan pekerjaan 12-bit
Kata 12-bit. Hanya ada satu register tujuan umum, akumulator. Terlepas
dari keterbatasan desain ini, kontrolnya cukup fleksibel. Setiap laporan memori
terdiri dari 7 bit ditambah dua pengubah 1-bit. Memori terbagi di setiap halaman
kata dengan panjang tetap. Perhitungan alamat didasarkan pada link ke
halaman 0 atau halaman saat ini (halaman yang berisi instruksi ini) seperti yang
ditunjukkan oleh bit halaman. Bit kedua dari pengubah menunjukkan apakah itu
langsung atau tidak langsung. penggunaan alamat. Kedua mode ini bisa
digunakan bersamaan, jadi satu alamat tidak langsung adalah alamat 12-bit
yang terkandung dalam kata di halaman 0 atau saat ini halaman. Selain itu, 8
kata unik di halaman 0 adalah pendaftar "indeks otomatis". Saat sendiri secara
tidak langsung merujuk ke salah satu lokasi ini, penerbitan sementara.

Arsitektur dan Organisasi Komputer 184


Universitas Pamulang Teknik Informatika S-1

Gambar 12.1 menunjukkan format perintah PDP-8. Ada opcode 3-bit dan
tiga jenis instruksi. Untuk opcode 0 sampai 5, formatnya adalah alamat Instruksi
akses memori, yang mencakup bit halaman dan bit tidak langsung. Yang
seperti itu hanya enam fungsi utama. Untuk memperluas grup fungsional, set
opcode 7 pendaftaran referensi atau pendidikan mikro. Format ini
menggunakan bit yang tersisa. kode fungsi tambahan. Secara umum, setiap bit
mendefinisikan fungsi tertentu (mis baterai bersih) dan bit ini dapat
digabungkan dalam satu instruksi. Strategi pendidikan mikro telah digunakan
oleh DEC di PDP-1 dan dalam arti tertentu

Gambar 12. 1 Format Instruksi PDP-8

cikal bakal mesin terprogram saat ini, yang akan dibahas di Bagian Empat.
Opcode 6 adalah operasi I / O; 6 bit digunakan untuk memilih salah satu dari 64
perangkat, dan 3 bit tentukan perintah I / O tertentu.

Format instruksi PDP-8 sangat efisien. Ini mendukung tidak langsung


pengalamatan, pengalamatan perpindahan, dan pengindeksan. Dengan
penggunaan ekstensi opcode, ini mendukung total sekitar 35 instruksi.

Arsitektur dan Organisasi Komputer 185


Universitas Pamulang Teknik Informatika S-1

Mengingat kendala instruksi panjang 12-bit, para desainer tidak bisa berbuat
lebih baik.

6. Karakteristik Pelaksanaan Instruksi

Studi tentang perilaku pelaksanaan program dalam bahasa tingkat tinggi


memberikan instruksi untuk mendesain tipe baru arsitektur prosesor: komputer
dengan instruksi yang dikurangi (RISC). Klaim distribusi valid, menunjukkan
bahwa pergerakan data sederhana perlu dioptimalkan. Ada juga banyak
pernyataan IF dan LOOP yang menunjukkan hal ini mekanisme kontrol urutan
yang mendasari harus dioptimalkan untuk memungkinkan pemrosesan
konveyor yang satu set terbatas instruksi format tetap.
Sejumlah besar register, atau penggunaan kompiler yang
mengoptimalkan penggunaan register penekanan pada optimasi baris perintah
efisien. Studi standar referensi operator menunjukkan hal itu produktivitas
harus ditingkatkan dengan jumlah yang moderat bekerja di register. Studi ini
telah mengidentifikasi fitur-fitur utama mesin RISC: Satu set instruksi RISC
yang sederhana memungkinkan pemipaan yang efisien. karena operasi yang
dilakukan lebih sedikit dan lebih dapat diprediksi mandat. Arsitektur set perintah
RISC ditawarkan teknik cabang tertunda yang menggantikan instruksi
percabangan pedoman lain untuk meningkatkan efisiensi pipa.
Sejak perkembangan program komputer tersimpan sekitar tahun 1950
Ada sangat sedikit inovasi nyata dalam organisasi dan arsitektur komputer.
Berikut beberapa pencapaian terpenting sejak lahirnya komputer:

a. Ide Keluarga: Diperkenalkan oleh IBM di System / 360 pada tahun 1964 tak
lama kemudian, DEC dengan PDP-8-nya. Ide keluarga dibagikan arsitektur
mesin dari aplikasinya. Seperangkat komputer dengan karakteristik harga /
kinerja yang berbeda, mewakili hal yang sama arsitektur untuk pengguna.
Perbedaan harga dan kinerja disebabkan implementasi yang berbeda dari
arsitektur yang sama.
b. Unit kontrol firmware: diusulkan oleh Wilkes pada tahun 1951 dan
diperkenalkan oleh IBM pada jalur S / 360 pada tahun 1964. Firmware
menyederhanakan tugas merancang dan mengimplementasikan unit kontrol
dan memberikan dukungan keluarga merasakan.

Arsitektur dan Organisasi Komputer 186


Universitas Pamulang Teknik Informatika S-1

c. Cache: pertama kali dirilis pada IBM S / 360 Model 85 in 1968. Penambahan
mendadak elemen ini ke hierarki memori. meningkatkan produktivitas.
d. Pipelining: cara untuk memperkenalkan paralelisme menjadi sekuensial sifat
program pembelajaran mesin. Contoh: instruksi perpipaan dan pengeditan
vektor.
e. Banyak prosesor: Kategori ini mencakup banyak organisasi berbeda. dan
tujuan.

Arsitektur Reduced Instruction Set Computer (RISC): Ini adalah fokus


utama modal. Arsitektur RISC sangat kontras dengan tren historisnya arsitektur
prosesor. Analisis arsitektur RISC menarik perhatian banyak orang masalah
penting dalam organisasi dan arsitektur komputer.
Meskipun sistem RISC telah didefinisikan dan dikembangkan dengan
berbagai cara Untuk kelompok yang berbeda, elemen kunci yang umum pada
kebanyakan desain adalah:

a. Sejumlah besar register tujuan umum dan / atau penggunaan teknologi


kompiler untuk mengoptimalkan penggunaan register.
b. Set instruksi yang terbatas dan sederhana
c. Penekanan pada pengoptimalan pipeline instruksi

7. Karakteristik Instruksi

Salah satu bentuk paling terkenal dari evolusi terkait komputer adalah
evolusi bahasa pemrograman. Sebagai biaya peralatan menurun, biaya relative
Perangkat lunak telah berhenti. Namun, kekurangan pengembang kronis telah
menyebabkan meningkatkan biaya perangkat lunak secara absolut. Jadi, biaya
utama dalam siklus hidup sistemadalah perangkat lunak, bukan perangkat
keras. Menambah biaya dan kerumitan adalah elemen ketidakamanan:
seringkali baik program maupun program aplikasi setelah bertahun-tahun
beroperasi, mereka terus menemukan bug baru.
Peneliti dan industri telah merespons bahasa pemrograman tingkat tinggi
yang kuat dan canggih. Bahasa tingkat tinggi (HLL) ini memungkinkan
pemrogram untuk mengekspresikan algoritme secara lebih spesifik dengan
menerima Anda mengurus banyak detail dan seringkali secara alami
mendukung penggunaan pemrograman terstruktur atau desain berorientasi
objek. Sayangnya, solusi ini menciptakan masalah lain yang dikenal sebagai

Arsitektur dan Organisasi Komputer 187


Universitas Pamulang Teknik Informatika S-1

celah semantik. perbedaan antara transaksi yang diatur dalam HLL dan
transaksi yang diatur dalam Arsitektur komputer. Gejala gap ini seharusnya
mencakup inefisiensi, ukuran program mesin yang besar, dan kompleksitas
compiler. Desainer menanggapi dengan arsitektur yang dirancang untuk
mengisi celah ini. Fitur utama termasuk hebat set perintah, lusinan fungsi
alamat, dan berbagai pernyataan HLL yang diterapkan ke perangkat keras.
Contoh yang terakhir adalah perintah mesin CASE di VAX. Set instruksi yang
kompleks seperti itu dirancang untuk

a. Sederhanakan pekerjaan pengembang kompilator.


b. Peningkatan kinerja, karena dapat membuat alur kerja yang kompleks untuk
diterapkan pada kode mikro.
c. Memberikan dukungan untuk HLL yang lebih kompleks dan canggih.

Tabel 12. 1 Karakteristik Beberapa CISCs, RISCs, dan Superscalar Processors

Sementara itu, selama bertahun-tahun, sejumlah studi identifikasi telah


dilakukan karakteristik dan pola pelaksanaan instruksi yang dihasilkan mesin
dari program HLL. Hasil penelitian tersebut telah menginspirasi beberapa
peneliti untuk mempertimbangkan untuk pendekatan yang berbeda: yaitu,
arsitektur yang mendukung HLL lebih mudah daripada yang paling sulit.
Untuk memahami alasan pendukung RISC, mari kita mulai gambaran
singkat tentang karakteristik instruksi. Aspek perhitungan persentasenya adalah
sebagai berikut:

a. Fungsi yang dilakukan: Tentukan fungsi yang dilakukan oleh prosesor dan
interaksinya dengan memori.

Arsitektur dan Organisasi Komputer 188


Universitas Pamulang Teknik Informatika S-1

b. Operator yang digunakan: jenis operator dan seberapa sering mereka


digunakan menentukan organisasi memori untuk penyimpanan dan
bagaimana menanganinya. akses ke mereka.
c. Urutan eksekusi: menentukan manajemen dan organisasi pipa.

Di sisa bagian ini, kami meringkas hasil seri mempelajari program tingkat
tinggi. Semua hasil didasarkan pada dinamika Pengukuran. Artinya,
pengukuran dikumpulkan dengan menjalankan program dan dengan
menghitung berapa kali fungsi atau properti tertentu muncul dikonfirmasi.
Sebagai gantinya, pengukuran statis cukup melakukan perhitungan ini kode
sumber program. Mereka tidak memberikan informasi kinerja yang berguna,
karena mereka tidak menimbang berapa kali tiap pernyataan lengkap.

8. Operasi

Banyak penelitian telah dilakukan untuk menganalisis perilaku program


HLL. berisi temuan-temuan utama dari berbagai penelitian. Sebagai hasil dari
kombinasi bahasa dan aplikasi ini, ada kesepakatan yang sangat bagus.
Tuduhan pengambilalihan diklaim, yang menunjukkan bahwa langkah
sederhana data sangat penting. Ada juga dominasi pernyataan bersyarat (IF,
LOOP). Operator ini diterapkan dalam bahasa mesin menggunakan semacam
perbandingan dan lompatan. Ini mengacu pada pentingnya mekanisme untuk
mengontrol urutan perintah.
Hasil ini bermanfaat bagi programmer mesin penunjuk jenis operator
mana yang paling umum dan oleh karena itu harus didukung Mode "optimal".
Namun, hasil ini tidak menunjukkan pernyataan mana yang mereka gunakan
sebagian besar waktu untuk program biasa. Artinya, diberikan program bahasa
mesin yang dikompilasi, yang pernyataan dalam bahasa asli menyebabkan
eksekusi kebanyakan instruksi mesin?
Untuk sampai pada fenomena dasar ini, program Patterson [PATT82a],
dijelaskan dalam Lampiran 4A yang ditulis dalam VAX, PDP-11 dan Motorola
68.000 untuk menentukan jumlah rata-rata instruksi mesin dan referensi
memori untuk setiap jenis operator. Kolom kedua dan ketiga pada Tabel 12.2
menunjukkan frekuensi relatif terjadinya secara berbeda Instruksi HLL dalam
program yang berbeda · Data diperoleh dengan mengamati peristiwa dalam
program saat ini bukan hanya berapa kali operator ini muncul di kode sumber.

Arsitektur dan Organisasi Komputer 189


Universitas Pamulang Teknik Informatika S-1

Tabel 12. 2 Frekuensi Dinamis Relatif Tertimbang dari Operasi HLL [PATT82a]

Oleh karena itu, ini adalah statistik frekuensi dinamis. Untuk menerima
data dalam empat kolom dan lima (berbobot sesuai dengan instruksi mesin),
masing-masing nilai di kedua dan ketiga Kolom-kolom tersebut dikalikan
dengan jumlah instruksi mesin yang dihasilkan oleh penyusun. Hasil ini
kemudian dinormalisasi sehingga kolom keempat dan kelima menampilkan
frekuensi kejadian relatif, ditimbang dengan jumlah instruksi mesin per
Pernyataan HLL. Demikian pula, kolom keenam dan ketujuh diperoleh dengan
mengalikan frekuensi kemunculan setiap jenis operator dengan jumlah relative
referensi memori dipanggil oleh setiap pernyataan. Data di kolom empat sampai
tujuh menyediakan ukuran pengganti untuk waktu nyata yang dihabiskan untuk
melakukan berbagai jenis pernyataan. Hasilnya menunjukkan bahwa
memanggil / mengembalikan prosedur adalah operasi yang paling memakan
waktu dalam program HLL standar.
Pembaca harus memahami arti dari Tabel 12.1. Tabel ini menunjukkan
kepentingan relatif dari berbagai jenis operator dalam HLL saat HLL ini
dikompilasi untuk perangkat pengajaran arsitektur modern yang khas. Arsitektur
yang berbeda dapat memberikan hasil yang berbeda pula. Namun, penelitian
ini menghasilkan hasil yang merupakan karakteristik dari set instruksi modern.
arsitektur komputer (CISC). Dengan cara ini, mereka dapat membantu mereka
yang mencari untuk mengetahui cara yang lebih efektif dalam mendukung HLL.

Arsitektur dan Organisasi Komputer 190


Universitas Pamulang Teknik Informatika S-1

9. Operand

Namun, pekerjaan yang jauh lebih sedikit untuk menetapkan jenis


operator pentingnya masalah ini. Ada banyak aspek penting. Studi Patterson
[PATT82a] yang telah disebutkan sebelumnya juga meneliti dinamikanya
frekuensi kemunculan variabel (Tabel 12.3). Hasilnya disepakati antara
program Pascal dan C menunjukkan bahwa kebanyakan link merujuk ke simple

Tabel 12. 3 Dynamic Percentage of Operands

variabel iklim. Lebih dari 80% nilai adalah lokal (untuk proses) variabel.
Juga, referensi ke tabel / struktur membutuhkan referensi sebelumnya indeks
atau indeks mereka, yang lagi-lagi biasanya berskala lokal. Jadi ada dominasi
derajat referensi dan sangat terlokalisasi.
Penelitian Patterson meneliti perilaku dinamis program HLL terlepas dari
arsitektur yang mendasarinya. Seperti yang telah dibahas sebelumnya,
seharusnya Tangani arsitektur nyata untuk mempelajari lebih lanjut tentang
perilaku program. SEBUAH Studi [LUND77] meneliti pedoman DEC-10 dan
menemukan bahwa masing-masing instruksi mengacu pada rata-rata 0,5
operator dalam memori dan 1,4 pendaftar. Hasil serupa disajikan dalam
[HUCK83] untuk program C, Pascal dan FORTRAN di S / 370, PDP-11 dan
VAX. Tentu saja, angka-angka ini bergantung pada arsitektur dan kompilernya,
tetapi angka-angka ini mencerminkan frekuensi akses operator.
Studi terbaru ini menunjukkan pentingnya arsitektur yang ditawarkan
untuk akses cepat ke operator, karena fungsi ini sangat sering dilakukan. DI
Riset Patterson menunjukkan bahwa kandidat utama untuk optimasi adalah
mekanismenya untuk penyimpanan dan akses ke variabel iklim lokal.

Arsitektur dan Organisasi Komputer 191


Universitas Pamulang Teknik Informatika S-1

10. Prosedur panggilan

Kita telah melihat bahwa proses panggilan dan pengembalian merupakan


aspek penting dari program HLL. Data (Tabel 13.2) menunjukkan bahwa ini
adalah yang paling padat karya fungsi dalam program HLL terkompilasi. Jadi,
akan berguna untuk mempertimbangkan cara-cara menjalankan fungsi-fungsi
ini secara efektif. Dua aspek penting: kuantitas parameter dan variabel yang
terlibat dalam proses dan kedalaman penyisipan.
Sebuah studi oleh Tanenbaum [TANE78] menemukan bahwa 98% dari
apa yang disebut proses dinamis melalui kurang dari enam argumen dan 92%
dari mereka menggunakan lebih sedikit enam variabel iklim lokal. Hasil serupa
dilaporkan oleh tim RISC Berkeley. [KATE83] seperti yang ditunjukkan pada
Tabel 12.4. Hasil ini menunjukkan bahwa jumlah kata yang dibutuhkan untuk
mengaktifkan proses tersebut kecil. Studi sebelumnya telah menunjukkan
bahwa sebagian besar referensi ke operator adalah variabel iklim lokal. Studi-
studi ini menunjukkan bahwa hubungan ini sebenarnya terbatas pada sejumlah
variabel yang relatif kecil.
Tim Berkeley yang sama juga melihat standar pemanggilan proses dan
kembali ke program HLL. Mereka menemukan bahwa jarang ada yang panjang,
terus menerus urutan panggilan proses diikuti dengan urutan kembali yang
sesuai.

Tabel 12. 4 Argumen Prosedur dan Variabel Skalar Lokal

Sebaliknya, mereka menemukan bahwa program tersebut tetap terbatas


pada jendela yang agak sempit kedalaman proses panggilan, Hasil ini
mendukung kesimpulan bahwa laporan operator sangat penting terletak.

Arsitektur dan Organisasi Komputer 192


Universitas Pamulang Teknik Informatika S-1

11. Implikasi

Beberapa kelompok melihat hasil yang serupa dengan yang baru saja
dilaporkan dan menyimpulkan bahwa mencoba mendekatkan arsitektur baris
perintahnya ke HLL bukan strategi desain yang paling efektif. Sebaliknya, lebih
baik mendukung HLL mengoptimalkan kinerja tugas paling intensif dari HLL
standar program.
Meringkas pekerjaan sejumlah peneliti, tiga elemen dapat dibedakan.
yang umumnya menjadi ciri arsitektur RISC. Pertama, gunakan registrar dalam
jumlah besar atau kompiler untuk mengoptimalkan penggunaan registrar. Ini
untuk pengoptimalan Laporan operator. Studi yang baru saja didiskusikan
menunjukkan bahwa ada banyak laporan per arahan HLL dan ada persentase
lalu lintas (tugas) yang tinggi pernyataan. Ini, dikombinasikan dengan
identifikasi dan dominasi tautan iklim, menyarankan bahwa kinerja dapat
ditingkatkan dengan mengurangi jumlah akses memori
karena lebih banyak register. Karena lokasi tautan ini Kumpulan register
yang ekstensif tampaknya praktis. Kedua, perhatian khusus harus diberikan
pada desain alat peraga. Karena persentase yang tinggi dari perintah lompat
bersyarat dan prosedur panggilan prosedur, pipa instruksi sederhana tidak akan
efektif. Terwujud karena persentase instruksi yang tinggi dimuat sebelumnya
tetapi tidak pernah dijalankan.
Akhirnya, satu set perintah yang disederhanakan (disingkat) ditunjukkan.
Ini tidak benar jelas menyukai yang lain, tetapi harus dijelaskan pada diskusi
berikutnya.

Arsitektur dan Organisasi Komputer 193


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas

Jawablah pertanyaan-pertanyaan di bawah ini berdasarkan materi yang Anda


pelajari di bagian Uraian Materi.

1. Jelaskan menurut anda tentang set intruksi?


2. Jelaskan set intruksi ortogonalitas yang anda ketahui?
3. Jelaskan yang anda ketahui dengan format instruksi?
4. Bagaimana cara merancang instruksi dengan kompleks?
5. Bagaimana elemen yang dapat dibedakan dengan ciri arsitektur RISC?
Kedua, perhatian khusus harus diberikan pada desain alat peraga. Karena
persentase yang tinggi dari perintah lompat bersyarat dan prosedur panggilan
prosedur, pipa instruksi sederhana tidak akan efektif.

D. Referensi
John L. Hennessy & David A. Petterson. (2012). Computer Architecture: A
Quantitative Approach. 5th Edition. Massachusetts: Elsevier Inc.
M. Morris Mano, “Computer System Architecture, 3rd”, Prentice Hall,Eaglewood
Cliffs,1982.

Andrew S. Tanenbaum. (2006). Structured Computer Organization. 5th Edition. New


Jersey: Pearson Education Inc.
John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A
Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.
William Stallings. (2016). Computer Organization and Architecture: Designing for
Performance. 10th Edition. London: Pearson Education Limited.

Arsitektur dan Organisasi Komputer 194


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 13

SET INSTRUKSI, MODE, DAN FORMAT PENGALAMATANNYA

A. Tujuan Pembelajaran
Setelah mempelajari materi ini, Mahasiswa memahami dan dapat
menjelaskan apa itu set instruksi pada arsitektur komputer berikut mode serta
format pengalamatannya.

B. Uraian Materi
1. Set Instruksi

Sampai saat ini tidak jarang mendengar Set Instruksi disebut sebagai
"arsitektur" dari sebuah mesin atau terkadang disebut sebagai "bahasa rakitan".
Tingkat Arsitektur Set Instruksi memiliki arti khusus yang membuatnya
penting untuk sistem arsitektural: Arsitektur Set Instruksi adalah antarmuka
antara perangkat lunak dan perangkat keras. Meskipun mungkin perangkat
keras untuk langsung menjalankan program yang ditulis dalam C, C ++, Java,
atau bahasa tingkat tinggi lainnya, ini bukan ide yang baik. Keuntungan kinerja
kompilasi daripada interpretasi akan hilang. Untuk menjadi penggunaan praktis
yang hebat, kebanyakan komputer harus dapat menjalankan program yang
ditulis dalam berbagai bahasa, tidak hanya satu.
Pendekatan yang pada dasarnya diambil oleh semua perancang sistem
adalah menerjemahkan program dalam berbagai bahasa pada tingkat tinggi ke
bentuk perantara umum, tingkat Arsitektur Set Instruksi, dan untuk membuat
perangkat keras yang dapat langsung menjalankan program di tingkat
Arsitektur Set Instruksi. Tingkat Arsitektur Set Instruksi mendefinisikan
antarmuka antara kompiler dan perangkat keras. Dimana itu adalah bahasa
yang mereka berdua pahami. Hubungan antara kompiler, Tingkat Arsitektur Set
Instruksi dan perangkat keras ditunjukkan pada Gambar 13.1 dibawah.

Arsitektur dan Organisasi Komputer 195


Universitas Pamulang Teknik Informatika S-1

FORTRAN 90 C Program
Program
FORTRAN 90 Program C Program dikompilasi
dikompilasi untuk program untuk program Arsitektur
Arsitektur set Instruksi set Instruksi
Perangkat lunak
Tingkat Arsitektur Set Instruksi
Perangkat keras
Program Arsitektur Set Instruksi
dieksekusi oleh microprogram atau
perangkat keras

Perangkat Keras

Gambar 13. 1 Tingkat Arsitektur Set Instruksi adalah antarmuka antara compiler
dan perangkat keras

Berbagai parameter CPU memiliki efek langsung pada kinerja sistem dan
produktivitas pemrogram. Tugas terpenting dan kompleks dalam desain
komputer adalah membingkai set instruksi. Secara tradisional, keunggulan
komputer ditentukan oleh kekayaan set instruksinya. Jumlah instruksi dan
kinerjanya sangat penting karena kedua faktor ini berkontribusi pada efisiensi
pemrograman komputer.
Set instruksi dari sistem CISC (Complex Instruction Set Computing)
dibuat kuat dengan integrasi sejumlah besar file instruksi yang kuat.
Menjalankan program dengan singkat dan cepat.
Tren modern adalah memilih sekumpulan instruksi sederhana untuk
merancang unit kontrol yang lebih sederhana. Arsitektur RISC (Reduced
Instruction Set Computing) dicakup oleh fungsi-fungsi berikut: instruksi
sederhana, set instruksi kecil, panjang instruksi yang sama untuk semua
instruksi, sejumlah besar register dan arsitektur LOAD / STORE.
Banyak komputer generasi awal memiliki CPU berbasis akumulator.
Komputer generasi selanjutnya memiliki CPU berbasis register yang memiliki
banyak register, yang masing-masing dapat digunakan sebagai akumulator.
CPU yang berbasis batch dewasa ini bisa dianggap jarang, tetapi sangat
signifikan dalam menjalankan set instruksi.

Arsitektur dan Organisasi Komputer 196


Universitas Pamulang Teknik Informatika S-1

Instruksi dapat dibagi menjadi delapan jenis berikut:

a. Data transfer instruction : Memindahkan data dari satu register / lokasi ke


yang lain.
b. Arithmetic instruction : Melakukan operasi aritmatika.
c. Logical instruction : Melakukan operasi logika Boolean.
d. Control transfer instruction : Mengubah urutan eksekusi program.
e. Input/output (I/O) instruction : Mentransfer informasi antara perangkat
periferal eksternal dan inti sistem (CPU / memori).
f. String manipulation instruction : Memanipulasi string karakter yang terdiri
dari byte, word, double word, dll.
g. Translate instruction : Mengkonversi data dari satu format ke format lainnya.
h. Processor control instruction : Memeriksa operasi prosesor.

2. Mode Pengalamatan

Berbagai mode untuk menentukan alamat operand dalam instruksi


dikenal sebagai mode pengalamatan. Komputer tertentu mungkin tidak
menggunakan semua mode pengalamatan. Mode pengalamatan yang populer
adalah sebagai berikut:

a. Pengalamatan langsung / Immediate addressing


b. Pengalamatan langsung (mutlak) / Direct (absolute) addressing
c. Pengalamatan tidak langsung / Indirect addressing
d. Pengalamatan Register / Register addressing
e. Pengalamatan Register tidak langsung / Register indirect addressing
f. Pengalamatan relatif / Relative addressing
g. Pengalamatan indeks / Index addressing
h. Pengalamatan indeks dengan dasar / Base with index addressing
i. Pengalamatan offset dan index dengan dasar / Base with index and offset
addressing

Ada 2 tujuan yang mempengaruhi seorang arsitek komputer dalam


membuat pilihan untuk mode pengalamatan:

a. Mengurangi panjang instruksi dengan menggunakan kolom pendek untuk


alamatnya.

Arsitektur dan Organisasi Komputer 197


Universitas Pamulang Teknik Informatika S-1

b. Menyediakan utilitas yang kuat bagi pemrogram untuk penanganan data


yang kompleks seperti pengindeksan array, kontrol loop, relokasi program,
dll.

Mode pengalamatan tepat yang digunakan oleh instruksi ditunjukkan ke


unit kontrol dengan dua cara:

a. Bidang mode terpisah dalam instruksi menunjukkan mode pengalamatan


yang digunakan, seperti yang ditunjukkan pada Gambar. 13.2
b. Opcode (Operation Code) itu sendiri secara eksplisit menentukan mode
pengalamatan yang digunakan dalam instruksi.

Opcode Addressing Mode I Operand Field II Operand Field

Gambar 13. 2 Bidang Mode Pengalamatan


.

Komputer tertentu menggunakan salah satu dari 2 teknik berdasarkan


penjelasan diatas. Untuk lebih memudahkan dalam pemahaman tentang
perbedaan berbagai mode pengalamatan yang ada pada set instruksi, lihat
tabel 13.1 dibawah.

Tabel 13.1 Mode Pengalamatan dan Mekanismenya

Mode Pengalamatan Mekanisme Catatan


No.
Langsung / Immediate Operand berada dalam Pengambilan operang
1.
instruksi tersebut cepat

Langsung (mutlak) / Operand ada di Akses memori diperlukan


2.
Direct (absolute) memori; Alamat lokasi untuk mendapatkan
dapat ditemukan di operan
instruksi
Tidak langsung / Indirect Operand ada di Akses ke memori
3.
memori; alamatnya tambahan diperlukan
juga di memori; Alamat untuk mengetahui alamat
lokasi yang berisi operan
alamat operand
ditentukan dalam

Arsitektur dan Organisasi Komputer 198


Universitas Pamulang Teknik Informatika S-1

instruksi
Register langsung / Operand ada di Akses lebih cepat ke
4.
Register direct register; Alamat operand tanpa akses
register (nomor) memori; lebih cepat
ditentukan dalam daripada pengalamatan
instruksi langsung

Register tidak langsung / Operand ada di Lebih cepat dari


5.
Register indirect memori; alamatnya pengalamatan tidak
dalam register tidak langsung
langsung; Alamat
(nomor) dari register
yang berisi alamat
operan ditentukan
dalam instruksi
Pengalamatan relatif / Operand ada di Perhitungan alamat cepat
6.
Relative addressing memori; posisi tanpa akses memori
relatifnya (nomor offset)
dalam kaitannya
dengan konten
penghitung program
ditentukan dalam
instruksi
Pengalamatan indeks / Operand ada di -
7.
Index addressing memori; alamatnya
terdiri dari dua bagian;
Instruksi memberikan
nomor offset dan juga
menentukan register
dasar. Nomor offset
ditambahkan ke isi
register dasar
Pengalamatan register Operand ada di -
8.
dasar / Base register memori; instruksi berisi
addressing alamat dan register

Arsitektur dan Organisasi Komputer 199


Universitas Pamulang Teknik Informatika S-1

indeks berisi nomor


offset; Alamat dan
offset ditambahkan
untuk mendapatkan
alamat operan

Pengalamatan Register

Pengalamatan register secara konseptual mirip dengan pengalamatan


langsung, kecuali register berisi operand dan bukan lokasi memori. Instruksi
berisi nomor register dengan operand. Mode ini sangat berguna untuk program
yang panjang untuk menyimpan hasil antara dalam register, bukan memori.

Contoh berikut menggambarkan mode pengalamatan register:

• ADD R1, R2 - Menambahkan konten register R1 dan R2 dan


menyimpan hasilnya di R1. Kedua operand
dialamatkan dalam mode pengalamatan register

- Isi register R1 disimpan di alamat memori MEM1;


• STORE R1, MEM1
Pengalamatan register digunakan untuk operand
pertama dan pengalamatan langsung digunakan
untuk operand kedua.

Keuntungan: Pengambilan operand lebih cepat tanpa mengakses memori.


Kekurangan: Jumlah register terbatas dan oleh karena itu penggunaan
yang efektif oleh programmer sangat penting. Jika tidak, waktu eksekusi
program meningkat.

Opcode Register Number (R)

<R> = Operand
Gambar 13. 3 Pengalamatan Register

Arsitektur dan Organisasi Komputer 200


Universitas Pamulang Teknik Informatika S-1

Batasan Keselarasan
Mengapa seseorang mendesain komputer dengan batasan keselarasan?
Ketidak selarasan menciptakan kerumitan perangkat keras karena memori
biasanya diselaraskan pada beberapa kata atau batas kata ganda. Karena itu,
akses memori yang tidak selaras memerlukan beberapa referensi memori yang
selaras. Sehingga, program akses terarah berjalan lebih cepat bahkan pada
komputer yang memungkinkan akses tidak selaras.
Meskipun datanya selaras, dukungan untuk mengakses byte, setengah
kata, dan kata memerlukan jaringan penyelarasan untuk menyelaraskan byte,
setengah kata, dan kata dalam register 64-bit. Sebagai contoh, pada Gambar
13.4, misalkan kita membaca satu byte dari sebuah alamat dengan 3 bit orde
rendahnya dengan nilai 4. Kita perlu menggeser 3 byte ke kanan untuk
mendapatkan byte pada posisi yang benar dalam register 64-bit meluruskan.
Bergantung pada instruksinya, komputer mungkin juga perlu menandatangani
dan memperluas set. Pengarsipan sederhana: hanya byte yang dialamatkan di
memori yang dapat diubah. Pada beberapa komputer, operasi byte, setengah
kata, dan kata tidak mempengaruhi bagian atas register.

Pengalamatan Memori
Hampir semua komputer desktop dan server, termasuk 80x86, ARM
(Advanced RISC Machine), dan MIPS (Microprocessor without Interlocked
Pipelined Stages), menggunakan pengalamatan byte untuk mengakses
operand memori. Beberapa arsitektur seperti ARM dan MIPS memerlukan
penyelarasan objek. Akses ke objek berukuran s byte pada alamat byte A
disejajarkan jika A mod s = 0. (Lihat Gambar 13.4 dibawah.) 80x86 tidak
memerlukan penyelarasan, tetapi akses umumnya lebih cepat saat operand
sejajar.
Terlepas dari apakah arsitekturnya adalah memuat-menyimpan (Load-
Store) atau memungkinkan operand menjadi referensi memori, bagaimana
alamat memori diinterpretasikan dan bagaimana mereka ditentukan, harus
didefinisikan. Pengukuran yang disajikan di sini sebagian besar, tetapi tidak
sepenuhnya, tidak bergantung pada komputer. Dalam beberapa kasus,
pengukuran sangat dipengaruhi oleh teknologi penyusun. Pengukuran ini
dilakukan dengan kompilator yang dioptimalkan, karena teknologi kompilator
memainkan peran kunci.

Arsitektur dan Organisasi Komputer 201


Universitas Pamulang Teknik Informatika S-1

Bagaimana alamat memori diinterpretasikan? Dengan kata lain, objek


mana yang diakses bergantung pada alamat dan panjangnya? Semua set
instruksi yang dijelaskan pada modul ini beralamat pada byte dan menyediakan
akses ke byte (8 bit), (16 bit) dan (32 bit). Sebagian besar komputer juga
menawarkan akses (64-bit).
Ada dua ketentuan berbeda untuk mengurutkan byte dalam objek yang
lebih besar. Urutan bit Little Endian menempatkan byte dengan alamat "x ...
x000" di posisi paling tidak signifikan dalam akses 64-bit. Byte diberi nomor:

7 6 5 4 3 2 1 0

Urutan byte Big Endian menempatkan byte dengan alamat "x ... X000"
pada posisi paling signifikan dalam akses 64-bit (bagian besar). Byte diberi
nomor:

0 1 2 3 4 5 6 7

Saat Anda bekerja di komputer, urutan byte seringkali tidak terlihat.


Hanya program yang mengakses lokasi yang sama, seperti keduanya.
Katakanlah, kata dan byte bisa dibedakan. Namun, urutan byte menjadi
masalah ketika terjadi pertukaran data antar komputer dengan urutan yang
berbeda. Urutan Little endian juga tidak mengikuti urutan kata normal saat
membandingkan string. String ditampilkan di register sebagai "SDRAWKCAB" -
> BACKWARDS (dibalik).
Masalah memori kedua adalah, pada banyak komputer, akses harus
diarahkan ke objek yang lebih besar dari satu byte. Akses ke objek berukuran s
byte pada alamat byte A sejajar jika A mod s = 0. Gambar 13.4 menunjukkan
alamat di mana akses diselaraskan atau tidak selaras.

Arsitektur dan Organisasi Komputer 202


Universitas Pamulang Teknik Informatika S-1

Nilai 3-bit rendah dari alamat byte

0 1 2 3 4 5 6 7
Lebar Objek
Selaras
1 byte (byte) Selaras Selaras Selaras Selaras Selaras Selaras Selaras

2 bytes (setengah kata) Selaras Selaras Selaras Selaras

2 bytes (setengah kata) Tidak Selaras Tidak Selaras Tidak Selaras Tidak Selaras

4 bytes (kata) Selaras Selaras

4 bytes (kata) Tidak Selaras Tidak Selaras

4 bytes (kata) Tidak Selaras Tidak Selaras

4 bytes (kata) Tidak Selaras Tidak Selaras

8 bytes (kata ganda) Selaras

8 bytes (kata ganda) Tidak Selaras

8 bytes (kata ganda) Tidak Selaras

8 bytes (kata ganda) Tidak Selaras

8 bytes (kata ganda) Tidak Selaras

8 bytes (kata ganda) Tidak Selaras

8 bytes (kata ganda) Tidak Selaras

8 bytes (kata ganda) Tidak Selaras

Gambar 13. 4 Keselarasan dan ketidak selarasan Alamat byte, setengah kata,
kata, dan objek kata ganda untuk komputer beralamat byte.

Untuk setiap contoh yang tidak selaras, beberapa objek memerlukan dua
memori untuk menyelesaikannya. Setiap objek yang selaras selalu dapat
diselesaikan dalam akses memori selama memorinya sama besar dengan

Arsitektur dan Organisasi Komputer 203


Universitas Pamulang Teknik Informatika S-1

objeknya. Gambar tersebut menunjukkan memori selebar 8 byte. Offset byte


yang mengidentifikasi kolom menunjukkan 3 bit alamat yang lebih rendah.

3. Permasalahan Desain Pengalamatan

Dalam Sub bab ini, akan dijelaskan dua permasalahan umum pada
desain pengalamatan, antara lain, Jangkauan Pengalamatan Fisik dan
Homogenitas Pengalamatan.

a. Jangkauan Pengalamatan Fisik


Sebelum membahas jangkauan pengalamatan fisik, materi ini
berkesinambungan dengan istilah-istilah yang ada pada Processor 8088.
Ada empat register dalam kelompok register segmen. Ingatlah bahwa
tumpukan, data, dan kode instruksi semuanya ada di memori utama, tetapi
biasanya di bagian yang berbeda. Register segmen mengatur berbagai
bagian memori ini yang disebut segmen. Register-register ini disebut CS
(Code Segment Register) untuk register segmen kode, DS (Data Segment)
untuk register segmen data, SS (Stack Segment) untuk register tumpukan
segmen, dan ES (Extra Segment) untuk register segmen tambahan.
Sebagian besar waktu nilai mereka tidak berubah. Pada dasarnya, segmen
data dan segmen tumpukan berbagi memori yang sama, dengan data di
bagian bawah segmen dan tumpukan di bagian atas.
Untuk setiap referensi memori, salah satu register segmen digunakan
untuk membangun alamat memori yang sebenarnya. Jika suatu instruksi
berisi alamat langsung tanpa mengacu pada register, alamat tersebut secara
otomatis terletak di segmen data dan DS digunakan untuk menentukan basis
segmen. Alamat fisik ditemukan dengan menambahkan bagian bawah ini ke
alamat dalam pernyataan itu. Alamat fisik dalam memori kode instruksi
berikutnya diperoleh dengan menggeser konten CS sebanyak empat digit
biner dan menambahkan nilai penghitung program. Dengan kata lain, alamat
20-bit sebenarnya yang tersirat dalam register CS 16-bit dihitung terlebih
dahulu, kemudian PC 16-bit ditambahkan untuk membentuk alamat memori
absolut 20-bit.
Dalam arsitektur ARM, jangkauan pengalamatan fisik dapat diperluas
hingga delapan bit alamat tambahan (bit [23:20] dan [8:5]). Jumlah bit
tambahan tergantung pada implementasinya. Bit tambahan ini dapat
diinterpretasikan sedemikian rupa untuk memperluas ukuran memori fisik

Arsitektur dan Organisasi Komputer 204


Universitas Pamulang Teknik Informatika S-1

dengan faktor 28 = 256. Oleh karena itu, memori fisik sebenarnya dapat
mencapai 256 kali jumlah memori yang tersedia untuk proses tunggal. Perlu
diketahui ARM menawarkan arsitektur serbaguna untuk sistem penyimpanan
virtual yang dapat disesuaikan dengan kebutuhan pengembang sistem
tertanam.
Pada masanya, kebutuhan akan kepadatan kode yang lebih tinggi
didorong oleh biaya tinggi dan kecepatan memori relatif yang rendah.
Memori sistem telah menjadi sangat mahal untuk sebagian besar komputer
pada masanya. Saat penyimpanan mahal, sistem penyimpanan harus kecil.
Total ruang pengalamatan fisik komputer mini DEC PDP-8 hanya 4.096 byte.
Ketika PDP-8 dikembangkan, itu semua adalah memori yang bisa dibeli oleh
pembeli biasa. Program yang lebih besar dapat dijalankan, tetapi hanya
setelah sistem operasi mulai menerapkan memori virtual / Virtual Memory.
b. Homogenitas Pengalamatan
Agar lebih mudah dalam memahami sub bab ini, akan diperlihatkan
sebuah survei. Survei ini mencakup mode pengalamatan, format instruksi,
dan instruksi-instruksi dalam arsitektur RISC. Bagian berikut berfokus pada
perbedaannya, dengan mengasumsikan bahwa lebih dari 90% instruksi yang
dieksekusi untuk salah satu arsitektur ini. Untuk mengatasi homogenitas ini,
Gambar 13.5 memberikan ringkasan untuk empat arsitektur dari tahun 1970-
an. Belum pernah ada yang begitu tersebar luas dalam sejarah komputasi
Konsistensi dalam hal arsitektur komputer.

IBM 360/370 Intel 8086 Motorola 68000 DEC VAX

1964/1970 1978 1980 1977


Tanggal diumumkan
16, 32, 48 8, 16, 24, 32, 40, 48 16, 32, 48, 64, 80 8,16, 24, 32, … , 432
Ukuran instruksi (bit)
24 bit, flat/ 4 + 16 bit, 24 bit, flat 32 bit, flat
Pengalamatan (ukuran,
31 bit, flat segmented
model)
Yes 360/No 370 No 16-bit aligned No
Data selaras?
2/3 5 9 =14
Data mode pengalamatan
Halaman Tidak ada Opsional Halaman
Proteksi
2 KB & 4 KB - 0.25 – 32 KB 0.5 KB
Ukuran halaman

Arsitektur dan Organisasi Komputer 205


Universitas Pamulang Teknik Informatika S-1

Opcode Opcode Memory mapped Memory mapped


I/O
16 GPR x 32 bit 8 dedicated data x 8 data dan 8 15 GPR x 32 bit
Register bilangan bulat
16 bit address x 32 bit
(ukuran, model, jumlah)
4 x 64 bit Opsional: 8 x 80 bit Opsional: 8 x 80 0
Register floating-point
bit
terpisah
IBM (Floating IEEE 754 single, IEEE 754 single, DEC
Format floating-point
Hexadecimal) double, extended double, extended

Gambar 13. 5 Rangkuman dari 4 Arsitektur Generasi Tahun 1970-an

4. Efisiensi Pengalamatan

Dalam praktiknya, banyak mode pengalamatan tidak diperlukan untuk


Arsitektur Set Instruksi yang efektif. Karena sebagian besar kode yang ditulis
pada level ini saat ini dihasilkan oleh kompiler, aspek terpenting dari mode
pengalamatan arsitektur adalah bahwa pilihannya kecil, jelas, dan mahal
(dalam hal waktu eksekusi dan ukuran kode) mudah dihitung. Ini secara umum
berarti bahwa mesin harus mengambil posisi ekstrim: baik itu harus
menawarkan setiap pilihan yang mungkin, atau seharusnya hanya menawarkan
satu.
Oleh karena itu, arsitektur yang lebih bersih umumnya memiliki jumlah
mode pengalamatan yang sangat kecil dengan pembatasan yang ketat pada
penggunaannya. Dalam praktiknya, pengalamatan langsung (Immediate
Addressing), pengalamatan langsung (absolut) (Direct Addressing),
pengalamatan terdaftar (Registered Addressing), dan pengalamatan terindeks
(Indexes Addressing) umumnya cukup untuk hampir semua aplikasi.
Selain itu, setiap register (termasuk pointer variabel lokal, pointer stack,
dan penghitung program) harus dapat digunakan di mana pun register
dibutuhkan. Mode pengalamatan yang lebih kompleks dapat mengurangi
jumlah instruksi, tetapi dengan mengorbankan rangkaian operasi yang tidak
dapat dengan mudah diparalelkan dengan operasi sekuensial lainnya.
Set instruksi RISC biasanya berisi kurang dari 100 instruksi dengan
format instruksi tetap (32-bit). Hanya tiga hingga lima mode pengalamatan
sederhana yang digunakan. Sebagian besar instruksi didasarkan pada register.
Memori hanya diakses melalui instruksi muat / simpan (Load/Store). File log

Arsitektur dan Organisasi Komputer 206


Universitas Pamulang Teknik Informatika S-1

besar (setidaknya 32) digunakan untuk meningkatkan peralihan konteks cepat


di antara banyak pengguna, dan sebagian besar instruksi dijalankan dalam satu
lingkaran dengan kontrol yang tertanam.
Manfaat yang dihasilkan termasuk clock rate yang lebih tinggi dan CPI
(Cycles Per Instruction) yang lebih rendah, yang berarti menghasilkan kinerja
prosesor yang lebih tinggi.
Perbedaan arsitektur CISC dan RISC yang lebih mengefisiensikan
pengalamatan dapat dilihat pada gambar 13.6 Tipikal Prosessor CISC dan 13.7
Tipikal Prosessor RISC dibawah.

Microprogrammed Control Instruction and


Control Memory Unit Data Path

Arsitektur CISC
dengan kontrol Main Memory Cache
terprogram mikro dan
data standar
Gambar 13. 6 Tipikal Prosessor CISC

Arsitektur RISC Hardwired Data Path


dengan kontrol kabel Control Unit
dan cache instruksi
terpisah dan cache
data
Instruction Data
Cache Cache

(Instruction) (Data)
Main Memory

Gambar 13. 7 Tipikal Prosessor RISC

Arsitektur dan Organisasi Komputer 207


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas
Jawablah pertanyaan-pertanyaan di bawah ini berdasarkan materi yang Anda
pelajari di bagian Uraian Materi.
1. Jelaskan dengan singkat, apa itu set instruksi!
2. Berikan pendapat Anda mengenai arsitektur CISC dan RISC! Dan jelaskan, yang
mana diantara kedua arsitektur tersebut yang lebih menjadi preferensi Anda!
3. Jelaskan dengan singkat, apa itu mode pengalamatan! Dan sebutkan berbagai
mode pengalamatan yang anda ketahui!
4. Jelaskan materi tentang batasan keselarasan dengan bahasa Anda sendiri
secara singkat dan padat!
5. Jelaskan perbedaan urutan byte Little Endian dan Big Endian, serta
gambarkanlah kedua urutan byte tersebut!

D. Referensi
Kai Hwang & Naresh Jotwani. (2011). Advanced Computer Architecture:
Parallelism, Scalability, Programmability. 2nd Edition. New Delhi: Tata
McGraw Hill Education Private Limited.
Andrew S. Tanenbaum. (2006). Structured Computer Organization. 5th Edition. New
Jersey: Pearson Education Inc.
John L. Hennessy & David A. Petterson. (2012). Computer Architecture: A
Quantitative Approach. 5th Edition. Massachusetts: Elsevier Inc.
John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A
Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.
Govindarajalu B. (2010). Computer Architecture and Organization: Design Principles
and Applications. 2nd Edition. New Delhi: Tata McGraw Hill Education
Private Limited.
William Stallings. (2016). Computer Organization and Architecture: Designing for
Performance. 10th Edition. London: Pearson Education Limited.

Arsitektur dan Organisasi Komputer 208


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 14

ARSITEKTUR MEMORI SISTEM KOMPUTER

A. Tujuan Pembelajaran

Setelah mempelajari materi ini, Mahasiswa memahami dan dapat


menjelaskan apa itu arsitektur memori pada sistem komputer, dan sistem memori
utama.

B. Uraian Materi
1. Definisi Memori

Memori adalah bagian dari komputer tempat program dan data disimpan.
Beberapa ilmuwan komputer (terutama Inggris) menggunakan istilah
"penyimpanan" daripada "memori", meskipun istilah "memori" semakin sering
digunakan untuk merujuk pada ruang hard disk. Tanpa memori dari mana
prosesor dapat membaca dan menulis informasi, tidak akan ada komputer
digital dengan program yang tersimpan.
Perangkat penyimpanan seperti register, cache, memori utama,
perangkat disk, dan penyimpanan cadangan sering kali diatur secara hierarki,
seperti yang ditunjukkan pada Gambar 14.1. Teknologi penyimpanan dan
organisasi penyimpanan di setiap tingkat dicirikan oleh lima parameter: waktu
akses (t), ukuran penyimpanan (s), biaya per byte (c), bandwidth transmisi (b),
dan unit transmisi (x).

Arsitektur dan Organisasi Komputer 209


Universitas Pamulang Teknik Informatika S-1

Level 0 Register in CPU

Peningkatan kapasitas dan waktu akses


Cache

Kenaikan biaya per bit


Level 1
(sRAMs)

Main Memory
Level 2
(dRAMs)

Disk Storage
Level 3 (Solid-state, Magnetic)

Backup Storage/Archival
Level 4 (Magnetic Tapes, Optical Disks)

Kapasitas

Gambar 14. 1 Hierarki penyimpanan dengan empat tingkatan peningkatan


kapasitas, penurunan kecepatan, dan biaya dari tingkat rendah hingga tinggi

Waktu akses (t) mengacu pada waktu siklus dari CPU ke memori level ke-
i. Ukuran memori (s) adalah jumlah byte atau kata pada level i. Biaya
penyimpanan di tingkat ke-i diperkirakan berdasarkan produk (c)(s). Bandwidth
(b) mengacu pada kecepatan pengiriman informasi antara bidang yang
berdekatan. Unit transfer (x) mengacu pada ukuran butir untuk transfer data
antara level i dan i + 1.
Perangkat penyimpanan tingkat rendah lebih cepat diakses, lebih kecil
dan lebih mahal per byte, memiliki bandwidth yang lebih tinggi, dan
menggunakan unit transmisi yang lebih kecil daripada perangkat di tingkat yang
lebih tinggi. Dengan kata lain, Kita memiliki ti-1 < ti, si-1 < si, ci-1 > ci, bi-1 > bi, dan
xi-1 < xi, untuk i = 1, 2, 3, dan 4 dalam hierarki, di mana i = 0 sesuai dengan
level register CPU. Cache terletak di level 1, memori utama di level 2, hard
drive di level 3, dan penyimpanan cadangan di level 4.
Gambar 14.2 menunjukkan ukuran dan aksesibilitas setiap level dalam
hierarki penyimpanan komputer, dari desktop kelas atas hingga server kelas
bawah.

Arsitektur dan Organisasi Komputer 210


Universitas Pamulang Teknik Informatika S-1

Level 0 1 2 3

Nama Register Cache Main Memory Disk Storage

Tipikal ukuran < 1 KB 32 KB – 8 MB < 512 GB >1 TB

Teknologi Penyimpanan kustom On-Chip CMOS DRAM Disk magnetis


implementasi multi-port, CMOS CMOS SRAM

Waktu akses (ns) 0.15 – 0.30 0.5 – 15 30 – 200 5.000.000

Bandwidth (MB/s) 100.000 – 1.000.000 10.000 – 5000 – 20.000 50 – 500


40.000

Dikelola oleh Compiler Hardware Sistem Sistem Operasi /


Operasi Operator

Didukung oleh Cache Main memory Disk Disk lain dan DVD

Gambar 14. 2 Tingkat hierarki yang khas melambat dan meningkat saat kita
menjauh dari prosesor untuk stasiun kerja besar atau server kecil

Komputer yang disematkan mungkin kehabisan ruang hard drive dan


memiliki lebih sedikit memori dan cache. Waktu akses bertambah saat Anda
berpindah ke bawah hierarki, yang membuat transfer menjadi kurang responsif.
Teknologi implementasi menunjukkan teknologi tipikal yang digunakan untuk
fungsi-fungsi ini. Waktu akses untuk nilai tipikal pada tahun 2006 diberikan
dalam nanodetik. Waktu-waktu ini akan berkurang seiring waktu. Bandwidth
ditentukan dalam megabyte per detik antara level-level dalam hierarki
penyimpanan. Bandwidth untuk penyimpanan hard disk mencakup antarmuka
yang didukung dan di-buffer.

2. Jenis Memori

Dalam arsitektur komputer, terdapat sistem memori utama (Main


memory). Dan di dalam sistem memori utama, terdapat bermacam-macam jenis
memori yang akan dijelaskan dibawah.

Arsitektur dan Organisasi Komputer 211


Universitas Pamulang Teknik Informatika S-1

a. Sistem Memori Utama (Main Memory)


Memori utama terkadang disebut sebagai memori utama sistem
komputer. Biasanya jauh lebih besar dari cache dan sering digunakan oleh
chip RAM termurah seperti DDR, SDRAM, yaitu RAM dinamis sinkron
dengan kecepatan data ganda. Memori utama dikelola oleh MMU (Memory
Management Unit) yang berhubungan dengan sistem operasi.
1) Memori Read-Only (ROM)
RAM bukan satu-satunya jenis chip memori. Dalam banyak
aplikasi seperti mainan, peralatan rumah tangga dan mobil, program
dan beberapa data harus disimpan bahkan saat perangkat dimatikan.
Selain itu, setelah penginstalan, baik program maupun data tidak akan
pernah berubah. Persyaratan ini mengarah pada pengembangan
memori hanya-baca (ROM) yang tidak dapat dimodifikasi atau dihapus,
baik secara sengaja atau dengan cara lain. Data dimasukkan ke dalam
ROM selama pembuatannya, pada dasarnya mengekspos bahan
fotosensitif melalui topeng yang berisi pola bit yang diinginkan dan
kemudian merekatkan permukaan yang terbuka (atau tidak terpapar).
Satu-satunya cara untuk mengubah program dalam ROM adalah
dengan menukar seluruh chip.
ROM jauh lebih murah daripada RAM jika dipesan dalam jumlah
yang cukup besar untuk menutupi biaya pembuatan masker. Namun,
mereka tidak fleksibel karena tidak dapat diubah setelah produksi dan
waktu tunggu antara pemesanan dan penerimaan ROM bisa berminggu-
minggu. Untuk memudahkan perusahaan dalam mengembangkan
produk baru berbasis ROM, diciptakanlah PROM (Programmable ROM).
PROM seperti ROM, hanya saja PROM dapat diprogram (sekali) di
situs, yang menghindari waktu tunggu. Banyak PROM berisi sejumlah
sekering kecil. Sekring tertentu dapat diputus dengan memilih baris dan
kolomnya dan kemudian menerapkan tegangan tinggi ke pin khusus
pada chip.
Perkembangan berikutnya dalam baris ini adalah EPROM
(Erasable PROM), yang tidak hanya dapat diprogram di situs, tetapi juga
dihapus. Ketika jendela kuarsa di EPROM terkena sinar ultraviolet yang
kuat selama 15 menit, semua bit disetel ke 1. Jika banyak perubahan
diharapkan selama siklus desain, EPROM jauh lebih murah daripada

Arsitektur dan Organisasi Komputer 212


Universitas Pamulang Teknik Informatika S-1

PROM karena dapat digunakan kembali. EPROM biasanya memiliki


organisasi yang sama dengan RAM statis. EPROM 27C040 4 Mbit,
misalnya, menggunakan organisasi khas RAM statis.
Yang lebih baik dari EPROM adalah EEPROM, yang dapat
dihapus dengan menerapkan pulsa alih-alih harus ditempatkan di ruang
khusus untuk terkena sinar ultraviolet. Selain itu, EEPROM dapat
diprogram ulang pada tempatnya, sementara EPROM harus
dimasukkan ke dalam pemrogram EPROM khusus agar dapat
diprogram. Di sisi lain, EEPROM yang lebih besar biasanya hanya 1/64
dari EPROM biasa dan hanya setengahnya lebih cepat. EEPROM tidak
dapat bersaing dengan DRAM atau SRAM karena mereka 10 kali lebih
lambat, 100 kali lebih kecil dan jauh lebih mahal. Mereka hanya
digunakan dalam situasi di mana non-volatilitasnya sangat penting.
Memori flash adalah jenis EEPROM yang lebih baru. Berbeda
dengan EPROM, yang terhapus oleh paparan sinar ultraviolet, dan
EEPROM, yang dapat dihapus byte, memori flash dapat dihapus dari
blok dan dapat ditulis ulang. Seperti halnya EEPROM, memori flash
dapat dihapus tanpa mengeluarkannya dari sirkuit. Berbagai produsen
membuat papan sirkuit kecil dengan memori flash hingga 1 GB yang
dapat digunakan sebagai "film" untuk menyimpan gambar dalam kamera
digital dan untuk banyak tujuan lainnya. Memori flash suatu hari nanti
dapat digunakan untuk menggantikan drive, yang akan menjadi
peningkatan besar dengan waktu akses 50ns. Masalah teknis terbesar
saat ini adalah bahwa mereka aus setelah sekitar 100.000
penghapusan, sedangkan disk akan bertahan selama bertahun-tahun
terlepas dari seberapa sering mereka ditulis ulang.

2) Memori Read-Write (RAM)


Ingatan yang telah kita pelajari sejauh ini semuanya dapat dibaca
dan ditulis. Memori semacam itu disebut RAM (Random Access
Memories). Ini adalah istilah yang keliru, karena semua chip memori
dapat diakses secara acak. Namun, istilah itu terlalu mapan untuk
disingkirkan sekarang. RAM memiliki dua bentuk: statis dan dinamis.
RAM statis (SRAM) dibuat secara internal menggunakan sirkuit yang
mirip dengan flip-flop D dasar. Properti dari ingatan ini adalah bahwa

Arsitektur dan Organisasi Komputer 213


Universitas Pamulang Teknik Informatika S-1

isinya dipertahankan selama daya dipertahankan: detik, menit, jam,


bahkan hari. RAM statis sangat cepat. Waktu akses yang khas adalah
beberapa nanodetik. Inilah mengapa RAM statis populer sebagai
memori cache level 2.
Dynamic RAM (DRAM), di sisi lain, tidak menggunakan flip-flop.
Sebaliknya, RAM dinamis adalah susunan sel, masing-masing berisi
transistor dan kapasitor kecil. Kapasitor dapat diisi atau dikosongkan
sehingga 0 dan 1 dapat disimpan. Karena muatan listrik cenderung
bocor, setiap bit dalam RAM dinamis harus diperbarui (dimuat ulang)
setiap beberapa milidetik untuk mencegah kebocoran data. Karena
logika eksternal harus menangani pembaruan, RAM dinamis
memerlukan antarmuka yang lebih kompleks daripada yang statis,
meskipun dalam banyak aplikasi kelemahan ini diimbangi dengan
kapasitas yang lebih besar.
Karena RAM dinamis hanya membutuhkan satu transistor dan
satu kapasitor per bit (dibandingkan dengan enam transistor per bit
untuk RAM statis terbaik), RAM dinamis memiliki kepadatan yang
sangat tinggi (banyak bit per chip). Karena alasan ini, memori utama
hampir selalu dibuat dengan RAM dinamis. Namun, kapasitas besar ini
harus dibayar mahal: RAM dinamis lambat (puluhan nanodetik).
Kombinasi cache RAM statis dan memori utama RAM dinamis mencoba
menggabungkan properti yang baik dari masing-masing.
Ada beberapa jenis chip RAM dinamis. Jenis tertua yang masih
ada (di komputer lama) adalah FPM-DRAM (Mode Halaman Cepat).
Secara internal ini diatur sebagai larik bit dan bekerja oleh perangkat
keras yang menyajikan alamat baris dan kemudian melalui alamat
kolom. Sinyal eksplisit memberi tahu memori kapan waktunya untuk
merespons, sehingga memori berjalan secara asinkron dari jam sistem
utama.
Memori bekerja secara tidak sinkron dari jam sistem utama. FPM-
DRAM telah diganti dengan EDO-DRAM (Extended Data Output), yang
dengannya referensi memori kedua dapat dimulai sebelum referensi
memori sebelumnya diselesaikan. Perpipaan sederhana ini tidak
membuat satu referensi memori menjadi lebih cepat, tetapi

Arsitektur dan Organisasi Komputer 214


Universitas Pamulang Teknik Informatika S-1

meningkatkan bandwidth memori dan menyampaikan lebih banyak kata


per detik.
FPM dan EDO bekerja cukup baik ketika chip memori memiliki
waktu siklus 12 ns dan lebih lambat. Ketika prosesor menjadi sangat
cepat sehingga dibutuhkan memori yang lebih cepat, FPM dan EDO
diganti dengan SDRAM (Synchronous DRAM), campuran RAM statis
dan dinamis yang dikendalikan oleh jam sistem utama. Keuntungan
besar dari SDRAM adalah bahwa jam tidak lagi membutuhkan sinyal
kontrol untuk memberi tahu chip memori kapan harus bereaksi.
Sebaliknya, CPU memberi tahu memori berapa banyak siklus yang
harus dijalankan dan kemudian memulainya. Dalam setiap siklus
berikutnya, memori mengeluarkan 4, 8 atau 16 bit, tergantung pada
berapa banyak jalur keluaran yang dimilikinya. Tidak adanya sinyal
kontrol meningkatkan kecepatan data antara CPU dan memori.
Peningkatan berikutnya atas SDRAM adalah DDR (Double Data
Rate) SDRAM. Dalam jenis memori ini, chip memori menghasilkan
output pada tepi naik dari jam dan tepi jatuh, yang menggandakan
kecepatan data. Dengan demikian, chip DDR lebar 8-bit yang berjalan
pada 200 MHz mengeluarkan dua nilai 8-bit 200 juta kali per detik (untuk
interval pendek, tentu saja), yang memberikan laju ledakan teoretis 3,2
Gbitps
Ringkasan dari berbagai jenis Mmeori dapat dilihat pada Gambar
14.3 dibawah.

Byte Penggunaan
Tipe Kategori Penghapusan Volatil
diubah umum

Read/write Elektikal Ya Ya Cache level 2


SRAM
Read/write Elektikal Ya Ya Memori utama
DRAM
(lama)

Read/write Elektikal Ya Ya Memori utama


SDRAM
(baru)

Read-only Tidak Tidak Tidak Peralatan volume


ROM
memungkinkan besar

Arsitektur dan Organisasi Komputer 215


Universitas Pamulang Teknik Informatika S-1

Read-only Tidak Tidak Tidak Peralatan volume


PROM
memungkinkan kecil

Read-mostly Cahaya UV Tidak Tidak Prototipe perangkat


EPROM
Read-mostly Elektrikal Ya Tidak Prototipe perangkat
EEPROM
Read/write Elektrikal Tidak Tidak Film untuk kamera
Flash
digital

Gambar 14. 3 Perbandingan berbagai jenis memori

3) Memori Archival
Disk Drive dan Penyimpanan Cadangan Memori disk dianggap
sebagai level tertinggi dari memori online. Berisi program sistem seperti
sistem operasi dan kompiler, program pengguna dan kumpulan data.
Disk optik dan drive pita magnetik adalah memori offline untuk
digunakan sebagai penyimpanan dan penyimpanan cadangan. Mereka
berisi salinan program pengguna sebelumnya dan sekarang serta hasil
dan file. Hard drive juga tersedia sebagai array RAID.
Komputer Workstation pada umumnya memiliki Cache dan
Memori Utama pada Kartu Prosesor dan Hard Drive dalam Drive Disk
Terpasang.
Dibawah akan dijelaskan secara ringkas macam-macam memori
arsip/archival :

a) Magnetic Hard Disk


Media penyimpanan dalam sistem disk magnetik terdiri dari satu
atau lebih disk-disk yang dipasang pada poros umum. Film magnet
tipis biasanya disimpan di kedua sisi setiap pelat. Rakitan
dimasukkan ke dalam drive, menyebabkannya berputar dengan
kecepatan konstan. Permukaan magnet bergerak di dekat kepala
baca / tulis. Data disimpan di trek konsentris dan kepala baca / tulis
bergerak secara radial untuk mengakses trek yang berbeda.

Arsitektur dan Organisasi Komputer 216


Universitas Pamulang Teknik Informatika S-1

Sector 0, track 1
Sector 3, track n
Sector 0, track 0

Gambar 14. 4 Organisasi permukaan disk

Dalam Magnetic Hard Disk, terdapat juga 2 jenis yang sudah umum
diketahui dalam arsitektur komputer, antara lain :
b) Floppy Disk
Hard drive yang dibahas di atas disebut sebagai hard drive. Floppy
disk adalah drive yang lebih kecil, lebih sederhana, dan lebih murah
yang terbuat dari lembaran plastik fleksibel yang dapat dilepas yang
dilapisi dengan bahan magnet. Disk dibungkus dalam wadah plastik
dengan lubang di mana kepala baca / tulis dapat dimasukkan.
Lubang di tengah disk memungkinkan mekanisme poros di drive
disk untuk memosisikan dan memutar disk.
c) RAID Disk Arrays
Kecepatan prosesor meningkat secara dramatis. Pada saat yang
sama, waktu akses hard disk drive masih dalam urutan milidetik,
yang merupakan penyebab terbatasnya pergerakan. Salah satu
kemungkinan untuk mempersingkat waktu akses adalah dengan
menggunakan beberapa hard disk yang bekerja secara paralel.
Tahun 1988 peneliti di Universitas California-Berkeley. Mereka
menyebutnya RAID, hard drive yang bertanggung jawab atas setiap
array redundan. (Karena semua disk sekarang tidak mahal, akronim
tersebut kemudian diinterpretasikan kembali sebagai Redundant
Array of Independent Disk.) Sejak itu, versi konfigurasi dan banyak
lagi telah dikembangkan.

Arsitektur dan Organisasi Komputer 217


Universitas Pamulang Teknik Informatika S-1

d) Optical Disk
Perangkat penyimpanan juga dapat diimplementasikan dengan
menggunakan sarana optik. CD terkenal yang digunakan dalam
sistem audio adalah aplikasi praktis pertama dari teknologi ini.
Segera setelah itu, teknologi optik diadaptasi ke lingkungan
komputasi untuk menyediakan media penyimpanan hanya-baca
berkapasitas tinggi yang dikenal sebagai CD-ROM.
Generasi pertama CD dikembangkan oleh Sony dan Philips pada
pertengahan 1980-an. Teknologi telah memanfaatkan kesempatan
untuk menggunakan representasi digital untuk sinyal audio analog.
Untuk memastikan perekaman dan pemutaran suara berkualitas
tinggi, sampel sinyal analog 16-bit direkam dengan kecepatan
44.100 sampel per detik. CD pada awalnya dirancang untuk masa
pakai hingga 75 menit dan membutuhkan total sekitar 3 × 109 bit (3
gigabit) memori. Sejak itu, perangkat dengan kapasitas lebih tinggi
telah dikembangkan.
e) CD Technology
Teknologi optik yang digunakan untuk sistem CD memanfaatkan
fakta bahwa sinar laser dapat difokuskan pada titik yang sangat
kecil. Sinar laser diarahkan ke piringan yang berputar, lekukan
kecilnya diatur sedemikian rupa sehingga membentuk pola spiral
panjang di permukaannya. Lubang memantulkan sinar, yang
difokuskan pada fotodetektor yang mendeteksi pola biner yang
disimpan.
f) CD-ROM
Karena CD menyimpan informasi dalam bentuk biner, maka CD
cocok digunakan sebagai media penyimpanan dalam sistem
komputer. Tantangan terbesarnya adalah memastikan integritas
data yang disimpan.
Karena kotaknya sangat kecil, sulit untuk menerapkannya dengan
sempurna. Dalam aplikasi audio dan video, beberapa kesalahan
data dapat ditoleransi karena tampaknya tidak terlalu
mempengaruhi suara atau gambar yang sedang diputar. Namun,
kesalahan seperti itu tidak dapat diterima dalam aplikasi komputer.
Karena ketidaksempurnaan fisik tidak dapat dihindari, bit tambahan

Arsitektur dan Organisasi Komputer 218


Universitas Pamulang Teknik Informatika S-1

harus digunakan untuk menyediakan fungsi deteksi dan koreksi


kesalahan. CD, yang digunakan untuk menyimpan data komputer,
dikenal sebagai CD-ROM karena isinya, seperti chip ROM
semikonduktor, hanya dapat dibaca.

Alumunium Acrylic Label

Pit Land Polycarbonate plastic

(a) Cross-section

Pit Land

Reflection Reflection

No Reflection

Source Detector Source Detector Source Detector

(b) Transisi dari Pit ke Land

Arsitektur dan Organisasi Komputer 219


Universitas Pamulang Teknik Informatika S-1

0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0

(c) Pola biner yang tersimpan

Gambar 14. 5 Cakram Disk

g) CD-Recordable
CD yang dijelaskan di atas adalah perangkat hanya-baca dan berisi
informasi pada saat pembuatan. Pertama, master disc dibuat
dengan laser berkekuatan tinggi untuk membakar lubang yang
sesuai dengan ukuran lubang yang dibutuhkan. Sebuah cetakan
kemudian diproduksi dari disk utama yang memiliki proyeksi, bukan
lubang. Salinan dilakukan dengan menyuntikkan plastik
polikarbonat cair ke dalam cetakan untuk membuat CD dengan pola
lubang (rongga) yang sama dengan cakram utama. Jelas, metode
ini hanya cocok untuk produksi massal CD dengan informasi yang
sama.
Pada akhir 1990-an, tipe baru dari compact disc dikembangkan
dimana datanya dapat dengan mudah direkam oleh pengguna
komputer. Ini dikenal sebagai CD-R yang dapat direkam. Selama
proses pembuatan, trek spiral mengkilap yang dilapisi dengan
pewarna organik diaplikasikan pada cakram. Kemudian laser dalam
drive CD-R membakar lubang di pewarna organik. Area yang
terbakar menjadi kusam. Mereka memantulkan cahaya yang kurang
dari area mengkilap saat CD dibaca. Proses ini tidak dapat diubah,
yaitu data tertulis disimpan secara permanen. Bagian disk yang
tidak digunakan dapat digunakan untuk menyimpan data tambahan
di lain waktu.
h) CD-Rewritable
CD yang paling fleksibel adalah CD yang dapat ditulis beberapa kali
oleh pengguna. Mereka dikenal sebagai CD-RW (CD-ReWritables).
Struktur dasar CD-RW mirip dengan struktur CD-R. Alih-alih
pewarna organik di lapisan perekam, paduan perak, indium,
antimon, dan telurium digunakan. Paduan ini memiliki sifat yang

Arsitektur dan Organisasi Komputer 220


Universitas Pamulang Teknik Informatika S-1

menarik dan berguna saat dipanaskan dan didinginkan. Ketika


dipanaskan di atas titik lelehnya (500°C) dan kemudian didinginkan,
ia memasuki keadaan amorf di mana ia menyerap cahaya. Namun,
jika hanya dipanaskan hingga sekitar 200°C dan dipertahankan
pada suhu tersebut untuk jangka waktu yang lama, proses yang
dikenal sebagai anil terjadi di mana paduan tetap dalam keadaan
kristal di mana cahaya dapat lewat. Jika keadaan kristal adalah
permukaan bumi, lubang dapat dibuat dengan memanaskan titik-
titik tertentu di atas titik leleh. Data yang disimpan dapat dihapus
menggunakan proses anil, yang mengembalikan paduan ke
keadaan kristal seragam. Bahan reflektif ditempatkan di atas lapisan
perekaman untuk memantulkan cahaya saat disk dibaca.
i) DVD Technology
Keberhasilan teknologi CD dan terus mengejar kapasitas
penyimpanan yang lebih besar mengarah pada perkembangan
teknologi DVD (Digital Versatile Disk). Standar DVD pertama
ditentukan pada tahun 1996 oleh sebuah konsorsium perusahaan
dengan tujuan untuk dapat menyimpan seluruh film di satu sisi
DVD.

b. Magnetic Tape System


Pita magnetik cocok untuk pengarsipan offline data dalam jumlah besar.
Mereka biasanya digunakan untuk tujuan pencadangan dan pengarsipan.
Perekaman pita magnetik menggunakan prinsip yang sama dengan cakram
magnet. Perbedaan utamanya adalah bahwa film magnetik disimpan pada
pita plastik yang sangat tipis, dengan lebar 0,5 atau 0,25 inci. Tujuh atau
sembilan bit (sesuai dengan satu karakter) direkam secara paralel di
sepanjang lebar pita tegak lurus dengan arah gerakan. Kepala baca / tulis
terpisah disediakan untuk setiap posisi bit pada kaset, sehingga semua bit
karakter dapat dibaca atau ditulis secara paralel. Salah satu bit karakter
digunakan sebagai bit paritas.
Data pada rekaman itu disusun dalam bentuk rekaman yang dipisahkan oleh
celah, seperti yang ditunjukkan pada Gambar 14.6. Gerakan tape dihentikan
hanya jika celah rekaman berada di bawah kepala baca / tulis. Celah
rekaman cukup panjang untuk memungkinkan rekaman mencapai kecepatan

Arsitektur dan Organisasi Komputer 221


Universitas Pamulang Teknik Informatika S-1

normalnya sebelum awal rekaman berikutnya tercapai. Jika skema


pengkodean digunakan untuk merekam data pada tape, celah rekaman
diidentifikasi sebagai area di mana tidak ada perubahan magnetisasi. Hal ini
memungkinkan celah rekaman dideteksi secara independen dari data yang
direkam. Untuk membantu pengguna menata data dalam jumlah besar,
sekelompok rekaman terkait disebut file. Awal sebuah file diidentifikasi
dengan tanda file, seperti yang ditunjukkan pada Gambar 14.6. Tanda file
adalah rekaman satu atau beberapa karakter khusus, biasanya didahului
oleh celah yang lebih panjang dari celah antar-rekaman. Catatan pertama
setelah tanda file dapat digunakan sebagai header atau pengenal untuk file
tersebut. Hal ini memungkinkan pengguna untuk mencari rekaman yang
berisi file dalam jumlah besar untuk file tertentu.

File
File
mark File
mark

7 or 9
bits

File gap Record Record Record Record


gap gap

Gambar 14. 6 Organisasi data pada pita magnetik.

1) Cartridge Tape System


Sistem pita dirancang untuk mencadangkan penyimpanan hard drive
online. Salah satu sistem tersebut menggunakan pita format video 8 mm
yang terdapat dalam kaset. Drive ini disebut kaset. Mereka memiliki
kapasitas 2 hingga 5 gigabyte dan memproses transfer data dengan
kecepatan beberapa ratus kilobyte per detik. Membaca dan menulis
dilakukan dengan sistem pemindaian heliks yang beroperasi pada tape,
mirip dengan yang digunakan pada drive kaset video. Kepadatan bit
puluhan juta bit per inci persegi dapat dicapai. Tersedia sistem multi-
kartrid yang mengotomatiskan pemuatan dan pembongkaran kartrid
sehingga puluhan gigabyte penyimpanan online dapat dicadangkan tanpa

Arsitektur dan Organisasi Komputer 222


Universitas Pamulang Teknik Informatika S-1

pengawasan. Gambar 14.7 di bawah ini adalah contoh Catridge Tape


yang biasa digunakan untuk mencadangkan data.

(a)Tampak Depan (b)Tampak Belakang

Gambar 14. 7 Catridge Tape sebagai alternatif media pencadangan data

Arsitektur dan Organisasi Komputer 223


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas
Jawablah pertanyaan-pertanyaan di bawah ini berdasarkan materi yang Anda
pelajari di bagian Uraian Materi.
1. Jelaskan pengertian Memori menggunakan bahasa Anda berdasarkan materi
diatas!
2. Sebutkan dan jelaskan jenis-jenis memori yang telah dibahas pada modul ini!
3. Sebutkan dan jelaskan jenis-jenis memori Archival yang telah dibahas pada
modul ini!
4. Gambarkan organisasi data pada penyimpanan bertipe pita magnetik!
5. Kemukakan pendapat Anda tentang penyimpanan archival mana yang lebih baik
digunakan pada organisasi besar, misalnya Bank, Pemerintahan, dan Lembaga
lain! Berserta keuntungan dan kekurangan penggunaan penyimpanan archival
tersebut bagi lembaga tersebut!

D. Referensi
Kai Hwang & Naresh Jotwani. (2011). Advanced Computer Architecture:
Parallelism, Scalability, Programmability. 2nd Edition. New Delhi: Tata
McGraw Hill Education Private Limited.
Andrew S. Tanenbaum. (2006). Structured Computer Organization. 5th Edition. New
Jersey: Pearson Education Inc.
John L. Hennessy & David A. Petterson. (2012). Computer Architecture: A
Quantitative Approach. 5th Edition. Massachusetts: Elsevier Inc.
John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A
Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.
Govindarajalu B. (2010). Computer Architecture and Organization: Design Principles
and Applications. 2nd Edition. New Delhi: Tata McGraw Hill Education
Private Limited.
William Stallings. (2016). Computer Organization and Architecture: Designing for
Performance. 10th Edition. London: Pearson Education Limited.

Arsitektur dan Organisasi Komputer 224


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 15

KARAKTERISTIK DAN DEFINISI SISTEM MEMORI DAN

MEMORI UTAMA

A. Tujuan Pembelajaran
Setelah mempelajari materi ini, Mahasiswa memahami dan dapat
menjelaskan apa itu karakteristik dan definisi sistem memori dan memori utama
seperti cache memory dan virtual memory.

B. Uraian Materi
1. Karakteristik Sistem Memori

Bagian penting dari komputer mana pun adalah memorinya. Tanpa


memori, tidak akan ada komputer seperti yang kita kenal sekarang. Memori
digunakan untuk menyimpan instruksi yang akan dieksekusi dan data. Pada
bagian berikut, kita akan melihat komponen dasar dari sistem penyimpanan
tingkat gerbang untuk melihat cara kerjanya dan bagaimana mereka
digabungkan untuk menciptakan ruang penyimpanan yang besar. Ada
beberapa komponen atau bagian memori akan dijelaskan secara singkat di
bawah, seperti berikut:
Pengait, untuk membuat memori 1-bit, kita membutuhkan sirkuit yang
entah bagaimana mengingat nilai input sebelumnya. Sirkuit semacam itu dapat
terdiri dari dua gerbang NOR. Sirkuit analog dapat dibangun dari gerbang
NAND. Namun, kami tidak akan menyebutkannya lebih lanjut karena secara
konseptual identik dengan versi NOR.
Flip-flops, Di banyak sirkuit, perlu untuk mengambil sampel dan
menyimpan nilai dalam baris tertentu pada waktu tertentu. Dalam varian ini,
yang disebut flip-flops, transisi status tidak terjadi ketika clock adalah 1,
melainkan selama transisi clock dari 0 ke 1 (tepi naik) atau 1 ke 0 (tepi turun).
Oleh karena itu, panjang pulsa clock tidak penting selama transisi terjadi
dengan cepat.
Registers, Flip-flops tersedia dalam berbagai konfigurasi. Yang
sederhana yang mencakup dua flip-flops tipe-D independen dengan sinyal

Arsitektur dan Organisasi Komputer 225


Universitas Pamulang Teknik Informatika S-1

preset. Meskipun dikemas bersama pada chip 14-pin yang sama, kedua flip-
flops tersebut tidak saling terhubung. Susunan yang sangat berbeda adalah flip-
flop octal. Delapan D flip-flop (karena itu istilah "oktal") tidak hanya hilang dari Q
dan garis preset, tetapi semua garis jam dihubungkan bersama dan
dikendalikan oleh pin 11. Kedelapan sinyal penghapusan juga digabungkan.
Jadi ketika pin 1 pergi ke 0, semua flip-flop dipaksa untuk menyatakan 0. Jika
Anda bertanya-tanya mengapa pin 11 pada input dibalik dan kemudian dibalik
lagi pada setiap sinyal CK, sinyal input mungkin tidak memiliki arus yang cukup
untuk menggerakkan kedelapan flip-flops. Inverter input sebenarnya digunakan
sebagai penguat.
Organisasi Memori, Meskipun kita sekarang telah berpindah dari memori
1-bit sederhana ke memori 8-bit untuk membangun memori yang besar,
diperlukan organisasi yang berbeda di mana kata-kata individual terkandung
dapat diatasi. Organisasi memori yang digunakan secara luas yang memenuhi
kriteria ini. Contoh ini menunjukkan memori dengan empat kata 3-bit. Setiap
operasi membaca atau menulis kata 3-bit lengkap. Sementara kapasitas
penyimpanan total 12-bit hampir tidak lebih besar dari flip-flop oktal, ini
membutuhkan lebih sedikit pin, dan yang lebih penting, desainnya dengan
mudah meluas ke memori besar.
Chip Memori, Hal yang menyenangkan tentang memori adalah dapat
dengan mudah diperluas ke ukuran yang lebih besar. Memorinya adalah 4 × 3,
yaitu empat kata masing-masing 3 bit. Untuk memperluasnya menjadi 4 × 8,
tambahkan lima kolom lagi, masing-masing dengan empat flip-flop, ditambah
lima baris masukan lagi dan lima baris keluaran lagi. Untuk beralih dari 4 × 3 ke
8 × 3, Anda perlu menambahkan empat baris lagi, masing-masing dengan tiga
flip-flop, dan baris alamat A 2. Dengan jenis struktur ini, jumlah kata dalam
memori harus menjadi pangkat 2 untuk efisiensi maksimum, tetapi jumlah bit
dalam satu kata bisa berapa saja.
Ram dan Rom, Memori yang telah kita pelajari sejauh ini semuanya
dapat dibaca dan ditulis. Memori semacam itu disebut RAM (Random Access
Memories), yang keliru karena semua chip memori dapat diakses secara acak,
tetapi istilah tersebut terlalu mapan untuk disingkirkan sekarang. RAM tersedia
dalam dua versi: statis dan dinamis. RAM bukan satu-satunya jenis chip
memori. Dalam banyak aplikasi seperti Mainan, peralatan dan mobil, program
dan beberapa data harus disimpan bahkan saat perangkat dimatikan. Selain itu,

Arsitektur dan Organisasi Komputer 226


Universitas Pamulang Teknik Informatika S-1

setelah instalasi, baik program maupun data tidak akan pernah berubah.
Persyaratan ini mengarah pada pengembangan ROM (Read Only Memory)
yang tidak dapat dimodifikasi atau dihapus dengan sengaja atau sebaliknya.
Data dalam ROM dimasukkan selama pembuatannya, yang pada dasarnya
mengekspos bahan fotosensitif yang berisi pola bit yang diinginkan dan
kemudian menempel pada permukaan yang terbuka (atau tidak terpapar). Satu-
satunya cara untuk mengubah program di ROM adalah mengganti seluruh chip.

2. Definisi Sistem Memori dan Memori Utama


a. Sistem Memori
Program dan data yang pengguna kerjakan disimpan di memori
komputer. Pengguna sekarang menyadari bahwa kecepatan eksekusi
program sangat bergantung pada kecepatan transfer instruksi dan data
antara prosesor dan memori. Penting juga untuk memiliki memori yang
cukup untuk menjalankan program besar dengan data dalam jumlah besar
dengan mudah.
Idealnya, penyimpanannya cepat, besar, dan murah. Sayangnya,
ketiga persyaratan tersebut tidak dapat dipenuhi secara bersamaan.
Kecepatan dan ukuran yang lebih besar dicapai dengan biaya yang lebih
tinggi. Banyak pekerjaan telah dilakukan untuk mengembangkan struktur
yang akan meningkatkan hasil dan ukuran memori sambil menjaga biaya
tetap masuk akal.
Para perintis komputer dengan tepat memperkirakan bahwa
pemrogram akan membutuhkan memori cepat yang tidak terbatas. Solusi
hemat biaya untuk keinginan ini adalah hierarki penyimpanan yang
memanfaatkan lokasi dan mengganggu kinerja biaya teknologi
penyimpanan. Prinsip lokalitas yang menyatakan bahwa kebanyakan
program tidak mengakses semua kode atau data secara seragam. Lokalitas
terjadi dalam waktu (lokalitas temporal) dan dalam ruang (lokalitas spasial).
Prinsip ini dan pedoman bahwa untuk teknologi implementasi dan anggaran
kinerja tertentu, perangkat keras yang lebih kecil dapat diproduksi lebih
cepat, telah menyebabkan hierarki berbasis penyimpanan pada kecepatan
dan ukuran yang berbeda. Karena penyimpanan generasi berikutnya dan
teknologi flash terus menjembatani kesenjangan biaya per bit hard drive,

Arsitektur dan Organisasi Komputer 227


Universitas Pamulang Teknik Informatika S-1

teknologi ini kemungkinan besar akan menggantikan disk magnetik untuk


penyimpanan sekunder.
Karena memori yang lebih cepat lebih mahal, hierarki memori dibagi
menjadi beberapa level: masing-masing lebih kecil, lebih cepat, dan lebih
mahal per byte daripada level lebih rendah berikutnya yang lebih jauh dari
prosesor. Tujuannya adalah untuk menyediakan biaya sistem memori per
byte yang hampir serendah level termurah dan secepat level tercepat.
Jumlah maksimum memori yang dapat digunakan di setiap komputer
ditentukan oleh skema pengalamatan. Misalnya, komputer yang
menghasilkan alamat 16-bit dapat menangani hingga 216 = 64 kilogram
memori. Mesin yang instruksinya menghasilkan alamat 32-bit dapat
menggunakan memori yang berisi hingga 232 = lokasi penyimpanan 4G
(Giga), sedangkan mesin dengan alamat 64-bit berisi hingga 264 = 16E
(exa) ≈ 16 × 1018 lokasi penyimpanan dapat diakses. Jumlah lokasi sesuai
dengan ukuran ruang alamat komputer.
Memori biasanya dirancang untuk menyimpan dan mengambil data
dalam jumlah panjang kata. Misalnya, pertimbangkan komputer beralamat
byte yang instruksinya menghasilkan alamat 32-bit. Ketika alamat 32-bit
dikirim dari prosesor ke unit memori, 30 bit paling signifikan menentukan
kata mana yang diakses. Jika jumlah byte ditentukan, 2 bit yang lebih rendah
dari alamat menunjukkan posisi byte yang terpengaruh.

b. Memori Utama
Memori tempat CPU mengambil instruksi dikenal sebagai memori
utama atau memori primer. Oleh karena itu, untuk menjalankan program,
program harus dibawa ke memori utama. Memori tambahan berada di luar
inti sistem dan dapat menyimpan sejumlah besar program dan data. CPU
tidak mengambil instruksi dari program di memori tambahan. Beberapa
program disimpan dalam memori tambahan dan program yang harus
dijalankan dimasukkan ke dalam memori utama, lihat Gambar 15.1. Memori
tambahan lebih murah dibandingkan dengan memori utama dan karenanya
komputer umumnya memiliki jumlah memori utama yang terbatas dan
memori tambahan yang besar. Memori tambahan juga dikenal sebagai
penyimpanan sekunder.

Arsitektur dan Organisasi Komputer 228


Universitas Pamulang Teknik Informatika S-1

Memori Program Penyimpanan


Utama Memori tambahan

Perangkat CPU Perangkat


Input Output

Gambar 15. 1 Hubungan antara memori utama dan memori tambahan

Memori menyimpan instruksi, data dan hasil dari program yang sedang
dijalankan oleh CPU. Disebut memori program karena CPU hanya
mengambil instruksi dari memori ini. Memori utama secara fungsional diatur
ke dalam sejumlah lokasi. Setiap posisi menyimpan sejumlah bit tetap. Istilah
panjang kata dari sebuah memori menunjukkan jumlah bit di setiap posisi.
Kapasitas total sebuah memori adalah jumlah digit dikalikan dengan panjang
kata. Setiap lokasi penyimpanan diidentifikasi dengan alamat unik, seperti
yang ditunjukkan pada Gambar.15.2. Dua memori berbeda dengan
kapasitas yang sama dapat diatur secara berbeda, seperti yang ditunjukkan
pada Gambar 15.3. Keduanya memiliki kapasitas 4 kilobyte yang sama,
tetapi berbeda dalam organisasi internal mereka.
Address
0000 Lokasi pertama
0001 Lokasi kedua
0010 Lokasi ketiga

IIII Lokasi terakhir (16th)

Gambar 15. 2 Lokasi Memori utama

Arsitektur dan Organisasi Komputer 229


Universitas Pamulang Teknik Informatika S-1

16 Bits 32 Bits

2 K Lokasi 1 K Lokasi

(b) 2048 X 16 (a) 1024 X 32

Gambar 15. 3 Kapasitas dan Organisasi Memori

Contoh : Komputer memiliki memori utama dengan 1024 lokasi


masing-masing 32 bit. Hitung kapasitas memori total:

Panjang kata = 32 bit = 4 byte;

Nomor lokasi = 1024 = 1 kilo = 1 K;

Kapasitas memori = 1 K x 4 byte = 4 KB

3. Sistem Memori Utama


a. Memori Cache
Di masa lalu, CPU selalu lebih cepat daripada memori. Saat memori
meningkat, CPU juga meningkat, yang membuat ketidakseimbangan.
Faktanya, perancang CPU menggunakan struktur baru ini untuk operasi
pipelining dan penskalaan super karena memungkinkan untuk
menempatkan lebih banyak sirkuit pada sebuah chip, membuat CPU lebih
cepat. Desainer memori biasanya menggunakan teknologi baru untuk
meningkatkan kapasitas chip, bukan kecepatan. Oleh karena itu,
masalahnya tampaknya semakin memburuk dari waktu ke waktu. Apa arti
ketidakseimbangan ini pada dasarnya adalah bahwa setelah CPU
mengeluarkan permintaan memori, ia tidak mendapatkan kata yang
dibutuhkan untuk banyak siklus CPU. Semakin lambat memori, semakin
banyak siklus yang harus ditunggu CPU.

Arsitektur dan Organisasi Komputer 230


Universitas Pamulang Teknik Informatika S-1

Seperti disebutkan di atas, ada dua cara untuk mengatasi masalah


ini. Cara termudah adalah dengan memulai memori READs ketika
terdeteksi, tetapi terus menjalankan dan menghentikan CPU jika sebuah
instruksi mencoba menggunakan kata memori sebelum instruksi itu tiba.
Semakin lambat memori, semakin sering masalah ini terjadi dan semakin
besar hukumannya jika terjadi. Misalnya, jika memori file mengalami
penundaan 10 siklus. Sangat mungkin bahwa salah satu dari 10
pernyataan berikutnya akan mencoba menggunakan kata yang telah
dibacanya.
Pada kenyataannya, masalahnya bukan pada teknologi, tetapi
ekonomi. Insinyur komputer tahu cara membuat memori cepat seperti CPU.
Namun, untuk bekerja dengan kecepatan penuh, mereka harus
ditempatkan pada chip CPU (karena perpindahan dari bus ke memori
sangat lambat). Jika Anda meletakkan sejumlah besar memori di atas chip
CPU, itu akan menjadi lebih besar, yang membuatnya lebih mahal.
Meskipun biaya tidak menjadi masalah, ada batasan ukuran chip CPU. Jadi
pilihannya tergantung pada sejumlah kecil memori cepat atau sejumlah
besar memori lambat. Yang kami sukai adalah penyimpanan cepat dalam
jumlah besar dengan harga murah.
Menariknya, teknik ini diketahui menggabungkan sejumlah kecil
memori cepat dengan sejumlah besar memori lambat untuk mencapai
(hampir) kecepatan penyimpanan cepat dan kapasitas penyimpanan besar
dengan harga sedang. Memori kecil dan cepat disebut cache (dari bahasa
Perancis cacher, yang artinya "menyembunyikan" dan dilafalkan "cash").
Berikut ini penjelasan singkat tentang bagaimana cache digunakan dan
cara kerjanya.
Ide dasar di balik cache adalah sederhana: kata-kata memori yang
paling sering digunakan disimpan di cache. Saat CPU membutuhkan
sebuah kata, CPU mencari cache terlebih dahulu. Hanya jika kata tersebut
tidak ada maka akan dipindahkan ke memori utama. Jika sebagian besar
kata-kata ada di cache, waktu akses rata-rata dapat dikurangi.
Keberhasilan atau kegagalan karena itu tergantung pada fraksi kata
apa yang ada di cache. Selama bertahun-tahun, orang tahu bahwa
program tidak mengakses ingatan mereka secara acak. Jika referensi
memori tertentu ada di alamat A, referensi memori berikutnya kemungkinan

Arsitektur dan Organisasi Komputer 231


Universitas Pamulang Teknik Informatika S-1

besar berada di lingkungan umum A. Contoh sederhananya adalah


program itu sendiri. Dengan pengecualian panggilan rung dan prosedur,
instruksi diambil dari lokasi berurutan. Selain itu, sebagian besar waktu
eksekusi program dihabiskan dalam loop, di mana sejumlah instruksi
dieksekusi berulang kali. Demikian pula, manipulator array kemungkinan
akan membuat banyak referensi ke array yang sama sebelum beralih ke
yang lain.
Pengamatan bahwa referensi ke memori yang dibuat dalam waktu
singkat cenderung menggunakan hanya sebagian kecil dari total memori
yang dikenal sebagai prinsip lokalitas dan membentuk dasar dari semua
sistem cache. Ide umumnya adalah ketika sebuah kata direferensikan, kata
itu dan beberapa tetangganya di-cache dari memori lambat yang besar
sehingga dapat dengan cepat diakses saat digunakan lagi. Pengaturan
umum dari CPU, cache, dan memori utama ditunjukkan pada Gambar 15.4.
Jika sebuah kata dibaca atau ditulis k kali dalam interval pendek, komputer
membutuhkan 1 referensi untuk memori lambat dan referensi k-1 untuk
memori cepat. Semakin besar k, semakin baik kinerja keseluruhan.

Main
CPU
Memory

Cache

Bus

Gambar 15. 4 Cache secara logis terletak di antara CPU dan memori
utama. Secara fisik, ada beberapa tempat yang memungkinkan.

Kita dapat memformalkan perhitungan ini dengan memperkenalkan c,


waktu akses cache, m, waktu akses memori utama, dan h, tingkat
keberhasilan. Ini adalah bagian dari semua referensi yang dapat dipenuhi
oleh cache. Dalam contoh kecil kita dari paragraf sebelumnya, h = (k - 1) /
k. Beberapa penulis juga mendefinisikan rasio ketidakcocokan, yaitu 1 - h.

Arsitektur dan Organisasi Komputer 232


Universitas Pamulang Teknik Informatika S-1

Dengan definisi tersebut kita dapat menghitung waktu akses rata-rata


sebagai berikut:

𝑟𝑒𝑟𝑎𝑡𝑎 𝑤𝑎𝑘𝑡𝑢 𝑎𝑘𝑠𝑒𝑠 = 𝑐 + (1 − ℎ) 𝑚

Seperti dengan h → 1, semua referensi dapat dipenuhi oleh cache


dan waktu akses mendekati c. Di sisi lain, karena h → 0 membutuhkan
referensi memori setiap saat sehingga waktu akses mendekati c + m,
pertama kali c untuk memeriksa cache (tidak berhasil) dan kemudian waktu
m untuk melakukan referensi di memori. Pada beberapa sistem, referensi
memori dapat dimulai secara paralel dengan pencarian cache, sehingga
siklus memori telah dimulai saat terjadi kesalahan cache. Namun, strategi
ini mengharuskan memori dapat diinterupsi di jalurnya jika terjadi cache
ditemukan, yang memperumit implementasi.
Menggunakan prinsip lokalitas sebagai panduan, memori utama dan
cache dibagi menjadi beberapa blok dengan ukuran tetap. Saat berbicara
tentang blok ini di cache, mereka biasanya disebut sebagai baris cache.
Ketika terjadi kegagalan cache, seluruh baris cache dimuat ke dalam cache
dari memori utama, bukan hanya kata yang diperlukan. Misalnya, dengan
ukuran baris 64 byte, referensi ke alamat memori 260 mengekstrak baris
yang terdiri dari byte 256 hingga 319 dalam baris cache. Jika beruntung,
beberapa kata lain di baris cache akan segera dibutuhkan. Ini lebih efisien
daripada mengambil satu kata, karena mengambil k kata sekaligus lebih
cepat daripada mengambil satu kata k kali. Ketika entri cache terdiri dari
lebih dari satu kata, kata tersebut lebih sedikit, sehingga lebih sedikit
overhead yang diperlukan.
Desain cache menjadi semakin penting untuk CPU berperforma
tinggi. Salah satu masalahnya adalah ukuran cache. Semakin besar cache,
semakin baik kinerjanya, tetapi juga semakin baik biayanya. Masalah
kedua adalah ukuran baris cache. Cache 16K dapat dipecah menjadi 1024
baris 16-byte, 2048 baris 8-byte, dan kombinasi lainnya. Masalah ketiga
adalah bagaimana cache diatur, seperti, bagaimana cache melacak kata-
kata memori mana yang selalu diperbarui.
Masalah desain keempat adalah apakah instruksi dan data disimpan
dalam cache yang sama atau berbeda. Cache terpadu (instruksi dan data

Arsitektur dan Organisasi Komputer 233


Universitas Pamulang Teknik Informatika S-1

menggunakan cache yang sama) lebih sederhana untuk dirancang dan


secara otomatis menyeimbangkan panggilan instruksi dengan panggilan
data. Namun, saat ini, trennya mengarah pada cache bersama dengan
instruksi di satu cache dan data di cache lainnya. Proyek ini juga dikenal
sebagai arsitektur Harvard. Referensi kembali ke komputer Mark III Howard
Aiken, yang memiliki memori terpisah untuk instruksi dan data. Kekuatan
pendorong bagi desainer ke arah ini adalah penggunaan CPU secara luas
di dalam pipeline. Unit pengambilan instruksi harus mengakses instruksi
secara bersamaan dengan mengakses data. Cache bersama
memungkinkan login paralel. nomor seragam. Karena instruksi tidak
berubah selama eksekusi, konten cache instruksi tidak boleh ditulis ulang
ke dalam memori.
Terakhir, masalah kelima adalah jumlah cache. Tidak jarang hari-hari
ini memiliki chip dengan cache primer on-chip, cache sekunder off-chip,
tetapi dalam paket yang sama dengan chip CPU dan cache ketiga lebih
jauh lagi.

b. Memori Virtual
Memori utama dianggap sebagai memori fisik yang dapat berisi
banyak program yang sedang berjalan. Namun, memori fisik yang terbatas
tidak dapat dimuat sepenuhnya di semua program secara bersamaan.
Konsep memori virtual diperkenalkan untuk mengatasi masalah ini. Idenya
adalah untuk memperluas penggunaan memori fisik di antara banyak
program yang menggunakan memori tambahan (memori cadangan) seperti
array disk.
Hanya program aktif atau bagiannya yang menjadi penghuni memori
fisik pada saat yang sama. Bagian aktif program dapat dimuat secara
dinamis dari hard disk ke memori fisik di bawah koordinasi sistem operasi.
Untuk pengguna, memori virtual menawarkan ruang penyimpanan yang
hampir tidak terbatas untuk bekerja. Tanpa memori virtual, mustahil untuk
mengembangkan sistem komputer multi-program atau time-split yang masif
digunakan saat ini.
Address Spaces (Ruang alamat) Setiap kata dalam memori fisik
diidentifikasi dengan alamat fisik yang unik. Semua kata memori dalam
memori utama membentuk ruang alamat fisik. Alamat virtual adalah alamat

Arsitektur dan Organisasi Komputer 234


Universitas Pamulang Teknik Informatika S-1

yang digunakan oleh instruksi mesin yang membuat program yang dapat
dieksekusi.
Alamat virtual harus diterjemahkan ke alamat fisik pada saat berjalan.
Sistem tabel terjemahan dan fungsi pemetaan digunakan. Panduan untuk
terjemahan alamat dan manajemen memori dipengaruhi oleh model
memori virtual yang digunakan dan organisasi hard disk dan memori
utama.
Penggunaan memori virtual memfasilitasi pelepasan dinamis memori
utama dengan banyak proses perangkat lunak. Ini juga memfasilitasi
portabilitas perangkat lunak dan memungkinkan pengguna untuk
menjalankan program yang membutuhkan lebih banyak memori daripada
memori fisik yang tersedia.
Hanya bagian aktif dari program aktif yang disimpan di memori
utama. Hal ini memungkinkan kode dan data dipindahkan, perlindungan
diterapkan di kernel, serta alokasi dan pengelolaan memori dioptimalkan
pada tingkat tinggi.
Address Mapping (Penetapan Alamat) Misalkan V adalah
himpunan alamat virtual yang dihasilkan oleh program yang berjalan pada
prosesor. Misalkan M himpunan alamat fisik yang ditetapkan untuk
menjalankan program ini. Sistem penyimpanan virtual memerlukan
mekanisme otomatis untuk mengimplementasikan pemetaan berikut:

𝑓𝜄 ∶ 𝑉 → 𝑀 ∪ {∅}

Alokasi ini adalah fungsi waktu yang bervariasi dari waktu ke waktu
karena memori fisik dialokasikan dan dilepaskan secara dinamis.
Pertimbangkan setiap alamat virtual 𝜈 𝜖 𝑉 Perintah 𝑓𝜄 secara resmi
didefinisikan sebagai berikut:

𝑚, 𝑗𝑖𝑘𝑎 𝑚 𝜖 𝑀 𝑑𝑖𝑡𝑢𝑔𝑎𝑠𝑘𝑎𝑛 𝑢𝑛𝑡𝑢𝑘 𝑚𝑒𝑛𝑦𝑖𝑚𝑝𝑎𝑛 𝑑𝑎𝑡𝑎


𝑓𝜄(𝑣) = { 𝑦𝑎𝑛𝑔 𝑑𝑖𝑖𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑘𝑎𝑠𝑖 𝑜𝑙𝑒ℎ 𝑎𝑙𝑎𝑚𝑎𝑡 𝑣𝑖𝑟𝑡𝑢𝑎𝑙 𝑣
𝜙, 𝑘𝑒𝑡𝑖𝑘𝑎 𝑑𝑎𝑡𝑎 𝑣 𝑑𝑖 𝑀 ℎ𝑖𝑙𝑎𝑛𝑔

Dengan kata lain, perintah 𝑓𝜄(𝑣) secara jelas menerjemahkan alamat


virtual v menjadi alamat fisik m jika ada memori yang terkena di M. Jika
terjadi kesalahan memori, nilai yang dikembalikan menunjukkan 𝑓𝜄(𝑣) = 𝜙,

Arsitektur dan Organisasi Komputer 235


Universitas Pamulang Teknik Informatika S-1

bahwa elemen yang direferensikan (instruksi atau data) tidak ditempatkan


di memori utama pada saat referensi.
Efisiensi proses terjemahan alamat mempengaruhi kinerja memori
virtual. Memori virtual lebih sulit diterapkan dalam multiprosesor karena hal
tambahan seperti koherensi, perlindungan, dan konsistensi menjadi lebih
sulit. Dua model memori virtual dijelaskan di bawah ini.
Private Virtual Memory (Memori Virtual Privat) Model pertama
menggunakan area memori virtual privat yang dialokasikan untuk setiap
prosesor, seperti yang terjadi pada VAX / 11 dan kebanyakan sistem UNIX
(Gambar 15.5a). Setiap memori virtual privat dibagi menjadi beberapa
halaman. Halaman virtual dari ruang virtual yang berbeda dialokasikan ke
memori fisik yang sama yang digunakan oleh semua prosesor.
Manfaat menggunakan memori virtual privat termasuk penggunaan
ruang alamat prosesor yang kecil (32 bit), perlindungan di setiap sisi atau
per proses, dan penggunaan alokasi memori privat yang tidak memerlukan
penguncian.
Kekurangannya ada pada masalah sinonim, di mana alamat virtual
yang berbeda di ruang virtual yang berbeda mengarah ke halaman fisik
yang sama.
Shared Virtual Memory (Memori Virtual Bersama) Model ini
menggabungkan semua ruang alamat virtual menjadi satu ruang virtual
bersama secara global (Gambar. 15.5b). Setiap prosesor menerima
sebagian dari memori virtual bersama untuk menyatakan alamatnya.
Prosesor yang berbeda dapat menggunakan ruang terputus-putus.
Beberapa bagian dari ruang virtual juga dapat digunakan bersama oleh
banyak prosesor.
Contoh mesin yang menggunakan memori virtual bersama adalah
IBM801, RT, RP3, System38, HP Spectrum, Stanford Dash, MIT Alewife,
Tera, dll. Hingga saat itu, semua sistem memori virtual yang dibahas
dianggap privat kecuali dinyatakan lain.

Arsitektur dan Organisasi Komputer 236


Universitas Pamulang Teknik Informatika S-1

Ruang Virtual

Memori fisik
Memori fisik
Ruang virtual (pages Ruang virtual Ruan
pada prosesor frames) pada prosesor g P1
1 2

Ruang
Memori bersam
(page bersam a
s) a
Ruan
g P2

(a) Ruang virtual memori privat pada prosesor yang berbeda (b) Ruang penyimpanan virtual bersama secara
global
Gambar 15. 5 Dua model memori virtual untuk sistem multiprosesor (Terima kasih
untuk Dubois dan Briggs, tutorial, Simposium Tahunan tentang Arsitektur
Komputer, 1990)

Salah satu keuntungan menggunakan memori virtual bersama adalah


kenyataan bahwa semua alamat unik. Namun, setiap prosesor harus dapat
menghasilkan alamat yang lebih besar dari 32 bit, misal 46 bit untuk ruang
alamat 64 byte (246 byte). Sinonim tidak diperbolehkan dalam memori
virtual bersama secara global.
Tabel halaman harus mengizinkan akses bersama. Oleh karena itu,
saling pengecualian (pemblokiran) diperlukan untuk menegakkan akses
aman. Segmentasi didasarkan pada sistem halaman untuk membatasi
setiap proses ke ruang alamatnya sendiri (segmen). Penyimpanan virtual
global dapat membuat proses terjemahan alamat lebih lama.

Arsitektur dan Organisasi Komputer 237


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas
Jawablah pertanyaan-pertanyaan di bawah ini berdasarkan materi yang Anda
pelajari di bagian Uraian Materi.
1. Jelaskan definisi dari sistem memori berdasarkan materi diatas dengan bahasa
Anda sendiri!
2. Jelaskan definisi dari Memori utama berdasarkan materi diatas dengan bahasa
Anda sendiri!
3. Jelaskan pengertian dari Memori Cache dan apa kekurangan dari Memori cache!
4. Jelaskan pengertian dari Memori Virtual dan apa keuntungan menggunakan
memori Virtual!
5. Berapakah hasil dari kapasitas memori, apabila sebuah memori memiliki :
a. 2048 lokasi dan 32 bit panjang kata.
b. 1024 lokasi dan 64 bit panjang kata.
c. 4096 lokasi dan 16 bit panjang kata

D. Referensi
Kai Hwang & Naresh Jotwani. (2011). Advanced Computer Architecture:
Parallelism, Scalability, Programmability. 2nd Edition. New Delhi: Tata
McGraw Hill Education Private Limited.
Andrew S. Tanenbaum. (2006). Structured Computer Organization. 5th Edition. New
Jersey: Pearson Education Inc.
John L. Hennessy & David A. Petterson. (2012). Computer Architecture: A
Quantitative Approach. 5th Edition. Massachusetts: Elsevier Inc.
John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A
Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.
Govindarajalu B. (2010). Computer Architecture and Organization: Design Principles
and Applications. 2nd Edition. New Delhi: Tata McGraw Hill Education Private
Limited.
William Stallings. (2016). Computer Organization and Architecture: Designing for
Performance. 10th Edition. London: Pearson Education Limited.

Arsitektur dan Organisasi Komputer 238


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 16

KARAKTERISTIK SISTEM MEMORI

A. Tujuan Pembelajaran

Bab ini menjelaskan bagaimana program dijalankan pada komputer


berdasarkan sekumpulan instruksi mesin dan memperkenalkan konsep umum
penyimpanan instruksi program dan operator data.dalam pikiran. Dalam bab ini, kita
membahas bagaimana pedoman tersebut disintesis dan mengeksplorasi cara-cara
mengikutinya instruksi ditransfer dari memori ke prosesor dan dijalankan untuk
melakukan tugas tertentu. Metode pemecahan masalah yang biasa digunakan
untuk mengakses operator di sel memori dan prosesor register juga disajikan

B. Uraian Materi
1. Arsitektur Set Instruksi

Penekanannya di sini adalah pada konsep-konsep kunci. Kami


menggunakan gaya umum untuk mendeskripsikan instruksi mesin dan Standar
metode operasi operasional untuk prosesor komersial Jumlah yang cukup
instruksi dan metode penanganannya, sehingga kami dapat menyajikan
program yang lengkap dan realistis untuk tugas-tugas sederhana. Program
umum ini ditentukan di tingkat bahasa assembly, di mana mesin Instruksi dan
informasi tentang menangani operator diwakili oleh nama simbolis. Instruksi
lengkap himpunan, termasuk metode penanganan operator, sering disebut
sebagai arsitektur himpunan instruction set architecture (ISA) dari sebuah
prosesor.
Untuk membahas konsep-konsep kunci dalam bab ini, tidak perlu
mendefinisikan yang lengkap satu set instruksi dan kami tidak akan mencoba
melakukan itu. Sebaliknya, kami akan memberikan cukup banyak contoh untuk
menggambarkan hal ini kemampuan dari satu set perintah standar.
Bab ini tentang metode masukan / keluaran memperkenalkan konsep-
konsep berikut: diperlukan untuk memahami fungsionalitas komputer. Pilihan
gaya penulisan umum kami membuat materi terbaca dan dimengerti. Selain itu,

Arsitektur dan Organisasi Komputer 239


Universitas Pamulang Teknik Informatika S-1

gaya ini memungkinkan untuk diskusi umum, dibatasi oleh karakteristik


prosesor tertentu.
Karena menarik dan penting untuk melihat bagaimana konsep yang
dibahas berlaku untuk komputer yang sebenarnya. Prosesor ini tercantum
dalam Lampiran B hingga E. Lampiran B menjelaskan tentang prosesor Altera
Nios II. Perusahaan. Lampiran C menunjukkan prosesor ColdFire dari
Freescale Semiconductor, Inc. Lampiran D membahas prosesor ARM dari ARM
Ltd. Lampiran E menyajikan arsitektur prosesor dasar. diproduksi oleh Intel
Corporation. Program umum di Bab 2 dan 3 disajikan dalam istilah khusus set
instruksi di setiap aplikasi.
Sebagian besar program ditulis dalam bahasa tingkat tinggi seperti C, C
++ atau Java. Untuk eksekusi Program ini menggunakan bahasa tingkat tinggi
di prosesor, untuk ini program harus diterjemahkan ke dalam bahasa mesin.
prosesor yang menjalankan kompiler. Bahasa assembly adalah representasi
simbolis yang dapat dibaca bahasa mesin. Dalam buku ini, kami menggunakan
bahasa assembly secara ekstensif karena itulah cara terbaik untuk menjelaskan
cara kerja komputer.

2. Set Instruksi RISC dan CISC

Salah satu fitur terpenting yang membedakan komputer yang berbeda


adalah karakternya instruksi mereka. Ada dua pendekatan desain yang
berbeda secara fundamental set instruksi untuk komputer modern. Pendekatan
populer didasarkan pada hipotesis bahwa kinerja terbaik dapat dicapai jika
setiap instruksi menempati tepat satu kata memori dan semua operator yang
diperlukan untuk melakukan operasi aritmatika atau logika yang ditentukan
instruksi sudah ada di register prosesor. Pendekatan ini mempromosikan
implementasi dari blok pemrosesan di mana berbagai tugas pemrosesan
diperlukan urutan instruksi adalah "tubular" untuk tindakan tumpang tindih dan
pengurangan total waktu eksekusi program, sebagaimana dibahas dalam Bab
6. Batasan bahwa setiap instruksi harus muat dalam satu kata, mengurangi
kompleksitas dan jumlah berbagai jenis instruksi yang dapat dimasukkan dalam
sekumpulan perintah komputer. Komputer ini disebut komputer instruksi
tereduksi (RISCs).
Sebuah alternatif untuk pendekatan RISC adalah dengan menggunakan
instruksi yang lebih kompleks. yang mungkin meluas ke lebih dari satu kata

Arsitektur dan Organisasi Komputer 240


Universitas Pamulang Teknik Informatika S-1

memori dan yang mungkin tampak lebih kompleks fungsi. Pendekatan ini umum
dilakukan sebelum pengenalan pendekatan RISC. di tahun 1970. Meskipun
penggunaan instruksi yang kompleks pada awalnya tidak didefinisikan Pada
label tertentu, komputer berdasarkan ide ini kemudian disebut kompleks
Komputer Set Instruksi (CISC).

a. Pengenalan Set Instruksi RISC

Dua fitur utama dari set perintah RISC adalah:

1) Setiap instruksi cocok dengan satu kata.

2) Menggunakan arsitektur pemuatan / penyimpanan di mana Operator


memori hanya dapat diakses dengan instruksi pemuatan dan
penyimpanan.

Semua operator yang terlibat dalam aritmatika atau logika harus ada di
dalam prosesor.registrar atau salah satu operator dapat secara eksplisit
diidentifikasi dalam direktif kata
Pada awal program dijalankan, semua instruksi dan data yang
digunakan dalam program adalah disimpan di memori komputer. Register
prosesor tidak berisi operator yang valid di waktu itu. Jika operator
diharapkan berada dalam register prosesor sebelum digunakan instruksi,
Anda harus terlebih dahulu mendaftarkan operator ini. Pekerjaan ini
dilakukan dengan instruksi pemuatan yang menyalin isi dari area memori ke
prosesor daftar. Lokasi memori dapat ditentukan dengan beberapa cara.
Istilah cara mengatasinya digunakan.

b. Set Instruksi CISC

Beberapa fitur penting dari Complex Instruction Set Computers (CISC).


Salah satu perbedaan utama adalah bahwa set instruksi CISC tidak terbatas
pada pemuatan / penyimpanan. arsitektur di mana operasi aritmatika dan
logika hanya dapat dilakukan pada operator terletak di register prosesor.
Perbedaan utama lainnya adalah tidak diperlukan instruksi harus pas dalam
satu kata. Beberapa instruksi mungkin mengambil satu kata, sementara
yang lain mungkin mencakup beberapa kata

Arsitektur dan Organisasi Komputer 241


Universitas Pamulang Teknik Informatika S-1

c. Gaya RISC dan CISC

RISC dan CISC adalah dua jenis set instruksi. Kami adalah orang
pertama yang memperkenalkan RISC karena itu lebih sederhana dan lebih
bersih. Setelah mempertimbangkan beberapa fitur utama dari keduanya
gaya, fitur utama mereka harus diringkas.

Gaya RISC dicirikan oleh:

1) Fungsi pengalamatan yang sederhana


2) Semua instruksi dibagi menjadi satu kata
3) Lebih sedikit instruksi per set perintah sebagai konsekuensi dari cara
pengalamatan yang sederhana
4) Operasi numerik dan logis, yang hanya dapat dilakukan pada operator
prosesor register
5) Arsitektur beban / penyimpanan yang tidak memungkinkan transfer
langsung dari satu area memori ke yang lainnya; Transfer tersebut
harus dilakukan melalui registri prosesor
6) Instruksi sederhana untuk membantu prosesor menjalankan
penggunaan dengan cepat teknik seperti perpipaan
7) Program yang cenderung lebih besar karena lebih besar tetapi
instruksinya lebih sederhana diperlukan untuk tugas-tugas kompleks

Gaya CISC dicirikan oleh:

1) Operasi koping yang lebih kompleks


2) Instruksi yang lebih kompleks, dimana instruksi tersebut dapat diperluas
ke banyak kata.
3) Banyak instruksi untuk tugas-tugas kompleks
4) Operasi numerik dan logis yang dapat dilakukan pada operator memori
dan operator di register prosesor
5) Berpindah dari satu lokasi memori ke lokasi lain dengan perintah Pindah
6) Program yang cenderung lebih kecil karena lebih kecil tetapi
instruksinya lebih kompleks diperlukan untuk tugas-tugas kompleks

Sampai tahun 1970-an, semua komputer berjenis CISC. Gol penting


adalah menyederhanakan pengembangan perangkat lunak dengan
mengaktifkan perangkat keras untuk bekerja dengan baik tugas kompleks,
yaitu pengalihan kerumitan dari tingkat perangkat lunak ke perangkat keras

Arsitektur dan Organisasi Komputer 242


Universitas Pamulang Teknik Informatika S-1

tingkat. Ini membantu menyederhanakan dan mempersingkat program, yang


penting.ketika memori komputer lebih kecil dan lebih mahal. Kenangan hari
ini murah, dan kebanyakan komputer punya banyak.

Rancangan dengan gaya RISC dibuat sebagai upaya untuk mencapai


kinerja yang sangat tinggi materinya sangat sederhana, sehingga instruksi
dapat dieksekusi dengan sangat cepat dalam bentuk tabung mod. Hal ini
menyebabkan kompleksitas berpindah dari perangkat keras ke perangkat
lunak. Kompiler kompleks telah dikembangkan untuk pengoptimalan.kode
yang terdiri dari instruksi sederhana. Ukuran kode menjadi kurang penting
seperti jumlah memori meningkat.

Meskipun gaya RISC dan CISC tampaknya mendefinisikan dua


pendekatan yang berbeda secara fundamental, Prosesor modern sering
menyajikan apa yang tampak seperti kompromi antara pendekatan ini.
Sebagai contoh, alangkah baiknya menambahkan beberapa instruksi non-
RISC ke RISC prosesor untuk mengurangi jumlah perintah yang dieksekusi
selama eksekusi dari instruksi baru ini dengan cepat.

d. Pipelining Dalam Prosesor CISC

Set perintah prosesor RISC membuat penyambungan pemipaan relatif


mudah. Semua instruksi berukuran satu kata dan informasi operator
biasanya sama tempatkan di kata untuk instruksi yang berbeda. Tidak ada
arahan yang membutuhkan lebih dari satu operator memori. Hanya instruksi
pengunggahan dan penyimpanan biasanya memiliki akses ke operator
memori menggunakan daftar alamat saja. Semua instruksi lain bekerja
dengan register fungsional. dalam Pipeline lima tahap yang dijelaskan dalam
bab ini disesuaikan dengan fitur model RISC-style instruksi.

Perpipaan melalui prosesor CISC sulit karena instruksi yang diberikan


ukuran variabel, memiliki beberapa operator memori dan mode penanganan
dan penggunaan yang kompleks kode status. Instruksi yang berisi lebih dari
satu kata dapat berlangsung beberapa siklus Saya mendapat. Selain itu,
variabilitas dalam ukuran dan format perintah membuat decoding menjadi
sulit dan akses ke operator, serta mengontrol antrian pengiriman ke prosesor
super diarahkan.

Arsitektur dan Organisasi Komputer 243


Universitas Pamulang Teknik Informatika S-1

Fungsi penanggulangan yang lebih kompleks, seperti Meningkatkan


atau Meningkatkan Otomatis. memperkenalkan efek samping saat
menjalankan instruksi. Efek samping terjadi ketika posisi selain tujuan
operator juga terpengaruh.

3. Sistem Memori

Program dan data yang mereka kerjakan disimpan di memori komputer.


Dalam bab ini, kita akan membahas bagaimana bagian penting dari komputer
ini bekerja. Sekarang pembaca memahami kecepatan eksekusi itu Program
sangat bergantung pada kecepatan di mana instruksi dan data dapat ditransfer
prosesor dan memori. Penting juga untuk memiliki memori yang cukup untuk
memfasilitasi eksekusi ukuran besar program dengan data dalam jumlah besar.
Idealnya, memori harus cepat, besar, dan murah. Sayangnya, tidak
mungkin memuaskan semua orang tiga dari persyaratan tersebut secara
bersamaan. Peningkatan kecepatan dan ukuran memiliki biaya yang lebih
tinggi. Kebanyakan Pekerjaan tersebut berfokus pada pengembangan struktur
yang meningkatkan kecepatan dan ukuran memori yang efisien, tetapi tetap
dipertahankan biayanya masuk akal.
Memori komputer diatur ke dalam hierarki yang mencakup cache, memori
utama, dan memori sekunder. repositori. Dalam bab ini, kami menjelaskan
bahan dan organisme yang paling umum. digunakan untuk menerapkan
agregat ini. Akses memori langsung disajikan sebagai mekanisme transfer data
antara perangkat I / O seperti disk dan memori utama dengan kemacetan CPU
minimal. Kita Periksa kecepatan memori dan diskusikan bagaimana caching
dapat mengurangi waktu akses data di memori. Selanjutnya, kami
memperkenalkan konsep memori virtual, yang menggunakan penyimpanan
sekunder dalam jumlah besar. perangkat penyimpanan untuk meningkatkan
ukuran memori sebenarnya.

a. Konsep Dasar

Jumlah maksimum memori yang dapat digunakan di komputer


manapun ditentukan oleh rencana penanggulangan. Misalnya, komputer
yang menghasilkan alamat 16-bit bias pengobatan hingga 216 = 64K (kg) sel
memori. Mesin yang instruksinya menghasilkan Alamat 32-bit dapat
menggunakan memori yang berisi hingga 232 = 4G (giga) sel sementara

Arsitektur dan Organisasi Komputer 244


Universitas Pamulang Teknik Informatika S-1

mesin dengan alamat 64-bit dapat mengakses 264 = 16E (exa) ≈ situs
16x1018. Jumlah sel mewakili ukuran ruang alamat komputer.

Memori biasanya dirancang untuk menyimpan dan mengambil data


dalam jumlah panjang kata. Pertimbangkan, misalnya, komputer
berkemampuan 32-bit byte alamat. Ketika alamat 32-bit ditransfer dari
prosesor ke blok memori, semakin tinggi 30 bit menentukan kata mana yang
dapat diakses. Jika jumlah byte ditentukan, 2 bit alamat yang paling tidak
signifikan menunjukkan tata letak byte mana yang terlibat.

Hubungan antara prosesor dan memorinya terdiri dari alamat, data dan
garis kontrol seperti yang ditunjukkan. Prosesor menggunakan bilah alamat
untuk menunjukkan area memori yang terlibat dalam fungsi transfer data dan
menggunakan jalur data untuk transfer data. Pada saat yang sama, bilah
kontrol memiliki perintah yang menunjukkan baca atau Daftarkan fungsi dan
tentukan apakah akan mentransfer byte atau kata. Garis control Anda juga
memberikan informasi waktu yang diperlukan dan digunakan oleh memori
untuk indikasi saat itu menyelesaikan operasi yang diminta. Ketika
antarmuka prosesor-memori menerima respons memori, mendukung sinyal
MFC yang ditunjukkan. itu sinyal kontrol prosesor internal yang menunjukkan
fungsi memori yang diminta lengkap. Setelah konfirmasi, prosesor
melanjutkan ke langkah eksekusi berikutnya. urutan.

Gambar 16. 1 Koneksi memori ke prosesor

Arsitektur dan Organisasi Komputer 245


Universitas Pamulang Teknik Informatika S-1

Ukuran yang berguna dari kecepatan unit memori adalah waktu yang
dibutuhkan memulai fungsi transfer data dan menyelesaikan fungsi ini. Ini
disebut waktu akses memori. Ukuran penting lainnya adalah siklus memori.
waktu, yang merupakan waktu minimum yang dibutuhkan antara dimulainya
dua kali berturut-turut fungsi memori, seperti waktu antara dua pembacaan
berturut-turut. Dalam waktu siklus biasanya sedikit lebih lama daripada
waktu akses, tergantung pada aplikasinya detail blok memori.

Sebuah blok memori disebut memori akses acak (RAM) jika waktu
akses ke salah satu lokasinya tetap sama terlepas dari alamat lokasinya. Ini
membedakan ingatan seperti itu perangkat dengan akses berurutan atau
sebagian berurutan ke perangkat penyimpanan seperti disk magnetik dan
optik. Waktu akses perangkat terbaru tergantung pada alamat atau lokasi
datanya.

Teknologi memori komputer menggunakan semikonduktor built-in.


desain. Bagian berikut memberikan beberapa informasi dasar tentang
struktur internal dan hasil dari kenangan tersebut. Selanjutnya kita akan
membahas beberapa teknik yang digunakan untuk augmentasi kecepatan
efektif dan ukuran memori.

b. Cache dan Memori Virtual

Prosesor komputer biasanya dapat memproses instruksi dan data lebih


cepat dari itu dapat dipulihkan dari memori utama. Oleh karena itu, waktu
akses memori menjadi masalah Sistem. Salah satu cara untuk mengurangi
waktu akses memori adalah dengan menggunakan cache. Itu memori kecil
yang cepat dimasukkan di antara memori utama yang lebih besar dan lebih
lambat dan prosesor. Berisi bagian aktif saat ini dari program dan datanya.

Memori virtual adalah konsep penting lainnya yang terkait dengan


organisasi memori. Dari metode ini, hanya bagian aktif dari program yang
disimpan di memori utama dan sisanya disimpan di perangkat penyimpanan
sekunder yang jauh lebih besar. Modul program ditransfer bolak-balik antara
memori utama dan penyimpanan sekunder secara transparan dalam
program aplikasi. Hasilnya, aplikasi program melihat memori yang jauh lebih
besar daripada memori utama fisik komputer.

Arsitektur dan Organisasi Komputer 246


Universitas Pamulang Teknik Informatika S-1

c. Blokir Transfer

Pembahasan di atas menunjukkan bahwa data sering berpindah-


pindah antara memori utama dan cache dan antara memori utama dan disk.
Transfer ini tidak terjadi kata setiap kali. Data selalu dikirim dalam blok
kontinu, termasuk puluhan, ratusan, atau seribu kata. Transfer data antara
memori utama dan perangkat berkecepatan tinggi seperti tampilan grafik
atau antarmuka Ethernet juga menyertakan blok data yang besar. Karena itu
Parameter kinerja penting dari memori utama adalah kemampuannya untuk
membaca atau menulis blok data berkecepatan tinggi. Ini adalah masalah
penting yang akan kami tangani berulang kali ketika membahas teknologi
memori dan organisasi sistem memori.

d. RAM Semikonduktor

Memori akses acak (RAM) solid state tersedia dalam berbagai


kecepatan. Waktu siklus berkisar dari 100 ns hingga kurang dari 10 ns. Pada
bagian ini, kita akan membahas utama karakteristik ingatan ini. Kami akan
mulai dengan memasukkan bagaimana lokasi memori diatur di dalam chip.

e. Organisasi Chip Memori Internal

Lokasi memori biasanya diatur sebagai tabel di mana setiap lokasi


dapat digunakan simpan sedikit informasi. Organisasi yang memungkinkan
ditunjukkan Setiap seri sel adalah kata memori dan semua sel dalam baris
tersebut dihubungkan dengan garis yang sama disebut bus kata, yang
dikendalikan oleh dekoder alamat on-chip. Sel di setiap kolom terhubung ke
sirkuit baca / tulis dengan dua garis bit dan fungsi baca / tulis sirkuit
terhubung ke jalur input / output data dari sirkuit mikro. Selama operasi
membaca bentuk ini memahami atau membaca informasi yang disimpan
dalam sel yang dipilih dari string kamus dan letakkan informasi ini di baris
keluaran. Selama mode Sense / Write bentuk mendapatkan masukan dan
menyimpannya di sel dari kata yang dipilih.

Rangkaian memori yang sangat kecil dengan 16 kata dari 8 bit. setiap.
Ini disebut 16 × 8. Entri data dan keluaran data masing-masing Sirkuit baca /
tulis terhubung ke satu jalur data dua arah yang dapat dihubungkan di jalur
data komputer. Ada dua jalur kontrol, R / W dan CS, disediakan. Input (Baca

Arsitektur dan Organisasi Komputer 247


Universitas Pamulang Teknik Informatika S-1

/ Tulis) menentukan fungsi yang diperlukan dan memilih input CS (Chip


Select) chip ini dalam sistem multi-chip.

Rangkaian memori Menyimpan 128 bit dan membutuhkan 14 koneksi


eksternal untuk alamat, data dan jalur kontrol. Anda juga membutuhkan dua
saluran untuk daya dan arde koneksi. Pertimbangkan sekarang format
memori yang sedikit lebih besar yang memiliki memori 1KB (1024) sel.
Sirkuit ini dapat diatur sebagai 128 × 8 memori yang membutuhkan total 19
eksternal koneksi. Sebagai alternatif, jumlah sel yang sama dapat diatur
dalam format 1K × 1 Dalam hal ini, diperlukan alamat 10-bit, tetapi hanya
ada satu baris data, yang menghasilkan 15 secara eksternal koneksi

Gambar 16. 2 Organisasi sel bit dalam chip memori.

Gambar 16.2 menunjukkan organisasi semacam itu. Alamat 10-bit


yang dibutuhkan dibagi dalam dua kelompok masing-masing 5 bit untuk
membentuk alamat baris dan kolom untuk tabel sel. dan Alamat string
memilih larik 32 sel, yang memiliki akses paralel. Tapi hanya satu sel-sel ini
ditautkan ke jalur data eksternal berdasarkan alamat kolom.

Chip memori yang tersedia secara komersial berisi lebih banyak lokasi
memori dari contoh yang ditunjukkan. Kami membuat angka menggunakan
contoh kecil Jelas. Sirkuit mikro besar pada dasarnya memiliki organisasi

Arsitektur dan Organisasi Komputer 248


Universitas Pamulang Teknik Informatika S-1

yang sama, tetapi menggunakan larik sel memori yang lebih besar dan
memiliki lebih banyak koneksi eksternal. Misalnya, 1 Gbps chip dapat
memiliki organisasi 256 M × 4, jadi alamat 28-bit dan 4 Bit-bit tersebut
ditransfer ke atau dari chip.

f. Memori Statis

Memori yang terdiri dari sirkuit yang mampu mempertahankan


kondisinya selama dinyalakan dikenal sebagai memori statis. tampilan sel
RAM statis (SRAM) diimplementasikan. Kedua inverter tersebut
dihubungkan satu sama lain untuk membentuk kait. Kait terpasang ke dua
baris bit pada transistor T1 dan T2. Transistor ini bertindak sebagai sakelar
yang dapat dinyalakan atau dimatikan ditutup di bawah kendali bilah kamus.

Gambar 16. 3 Organisasi chip memori 1K × 1

Ketika garis kata berada di permukaan tanah, transistor lepas dan kait
tetap di tempatnya. Misalnya, jika boolean di titik X adalah 1 dan pada titik Y
sama dengan 0, kondisi ini tetap selama sinyal di kamus bar Lantai dasar.
Misalkan situasi ini mewakili nilai 1.

Arsitektur dan Organisasi Komputer 249


Universitas Pamulang Teknik Informatika S-1

Gambar 16. 4 Sel RAM statis

g. Baca Fungsinya

Untuk membaca status sel SRAM, bilah kamus diaktifkan untuk


mematikan sakelar T1 dan T2. Jika sel dalam keadaan 1, sinyal di baris b
tinggi dan sinyal di baris b tinggi rendah. Kebalikannya adalah benar jika sel
dalam keadaan 0. Jadi, b dan b selalu saling melengkapi satu sama lain.
Sirkuit baca / tulis di akhir dua baris bit memeriksa statusnya dan masing-
masing mendefinisikan keluaran yang sesuai.

h. Pendaftaran Operasi

Selama operasi tulis, sirkuit baca / tulis menggerakkan garis bit b dan
b, bukan merasakan kondisi mereka. Menetapkan nilai yang sesuai dalam
string bit b dan komplemennya b dan mengaktifkan baris kata. Ini
menempatkan sel pada kondisi yang tepat di mana sel itu berada disimpan
ketika baris kata dimatikan.

i. Sel CMOS

Aplikasi CMOS sel pada. Pasangan transistor (T3, T5) dan (T4, T6)
membentuk inverter pada kait (lihat Lampiran A). Status sel membaca atau
menulis seperti yang baru saja dijelaskan. Misalnya, di negara bagian 1,
tegangan di titik X adalah dijaga tetap tinggi jika transistor T3 dan T6 aktif
dan T4 dan T5 mati. Jika T1 dan T2 pada, baris bit b dan b akan menjadi
tinggi dan rendah masing-masing.

Arsitektur dan Organisasi Komputer 250


Universitas Pamulang Teknik Informatika S-1

Gambar 16. 5 Contoh sel memori CMOS.

Agar sel dapat mempertahankan kondisinya, diperlukan nutrisi yang


konstan. Jika listrik mati, isi sel hilang. Saat daya pulih, kait masuk ke kondisi
stabil, tetapi tidak harus dalam kondisi yang sama di mana sel itu sebelum
interupsi. Oleh karena itu disebut SRAM menjadi tidak stabil karena isinya
hilang saat daya dimatikan

Keuntungan utama CMOS SRAM adalah konsumsi daya yang sangat


rendah sejak saat itu arus mengalir di dalam sel hanya jika ia memiliki akses
ke sel. Jika tidak T1, T2 dan satu Transistor di setiap inverter dimatikan
untuk memastikan tidak ada jalur listrik yang kontinu antara Vsupply dan
ground.

Akses ke RAM statis sangat cepat. Waktu akses dalam urutan


beberapa nanodetik merek yang tersedia secara komersial. SRAM
digunakan dalam aplikasi di mana kecepatan sangat penting.

j. Struktur Memori Indah

Kami telah membahas organisasi dasar sirkuit memori karena dapat


diimplementasikan pada sebuah chip. Selanjutnya, kita akan menjelajahi

Arsitektur dan Organisasi Komputer 251


Universitas Pamulang Teknik Informatika S-1

bagaimana chip memori dapat dihubungkan untuk membentuk beberapa


memori indah.

k. Sistem Memori Statis

Pertimbangkan memori yang terdiri dari 2 juta kata masing-masing 32


bit. caranya memori ini dapat direalisasikan dengan menggunakan 512K × 8.
chip memori statis. Setiap kolom masuk Skema menerapkan posisi byte ke
sebuah kata, dengan empat chip menyediakan 2M byte. Empat Kolom
menerapkan memori yang dibutuhkan 2M × 32. Setiap sirkuit mikro memiliki
input kontrol yang disebut pemilihan chip. Ketika input ini disetel ke 1, ini
memungkinkan chip untuk menerima data dari atau menerbitkan data di jalur
datanya. Output data untuk setiap sirkuit mikro adalah tipe tiga tahap. Hanya
chip yang dipilih yang menempatkan data pada jalur keluaran data,
sementara semua keluaran lainnya terputus secara elektrik dari jalur data.
Diperlukan dua puluh satu alamat bit pilih kata 32 bit di memori ini. Dua bit
alamat terpenting didekodekan untuk menentukan mana dari empat baris
yang akan dipilih. 19 bit alamat yang tersisa digunakan untuk mengakses
lokasi byte tertentu di dalam setiap chip dalam larik yang dipilih. R / Winputs
semua IC disambungkan bersama untuk menyediakan jalur kontrol baca /
tulis yang umum (tidak ditunjukkan pada rencana).

Gambar 16. 6 Susunan memori 2M×32 menggunakan chip memori statis 512K × 8

Arsitektur dan Organisasi Komputer 252


Universitas Pamulang Teknik Informatika S-1

l. Sistem memori dinamis

Komputer modern menggunakan memori yang sangat besar. Bahkan


komputer pribadi kecil pun dimungkinkan memiliki memori minimal 1 GB.
Desktop biasa mungkin memiliki byte 4G atau lebih Penyimpanan. Lebih
banyak memori mengarah ke kinerja yang lebih baik karena lebih banyak
program dan Data yang digunakan selama pemrosesan dapat disimpan
dalam memori, yang mengurangi frekuensi akses di penyimpanan sekunder.

Karena kepadatan bit yang tinggi dan biaya rendah, DRAM sebagian
besar bersifat modern banyak digunakan dalam modul memori komputer. Ini
lebih lambat dari RAM statis, tetapi menggunakan lebih sedikit daya dan
memiliki biaya per bit yang jauh lebih rendah. Tersedia Chip tersebut
memiliki kapasitas hingga 2 Gbps dan chip yang lebih besar sedang
dikembangkan untuk mengurangi jumlah chip memori yang dibutuhkan
dalam komputer tertentu, mungkin chip memori tersebut disusun untuk
membaca atau menulis serangkaian bit secara paralel, Merek dibangun ke
dalam berbagai organisasi untuk memberikan fleksibilitas dalam desain
memori sistem. Misalnya, chip 1 Gbps dapat dikonfigurasi sebagai 256 M × 4
atau 128 M × 8.

Masalah pengemasan telah menyebabkan perkembangan band yang


dikenal sebagai memori unit. Setiap unit tersebut berisi beberapa chip
memori, biasanya 16 hingga 32, pada papan kecil yang terhubung ke soket
di motherboard komputer. Modul memori biasa disebut sebagai SIMM
(modul memori tunggal) atau DIMM (modul memori jalur ganda). Unit
memori) tergantung pada konfigurasi kontak. Modul dengan ukuran berbeda
dirancang untuk menggunakan soket yang sama. Misalnya, 128M × 64,
256M × 64 dan 512M DIMM 64-bit menggunakan soket 240-pin yang sama.
Jadi total memori itu mudah diperluas dengan mengganti unit yang lebih
kecil dengan unit yang lebih besar menggunakan soket yang sama.

m. Pengontrol memori

Alamat yang diterapkan ke chip DRAM dibagi menjadi dua bagian,


seperti yang dijelaskan sebelumnya. Bagian alamat yang paling penting
disediakan terlebih dahulu, yang mengambil urutan di tabel sel dan dipasang
pada chip memori di bawah kendali sinyal RAS. Lalu turunkan Bit alamat
yang memilih kolom disediakan di pin alamat yang sama dan dikunci Kontrol

Arsitektur dan Organisasi Komputer 253


Universitas Pamulang Teknik Informatika S-1

sinyal CAS. Karena prosesor standar mengekstrak semua bit alamat


sekaligus kali, diperlukan multiplexer. Fungsi ini biasanya dilakukan oleh
pengontrol memori rantai. Pengontrol menerima alamat lengkap dan
membaca / menulis sinyal dari prosesor di bawah kendali sinyal permintaan
yang menunjukkan bahwa fungsi akses memori diperlukan Mentransfer
sinyal R / W, serta baris dan kolom alamat, ke memori dan menghasilkan
sinyal RAS dan CAS dengan waktu yang tepat. Saat memori berisi banyak
bagian, salah satu bagian ini dipilih berdasarkan bit yang paling penting
alamat. Pengontrol memori menerjemahkan bit orde tinggi ini dan
menghasilkan chip pilih sinyal untuk modul yang sesuai. Garis data
terhubung langsung di antara keduanya prosesor dan memori.

RAM dinamis perlu diperbarui secara berkala. Skema diperlukan untuk


memulai siklus penyegaran disertakan sebagai bagian dari sirkuit kontrol
DRAM sinkron internal Namun untuk menjalankan siklus pembacaan berkala
perbarui sel RAM asinkron. Pengontrol memori menyediakan kemampuan
ini.

4. Hierarki memori

Desain hierarki memori sangat penting untuk kinerja sistem komputer.


Sistem operasi modern dan program aplikasi sangat menuntut keduanya
kapasitas dan kecepatan memori. Dalam bab ini, kami menyajikan teknologi
paling penting dan rincian organisasi sistem memori dan bagaimana mereka
berevolusi agar sesuai persyaratan ini.
Perkembangan teknologi semikonduktor telah menghasilkan peningkatan
yang signifikan pada kecepatan dan kapasitas chip memori dengan
pengurangan biaya unit yang besar dalam Kinerja memori komputer lebih
ditingkatkan dengan penggunaan hierarki memori. Saat ini memori utama yang
besar namun terjangkau diimplementasikan menggunakan tumpukan memori.
Satu atau lebih level cache selalu tersedia. Injeksi cache Memori secara
signifikan mengurangi waktu akses memori aktual yang diamati oleh prosesor
Memori virtual membuat memori utama lebih besar dari memori fisik. Disk
magnetik masih menjadi teknologi utama untuk penyimpanan sekunder. Mereka
menyediakan kapasitas penyimpanan yang sangat besar hingga triliunan byte
per individu Anda mengemudi dengan biaya yang sangat rendah. Tapi teknologi
semikonduktor flash dimulai bersaing secara efektif dalam aplikasi tertentu.

Arsitektur dan Organisasi Komputer 254


Universitas Pamulang Teknik Informatika S-1

Kami telah menyatakan bahwa memori yang ideal adalah yang cepat,
besar dan murah. Dari Jelas dari diskusi bahwa memori yang sangat cepat
dapat diimplementasikan dengan menggunakan chip statis RAM. Namun,
merek ini tidak cocok untuk mewujudkan kenangan indah, karena sel dasarnya
lebih besar dan mengonsumsi lebih banyak daya daripada sel RAM dinamis.
Meskipun blok tumpukan gigabyte dapat diterapkan di biaya yang wajar,
ukuran yang tersedia masih kecil dibandingkan dengan kebutuhan program
besar dengan data massal. Solusinya disediakan menggunakan penyimpanan
sekunder, sebagian besar bersifat magnetis. disk untuk menyediakan ruang
memori yang dibutuhkan. Disk tersedia dengan harga yang wajar, dan banyak
digunakan dalam sistem komputer. Namun, ini jauh lebih lambat dari ini modul
memori semikonduktor. Singkatnya, sejumlah besar penyimpanan berbiaya
rendah dapat disediakan oleh disk magnetis, dan berukuran besar dan lebih
cepat, tetapi terjangkau, Memori utama dapat dibuat dengan menggunakan
teknologi RAM dinamis. Tetap paling mahal dan teknologi RAM statis jauh lebih
cepat untuk digunakan di perangkat kecil di mana kecepatan substansi seperti
di tempat persembunyian.
Semua jenis modul memori ini digunakan secara efektif di komputer.
Sistem. Seluruh memori komputer dapat dianggap sebagai hierarki. Akses
tercepat adalah data yang disimpan di register prosesor. Oleh karena itu, jika
kita memperhitungkannya register adalah bagian dari hirarki memori dan
register prosesor ada di atas kondisi kecepatan akses. Tentu saja, pendaftar
hanya menyediakan sebagian kecil memori yang dibutuhkan.

Arsitektur dan Organisasi Komputer 255


Universitas Pamulang Teknik Informatika S-1

Gambar 16. 7 Hierarki memori

Tingkat hierarki berikutnya berisi jumlah memori yang relatif kecil


diimplementasikan langsung pada chip prosesor. Memori ini, yang disebut
cache prosesor, menyimpan salinan instruksi dan data yang disimpan dalam
memori yang lebih besar secara eksternal. Seringkali ada dua atau lebih level
cache. Cache utama selalu ada di chip prosesor. Cache ini pendek dan waktu
akses sebanding di register prosesor. Cache utama disebut sebagai cache level
1 (L1). Dan cache sekunder lebih besar dan karena itu agak lebih lambat, ia
berada di antara cache utama dan sisa memori. Ini disebut cache level 2 (L2).
Seringkali cache L2 juga terdapat pada chip prosesor.
Beberapa komputer bahkan memiliki lebih banyak memori L3 daripada L1
dan cache L2. Cache L3, yang juga berlaku untuk teknologi SRAM, mungkin
atau mungkin tidak dalam matriks yang sama dengan prosesor dan cache L1
dan L2.

Arsitektur dan Organisasi Komputer 256


Universitas Pamulang Teknik Informatika S-1

Level berikutnya dalam hierarki adalah memori utama. Memori besar ini
sedang diterapkan menggunakan komponen tiang yang biasanya dipasang
pada modul memori seperti DIMMs, Memori utama jauh lebih besar, tetapi
signifikan lebih lambat dari cache. Di komputer dengan prosesor 2 GHz atau
yang lebih cepat Waktu akses memori utama bisa 100 kali lebih lama dari
waktu akses untuk cache L1.
Drive menyediakan sejumlah besar memori murah dan banyak
digunakan. digunakan sebagai penyimpanan sekunder pada sistem komputer.
Terlambat dibandingkan dengan yang utama ukuran memori. Mereka mewakili
level terendah dari hirarki memori.
Saat menjalankan program, kecepatan akses memori adalah yang
terpenting dalam kunci untuk mengontrol pengoperasian sistem memori hirarkis
adalah keamanan instruksi dan data yang akan digunakan sedekat mungkin
dengan prosesor Ini adalah tujuan utama menggunakan cache, yang akan kita
bahas di bawah ini.

5. Memori Cache

Selain memori utama, modul RAM yang lebih kecil dan lebih cepat yang
disebut cache digunakan untuk menyimpan modul dari program yang sedang
berjalan bersama dengan yang terkait data. Cache terkait erat dengan prosesor
dan biasanya terdapat di dalamnya sirkuit mikro terintegrasi. Tujuan cache
adalah untuk memfasilitasi eksekusi perintah tingkat tinggi Harga.
Saat program dimulai, cache kosong. Semua instruksi untuk program dan
semua data yang diperlukan disimpan di memori utama. Saat Anda mengikuti
instruksi ditempatkan pada chip prosesor, dan salinan masing-masing akan
disimpan dalam cache. Kapan Perintah tersebut membutuhkan data yang
disimpan di memori utama, data sedang dipulihkan dan salinan juga
ditempatkan di cache. Sekarang misalkan banyak instruksi dieksekusi berulang
kali, seperti dalam sebuah program. sebuah lingkaran. Jika instruksi ini tersedia
di cache, mereka dapat dengan cepat dipulihkan selama cache periode
penggunaan berulang. Begitu juga jika database yang sama diakses secara
berulang-ulang Salinan isinya tersedia di cache dan dapat dipulihkan dengan
cepat.

Arsitektur dan Organisasi Komputer 257


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas
Untuk mengetahui apakah Anda telah mampu menghitung uji validitas instrumen
skala Likert, kerjakan latihan dengan langkah sebagai berikut :
1. Bagaimana alternatif untuk pendekatan terhadap RISC dan CISC ?
2. Sebutkan gaya yang dicirikan set instruksi RISC dan CISC ?
3. Apa yang disebut dengan cache dan tujuannya ?
4. Seberapa penting hierarki memori untuk kinerja sistem computer ?
5. Sebutkan idealnya sistem memori di computer ?

D. Referensi

Hamacher, C., Vranesic, Z., Zaky, S., & Manjikian, N. (2011). Computer
Organization and Embedded Systems (6th edition). New York: McGraw-Hill.

Stallings, W. (2010). Computer Organization and Architecture: Designing for


Performance (8th Edition). New Jersey: Prentice Hall.

Arsitektur dan Organisasi Komputer 258


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 17

STRUKTUR DAN ORGANISASI CACHE

A. Tujuan Pembelajaran

Bab ini menjelaskan bagaimana Idealnya sebuah prosessor tidak membuang


waktu untuk mengakses instruksi dan data dari memori utama. Sistem memori
utama dituntut untuk secepat mungkin menyediakan sebuah operand bagi
prosessor disertai dengan kemampuan menyediakan sejumlah data sebanyak yang
dapat disediakan per satuan waktu. Semakin cepat prosessor mengolah data, maka
semakin sulit bagi sistem memori utama untuk mensuplai operand dalam satu atau
dua siklus.
Oleh sebab itu diperlukan suatu cara untuk mempercepat waktu akses
prosessor ke memori utama Untuk meningkatkan kecepatan dalam hal
menyediakan data dan intstruksi bagi prosessor, memori utama dibatasasi oleh
batasan rancangan elektronik dan masalah packaging. Karena itu perlu dicari solusi
lain untuk menangani masalah tersebut. Salah satu cara yang digunakan adalah
dengan membuat suatu memori cache yang menyimpan data atau instruksi terbaru
dari memori utama dalam bentuk word-word yang dapat mempercepat akses
prosessor ke memori utama. Selanjutnya akan dibahas mengenai organisasi cache
memory untuk meningkatkan kinerja suatu sistem komputer secara keseluruhan,
terutama memperpendek waktu akses prosessor ke memory utama. Termasuk
didalamnya pembahasan tentang beberapa aspek penting dalam pengorganisasian
suatu cache dan beberapa hal penting dalam disain rancangan cache memory serta
hal-hal yang mempengaruhi performa suatu cache memory.

Secara logika cache memory berada diantara CPU dan memori utama. Ada
dua system organisasi untuk cache memori seperti, Secara prinsip komponen
sebuah cache. Memory word disimpan didalam sebuah cache data memory dan
dikelompokkan menjadi halamanhalaman kecil yang disebut blok-blok cache atau
lines. Isi dari cache data memory adalah copy dari satu set blok memory utama.

Arsitektur dan Organisasi Komputer 259


Universitas Pamulang Teknik Informatika S-1

B. Uraian Materi
1. Organisasi Cache

Evolusi organisasi cache dapat dilihat dengan jelas dalam evolusi


mikroprosesor Intel. 80386 tidak termasuk cache on-chip. 80486 termasuk
cache 8K sederhana, ukuran baris 16 byte dan track empat instalasi -
organisasi koperasi semua prosesor Pentium menyertakan dua SoC L1 cache,
satu untuk data dan satu untuk instruksi. Untuk cache data Pentium 4 L1
berukuran 16 KB dengan string 64-byte dan korelasi empat arah. Cache
perintah Pentium 4 dijelaskan di bawah ini. Pentium II Ini juga mencakup cache
L2 yang mendukung kedua cache L1.

Tabel 17. 1 Intel Cache Evolution

L2 cache delapan posisi satu set berkorelasi dengan ukuran 512 KB dan
ukuran string 128 byte. Cache L3 ditambahkan untuk Pentium III dan
diintegrasikan ke dalam versi berkinerja tinggi Pentium 4. Inti dari prosesor
terdiri dari empat inti komponen:

a. Blok pemulihan / decoding: mengambil instruksi program secara berurutan


dari cache L2 menerjemahkannya menjadi serangkaian operasi mikro dan
menyimpan hasilnya di L1 cache.

Arsitektur dan Organisasi Komputer 260


Universitas Pamulang Teknik Informatika S-1

b. Logika eksekusi out-of-order: pemrograman eksekusi operasi mikro


bergantung pada ketergantungan data dan ketersediaan sumber daya. jadi
fungsi mikro dapat dijadwalkan untuk berjalan dalam urutan yang berbeda
dari tanda terima dari alur instruksi. Jika waktu mengizinkan, blok ini
berencana untuk mendapatkan keuntungan menjalankan fungsi mikro yang
mungkin diperlukan di masa mendatang

Gambar 17. 1 Diagram Blok Pentium 4

Tabel 17. 2 Pentium 4 Cache Operating Modes

c. Modul eksekusi: modul ini menjalankan fungsi mikro, memulihkan apa yang
diperlukan data dari cache data L1 dan hasil cache.

d. Subsistem memori: blok ini mencakup cache L2 dan L3, serta sistem bus
yang digunakan untuk mengakses memori utama saat cache L1 dan L2
memilikinya cache miss dan akses ke resource I / O sistem.

Arsitektur dan Organisasi Komputer 261


Universitas Pamulang Teknik Informatika S-1

Berbeda dengan casing yang digunakan di semua model Pentium


sebelumnya, dan di kebanyakan Prosesor lain, Pentium 4 cache berada di
antara instruksi decoding logika dan inti dari eksekusi. Alasan keputusan desain
ini adalah itu sebagai berikut: Seperti dibahas, proses Pentium menerjemahkan
atau menerjemahkan instruksi mesin Pentium menjadi instruksi sederhana
seperti RISC fungsi mikro. Penggunaan manipulasi mikro sederhana dengan
panjang tetap memungkinkan penggunaan teknik perpipaan dan pemrograman
yang meningkatkan efisiensi. Namun, instruksi mesin Pentium tidak praktis
untuk memecahkan kode. Ada jumlah variabel byte dan banyak opsi berbeda.
Ternyata acaranya membaik jika decoding ini dilakukan secara independen dari
pemrograman dan perpipaan logika.
Cache data menggunakan kebijakan tulis: data ditulis ke memori utama.
hanya ketika dihapus dari cache dan diperbarui. Pentium 4 dapat dikonfigurasi
secara dinamis untuk mendukung penulisan cache. Cache data L1 dikontrol
oleh dua bit di salah satu register kontrol yang ditunjuk bit CD (cache
dinonaktifkan) dan NW (jangan tulis). Sana Ada juga dua instruksi Pentium 4
yang dapat digunakan untuk menguji cache data: INVD membatalkan cache
internal dan menandai cache eksternal cache (jika ada) untuk membatalkan.
WBINVD menimpa dan membersihkan cache internal lalu menulis dan
membersihkan cache eksternal. L2 dan L3 cache adalah delapan cache
berorientasi baris 128 byte.

2. Organisasi Arm Cache

Organisasi cache ARM telah berkembang seiring dengan arsitektur ARM


umum keluarga, mencerminkan upaya tanpa henti untuk mengejar produktivitas
yang mendorong semua pengembang mikroprosesor.

Arsitektur dan Organisasi Komputer 262


Universitas Pamulang Teknik Informatika S-1

Tabel 17. 3 Fitur Cache ARM

Tabel 17.3 menunjukkan perkembangan ini. Model ARM7 menggunakan


cache L1 terintegrasi sementara semua model berikutnya menggunakan
instruksi / cache data yang terpisah. Semua desain ARM menggunakan cache
tergantung pada tingkat korelasi dan ukuran baris berbagai. Core ARM dengan
MMU menggunakan cache logis untuk keluarga prosesor ARM7 - ARM10
termasuk prosesor Intel StongARM dan Intel Xscale. Keluarga ARM11
menggunakan cache alami. Fitur menarik dari arsitektur ARM adalah
penggunaan angka derajat pertama yang kecil write buffer (FIFO) untuk
meningkatkan kinerja tulis memori. Surat Buffer disisipkan di antara cache dan
memori utama dan terdiri dari satu set alamat dan satu set kata data Buffer tulis
lebih kecil dibandingkan dengan cache dan dapat berisi hingga empat alamat
independen. Biasanya buffer tulis disertakan untuk semua memori utama,
meskipun dapat dinonaktifkan secara selektif di tingkat halaman. Gambar 17.2
ARM diambil dari [SLOS04] menunjukkan hubungan antara buffer tulis, cache
dan memori utama.

Gambar 17. 2 ARM Cache dan Write Buffer Organization

Arsitektur dan Organisasi Komputer 263


Universitas Pamulang Teknik Informatika S-1

Buffer tulis bekerja seperti ini: saat prosesor menulis ke buffer area, data
ditempatkan di buffer tulis pada kecepatan clock prosesor dan prosesor terus
beroperasi. Tulisan ditampilkan saat data ditulis ke cache kembali ke memori
utama. Jadi data untuk menulis ditransfer dari cache di buffer tulis. Buffer tulis
kemudian melakukan penulisan eksternal secara paralel. Namun, jika buffer
tulis sudah penuh (atau karena maksimum sudah ada jumlah kata data di buffer
atau karena tidak ada ruang untuk yang baru alamat), kemudian prosesor
berhenti sampai ada cukup ruang di buffer. Sebagai operasi non-tulis berlanjut,
buffer tulis terus menulis ke memori utama sampai buffer benar-benar kosong.
Data yang ditulis ke buffer tulis tidak dapat dibaca di cache hingga data
ditransfer dari buffer tulis ke memori utama. Itu alasan utamanya adalah karena
buffer tulis cukup kecil. Namun, jika tidak persentase registrasi yang tinggi
dalam file yang dapat dieksekusi, buffer tulis yang ditingkatkan penerapan.

3. Unsur Desain Cache

Bagian ini memberikan gambaran umum tentang opsi desain cache dan
daftar beberapa tipikal Hasil. Terkadang kita berbicara tentang penggunaan
cache pada komputer berkinerja tinggi. (HPC). HPC mengkhususkan diri pada
superkomputer dan perangkat lunak superkomputer. untuk aplikasi ilmiah
dengan data, vektor, dan matriks dalam jumlah besar perhitungan dan
penggunaan

Gambar 17. 3 Elemen Desain Cache

Arsitektur dan Organisasi Komputer 264


Universitas Pamulang Teknik Informatika S-1

algoritma paralel. Desain cache HPC sangat berbeda dibandingkan untuk


platform dan aplikasi perangkat keras lainnya. Memang banyak peneliti
menemukan bahwa aplikasi HPC tidak bekerja dengan baik pada arsitektur
komputer itu gunakan cache [BAIL93]. Sejak itu, peneliti lain telah menunjukkan
hierarki cache dapat berguna untuk meningkatkan kinerja jika perangkat lunak
diatur ke penggunaan cache [WANG99, PRES01] .4 Meskipun ada banyak
sekali aplikasi cache, namun ada banyak elemen desain dasar yang digunakan
untuk mengklasifikasikan dan membedakan arsitektur cache. Tabel
mencantumkan elemen-elemen kunci.

a. Alamat cache

Hampir semua prosesor non-tertanam dan banyak prosesor tertanam


mendukung virtualisasi memori. Pada intinya, memori virtual adalah media
yang memungkinkan program mengakses memori secara logis tanpa
dengan mempertimbangkan jumlah RAM yang tersedia secara fisik. Saat
digunakan, bidang alamat mesin berisi alamat virtual Untuk membaca ke dan
dari memori utama, modul manajemen memori perangkat keras (MMU)
menerjemahkan setiap alamat virtual menjadi alamat fisik di memori utama.
Ketika alamat virtual digunakan, perancang sistem dapat memilih
untuk mencari lokasi cache antara prosesor dan MMU atau antara MMU dan
main memori. Cache logis, juga dikenal sebagai cache virtual, menyimpan
data menggunakan alamat virtual. Prosesor memiliki akses langsung ke
cache, tidak melalui MMU. Memori fisik menyimpan data dalam memori
utama. alamat.
Salah satu keuntungan nyata dari cache logis adalah akses yang lebih
cepat ke cache. Dari pada cache fisik, karena cache mungkin merespons
sebelum MMU. terjemahan alamat. Sisi negatifnya adalah kenyataan bahwa
kebanyakan dari mereka adalah virtual. Sistem memori menyediakan setiap
aplikasi dengan alamat memori virtual yang sama Ruang. Artinya, setiap
aplikasi melihat memori virtual mulai dari alamat 0. Jadi, alamat virtual yang
sama dalam dua aplikasi berbeda mengacu pada dua fisik yang berbeda
alamat. Karenanya cache harus benar-benar dibersihkan dengan setiap
aplikasi. saklar lingkungan, atau bit ekstra harus ditambahkan ke setiap baris
cache untuk identifikasi ruang alamat virtual apa yang dirujuk oleh alamat ini
Masalah logika versus cache fisik itu rumit dan lebih dari itu Volume
buku ini. Untuk pembahasan lebih detail, lihat [CEKL97] dan [JACO08].

Arsitektur dan Organisasi Komputer 265


Universitas Pamulang Teknik Informatika S-1

Gambar 17. 4 Cache Logis dan Fisik

b. Ukuran cache

Item pertama pada Tabel ukuran cache, telah didiskusikan. Kami ingin
ini ukuran cache cukup kecil sehingga total biaya bit rata-rata mendekati
hanya memori utama dan cukup besar untuk akses rata-rata umum waktu
hanya mendekati waktu cache. Ada banyak insentif lain yang harus
diminimalkan ukuran cache. Semakin besar cache, semakin banyak gateway
yang terlibat dalam mengerjakannya. cache. Akibatnya, cache besar sedikit
lebih lambat daripada cache kecil. meskipun diproduksi menggunakan
teknologi sirkuit terintegrasi yang sama dan dipasang ditempat yang sama di
papan chip dan papan. Area chip dan papan yang tersedia juga terbatas.
ukuran cache. Karena kinerja cache sangat sensitive beban kerja tidak dapat
mencapai satu ukuran cache "optimal". Tabel 17.4 Mencantumkan ukuran
cache dari beberapa prosesor saat ini dan sebelumnya.

Arsitektur dan Organisasi Komputer 266


Universitas Pamulang Teknik Informatika S-1

Tabel 17. 4 Ukuran Cache Beberapa Prosesor

a. Dua nilai yang dipisahkan oleh garis miring mengacu pada instruksi dan
cache data.
b. Kedua cache hanyalah instruksi; tidak ada cache data.
c. Fungsi tampilan

Karena ada lebih sedikit baris cache daripada blok memori utama,
algoritme diperlukan untuk memetakan blok memori utama ke baris cache.
diperlukan untuk mengidentifikasi blok utama memori yang saat ini ditempati
oleh baris cache. Pilihan fungsi pemetaan menentukan bagaimana cache
diatur. Tiga teknik dapat digunakan: langsung, asosiatif, dan pasti asosiatif.
Kami membongkar masing-masing Untuk. Dalam setiap kasus, kami melihat
pada struktur umum dan kemudian pada contoh spesifik.

d. Peta Langsung

Metode paling sederhana, yang dikenal sebagai pemetaan langsung,


memetakan masing-masing blok memori utama hanya pada satu baris cache
yang memungkinkan. Tampilannya diekspresikan sebagai

Arsitektur dan Organisasi Komputer 267


Universitas Pamulang Teknik Informatika S-1

Gambar 17. 5 Modulo

Pemetaan blok pertama dari memori utama. Setiap blok memori utama
ditampilkan pada satu baris cache. Blok berikutnya kartu memori utama di-
cache dengan cara yang sama. yaitu blok Bm memori utama memetakan
baris cache L0, blok Bm 1 memetakan baris L1 dan segera.

Fungsi pemetaan mudah diimplementasikan menggunakan alamat


memori utama. Untuk mengakses cache, semuanya Kita dapat
mengasumsikan bahwa alamat memori utama terdiri dari tiga bidang. Paling
tidak penting Bit w mengenali satu kata atau byte di blok memori utama. di
sebagian besar pada mesin modern, alamatnya berada pada level byte. Sisa
bit menentukan salah satu dari 2 blok memori akses acak. Logika caching
menafsirkan bit-bit ini sebagai sebuah tag s rbit (bagian terpenting) dan r bit
bidang linier. Bidang terakhir ini mendefinisikan salah satu baris cache m 2r.
Meringkas,

a. Panjang alamat = (s + w) bit


b. Jumlah unit yang dapat dialamatkan = 2s+w detik Kata atau byte
c. Ukuran blok = ukuran baris = 2w kata atau byte

d. Jumlah blok di memori utama =


e. Jumlah baris dalam cache = m = 2r
f. Ukuran cache = 2r w kata atau byte
g. Ukuran tag = (s - r) bit

Arsitektur dan Organisasi Komputer 268


Universitas Pamulang Teknik Informatika S-1

Gambar 17. 6 Pemetaan dari Memori Utama ke Cache: Langsung dan Asosiatif

Efek dari pemetaan ini adalah bahwa blok memori utama ditetapkan ke
baris dari cache sebagai berikut:

Jadi, menggunakan bagian dari alamat sebagai nomor baris


memberikan keunikan memetakan setiap blok memori utama ke cache.
membaca baris yang ditetapkan untuk itu, perlu untuk menyorot data untuk

Arsitektur dan Organisasi Komputer 269


Universitas Pamulang Teknik Informatika S-1

membedakannya blok lain yang bisa muat di baris ini. Bagian terpenting
disajikan di akhir ini.

Gambar 17. 7 Organisasi Cache Pemetaan Langsung

Contoh Gambar 17.7 menunjukkan sistem contoh kita menggunakan


5
pemetaan langsung. Pada contoh,m = 16K = 214 dan i = j modulo 214.
Pemetaan menjadi

Cache Line Starting Memory Address of Block

0 000000, 010000,…,FF0000

1 000004, 010004,…,FF0004

214 - 1 00FFFC, 01FFFC,…,FFFFFC

Perhatikan bahwa tidak ada dua blok yang memetakan ke dalam


nomor baris yang sama memiliki nomor tag yang sama. Jadi, blok dengan
alamat awal 000000, 010000,…, FF0000 memiliki nomor tag 00,01,…, FF,
masing-masing. Operasi baca bekerja sebagai berikut. Sistem cache adalah

Arsitektur dan Organisasi Komputer 270


Universitas Pamulang Teknik Informatika S-1

disajikan dengan alamat 24-bit. Nomor baris 14-bit digunakan sebagai


indeks ke dalam cache untuk mengakses jalur tertentu. Jika nomor tag 8-bit
cocok dengan nomor tag yang saat ini disimpan di baris itu, maka nomor
kata 2-bit digunakan untuk memilih salah satu dari 4 byte di baris itu. Jika
tidak, bidang tag-plus-line 22-bit digunakan untuk mengambil blok dari
memori utama alamat yang digunakan untuk pengambilan adalah 22-bit tag-
plus-line yang digabungkan dengan dua 0 bit, jadi bahwa 4 byte diambil
mulai dari batas blok.

Gambar 17. 8 Contoh Direct Mapping

Metode pemetaan langsung sederhana dan murah untuk digunakan.


DariKerugian utama adalah adanya cache tetap untuk blok manapun. Jadi
jika Program ini sering mengacu pada kata-kata dari dua blok berbeda itu
memetakan pada satu baris, maka blok akan terus dipertukarkan di cache

Arsitektur dan Organisasi Komputer 271


Universitas Pamulang Teknik Informatika S-1

dan tingkat keberhasilan akan rendah (fenomena yang dikenal sebagai


pengirikan).

Gambar 17. 9 Organisasi Cache Asosiatif Penuh

Salah satu cara untuk mengurangi penalti atas kerugian adalah


dengan mengingat apa yang telah jatuh jika diperlukan lagi. Karena data
yang dibuang telah diunduh, Anda bias digunakan lagi dengan sedikit biaya.
Pemrosesan seperti itu dimungkinkan dengan menggunakan cache korban.
Ini pada awalnya diusulkan sebagai pendekatan untuk mengurangi
kesenjangan konflik dalam proyeksi langsung cache tanpa mempengaruhi
waktu akses yang cepat. Cache korban adalah cache yang sepenuhnya
berkorelasi yang biasanya 4 hingga 16 cache di antara cache L1 yang
dialokasikan secara langsung dan tingkat memori berikutnya. Konsep ini
dibahas dalam Lampiran D.

e. Pemetaan Asosiatif

Pemetaan Asosiatif mengatasi kurangnya segera pemetaan


memungkinkan setiap blok memori utama dimuat di baris mana pun cache).
Dalam kasus ini, logika manajemen cache menafsirkan alamat memori.
seperti bidang tag dan kata. Bidang tag secara unik mengidentifikasi blok
memori utama - Untuk menentukan apakah ada blok di dalam cache, logika
manajemen cache harus secara bersamaan memeriksa label setiap baris

Arsitektur dan Organisasi Komputer 272


Universitas Pamulang Teknik Informatika S-1

untuk kecocokan. Gambar 17.9 mengilustrasikan logis. Perhatikan bahwa


tidak ada bidang di alamat yang cocok dengan nomor baris, jadi jumlah baris
dalam cache tidak ditentukan oleh format alamat.

h. Panjang alamat = (s + w) bit


i. Jumlah unit yang dapat dialamatkan = 2s+w detik Kata atau byte
j. Ukuran blok = ukuran baris = 2w kata atau byte

k. Jumlah blok di memori utama =


l. Jumlah baris di cache = tidak ditentukan
m. Label ukuran bit = s bits

Gambar 17. 10 Contoh Pemetaan Asosiatif

Dengan pencocokan korelasi, ada fleksibilitas tentang blok mana yang


harus diganti kapan blok baru dibaca ke dalam cache. Algoritme

Arsitektur dan Organisasi Komputer 273


Universitas Pamulang Teknik Informatika S-1

penggantian dibahas nanti dalam hal ini bagian yang dirancang untuk
memaksimalkan lalu lintas. Kerugian utama dari pasangan Pemetaan adalah
skema kompleks yang diperlukan untuk memvalidasi label semua cache.
garis sejajar.

f. Pemetaan Set-Associative

Pemetaan asosiatif himpunan adalah kompromi yang diperlihatkan


kekuatan pendekatan langsung dan asosiatif sambil mengurangi kekurangan
mereka dalam hal ini, cache terdiri dari sekumpulan angka yang masing-
masing terdiri dari satu angka jumlah baris. Hubungan

m=nxk

i = j modulo v

Dimana

i = nomor set cache

j = jumlah blok memori utama

m = jumlah baris dalam cache

v = jumlah set

k = jumlah baris di setiap set

Ini disebut pemetaan asosiatif himpunan k-way. Dengan semua


pasangan pemetaan, blok Bj dapat dipetakan ke salah satu baris dari
himpunan j. Gambar 17.10 mengilustrasikan ini adalah pemetaan untuk blok
pertama dari memori utama. Seperti pencocokan korelasi, setiap kata
dipetakan ke beberapa cache. Untuk set korelasi yang cocok, masing-
masing wordmaps di semua baris cache dalam satu set tertentu, sehingga
memori utama memblokir B0 memetakan ke 0 umum dan seterusnya. Jadi,
set cache asosiatif dapat diterapkan dengan cara yang alami. sebagai cache
terkait. Juga set-asosiatif dimungkinkan cache sebagai cache k yang
dipetakan ke depan. Tampilan apapun secara langsung Cache adalah
metode berbasis string. Baris pertama dari memori utama dipetakan
langsung ke garis dari setiap mode. kelompok jalur utama berikutnya memori
ditampilkan serupa dan seterusnya. Tampilan aplikasi segera biasanya
digunakan untuk derajat korelasi rendah (nilai k kecil), sedangkan n Aplikasi

Arsitektur dan Organisasi Komputer 274


Universitas Pamulang Teknik Informatika S-1

pencocokan biasanya digunakan untuk derajat korelasi yang lebih tinggi.


[JACO08].

Untuk pemetaan asosiatif dari himpunan, logika manajemen cache


menafsirkan memori alamat dalam bentuk tiga bidang: Tag, Set dan Word. B
set d menentukan salah satu dari 2d Pemandangan. Bit dari kolom Tag dan
Set menentukan salah satu dari dua blok memori utama. logika untuk
mengelola cache. Dengan tampilan yang sepenuhnya berkorelasi, tag di
alamat memori cukup besar dan harus dibandingkan dengan tagnya setiap
baris di cache. Saat menggunakan pemetaan asosiatif berbentuk k, label
dalam memori.

Gambar 17. 11 Pemetaan dari Memori Utama ke Cache: k-way Set Associative

Arsitektur dan Organisasi Komputer 275


Universitas Pamulang Teknik Informatika S-1

Address is much smaller and is only compared to the k tags within a


single set. To summarize,

n. Address length = (s + w) bits


o. Number of addressable units = 2s+w words or bytes
p. Block size = line size = 2w words or bytes

q. Number of blocks in main memory =


r. Number of lines in set = k
s. Number of sets = v = 2d

Gambar 17. 12 K-Way Set Associative Cache Organization

t. Jumlah baris dalam cache = m = kv = k x 2d


u. Ukuran cache = k x 2d+w kata atau byte
v. Ukuran tag = (s - d) bit

Dalam kasus ekstrim m, k 1, teknik asosiasi-himpunan direduksi


menjadi pemetaan langsung, dan untuk 1, km, direduksi menjadi pemetaan
asosiatif dua baris per himpunan (n = m / 2, k = 2) adalah organisasi asosiatif
himpunan yang paling umum.

Arsitektur dan Organisasi Komputer 276


Universitas Pamulang Teknik Informatika S-1

Gambar 17. 13 Contoh Pemetaan Asosiatif Set Dua Arah

Gambar 17. 14 Memvariasikan Asosiasi atas Ukuran Cache

Secara signifikan meningkatkan kemungkinan keberhasilan


dibandingkan dengan pemetaan langsung. Mitra empat arah (v = m/4, k = 4)

Arsitektur dan Organisasi Komputer 277


Universitas Pamulang Teknik Informatika S-1

membuat perbaikan tambahan kecil untuk tambahan yang relatif kecil biaya
[MAYB84, HILL89]. Meningkatkan jumlah baris dalam satu set lebih jauh
memiliki pengaruh yang kecil.

Gambar menunjukkan hasil studi simulasi cache. kinerja sebagai


fungsi dari ukuran cache [GENU04]. Perbedaan kinerja antara korelasi
langsung dan dua arah penting untuk menyiapkan setidaknya satu ukuran
cache 64 kB. Perhatikan juga bahwa perbedaan antara transmisi dua arah
4KB dan empat arah sangat besar. kurang dari perbedaan ukuran cache dari
4KB menjadi 8KB. Kompleksitas cache meningkat tergantung pada korelasi,
dan dalam hal ini tidak akan ada dibenarkan dengan meningkatkan ukuran
memori cache menjadi 8 atau bahkan 16 KB. Poin terakhir Harap dicatat
bahwa lebih dari 32KB, meningkatkan ukuran cache tidak meningkat secara
signifikan dilakukan.

Hasil pada Gambar didasarkan pada eksekusi GCC yang


disimulasikan. penyusun. Aplikasi yang berbeda dapat memberikan hasil
yang berbeda pula. Misalnya, [CANT01] melaporkan hasil kinerja cache
menggunakan banyak CPU2000 SPECs landmark. Hasil [CANT01] saat
membandingkan tingkat kunjungan dengan ukuran cache mengikuti gambar
yang sama, tetapi arti spesifiknya sedikit berbeda.

Arsitektur dan Organisasi Komputer 278


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas

Untuk mengetahui apakah Anda telah mampu menghitung uji validitas instrumen
skala Likert, kerjakan latihan dengan langkah sebagai berikut:

1. Apa fungsi dan kegunaan organisasi cache ?


2. Apa kelebihan dari organisasi cache ?
3. Mengapa cache ukurannya kecil ?
4. Sebutkan Salah satu keuntungan nyata dari cache logis ?
5. Apa yang dimaksud dengan pemetaan asosiatif himpunan ?

D. Referensi

Hamacher, C., Vranesic, Z., Zaky, S., & Manjikian, N. (2011). Computer
Organization and Embedded Systems (6th edition). New York: McGraw-Hill.

Stallings, W. (2010). Computer Organization and Architecture: Designing for


Performance (8th Edition). New Jersey: Prentice Hall.

Arsitektur dan Organisasi Komputer 279


Universitas Pamulang Teknik Informatika S-1

PERTEMUAN 18

DEFINISI MEMORI MAYA

A. Tujuan Pembelajaran

Memory maya adalah kemampuan mengalamati memori melebihi memori


utama yang tersedia.konsep memori maya pertama kali dikemukakan Fotheringham
pada 1961 untuk sistem komputer atlas di Universitas Manchester, Inggris. Memori
maya dapa dilakukan dengan tiga cara, Paging, kombinasi paging dan segmentasi.

B. Uraian Materi
1. Memori Maya

a. Permintaan Paging

Halaman Aplikasi Menggunakan paging, sistem multi-penjadwalan


yang benar-benar efektif muncul. Selain itu, taktik sederhana untuk membagi
proses menjadi Halaman-halaman itu mengarah pada pengembangan ide
penting lainnya: memori virtual.

Untuk memahami memori virtual, kita perlu menambahkan


peningkatan pada pertukaran sirkuit baru saja dibahas. Klarifikasi ini
dilakukan sesuai pesanan, yang artinya setiap halaman prosedur disisipkan
hanya jika diperlukan, yaitu atas permintaan.
Pikirkan proses panjang dengan program panjang dan banyak array.
data. Untuk waktu yang singkat, eksekusi mungkin dibatasi dalam waktu
yang singkat bagian dari program (seperti subrutin) dan mungkin hanya satu
atau dua array Data awal lokasi kami sajikan di Lampiran 4A. Jelas tidak ada
gunanya memuat lusinan halaman untuk proses ini. ketika hanya beberapa
halaman yang digunakan sebelum program ditangguhkan. manfaatkan
memori dengan lebih baik dengan memuat beberapa halaman saja.
Kemudian jika programnya bercabang dalam instruksi di halaman yang tidak
ada di memori utama atau jika program mengacu pada data Pada halaman
yang tidak ada dalam memori, kesalahan halaman dipicu, yang memberitahu
OS untuk masuk halaman yang diinginkan.

Arsitektur dan Organisasi Komputer 280


Universitas Pamulang Teknik Informatika S-1

Jadi, pada waktu tertentu, hanya beberapa halaman dari proses


tertentu yang ada di memori, dan karena itu lebih banyak proses dapat
disimpan dalam memori. Juga, waktu disimpan karena halaman yang tidak
digunakan tidak dibongkar atau dibongkar dari memori. Namun Sistem
operasi harus dapat menangani format ini. Ketika sampai pada sebuah
halaman, harus membuang halaman lain. Ini disebut penggantian halaman.
Jika terbang keluar halaman sebelum Anda menggunakannya, maka Anda
hanya perlu mendapatkan halaman ini lagi segera. Terlalu banyak di
antaranya menyebabkan kondisi yang dikenal sebagai pengirikan: prosesor
menghabiskan sebagian besar waktunya untuk berpindah halaman, tidak
berjalan instruksi. Menghindari pemukulan telah menjadi bidang penelitian
yang penting 1970 dan menyebabkan banyak algoritma yang kompleks
tetapi efisien. Pada dasarnya sistem operasi mencoba menebak,
berdasarkan histori terkini, halaman mana yang cenderung tidak digunakan
tidak lama lagi.
Diskusi tentang algoritme penggantian halaman berada di luar
cakupan bab ini.Metode yang mungkin jarang digunakan (LRU), algoritma
yang sama dibahas di Bab lain untuk penggantian cache. Dalam praktiknya,
LRU itu sulit aplikasi untuk pertukaran memori virtual. Beberapa alternatif
mendekati ini cobalah untuk memperkirakan performa LRU bekas. lihat
Lampiran F untuk detailnya.
Saat memesan pager, Anda tidak harus mengunggah seluruh proses
ke yang utama ukuran memori. Fakta ini memiliki konsekuensi yang luar
biasa: prosesnya bias lebih dari semua memori utama. Salah satu batasan
paling mendasar dari pemrograman tanpa pager, pengembang harus tahu
berapa banyak memori yang tersedia. Jika program yang ditulis terlalu
panjang, Pengembang harus menemukan cara menyusun program menjadi
bagian-bagian yang bias satu dimuat pada satu waktu. Dengan paging
kustom, pekerjaan ini diserahkan pada sistem operasi dan perangkat keras.
Sedangkan untuk pengembang, ini berurusan dengan memori yang sangat
besar, ukuran yang terkait dengan penyimpanan disk.
Karena prosedur ini dilakukan hanya di memori utama, memori ini
dipanggil seperti kenangan nyata. Tetapi pengembang atau pengguna
merasakan jumlah memori yang jauh lebih besar – yaitu terletak di disk, jadi
yang terakhir disebut memori virtual. Memori virtual memungkinkan

Arsitektur dan Organisasi Komputer 281


Universitas Pamulang Teknik Informatika S-1

multiprogramming yang sangat efisien dan menyelamatkan pengguna dari


batas memori utama yang tidak perlu ketat.

b. Struktur Tabel Halaman

Mekanisme dasar untuk membaca kata dari memori melibatkan


konversi alamat virtual atau logis yang terdiri dari nomor halaman. dan
pergeseran dalam arah fisik, yang terdiri dari beberapa bingkai dan offset
menggunakan satu bingkai tabel halaman. Karena tabel halaman memiliki
panjang variabel tergantung ukurannya proses, kami tidak dapat berharap
untuk menyimpannya dalam catatan. Sebaliknya, itu harus di memori utama
untuk akses aplikasi material untuk gambar ini. Ketika prosedur tertentu
dijalankan, registri mempertahankan alamat bootnya. tabel halaman untuk
proses ini. Nomor halaman alamat virtual digunakan untuk pengindeksan
dalam tabel ini dan temukan jumlah frame yang sesuai. Ini digabungkan
dengan geser bagian dari alamat virtual untuk mendapatkan alamat asli yang
diinginkan.
Sebagian besar sistem memiliki tabel halaman untuk setiap proses.
Tapi proses apapun bisa mengerti sejumlah besar memori virtual. Misalnya,
dalam arsitektur VAX, semua Suatu proses dapat memiliki memori virtual
hingga 231 = 2 GB. Melalui halaman, ini berarti bahwa banyak entri tabel
halaman diperlukan untuk setiap proses. Dipahami bahwa jumlah memori
yang dialokasikan hanya untuk tabel halaman mungkin tidak dapat diterima.
tinggi. Untuk mengatasi masalah ini, sebagian besar format memori virtual
menyimpan halaman array dalam memori virtual, bukan memori nyata.
Artinya halaman table dapat diberi nomor halaman seperti halaman lain.
Saat memulai proses, setidaknya beberapa tabel halaman harus berada di
memori utama, termasuk entri tabel halaman halaman saat ini. Beberapa
prosesor menggunakan skema organisasi dua tingkat Tabel halaman besar.
Gambar ini menunjukkan daftar halaman yang semuanya titik masuk ke
dalam tabel halaman. Jadi jika panjang daftar halaman adalah X, dan jika
panjang maksimum tabel halaman adalah Y, maka proses dapat terdiri dari
halaman. Biasanya panjang tabel halaman maksimum dibatasi satu
halaman. Kita akan melihat contoh pendekatan dua tingkat ini saat kita
pertimbangkan Pentium II nanti di bab ini.
Pendekatan alternatif untuk menggunakan tabel halaman satu atau
dua tingkat adalah dengan menggunakan struktur tabel halaman yang.

Arsitektur dan Organisasi Komputer 282


Universitas Pamulang Teknik Informatika S-1

Varian dari pendekatan ini: digunakan untuk arsitektur PowerPC,


UltraSPARC dan IA-64. Aplikasi Mac OS di RT-PC juga menggunakan teknik
ini.
Pendekatan ini cocok dengan bagian nomor halaman dari alamat
virtual. ke nilai hash menggunakan fungsi hash sederhana.2 Nilai hash
adalah indicator tabel halaman terbalik yang berisi entri tabel halaman. Ada
entri masuk tabel

Gambar 18. 1 Struktur Tabel Halaman Terbalik

halaman terbalik untuk setiap bingkai nyata dari halaman memori,


bukan satu virtual halaman. Oleh karena itu, tabel independen memerlukan
persentase memori nyata yang konstan. jumlah proses atau halaman virtual
yang didukung. Mengapa lebih lebih dari satu alamat virtual dapat ditetapkan
ke rekaman hash yang sama, metode rantai digunakan untuk mengontrol
overflow. Teknik fragmentasi mengarah ke rantai yang biasanya pendek -
satu hingga dua entri. Struktur tabel halaman disebut terbalik karena
mengindeks entri tabel halaman dengan nomor bingkai bukan dengan nomor
halaman virtual.
2
A Fungsi hash memberikan angka dalam rentang 0 hingga M ke
angka dalam rentang 0 hingga N, di mana M> N. Output dari fungsi hash

Arsitektur dan Organisasi Komputer 283


Universitas Pamulang Teknik Informatika S-1

digunakan sebagai indeks dalam tabel hash. Lebih dari satu entri dipetakan
ke keluaran yang sama, elemen masukan dapat dipetakan ke entri tabel
hash yang sudah ditempati. Dalam kasus ini, elemen baru harus meluap di
tempat lain dalam tabel hash. Biasanya baru ditempatkan di ruang kosong
pertama dan penunjuk dari lokasi asli disediakan untuk rantainya partisipasi
bersama. Lihat Lampiran C untuk informasi lebih lanjut tentang operasi
fragmentasi.

2. Terjemahan Alamat Memori Virtual

ARM mendukung akses memori berdasarkan bagian atau halaman:

a. Substitusi (opsional): Terdiri dari 16 blok memori utama.


b. Partisi: Terdiri dari 1 MB blok memori utama.
c. Halaman besar: Terdiri dari 64 blok memori utama.
d. Halaman kecil: Terdiri dari blok 4 KB dari memori utama.

Modul dan add-on didukung untuk menampilkan area yang luas memori
hanya menggunakan satu entri TLB. Kontrol akses tambahan Mekanisme
meluas ke halaman kecil di subhalaman 1KB dan media halaman besar hingga
16K subhalaman. Tabel terjemahan yang disimpan di memori utama memiliki
dua tingkat:

a. Tabel tingkat pertama: berisi terjemahan dari bagian dan bagian di atas,
serta petunjuk ke tabel tingkat kedua
b. Tabel tingkat kedua: berisi terjemahan halaman besar dan kecil.

Memory Management Module (MMU) menerjemahkan alamat virtual yang


dihasilkan oleh prosesor di alamat fisik untuk akses ke memori utama, dan juga
menerima dan memeriksa izin akses. Transfer dilakukan karena hilangnya TLB
dan mulai dengan mengambil sampel di tingkat pertama. Akses dengan
tampilan modul hanya membutuhkan tingkat pertama pengambilan, saat
mengakses kinerja halaman juga membutuhkan tingkat kedua.

Proses penerjemahan alamat dua tingkat untuk halaman kecil. Ada tabel
halaman Level 1 (L1) dengan rekaman 4K 32-bit. Setiap titik masuk L1

Arsitektur dan Organisasi Komputer 284


Universitas Pamulang Teknik Informatika S-1

Gambar 18. 2 Terjemahan Alamat Memori Virtual ARM untuk Halaman Kecil

dalam tabel halaman Level 2 (L2) dengan 255 entri 32-bit. Masing-masing
titik masuk L2 mengarah ke satu Halaman 4 KB di memori utama. Alamat
virtual 32-bit diinterpretasikan sebagai berikut: 12 bit terpenting adalah
penunjuk ke tabel halaman L1. 8 bit berikutnya indeks pada tabel halaman L2
yang sesuai. Paling tidak penting kecepatan 12-bit per byte halaman terkait di
memori utama.

Proses pencarian dua halaman serupa digunakan untuk halaman besar.


Untuk bagian dan Jadi, hanya diperlukan pencarian pada tabel halaman L1.

3. Karakteristik Instruksi Mesin

Pengoperasian prosesor ditentukan oleh instruksi yang dijalankannya,


dirujuk sebagai instruksi mesin atau instruksi komputer. Kumpulan instruksi
yang berbeda yang dapat dijalankan oleh prosesor disebut sebagai set instruksi
prosesor.

Elemen perintah mesin setiap instruksi harus berisi informasi yang harus
dijalankan oleh prosesor. langkah-langkah perintah. eksekusi dan, secara tidak
langsung, mendefinisikan elemen-elemen perintah mesin. datanya adalah
sebagai berikut:

Arsitektur dan Organisasi Komputer 285


Universitas Pamulang Teknik Informatika S-1

a. Opcode: Menentukan fungsi yang akan dijalankan (mis. TAMBAH, I / O).


Suatu fungsi didefinisikan oleh kode biner yang dikenal sebagai opcode,
atau opcode.

Gambar 18. 3 Diagram Status Siklus Instruksi

b. Laporan operator asal: suatu fungsi mungkin berisi satu atau lebih sumber.
operator, yaitu, operator yang dimasukkan ke dalam operasi.
c. Laporkan hasil yang efektif: operasi dapat membuahkan hasil.
d. Tautan Instruksi Berikutnya: Memberi tahu prosesor di mana mendapatkan
instruksi berikutnya. setelah menyelesaikan perintah ini.

Alamat dari perintah berikutnya yang akan diambil mungkin alamat


sebenarnya. atau alamat virtual, tergantung pada arsitekturnya. Biasanya
bedanya transparan dalam arsitektur set perintah. Dalam kebanyakan kasus,
instruksi berikut untuk dipulihkan segera setelah arahan saat ini. Dalam kasus
ini, tidak ada yang eksplisit tautan ke petunjuk berikut. Jika referensi eksplisit
diperlukan maka Anda perlu menentukan alamat memori utama atau virtual.

Operator sumber dan hasil dapat ditempatkan di salah satu dari empat area:

a. Memori utama atau virtual: seperti yang dirujuk dalam petunjuk berikut,
utama atau virtual alamat memori harus ditentukan.
b. Registri Prosesor: Dengan pengecualian yang jarang terjadi, prosesor berisi
satu atau lebih registrar. yang dapat dilaporkan dengan instruksi mesin. Jika
hanya ada satu registry referensi untuk ini mungkin diam-

Arsitektur dan Organisasi Komputer 286


Universitas Pamulang Teknik Informatika S-1

Gambar 18. 4 Format Instruksi Sederhana

diam. Jika ada lebih dari satu registri, maka setiap registry nama atau nomor
unik telah ditetapkan dan pernyataan itu harus berisi nomor register yang
diinginkan.
c. Segera: nilai operator terdapat dalam kolom di instruksi. dieksekusi.
d. Perangkat I / O: instruksi harus menentukan unit I / O dan perangkat untuk
pengoperasian. Jika pemetaan memori I / O digunakan, itu hanyalah master
atau virtual lainnya alamat memori.

4. Prinsip Memori Cache

Memori komputer menunjukkan berbagai jenis, teknologi, organisasi,


kinerja, dan biaya. Sistem komputer tipikal dilengkapi dengan hierarki
subsistem memori, beberapa internal (dapat langsung diakses oleh prosesor)
dan beberapa eksternal (dapat diakses oleh prosesor melalui I / O modul).
dimulai dengan gambaran umum tentang hierarki ini. Selanjutnya, bab
membahas secara rinci dengan desain memori cache, termasuk terpisah kode
dan cache data dan cache dua tingkat.
Cache dirancang untuk memberikan kecepatan memori yang mendekati
tercepat. memori yang terjangkau dan pada saat yang sama memberikan
banyak memori dalam harga jenis memori semikonduktor yang lebih murah.
Ada memori utama yang relatif besar dan lambat, juga satu lebih kecil, cache
lebih cepat. Cache berisi salinan bagian dari memori utama. Ketika prosesor
mencoba membaca sebuah kata dari memori, ia memeriksa tentukan apakah
ada kata dalam cache. Jika demikian, kata tersebut diteruskan ke prosesor.
Jika sebuah tidak, satu blok RAM terbaca, terdiri dari sejumlah kata cache, dan
kemudian kata tersebut dikirim ke prosesor. Karena

Arsitektur dan Organisasi Komputer 287


Universitas Pamulang Teknik Informatika S-1

Gambar 18. 5 Cache dan Memori Utama

fenomena tersebut referensi area ketika blok data mencapai cache untuk
memenuhi referensi memori sederhana, kemungkinan besar akan ada referensi
untuk itu di masa depan di lokasi memori yang sama atau, dengan kata lain, di
blok. 2 Cache disk umumnya merupakan teknik perangkat lunak murni dan tidak
dibahas dalam buku ini. Lihat [STAL09] untuk Diskusi.
Penggunaan beberapa level memori cache. L2 cache lebih lambat dan
biasanya lebih besar dari cache L1, dan cache L3 lebih lambat dan biasanya
lebih dari L2 cache.
Struktur cache / sistem memori. Memori utama terdiri dari hingga 2n kata
yang dapat dialamatkan, setiap kata memiliki alamat n-bit yang unik. Untuk
tujuan tampilan, memori ini dianggap sebagai angka dengan panjang tetap.
Setiap blok kata K. Artinya, ada blok M = 2n / K di memori utama. Cache terdiri
dari blok-blok m, yang disebut baris. 3 Setiap baris berisi K kata ditambah tag.
beberapa. Setiap baris juga berisi bit kontrol (tidak ditampilkan) untuk Anda
lihat. jika baris telah berubah sejak dimuat ke cache. Panjangnya 3 Dalam
mengacu pada unit dasar cache, istilah baris digunakan, bukan istilah blok,

Arsitektur dan Organisasi Komputer 288


Universitas Pamulang Teknik Informatika S-1

Gambar 18. 6 Cache / Struktur Memori Utama

karena dua alasan: (1) untuk menghindari kebingungan dengan blok


memori utama, yang berisi jumlah kata data yang sama seperti baris cache;
dan (2) karena baris cache tidak hanya menyertakan K kata data, hanya
sebagai blok memori utama, tetapi juga menyertakan bit tag dan kontrol.
string yang tidak menyertakan label dan bit kontrol adalah ukuran string.
Ukuran garis bisa sangat kecil hingga 32 bit, masing-masing "kata" - satu byte.
dalam hal ini, ukuran string adalah 4 byte. Jumlah baris jauh lebih sedikit
daripada jumlah blok memori utama (m << Μ). Pada waktu tertentu, subset blok
memori berada dalam baris ruang bawah tanah. Jika sebuah kata terbaca
menjadi blok memori, blok itu dipindahkan ke salah satu blok memori baris
cache. Karena ada lebih banyak blok daripada garis, satu baris tidak bias
secara tegas dan permanen melekat pada blok tertentu. Jadi setiap baris
termasuk tag yang menentukan blok spesifik mana yang saat ini disimpan.
Stiker biasanya bagian dari alamat memori utama, seperti yang dijelaskan nanti
di bagian ini.
Prosesor menghasilkan alamat baca (RA) kata untuk dibaca. Jika kata itu
ada di cache, kata itu dikirim di dalam

Arsitektur dan Organisasi Komputer 289


Universitas Pamulang Teknik Informatika S-1

Gambar 18. 7 Cache Read Operation

prosesor. Jika tidak, blok yang berisi kata ini dimuat ke cache, dan kata
tersebut dikirim ke prosesor menunjukkan dua fungsi terakhir ini. terjadi secara
paralel dan mencerminkan organisasi yang ditunjukkan ke prosesor melalui
data, jalur kontrol, dan jalur. String dan alamat

Arsitektur dan Organisasi Komputer 290


Universitas Pamulang Teknik Informatika S-1

Gambar 18. 8 Organisasi Cache Khusus

Data juga melampirkan ke data buffer dan alamat yang terhubung ke bus
sistem, dari mana memori utama tercapai. Saat caching terjadi, buffer data dan
alamat mati, dan komunikasi hanya terjadi antara prosesor dan cache, tidak
ada system lalu lintas bus. Saat cache terjadi, alamat yang diinginkan dimuat ke
dalam system bus, dan data dikembalikan melalui buffer data ke cache dan
CPU. Organisme lain secara alami memasukkan cache prosesor dan memori
utama untuk semua data, alamat dan jalur kontrol. Yang terakhir kasus, untuk
cache, kata yang diinginkan pertama kali dibaca ke dalam cache dan kemudian
dikirim dari cache ke prosesor.

5. Akses Memori Langsung

Blok data sering ditransfer antara memori utama dan perangkat I / O


seperti disk Bagian ini menjelaskan teknik untuk mengelola transmisi semacam
itu tanpa sering, intervensi prosesor yang dikendalikan perangkat lunak.
Pembahasan berfokus pada transfer data kata atau byte satu byte. antara
prosesor dan perangkat input / output. Data ditransfer dari perangkat I / O ke
memori dengan membacanya terlebih dahulu dari perangkat I / O dengan
instruksi seperti Unduh R2, DATAIN

Arsitektur dan Organisasi Komputer 291


Universitas Pamulang Teknik Informatika S-1

memuat data ke dalam registri prosesor. Data yang telah dibaca


kemudian disimpan dalam memori.lokasi. Proses sebaliknya terjadi untuk
transfer data dari memori ke I / O. alat. Perintah transfer data input atau output
dijalankan hanya setelah prosesor menentukan bahwa perangkat input / output
siap dengan mengumpulkan status atau log siaga untuk meminta penghentian.
Bagaimanapun, ada beban yang signifikan, karena banyak instruksi program
harus dijalankan menggunakan beberapa akses memori untuk setiap kata data
diterjemahkan. Saat mentransfer satu blok data, diperlukan instruksi untuk
meningkatkannya alamat memori dan lacak jumlah kata. Penggunaan liburan
termasuk fungsi prosedur sistem yang membebankan biaya tambahan untuk
menyimpan dan memulihkan register prosesor, penghitung program dan
informasi status lainnya.
Pendekatan alternatif digunakan untuk mentransfer blok data secara
langsung antara master. memori dan perangkat input / output seperti disk.
Untuk mengontrolnya, disediakan unit kendali khusus. transfer, tanpa intervensi
prosesor yang konstan. Pendekatan ini disebut langsung akses memori atau
DMA. Blok yang mengatur transfer DMA disebut DMA. pengontrol. Ini bisa
menjadi bagian dari antarmuka perangkat I / O, atau perangkat terpisah yang
berbagi jumlah perangkat input-output. Pengontrol DMA melakukan fungsi yang
biasanya dieksekusi oleh prosesor saat mengakses memori utama. Untuk
setiap kata yang ditransmisikan Memberikan alamat memori dan menghasilkan
sinyal kontrol yang diperlukan. Meningkat alamat memori untuk kata-kata yang
berurutan dan melacak jumlah transfer.
Meskipun pengontrol DMA mentransfer data tanpa intervensi prosesor, itu
operasi harus dilakukan di bawah kendali program yang dijalankan oleh
prosesor, biasanya satu sistem operasi. Untuk mulai mengirimkan sekumpulan
kata, prosesor mengirim Alamat awal pengontrol DMA, kata blok dan arah
mengangkut. Pengontrol DMA kemudian melanjutkan untuk melakukan operasi
yang diminta. Tidak pernahseluruh blok telah dipindahkan, ia memberi tahu
prosesor dengan meningkatkan jeda.
contoh register pengontrol DMA yang mana prosesor untuk mulai
mentransfer data. Dua register digunakan untuk menyimpan beban alamat dan
jumlah kata. Register ketiga berisi status dan bendera kontrol. R / W Bit
menentukan arah transmisi. Ketika bit ini disetel ke 1 oleh instruksi
pemrograman, pengontrol melakukan fungsi baca, yaitu mentransfer data dari

Arsitektur dan Organisasi Komputer 292


Universitas Pamulang Teknik Informatika S-1

memori ke I / O alat. Jika tidak, ini menjalankan aWrite. Informasi tambahan


dikirimkan sesuai dengan persyaratan perangkat I / O. Misalnya, dalam kasus
disk, prosesor menyediakan pengontrol disk informasi untuk menentukan di
mana data tersebut berada.
Ketika pengontrol telah menyelesaikan transfer blok data dan siap
menerima Perintah lain menyetel flag Done ke 1. Bit 30 adalah flag interrupt
allow, IE set ke 1, ini menyebabkan pengontrol memanggil jeda setelah transfer
selesai blok data. Terakhir, pengontrol menyetel bit IRQ ke 1 saat meminta
penghentian.
Bagaimana pengontrol DMA dapat digunakan pada sistem komputer,
Pengontrol DMA

Gambar 18. 9 Register tipikal dalam pengontrol DMA

Menghubungkan Ethernet kecepatan tinggi ke komputer Anda. Bus input /


output. Pengontrol disk yang mengelola dua disk, Ia juga memiliki kemampuan
DMA dan menyediakan dua saluran DMA. Itu dapat melakukan dua secara
independen DMA berfungsi seolah-olah setiap disk memiliki pengontrol DMA
sendiri-sendiri. Register diperlukan untuk penyimpanan alamat memori, jumlah
kata, dll. disalin sehingga satu set dapat digunakan dengan setiap disk.

Arsitektur dan Organisasi Komputer 293


Universitas Pamulang Teknik Informatika S-1

Gambar 18. 10 Penggunaan pengontrol DMA dalam sistem computer

Untuk memulai transfer DMA dari satu blok data dari memori utama ke
salah satu disk, Subrutin OS menulis informasi alamat dan jumlah kata ke
registrar pengontrol disk. Pengontrol DMA terus melakukan set secara
independen mode. Ketika transfer selesai, acara ini dicatat dan diperiksa
Rekaman saluran DMA dengan mengatur bit akhir. Pada saat yang sama, jika
bit IE disetel, pengontrol mengirimkan permintaan interupsi ke prosesor dan
mengatur bit IRQ. Kondisi Log juga dapat digunakan untuk merekam informasi
lain, seperti jika transfer telah dilakukan masukkan dengan benar atau terjadi
kesalahan.

Arsitektur dan Organisasi Komputer 294


Universitas Pamulang Teknik Informatika S-1

C. Soal Latihan/Tugas
Untuk mengetahui apakah Anda telah mampu menghitung uji validitas instrumen
skala Likert, kerjakan latihan dengan langkah sebagai berikut:
1. Mengapa ada kecenderungan semakin banyaknya area chip yang diberikan ke
memori cache ?
2. Apa Pendekatan alternatif Akses Memori Langsung ?
3. Jelaskan bagaimana Pendekatan alternatif untuk menggunakan tabel halaman
satu atau dua tingkat adalah ?
4. Gambarkan Cache Logis dan Fisik ?
5. Mengapa lebih dari satu alamat virtual dapat ditetapkan ke rekaman hash yang
sama ?

D. Referensi

Hamacher, C., Vranesic, Z., Zaky, S., & Manjikian, N. (2011). Computer
Organization and Embedded Systems (6th edition). New York: McGraw-Hill.

Stallings, W. (2010). Computer Organization and Architecture: Designing for


Performance (8th Edition). New Jersey: Prentice Hall.

Arsitektur dan Organisasi Komputer 295


Universitas Pamulang Teknik Informatika S-1

GLOSARIUM

absolute address Sebuah alamat dalam bahasa komputer yang mengidentifikasi


lokasi atau perangkat tanpa menggunakan referensi perantara.

address bus Bagian dari bus sistem yang digunakan untuk mentransfer alamat.
Biasanya, alamat mengidentifikasi lokasi penyimpanan utama atau perangkat I / O.

address space Ruang alamat (memori, I / O) yang dapat direferensikan.

arithmetic and logic unit (ALU) Bagian dari komputer yang melakukan operasi
aritmatika, logika, dan terkait.

base Dalam sistem penomoran yang umum digunakan dalam karya ilmiah, bilangan
dipangkatkan dengan pangkat yang ditentukan oleh eksponen dan kemudian dikalikan
dengan mantissa untuk menentukan bilangan yang sebenarnya ditampilkan (misalnya,
bilangan 10 pada persamaan 2.7 102 270).

base address Nilai numerik yang digunakan sebagai referensi saat menghitung
alamat saat menjalankan program komputer.

binary operator Operator yang merepresentasikan operasi pada dua dan hanya dua
operan.

Bit Dalam sistem penomoran biner murni salah satu digit 0 dan 1.

buffer Memori digunakan untuk menutupi perbedaan aliran data atau waktu terjadinya
peristiwa saat mentransfer data dari satu perangkat ke perangkat lainnya.

bus Jalur komunikasi bersama yang terdiri dari satu atau lebih jalur. Di beberapa
sistem komputer, CPU, memori, dan komponen I / O dihubungkan oleh bus umum.
Karena garis digunakan bersama oleh semua komponen, hanya satu komponen yang
berhasil dikirim dalam satu waktu.

Byte Sebuah string delapan bit. Juga dikenal sebagai oktet.

Cache Memori yang relatif kecil dan cepat antara memori yang lebih besar dan lebih
lambat dan logika yang dapat mengakses memori yang lebih besar. Cache berisi data
yang baru saja diakses dan dimaksudkan untuk mempercepat akses berikutnya ke
data yang sama.

Cache Memori Jenis memori penyangga khusus yang lebih kecil dan lebih cepat dari
memori utama dan digunakan untuk menyimpan salinan instruksi dan data dalam

Arsitektur dan Organisasi Komputer 296


Universitas Pamulang Teknik Informatika S-1

memori utama yang mungkin dibutuhkan oleh prosesor dan secara otomatis diambil
dari memori utama.

CD-ROM Compact Disk Memori hanya baca. Hard drive yang tidak dapat dihapus
yang digunakan untuk menyimpan data komputer. Sistem standar menggunakan
cakram 12 cm dan dapat menampung lebih dari 550 MB.

Central Processing Unit (CPU) Bagian dari komputer yang menerima dan
menjalankan instruksi. Ini terdiri dari unit aritmatika dan logika (ALU), unit kontrol dan
register. Sering disebut hanya sebagai prosesor.

CD (CD) Hard drive yang tidak dapat dihapus yang menyimpan informasi audio digital.

computer architecture Atribut sistem yang dapat dilihat oleh programmer, atau
dengan kata lain, atribut yang memiliki dampak langsung pada eksekusi logis suatu
program. Contoh atribut arsitektural termasuk set instruksi, jumlah bit yang digunakan
untuk mewakili berbagai jenis data (misalnya angka, karakter), mekanisme I / O, dan
teknik pengalamatan memori.

computer instruction Instruksi yang dapat dikenali oleh unit pemrosesan komputer
yang dirancang untuk itu. Identik dengan pelajaran mesin.

computer instruction set Satu set lengkap dari operator instruksi komputer, bersama
dengan deskripsi jenis arti yang dapat ditetapkan untuk operan mereka. Sinonim dari
set instruksi mesin.

computer organization Mengacu pada unit operasional dan koneksi mereka yang
menerapkan spesifikasi arsitektur. Karakteristik organisasi mencakup data perangkat
keras yang transparan bagi pemrogram, misalnya B. Sinyal kendali. Antarmuka antara
komputer dan periferal; dan teknologi penyimpanan yang digunakan.

control unit Bagian dari CPU yang mengontrol operasi CPU, termasuk operasi ALU,
pergerakan data di dalam CPU, dan pertukaran data dan sinyal kontrol melalui
antarmuka eksternal (misalnya, bus sistem).

direct access Kemampuan untuk mengambil data dari perangkat penyimpanan atau
memasukkan data ke dalam perangkat penyimpanan dalam urutan independen dari
posisi relatifnya, menggunakan alamat yang menunjukkan lokasi fisik data.

direct address Alamat yang menentukan lokasi elemen data yang akan diperlakukan
sebagai operan. Sinonim dari alamat dalam satu langkah. peminta sinyal dari kelas
tertentu.

Arsitektur dan Organisasi Komputer 297


Universitas Pamulang Teknik Informatika S-1

diskette Disk magnetis fleksibel dalam selongsong pelindung. Identik dengan hard
disk fleksibel.

disk pack Perakitan disk magnetis yang dapat sepenuhnya dilepaskan dari disk,
bersama dengan wadah tempat perakitan akan dipisahkan selama operasi.

dynamic RAM Sebuah RAM yang selnya diimplementasikan menggunakan kapasitor.


RAM dinamis akan kehilangan datanya secara bertahap kecuali jika diperbarui secara
rutin.

erasable optical disk Sebuah hard drive yang menggunakan teknologi optik tetapi
dapat dengan mudah dihapus dan ditulis ulang. Baik hard drive 3,25 "dan 5,25"
digunakan. Kapasitas tipikal 650 MB.

Microcode firmware disimpan dalam memori hanya-baca.

Flip-flop Sirkuit atau perangkat yang mengandung elemen aktif dan dapat
mengasumsikan salah satu dari dua kondisi stabil pada waktu tertentu. Sinonim dari
sirkuit bistable, toggle.

gate Sirkuit elektronik yang menghasilkan sinyal keluaran yang memiliki operasi
Boolean sederhana sendiri Sinyal masukan.

indexing Sebuah teknik untuk mengubah alamat menggunakan register indeks.

index register Sebuah register yang isinya dapat digunakan untuk mengubah alamat
operan saat menjalankan instruksi komputer; Itu juga bisa digunakan sebagai counter.
Register indeks dapat digunakan untuk mengontrol eksekusi loop untuk mengontrol
penggunaan array sebagai sakelar, pencarian tabel, atau penunjuk.

indirect address Sebuah alamat lokasi penyimpanan yang berisi alamat.

input-output (I/O) Mengacu pada input atau output atau keduanya. Mengacu pada
pergerakan data antara komputer dan perangkat yang terhubung langsung.

instruction format Tata letak instruksi komputer sebagai rangkaian bit. Format
membagi pernyataan menjadi bidang yang sesuai dengan komponen pernyataan (mis.
Opcode, operan).

integrated circuit (IC) Sepotong kecil bahan padat, seperti silikon, di mana
sekumpulan komponen elektronik dan koneksinya diukir atau dicetak.

Arsitektur dan Organisasi Komputer 298


Universitas Pamulang Teknik Informatika S-1

Interrupt Suatu interupsi dari suatu proses, misalnya B. eksekusi suatu program
komputer yang disebabkan oleh suatu kejadian di luar proses ini dan dijalankan
sedemikian rupa sehingga proses tersebut dapat dilanjutkan. Sinonim dari interupsi.

I/O channel Modul I / O yang relatif kompleks yang membebaskan CPU dari detail
operasi I / O. Saluran I / O menjalankan serangkaian perintah I / O dari memori utama
tanpa campur tangan CPU.

I/O controller Modul I / O yang relatif sederhana yang memerlukan kontrol terperinci
oleh CPU atau saluran I / O. Sinonim dari manajemen perangkat.

I/O module Salah satu jenis komponen terpenting dalam komputer. Ini bertanggung
jawab untuk mengendalikan satu atau lebih perangkat eksternal (periferal) dan untuk
bertukar data antara perangkat ini dan memori utama dan / atau register CPU.

local variable Variabel yang didefinisikan dan digunakan hanya di bagian tertentu dari
computer Program.

magnetic disk Disk melingkar datar dengan lapisan permukaan yang dapat
dimagnetisasi pada satu atau kedua sisi tempat data dapat disimpan.

magnetic tape Pita dengan lapisan permukaan yang dapat dimagnetisasi di mana
data dapat disimpan melalui perekaman magnetik.

Mainframe Sebuah istilah yang awalnya mengacu pada kabinet yang berisi unit
pemrosesan pusat atau "mainframe" dari mesin volume tinggi. Dengan munculnya
desain komputer mini yang lebih kecil di awal tahun 1970-an, mesin tradisional yang
lebih besar digambarkan sebagai komputer mainframe, mainframe. Fitur khas dari
mainframe adalah mendukung database besar, memiliki perangkat keras I / O yang
canggih dan digunakan di fasilitas pemrosesan data pusat.

main memory Memori beralamat program tempat instruksi dan data lain dapat dimuat
langsung ke register untuk eksekusi atau pemrosesan nanti.

memory buffer register (MBR) Register yang berisi data yang dibaca dari memori
atau data yang akan ditulis ke memori.

Microcomputer Sebuah sistem komputer yang unit pemrosesannya adalah


mikroprosesor. Mikrokomputer dasar mencakup mikroprosesor, memori, dan perangkat
input / output yang mungkin ada atau mungkin tidak ada dalam sebuah chip.

microprocessor Prosesor yang elemennya telah dibuat mini menjadi satu atau lebih
sirkuit terintegrasi.

Arsitektur dan Organisasi Komputer 299


Universitas Pamulang Teknik Informatika S-1

multiprocessor Komputer dengan dua atau lebih prosesor yang berbagi akses ke
saluran trunk Gudang.

multiprogramming Mode operasi yang memungkinkan dua atau lebih program


komputer dijalankan secara bersarang oleh satu prosesor.

Multitasking Mode operasi yang memungkinkan dua atau lebih tugas komputer
dilakukan secara bersamaan atau secara bertumpuk. Sama seperti multiprogramming
dengan terminologi berbeda.

nonvolatile memory Memori yang isinya stabil dan tidak membutuhkan sumber daya
yang konstan.

opcode Singkatan dari Operation Code (kode operasi.)

Operand Entitas tempat operasi dilakukan.

operating system Perangkat lunak yang mengontrol pelaksanaan program dan


menyediakan layanan seperti alokasi sumber daya, penjadwalan, kontrol input / output,
dan manajemen data.

operation code Sebuah kode yang digunakan untuk mewakili operasi komputer.
Biasanya disingkat Opcode.

parity Bit Sebuah digit biner ditambahkan ke sekelompok digit biner untuk membentuk
jumlah semua digit, baik selalu ganjil (paritas ganjil) atau selalu genap (paritas genap).

Pipeline Sebuah organisasi prosesor di mana prosesor terdiri dari beberapa tahapan
sehingga beberapa instruksi dapat dijalankan secara bersamaan.

process Program sedang berlangsung. Sebuah proses dikendalikan dan direncanakan


oleh sistem operasi.

processor Di dalam komputer, unit fungsional yang menerjemahkan dan menjalankan


instruksi. Prosesor terdiri dari setidaknya satu unit kontrol perintah dan unit komputasi.

programmable read-only memory (PROM) yang dapat diprogram, yang isinya hanya
dapat disetel sekali. Operasi tulis dilakukan secara elektrik dan dapat dilakukan oleh
pengguna di waktu yang lebih lama dari pembuatan chip asli.

random-access memory (RAM) Memori di mana setiap lokasi yang dapat


dialamatkan memiliki mekanisme pengalamatan yang unik. Waktu untuk mengakses
lokasi tertentu tidak tergantung pada urutan akses sebelumnya.

Arsitektur dan Organisasi Komputer 300


Universitas Pamulang Teknik Informatika S-1

read-only memory (ROM) Memori semikonduktor yang isinya hanya dapat diubah
oleh Penghancuran unit penyimpanan. Memori yang tidak bisa dihapus.

redundant array of independent disks (RAID) Larik disk di mana sebagian dari
kapasitas penyimpanan fisik digunakan untuk menyimpan informasi data pengguna
yang berlebihan yang disimpan di kapasitas penyimpanan lainnya. Dengan informasi
yang berlebihan, data pengguna dapat dibuat ulang jika salah satu drive anggota larik
atau jalur akses gagal.

registers dengan cepat memori CPU internal. Beberapa register dapat dilihat oleh
pengguna. yaitu, tersedia bagi pemrogram melalui set instruksi mesin. Register lain
hanya digunakan oleh CPU untuk tujuan kontrol.

secondary memory penyimpanan di luar sistem komputer itu sendiri; Artinya, tidak
mungkin diproses langsung oleh prosesor. Ini harus terlebih dahulu disalin ke memori
utama. Contohnya adalah hard drive dan tape.

Stack Sebuah daftar terurut di mana item ditambahkan dan dihapus dari ujung yang
sama dari daftar. dikenal sebagai yang teratas. Artinya, item berikutnya yang akan
ditambahkan ke daftar akan ditempatkan di atas, dan item berikutnya yang akan
dihapus dari daftar adalah item yang ada di daftar dalam waktu sesingkat mungkin.
Metode ini dikenal sebagai last-in-first-out.

static RAM Sebuah RAM yang selnya diimplementasikan menggunakan flip-flop. RAM
statis menyimpan datanya selama dipasok dengan daya. Tidak diperlukan pembaruan
rutin.

system bus Bus yang digunakan untuk menghubungkan komponen komputer utama
(CPU, memori, I / O).

virtual storage Ruang memori yang dapat dianggap sebagai memori utama yang
dapat dialamatkan oleh pengguna sistem komputer di mana alamat virtual ditetapkan
ke alamat sebenarnya. Ukuran memori virtual dibatasi oleh skema pengalamatan
sistem komputer dan jumlah memori tambahan yang tersedia, bukan jumlah
sebenarnya dari lokasi memori utama.

volatile memory Sebuah memori yang membutuhkan sumber arus konstan untuk
memelihara isi memori. Jika daya dimatikan, informasi yang disimpan akan hilang.

Word Kumpulan byte atau bit yang diurutkan yang mewakili unit normal tempat
informasi dapat disimpan. dikirim atau diedit dalam komputer tertentu. Biasanya bila

Arsitektur dan Organisasi Komputer 301


Universitas Pamulang Teknik Informatika S-1

sebuah prosesor memiliki panjang yang tetap Set perintah, maka panjang perintah
sesuai dengan panjang kata.

Arsitektur dan Organisasi Komputer 302


Universitas Pamulang Teknik Informatika S-1

DAFTAR PUSTAKA

Kai Hwang & Naresh Jotwani. (2011). Advanced Computer Architecture:


Parallelism, Scalability, Programmability. 2nd Edition. New Delhi: Tata
McGraw Hill Education Private Limited.

Andrew S. Tanenbaum. (2006). Structured Computer Organization. 5th Edition. New


Jersey: Pearson Education Inc.

John L. Hennessy & David A. Petterson. (2012). Computer Architecture: A


Quantitative Approach. 5th Edition. Massachusetts: Elsevier Inc.

John L. Hennessy & David A. Petterson. (2007). Computer Architecture: A


Quantitative Approach. 4th Edition. Massachusetts: Elsevier Inc.

Govindarajalu B. (2010). Computer Architecture and Organization: Design Principles


and Applications. 2nd Edition. New Delhi: Tata McGraw Hill Education Private
Limited.

William Stallings. (2016). Computer Organization and Architecture: Designing for


Performance. 10th Edition. London: Pearson Education Limited.

Arsitektur dan Organisasi Komputer 303


Universitas Pamulang Teknik Informatika S-1

RPS

Arsitektur dan Organisasi Komputer 304


Universitas Pamulang Teknik Informatika S-1

Arsitektur dan Organisasi Komputer 305


Universitas Pamulang Teknik Informatika S-1

Arsitektur dan Organisasi Komputer 306


Universitas Pamulang Teknik Informatika S-1

Arsitektur dan Organisasi Komputer 307


Universitas Pamulang Teknik Informatika S-1

Arsitektur dan Organisasi Komputer 308


Universitas Pamulang Teknik Informatika S-1

Arsitektur dan Organisasi Komputer 309


Universitas Pamulang Teknik Informatika S-1

Arsitektur dan Organisasi Komputer 310


Universitas Pamulang Teknik Informatika S-1

Arsitektur dan Organisasi Komputer 311

Anda mungkin juga menyukai