Anda di halaman 1dari 180

Halaman 1

Ata Elahi

Komputer
Sistem
Desain Digital, Dasar-Dasar dari
Arsitektur dan Perakitan Komputer
Bahasa
Halaman 2
Sistem komputer
Halaman 3
Ata Elahi
Sistem komputer
Desain Digital, Dasar-dasar Komputer
Arsitektur dan Bahasa Perakitan
Halaman 4
Ata Elahi
Universitas Negeri Connecticut Selatan
New Haven, CT, USA
ISBN 978-3-319-66774-4
ISBN 978-3-319-66775-1 (eBuku)
https://doi.org/10.1007/978-3-319-66775-1
Perpustakaan Nomor Kontrol Kongres: 2017952347
© Springer International Publishing AG 2018
Karya ini tunduk pada hak cipta. Semua hak dilindungi oleh Penerbit, baik keseluruhan atau bagian dari
materi yang bersangkutan, khususnya hak terjemahan, cetak ulang, penggunaan kembali ilustrasi,
pembacaan, penyiaran, reproduksi pada mikrofilm atau dengan cara fisik lainnya, dan transmisi
atau penyimpanan dan pengambilan informasi, adaptasi elektronik, perangkat lunak komputer, atau dengan cara yang serupa atau
metodologi berbeda sekarang dikenal atau dikembangkan selanjutnya.
Penggunaan nama deskriptif umum, nama terdaftar, merek dagang, merek layanan, dll. Dalam hal ini
publikasi tidak menyiratkan, bahkan tanpa adanya pernyataan khusus, bahwa nama-nama tersebut dikecualikan
dari undang-undang dan peraturan perlindungan yang relevan dan karena itu gratis untuk penggunaan umum.
Penerbit, penulis, dan editor aman untuk berasumsi bahwa saran dan informasi dalam hal ini
buku diyakini benar dan akurat pada tanggal penerbitan. Baik penerbit maupun
penulis atau editor memberikan jaminan, tersurat maupun tersirat, sehubungan dengan materi yang terkandung
di sini atau untuk setiap kesalahan atau kelalaian yang mungkin telah dibuat. Penerbit tetap netral dengan
berkaitan dengan klaim yurisdiksi dalam peta yang diterbitkan dan afiliasi kelembagaan.
Dicetak di atas kertas bebas asam
Jejak Springer ini diterbitkan oleh Springer Nature
Perusahaan yang terdaftar adalah Springer International Publishing AG
Alamat perusahaan terdaftar adalah: Gewerbestrasse 11, 6330 Cham, Swiss

Halaman 5
Buku ini didedikasikan untuk
Sara, Shabnam, dan Aria

Halaman 6
Kata pengantar
Buku pelajaran ini adalah hasil dari pengalaman saya mengajar sistem komputer di Internet
Departemen Ilmu Komputer di Southern Connecticut State University sejak
1986. Buku ini dibagi menjadi tiga bagian: Desain Digital, Pengantar
Arsitektur Komputer dan Memori, dan Arsitektur ARM dan Jaringan Perakitan
pengukur. Bagian Desain Digital termasuk manual laboratorium dengan 12 pengalaman
KASIH menggunakan perangkat lunak Logisim untuk menegakkan konsep penting. Lengan
Bagian Arsitektur dan Bahasa Perakitan mencakup beberapa contoh informasi
bly langauge program menggunakan Keil μVision 5 alat pengembangan.
Audiens yang dituju
Buku ini ditulis terutama untuk kursus satu semester sebagai pengantar
perangkat keras komputer dan bahasa rakitan untuk siswa jurusan Komputer
Sains, Sistem Informasi dan Teknologi Rekayasa.
Organisasi
Bahan buku ini disajikan sedemikian rupa sehingga tidak ada latar belakang khusus
diperlukan untuk memahami topik.
Bab 1 - Sinyal dan Sistem Angka: Sinyal Analog, Sinyal Digital, Biner
Bilangan, Penambahan dan Pengurangan angka biner, IEEE 754 Floating Point
representasi, ASCII, Unicode, Serial Transmission, dan Parallel Transmission.
Bab 2 - Logika Boolean dan Gerbang Logika: Logika Boolean, Aljabar Boolean
Teorema, Gerbang Logika, Sirkuit Integrasi (IC), Fungsi Boolean, Tabel Kebenaran a
berfungsi dan menggunakan Boolean Theorems untuk menyederhanakan Fungsi Boolean.
vii

Halaman 7
Bab 3 - Minterms, Maxterms, Karnaugh Map (K-Map) dan Universal
Gates: Minterms, Maxterms, Karnaugh Map (K-Map) untuk menyederhanakan Fungsi Boolean-
tions, Don't Care Kondisi dan Universal Gates.
Bab 4 - Logika Kombinasional: Analisis Logika Kombinasi, Desain
Logika Kombinasional, Decoder, Encoder, Multiplexer, Half Adder, Full Adder,
Binary Adder, Binary Subtractor, Merancang Unit Logika Aritmatika (ALU) dan
BCD ke Seven Segment Decoder.
Bab 5 - Logika Sekuensial Sinkron: Logika Sekuensial seperti SR Latch,
D-Flip Flop, JK Flip Flop, T-Flip Flop, Daftar, Daftar Shift, Analisis
Logika Sekuensial, Diagram Negara, Tabel Negara, Tabel Eksitasi Flip Flop dan
Merancang Kontra.
Bab 6 - Pengantar Arsitektur Komputer: Komponen Mikro
komputer, Teknologi CPU, Arsitektur CPU, Eksekusi Instruksi, Pipelining,
PCI, PCI Express, USB, dan HDMI.
Bab 7 - Memori: Memori termasuk RAM, SRAM, DISK, SSD, Memori
Hierarki, Memori Cache, Metode Pemetaan Memori Cache, Memori Virtual,
Halaman Tabel dan organisasi memori komputer.
Bab 8 - Arsitektur dan Instruksi ARM Bagian I: ARM Processor Archi-
tecture, dan Set Instruksi ARM seperti Pemrosesan Data, Shift, Rotate, Uncondi
Instruksi nasional dan Instruksi Bersyarat, Operasi Stack, Cabang, Multiply
Instruksi dan beberapa contoh konversi HLL ke bahasa Assembly.
Bab 9 - Instruksi ARM Bagian II: Bab ini merupakan kelanjutan dari
Bab 8 yang mencakup Petunjuk Muat dan Simpan, Petunjuk Palsu, ARM
Mengatasi Mode dan representasi data dalam memori.
Bab 10 - Pemrograman Bahasa Majelis ARM Menggunakan Pengembangan Keil
Alat: Meliputi cara menggunakan perangkat lunak pengembangan Keil untuk menulis bahasa majelis
menggunakan Instruksi ARM, Mengkompilasi Bahasa Majelis dan Debugging.
Sumber Daya Instruksi: Sumber daya instruksi berisi
• Eksperimen laboratorium menggunakan Logisim.
• Solusi untuk masalah setiap bab.
New Haven, CT, USA
Ata Elahi
viii
Kata pengantar

Halaman 8
Ucapan Terima Kasih
Saya ingin mengucapkan terima kasih khusus kepada Profesor Lancor Chairman dari
Departemen Ilmu Komputer di Southern Connecticut State University untuknya
mendukung serta Profesor Herv Podnar untuk bimbingannya.
Saya ingin mengucapkan terima kasih dan terima kasih kepada Ibu Mary E. James, Editor Senior di Terapan
Ilmu pengetahuan dan asistennya, Ms. Zoe Kennedy, atas dukungan mereka.
Terima kasih khusus saya kepada Marc Gajdosik, Nickolas Santini, Nicholas Bittar, Eric
Basini, Omar Abid dan Alireza Ghods atas bantuan mereka dalam mengembangkan naskah.
Akhirnya, saya ingin mengucapkan terima kasih kepada para siswa CSC 207 Computer Systems of
Musim semi 2017
ix

Halaman 9
Isi
1
Sistem Sinyal dan Angka ........................ ....
1
1.1
Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Sinyal Analog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.1
Karakteristik Sinyal Analog. . . . . . . . . . . . . .
3
1.3
Sinyal Digital. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.4
Sistem Angka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.4.1
Konversi dari Biner ke Desimal. . . . . . . . . . . . .
6
1.4.2
Mengubah dari Integer Desimal ke Biner. . . . . . . .
7
1.4.3
Mengubah Fraksi Desimal ke Biner. . . . . . . . . . .
8
1.4.4
Konversi dari Hex ke Binary. . . . . . . . . . . . . . . . .
9
1.4.5
Penambahan Biner. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5
Komplemen dan Komplemen Dua. . . . . . . . . . . . . . . . . . 11
1.5.1
Pengurangan Nomor yang Tidak Ditandatangani Menggunakan Dua
Komplemen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6
Unsigned, Signed Magnitude, dan Signed Two's
Nomor Biner Komplemen. . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7
Penambahan Biner Menggunakan Komplemen Dua yang Ditandatangani.  . . . . . . . . 13
1.8
Representasi Floating Point. . . . . . . . . . . . . . . . . . . . . . . . 14
1.8.1
Representasi Presisi Tunggal. . . . . . . . . . . . . . . . 15
1.9
Binary-Coded Decimal (BCD). . . . . . . . . . . . . . . . . . . . . . . . 16
1.10 Skema Pengkodean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.10.1 Kode ASCII. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.10.2 Kode atau Unicode Universal. . . . . . . . . . . . . . . . . . . . 17
1,11 Paritas Bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.12 Jam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.13 Mode Transmisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.13.1 Transmisi Asinkron. . . . . . . . . . . . . . . . . . . 22
1.13.2 Transmisi Sinkron. . . . . . . . . . . . . . . . . . . . 23
xi

Halaman 10
1.14 Metode Transmisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.14.1 Transmisi Seri. . . . . . . . . . . . . . . . . . . . . . . . . 24
1.14.2 Transmisi Paralel. . . . . . . . . . . . . . . . . . . . . . . . 24
1.15 Ringkasan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2
Logika dan Gerbang Logika Boolean .................... ...... 29
2.1
Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2
Boolean Logics and Logic Gates. . . . . . . . . . . . . . . . . . . . . . 30
2.3
Klasifikasi Sirkuit Terpadu (IC). . . . . . . . . . . . . . . . . . 33
2.4
Teorema Aljabar Boolean. . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.5
Fungsi Boolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6
Ringkasan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3
Peta Minterms, Maxterms, Karnaugh (K-Map),
dan Universal Gates .............................. ..... 47
3.1
Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2
Minterms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3
Maxterms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4
Peta Karnaugh (K-Map). . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4.1
Peta Tiga Variabel. . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.2
K-Map Empat Variabel. . . . . . . . . . . . . . . . . . . . . . . . 57
3.5
Jumlah Produk (SOP) dan Produk Jumlah (POS). . . . . . . . 58
3.6
Kondisi Tidak Peduli. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.7
Gerbang Universal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7.1
Menggunakan NAND Gates. . . . . . . . . . . . . . . . . . . . . . . . . 62
3.7.2
Menggunakan Gerbang NOR. . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.7.3
Implementasi Fungsi Logika Menggunakan NAND
Gates atau NOR Gates Saja. . . . . . . . . . . . . . . . . . . . 64
3.7.4
Menggunakan NAND Gates. . . . . . . . . . . . . . . . . . . . . . . . . 64
3.7.5
Menggunakan Gerbang NOR. . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.8
Ringkasan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4
Logika Kombinasional .............................. ..... 71
4.1
Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2
Analisis Logika Combinasional. . . . . . . . . . . . . . . . . . . . . . 72
4.3
Desain Logika Kombinasi. . . . . . . . . . . . . . . . . . . . . . . 72
4.4
Dekoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.1
Menerapkan Fungsi Menggunakan Dekoder. . . . . . . . 76
4.5
Encoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.6
Multiplexer (MUX). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.6.1
Merancang Multiplexer Besar Menggunakan Lebih Kecil
Multiplexer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.6.2
Menerapkan Fungsi Menggunakan Multiplexer. . . . . . . . 83
4.7
Half Adder, Full Adder, Binary Adder, dan Subtractor. . . . . . 84
4.7.1
4-Bit Binary Adder. . . . . . . . . . . . . . . . . . . . . . . . . 87
4.7.2
Pengurang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
xii
Isi

Halaman 11
4.8
ALU (Unit Logika Aritmatika). . . . . . . . . . . . . . . . . . . . . . . . 88
4.9
Layar Tujuh Segmen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.10 Ringkasan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5
Logika Berurutan Sinkron ...................... ..... 97
5.1
Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.2
SR Latch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.3
D Flip-Flop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.4
JK Flip-Flop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.5
T Flip-Flop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.6
Daftar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.7
Frequency Divider Menggunakan JK Flip-Flop. . . . . . . . . . . . . . . . . 102
5.8
Analisis Sequential Logic. . . . . . . . . . . . . . . . . . . . . . . . . 104
5.9
State Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.10 Tabel Eksitasi Flip-Flop. . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.11 Penghitung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.12 Ringkasan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6
Pengantar Arsitektur Komputer. . . . . . . . . . . . . . . . . . . . 115
6.1
Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.2
Komponen Komputer Mikro. . . . . . . . . . . . . . . . . . . . . . 115
6.2.1
Central Processing Unit (CPU). . . . . . . . . . . . . . . . . 116
6.2.2
Bus CPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.2.3
CPU 32-Bit vs. 64-Bit. . . . . . . . . . . . . . . . . . . . 118
6.3
Teknologi CPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.4
Arsitektur CPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.5
Intel Microprocessor Family. . . . . . . . . . . . . . . . . . . . . . . . . 120
6.6
Prosesor Multicore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.7
Eksekusi Instruksi CPU. . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.8
Pengontrol Disk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.9
Bus Komputer Mikro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.9.1
Bus ISA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.9.2
Bus Arsitektur Microchannel. . . . . . . . . . . . . . . . . 127
6.9.3
EISA Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.9.4
Bus VESA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.9.5
PCI Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.9.6
Universal Serial BUS (USB). . . . . . . . . . . . . . . . . . . 128
6.9.7
Arsitektur USB. . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.9.8
Bus PCI Express. . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.9.9
Arsitektur PCI Express. . . . . . . . . . . . . . . . . . . . . 131
6.9.10 Arsitektur Protokol PCI Express. . . . . . . . . . . . . . 132
6.10 FireWire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.10.1 HDMI (Antarmuka Multimedia Definisi Tinggi). . . . . . 133
6.11 Ringkasan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Isi
xiii

Halaman 12
7
Penyimpanan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.1
Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.2
Memori Semikonduktor. . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.3
Hard Disk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.4
Solid-State Drive (SSD). . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.5
Hirarki Memori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.5.1
Memori Virtual. . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
7.5.2
Organisasi Memori Komputer. . . . . . . . . . . . 155
8
Bahasa Majelis dan Instruksi ARM Bagian I. . . . . . . . . . . . 161
8.1
Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.2
Arsitektur Set Instruksi (ISA). . . . . . . . . . . . . . . . . . . . . 162
8.2.1
Klasifikasi Instruksi Berdasarkan
Jumlah Operan. . . . . . . . . . . . . . . . . . . . . . . . 162
8.3
Arsitektur Prosesor ARM. . . . . . . . . . . . . . . . . . . . . . . . . 163
8.4
Registrasi ARM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8.5
Instruksi ARM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.5.1
Instruksi Pemrosesan Data. . . . . . . . . . . . . . . . . . . 167
8.5.2
Bandingkan dan Uji Instruksi. . . . . . . . . . . . . . . . . 169
8.5.3
Daftarkan Instruksi Swap (MOV dan MVN). . . . . . 170
8.5.4
Instruksi Shift dan Rotate. . . . . . . . . . . . . . . . . . . 171
8.5.5
Petunjuk dan Syarat Bersyarat ARM
Instruksi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
8.6
Format Instruksi Pemrosesan Data ARM. . . . . . . . . . . . . . . 174
8.7
Operasi dan Instruksi Stack. . . . . . . . . . . . . . . . . . . . . . 177
8.8
Cabang (B) dan Cabang dengan Instruksi Tautan (BL).  . . . . . . . . 178
8.8.1
Format Instruksi B dan BL. . . . . . . . . . . . . . . . . . 179
8.9
Multiply (MUL) dan Multiply-Accumulate
(MLA) Instruksi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
8.9.1
Format Instruksi Multiply. . . . . . . . . . . . . . . . . . . 180
8.10 Ringkasan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.11 Masalah dan Pertanyaan. . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
9
Instruksi ARM Bagian II. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
9.1
Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
9.2
Petunjuk Transfer Data ARM. . . . . . . . . . . . . . . . . . . . . . 185
9.2.1
Instruksi Pseudo ARM. . . . . . . . . . . . . . . . . . . . . 186
9.2.2
Petunjuk Penyimpanan (STR). . . . . . . . . . . . . . . . . . . . . . 187
9.3
Mode Pengalamatan ARM. . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
9.3.1
Mengatasi Segera. . . . . . . . . . . . . . . . . . . . . . . 188
9.3.2
Pra-diindeks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
9.3.3
Pra-diindeks dengan Write Back. . . . . . . . . . . . . . . . . . 189
9.3.4
Mengatasi Post-indeks. . . . . . . . . . . . . . . . . . . . . . . 190
9.4
Tukar Memori dan Registrasi (SWAP). . . . . . . . . . . . . . . . . . . 191
xiv
Isi

Halaman 13
9.5
Instruksi Lapangan Bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
9.5.1
BFC (Bit Field Clear Instruction). . . . . . . . . . . . . . . 191
9.5.2
BFI (Instruksi Penyisipan Bit). . . . . . . . . . . . . . . . . . 192
9.6
Representasi Data dan Memori. . . . . . . . . . . . . . . . . . . . . 192
9.7
Ringkasan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
10 Pemrograman Bahasa Majelis ARM Menggunakan Keil
Alat Pengembangan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
10.1 Pendahuluan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
10.2 Alat Pengembangan Keil untuk Majelis ARM. . . . . . . . . . . . . . 198
10.2.1 Merakit Program. . . . . . . . . . . . . . . . . . . . . . . . 201
10.2.2 Menjalankan Debugger / Simulator. . . . . . . . . . . . . . . . 204
10.2.3 Template Program. . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.3 Aturan Pemrograman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.4 Representasi Data dan Memori. . . . . . . . . . . . . . . . . . . . . . 209
10.5 Arahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
10.5.1 Petunjuk Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.6 Memori dalam μVision v5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
10.7 Ringkasan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Lampiran: Eksperimen Laboratorium Desain Digital
Menggunakan LOGISIM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Referensi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Indeks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Isi
xv

Halaman 14
Bab 1
Sistem Sinyal dan Angka
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Menjelaskan komponen dasar komputer.
• Bedakan antara sinyal analog dan digital.
• Pelajari karakteristik sinyal.
• Ubah angka desimal menjadi biner dan sebaliknya.
• Pelajari penambahan dan pengurangan angka biner.
• Mewakili angka mengambang dalam biner.
• Konversi dari biner ke heksadesimal dan sebaliknya.
• Bedakan antara transmisi serial dan paralel.
1.1 Pendahuluan
Nilai-nilai numerik telah menjadi bagian integral dari kehidupan kita sehari-hari. Nilai numerik
dapat diwakili oleh analog atau digital; contohnya termasuk jam tangan analog, digital
jam tangan, atau termometer. Berikut ini adalah keuntungan dari representasi digital
nilai numerik dibandingkan dengan representasi analog:
1. Representasi digital lebih akurat.
2. Informasi digital lebih mudah disimpan
3. Sistem digital lebih mudah dirancang.
4. Kebisingan memiliki efek yang lebih kecil.
5. Sistem digital dapat dengan mudah dibuat dalam sirkuit terintegrasi.
Sinyal digital adalah sinyal diskrit (langkah demi langkah), dan sinyal analog adalah a
sinyal terus menerus. Sistem digital banyak digunakan dan aplikasinya dapat dilihat
di komputer, kalkulator, dan ponsel. Dalam sistem digital, informasi adalah
ditransfer antar komponen sistem digital dalam bentuk sinyal digital.
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_1
1
Halaman 15
Komputer terdiri dari dua komponen: perangkat keras dan perangkat lunak. Perangkat keras
mengacu pada komponen fisik komputer seperti keyboard, CPU, dan
Penyimpanan. Perangkat lunak mengacu pada program yang dijalankan oleh CPU termasuk sistem operasi dan
program aplikasi. Komputer dapat datang dalam beberapa bentuk berbeda seperti a
desktop, laptop, tablet, server, dan iPhone. Terlepas dari bentuknya, semua komputer
terdiri dari struktur dasar yang sama. Gambar 1.1 menunjukkan komponen dasar dari a
komputer.
Perangkat Input Perangkat input digunakan untuk memasukkan informasi ke dalam memori.
Contoh perangkat input termasuk keyboard, mouse, layar touch pad, cahaya
pena, pembaca barcode, dan pemindai. Perangkat input mengubah informasi menjadi bit,
dan bit disimpan dalam memori.
Perangkat Keluaran Memori komputer mentransfer informasi ke perangkat keluaran di
bentuk bit. Perangkat output mengubah bit menjadi karakter, gambar, dan suara
yang bisa diartikan oleh manusia.
Memori Memori digunakan untuk menyimpan informasi dan program. Memori masuk
bentuk elektronik solid-state seperti RAM, ROM, flash drive, atau hard disk.
Central Processing Unit (CPU) CPU digunakan untuk melakukan perhitungan
pada informasi.
1.2 Sinyal Analog
Sinyal analog adalah sinyal yang amplitudonya merupakan fungsi waktu dan perubahan
secara bertahap seiring waktu berubah. Sinyal analog dapat diklasifikasikan sebagai non periodik dan
sinyal periodik.
Sinyal Non Periodik Dalam sinyal non periodik, tidak ada pola berulang dalam
sinyal seperti yang ditunjukkan pada Gambar. 1.2 .
Sinyal Berkala Sinyal yang mengulangi pola dalam periode waktu yang dapat diukur adalah
disebut sinyal periodik, dan penyelesaian pola penuh disebut siklus. Itu
sinyal periodik yang paling sederhana adalah gelombang sinus, yang ditunjukkan pada Gambar. 1.3. Dalam waktu
domain, amplitudo gelombang sinus a (t) dapat direpresentasikan secara matematis sebagai (t) ¼
A Sin (ω t þ θ) di mana A adalah amplitudo maksimum, ω adalah frekuensi sudut, dan
θ adalah sudut fase.
Gbr. 1.1 Komponen dasar komputer
2
1 Sinyal dan Sistem Angka

Halaman 16
Sinyal periodik juga dapat direpresentasikan dalam domain frekuensi di mana
sumbu horizontal adalah frekuensi dan sumbu vertikal adalah amplitudo sinyal.
Gambar 1.4 menunjukkan representasi domain frekuensi dari sinyal gelombang sinus.
Sinyal listrik, biasanya mewakili suara, suhu, atau suara musik,
terbuat dari berbagai bentuk gelombang. Sinyal-sinyal ini memiliki satu frekuensi dasar dan
beberapa frekuensi yang disebut harmonik.
1.2.1 Karakteristik Sinyal Analog
Karakteristik sinyal analog periodik adalah frekuensi, amplitudo, dan fasa.
Frekuensi Frekuensi (F) adalah jumlah siklus dalam 1 detik, F ¼ 1
T
, diwakili dalam Hz
(Hertz). Jika setiap siklus sinyal analog diulangi setiap 1 detik, frekuensi
sinyal adalah 1 Hz. Jika setiap siklus sinyal analog diulang 1000 kali setiap detik
(sekali setiap milidetik), frekuensinya adalah
Waktu
Voltase
0
Gambar. 1.2 Representasi
sinyal analog non periodik
T
Volt
Waktu
Gbr. 1.3 Domain waktu
representasi sinus
gelombang
Amplitudo
ω
ω
SEBUAH
Gambar. 1.4 Frekuensi
representasi sinus
gelombang
1.2 Sinyal Analog
3

Halaman 17

1
T
¼
1
10
À3 ¼ 1000 Hz ¼ 1 kHz
Tabel 1.1 menunjukkan nilai yang berbeda untuk frekuensi dan periode yang sesuai.
Amplitudo Amplitudo sinyal analog adalah fungsi waktu seperti yang ditunjukkan pada
Gambar 1.5 dan dapat direpresentasikan dalam volt (satuan voltase). Dengan kata lain, the
amplitudo adalah nilai tegangannya pada waktu tertentu. Pada saat t 1 , amplitudo
sinyalnya adalah V 1 .
Fase Dua sinyal dengan frekuensi yang sama dapat berbeda dalam fase. Ini artinya
salah satu sinyal dimulai pada waktu yang berbeda dari yang lain. Perbedaan ini bisa jadi
direpresentasikan dalam derajat (0
ke 360
) atau oleh radian. Sudut fase 0
menunjukkan
bahwa gelombang sinus dimulai pada waktu 0, dan sudut fase 90
menunjukkan sinyal
mulai dari 90
seperti yang ditunjukkan pada Gambar. 1.6 .
Contoh 1.1 Temukan persamaan untuk sinyal gelombang sinus dengan frekuensi 10 Hz,
amplitudo maksimum 20 volt, dan sudut fase 0
:
Tabel 1.1 Satuan frekuensi dan periode yang khas
Satuan frekuensi
Nilai numerik
Satuan periode
Nilai numerik
Hertz (Hz)
1 Hz
Kedua
1s
Kilohertz (kHz)
10 3 Hz
Milidetik (milidetik)
10
À3
s
Megahertz (MHz)
10 6 Hz
Microsecond (μs)
10
À6
s
Gigahertz (GHz)
10 9 Hz
Nanosecond (ns)
10
À9
s
Terahertz (THz)
10 12 Hz
Picosecond (ps)
10
À12
s
T/2
3T / 4
T
t
-SEBUAH
di)
t1 = T / 4
V1 = + A
Gbr. 1.5 Sinyal gelombang sinus selama satu siklus
4
1 Sinyal dan Sistem Angka

Halaman 18
ω ¼ 2πf ¼ 2 Â 3.1416 Â 10 ¼ 62.83
rad
detik
tðÞ¼ 20sin 62.83t
ð
Þ
1.3 Sinyal Digital
Komputer modern berkomunikasi dengan menggunakan sinyal digital. Sinyal digital adalah
diwakili oleh dua tegangan: satu tegangan mewakili angka 0 dalam biner, dan
tegangan lainnya mewakili angka 1 dalam biner. Contoh dari sinyal digital
ditunjukkan pada Gambar. 1.7 , di mana 0 volt mewakili 0 dalam biner dan þ5 volt mewakili
1. 0 atau 1 disebut bit dan 8 bit disebut byte.
1.4 Sistem Angka
Angka dapat direpresentasikan dalam basis yang berbeda. Basis sepuluh disebut desimal. Di
contoh, di bawah ini pertimbangkan 356 dalam desimal:
Gambar. 1.6 Tiga gelombang sinus dengan fase yang berbeda
+5
1
00
11
1
0
1
0
waktu
Gbr. 1.7 Sinyal digital
1.4 Sistem Angka
5

Halaman 19
356 ¼ 6 þ 50 þ 300 ¼ 6 ∗ 10 0 þ 5 ∗ 10 1 þ 3 ∗ 10 2
Secara umum, angka dapat direpresentasikan dalam bentuk:
a 5 a 4 a 3 a 2 a 1 a 0 .a À1 a À2 a À3
ð
Þ r ,
di mana r adalah basis dari angka dan i harus kurang dari r.
(10011) 2 adalah angka yang valid tetapi (211.01) 2 tidak.
Persamaan 1.1 dapat digunakan untuk mengonversi angka dalam basis tertentu menjadi desimal:
ða 5 a 4 a 3 a 2 a 1 a 0
| fflfflfflfflfflfflfflfflffl {zfflfflfflfflfflfflfflfflfflffl}
Bilangan bulat
.a À1 a À2 a À3
| fflfflfflfflfflffl {zfflfflfflfflfflffl}
Pecahan
Þ r ¼ a 0 Â r 0 þ a 1 Â r 1 þ a 2 Â r 2 þ a 3 Â r 3 þ ...
Tha A1 Â r A1 þ sebuah A2 Â r A2 þ AA A2 Â r A3 ...
ð1.1Þ
Contoh 1.2 Konversi (27.35) 8 ke basis 10.
27.35
ð
Þ 8 ¼ 7 ∗ 8 0 þ 2 ∗ 8 1 þ 3 ∗ 8 À1 þ 5 ∗ 8 À2 ¼ 7 þ 16 þ .375 þ .078125
¼ 23.45
ð
Þ 10
Contoh 1.3 Konversi 1101111 ke desimal.
1101111
ð
Þ 2 ¼ 1 ∗ 2 0 þ 1 ∗ 2 1 þ 1 ∗ 2 2 þ 1 ∗ 2 3 þ 0 ∗ 2 4 þ 1 ∗ 2 5 þ 1 ∗ 2 6
¼ 1 þ 2 þ 4 þ 8 þ 32 þ 64 ¼ 111
ð
Þ 10
1.4.1 Mengubah dari Biner ke Desimal
Persamaan 1.2 menunjukkan bentuk umum dari angka biner:
a 5 a 4 a 3 a 2 a 1 a 0 .a À1 a À2 a À3
ð
Þ 2
ð1.2Þ
di mana i adalah digit biner atau bit (0 atau 1).
Persamaan 1.2 dapat dikonversi ke angka desimal dengan menggunakan Persamaan. 1.1:
ða 5 a 4 a 3 a 2 a 1 a 0
| fflfflfflfflfflfflfflfflffl {zfflfflfflfflfflfflfflfflfflffl}
Bilangan bulat
.a À1 a À2 a À3
| fflfflfflfflfflffl {zfflfflfflfflfflffl}
Pecahan
Þ 2 ¼ a 0 Â 2 0 þ a 1 Â 2 1 þ a 2 Â 2 2 þ a 3 Â 2 3 þ ...
þa À1 Â 2 À1 þ a À2 Â 2 À2 þ ...
ð1.3Þ
6
1 Sinyal dan Sistem Angka

Halaman 20
a 5 a 4 a 3 a 2 a 1 a 0 .a À1 a À2 a À3
ð
Þ 2 ¼ a 0 þ 2 a 1 þ 4 a 2 þ 8 a 3 þ 16 a 4 þ 32 a 5 þ 64 a 6
þ
1
2
∗ a À1 þ
1
4
∗ a À2 þ
1
8
∗ a À3
Contoh 1.4 Konversikan (110111.101) 2 ke desimal.
110111.101
ð
Þ 2 ¼ 1 ∗ 2 0 þ 1 ∗ 2 1 þ 1 ∗ 2 2 þ 0 ∗ 2 3 þ 1 ∗ 2 4 þ 1 ∗ 2 ∗ 5 þ 1 ∗ 2 À1
þ 0 ∗ 2 À2 þ 1 ∗ 2 À3
¼ 55.625
Atau
2 5
2 4
2 3
2 2
2 1
2 0
2
À1
2
À2
2
À3
1
1
0
1
1
1
.
1
0
1
32 þ 16 þ 0 þ 4 þ 2 þ 1 þ 1/2 þ 0 þ 1/8
Jika nilai biner dibuat dari n bitnya, maka nilai desimalnya adalah 2 n À 1.
Contoh 1.5
11 ¼ 2 2 À 1 ¼ 3
111 ¼ 2 3 À 1 ¼ 7
1111 ¼ 2 4 À 1 ¼ 15
11111 ¼ 2 5 À 1 ¼ 31
111111 ¼ 2 6 À 1 ¼ 63
Biner, atau basis dari 2 angka, diwakili oleh 0s dan 1s. Digit biner, 0 atau 1, adalah
disebut bit, 8 bit disebut byte, 16 bit disebut setengah kata, dan 4 byte disebut
kata.
1.4.2 Mengubah dari Integer Desimal ke Biner
Untuk mengonversi angka integer dari desimal ke biner, bagilah angka desimal
oleh basis baru (2 untuk biner), yang akan menghasilkan hasil bagi dan sisanya
(0 atau 1). Sisa pertama akan menjadi bit paling tidak signifikan dari biner
jumlah. Terus bagi hasil bagi dengan basis baru, sambil mengambil sisanya-
ders karena setiap bit berikutnya dalam angka biner, sampai hasil bagi menjadi 0.
1.4 Sistem Angka
7

Halaman 21
Contoh 1.6 Konversi 34 dalam desimal menjadi biner.
Hasil bagi
Sisa
34/2 ¼
17
0 ¼ a 0
17 / 2¼
8
1 ¼ a 1
8/2
4
0 ¼ a 2
4/2
2
0 ¼ a3
2/2
1
0 ¼ a 4
1/2
0
1 ¼ a 5
Oleh karena itu 34 ¼ (100010) 2
Jika bilangan biner dibuat dari semua itu, maka dengan menggunakan persamaan 2 n À 1, itu bisa
dikonversi menjadi desimal.
Contohnya
Nomor biner
2 n À 1
Angka desimal
11
2 2 –1
3
111
2 3 –1
7
1111
2 4 –1
15
11111
2 5 –1
32
Angka biner diwakili oleh 5 a 4 a 3 a 2 a 1 a 0 di mana 0 adalah 2 0 , a 1 adalah 2 1 , dan
a 5 adalah 2 5 . Tabel 1.2 menunjukkan 2 n .
1.4.3 Mengubah Fraksi Desimal ke Biner
Representasi angka desimal dari (0.XY) 10 dapat dikonversi menjadi basis 2 dan
diwakili oleh (0.a À1 , a À2 , a À3 , dll.) 2 .
Nomor fraksi dikalikan 2, hasil dari bagian integer adalah À1 dan
bagian pecahan dikalikan dengan 2, dan kemudian pisahkan bagian bilangan bulat dari fraksi, bilangan bulat
bagian mewakili À2 ; proses ini berlanjut hingga fraksi menjadi 0.
(0.35) 10 ¼ (
) 2
0.35 * 2
¼
0,7
¼
0
þ
0,7
a À1 ¼ 0
0.7 * 2
¼
1.4
¼
1
þ
0,4
a À2 ¼ 1
0.4 * 2
¼
0.8
¼
0
þ
0.8
a À3 ¼ 0
0.8 * 2
¼
1.6
¼
1
þ
0,6
a À4 ¼ 1
0,6 * 2
¼
1.2
¼
1
þ
0,2
a À5 ¼ 1
Terkadang, fraksi tidak mencapai 0 dan jumlah bit digunakan untuk
fraksi tergantung pada akurasi yang didefinisikan pengguna, oleh karena itu 0,35 the
0,010011 dalam biner
8
1 Sinyal dan Sistem Angka

Halaman 22
Sistem bilangan heksadesimal memiliki basis 16 dan karenanya memiliki 16 simbol
(0 hingga 9, dan A hingga F). Tabel 1.3 menunjukkan angka desimal, binernya
nilai dari 0 hingga 15, dan ekuivalen heksadesimalnya.
1.4.4 Mengubah dari Hex ke Binary
Tabel 1.3 juga dapat digunakan untuk mengkonversi angka dari heksadesimal ke biner dan
dari biner ke heksadesimal.
Contoh 1.7 Konversi angka biner 001010011010 menjadi heksadesimal. Setiap
4 bit dikelompokkan dari kanan ke kiri. Dengan menggunakan Tabel 2.2, masing-masing kelompok 4-bit dapat
dikonversi ke setara heksadesimalnya.
Tabel 1.2 2 n dengan nilai n yang berbeda
2 n
Nilai desimal
2 n
Nilai desimal
2 n
Nilai desimal
2 0
1
2 8
256
2 16
65.536 ¼ 64 K
2 1
2
2 9
512
2 17
131.072 ¼ 128 K
2 2
4
2 10
1024 ¼ 1 K
2 18
262.144 ¼ 256 K
2 3
8
2 11
2048 ¼ 2 K
2 19
524.288 ¼ 512 K
2 4
16
2 12
4096 ¼ 4 K
2 20
1.048.576 ¼ 1 M
2 5
32
2 13
8192 ¼ 8 K
2 21
2 M.
2 6
64
2 14
16.384 ¼ 16 K
2 22
4 M.
2 7
128
2 15
32.768 ¼ 32 K
2 23
8 M.
Tabel 1.3 Angka desimal dengan persamaan biner dan heksadesimal
Desimal
Biner (basis 2)
Heksadesimal (basis 16) atau HEX
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
SEBUAH
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
1.4 Sistem Angka
9

Halaman 23
0010
1001
1010
2
9
SEBUAH
Contoh 1.8 Konversi (3D5) 16 ke biner. Dengan menggunakan Tabel 2.2, hasil dalam biner adalah:
3
D
5
0011
1101
0101
Nomor biner yang dihasilkan adalah 001111010101.
Contoh 1.9 Konversi 6DB dari heksadesimal menjadi biner. Dengan menggunakan Tabel 1.3 , tabel
hasil dalam biner adalah:
6
D
B
0110
1101
1011
Angka biner yang dihasilkan adalah 011011011011.
Contoh 1.10 Konversikan (110111.101) 2 ke desimal.
110111.101
ð
Þ 2 ¼ 1 ∗ 2 0 þ 1 ∗ 2 1 þ 1 ∗ 2 2 þ 0 ∗ 2 3 þ 1 ∗ 2 4 þ 1 ∗ 2 ∗ 5 þ 1 ∗ 2 À1
þ 0 ∗ 2 À2 þ 1 ∗ 2 À3
¼ 55.625
1.4.5 Penambahan Biner
1 þ 0 ¼ 1, 1 þ 1 ¼ 10,
Bawa bit
11 1
10101
þ 01101
100010
Dalam bilangan biner, bit pertama dari kiri bilangan disebut paling banyak
bit signifikan (MSb), dan bit pertama dari kanan bilangan disebut paling tidak
bit signifikan (LSb).
MSb! 10010
LSb
10
1 Sinyal dan Sistem Angka

Halaman 24
1.5 Komplemen dan Komplemen Dua
Komplemen 1 adalah 0 dan komplemen 0 adalah 1.
Komplemen dari angka biner dihitung dengan melengkapi setiap bit
nomor.
Contoh 1.11 Komplemen 101101 adalah 010010.
Dua ' s komplemen dari suatu jumlah ¼ Komplemen dari sebuah nomor þ 1
Contoh 1.12 Komplemen keduanya dari 101011 adalah
010100 komplemen
ð
Þ þ 1 ¼ 010101
Contoh 1.13 Temukan komplemen keduanya dari 10.000:
01111 komplemen
ð
Þ þ 1 ¼ 10.000
1.5.1 Pengurangan Nomor yang Tidak Ditandatangani Menggunakan Dua
Melengkapi
Prosedur berikut digunakan untuk mengurangi B ¼ b 5 b 4 b 3 b 2 b 1 b 0 dari A ¼ a 5 a 4 a 3
a 2 a 1 a 0 :
1. Tambahkan komplemen dua dari B ke A.
2. Periksa untuk melihat apakah hasilnya menghasilkan carry:
(a) Jika hasilnya menghasilkan carry, buang carry dan hasilnya positif.
(B) Jika hasilnya tidak menghasilkan carry, ambil komplemen dua hasil,
dan hasilnya negatif.
Contoh 1.14 Kurangi B ¼ 101010 dari A ¼ 110101.
01010 1 ¼ Penyelesaian B
Dua komplemen dari B ¼ 010101 þ 1 ¼ 010110
Tambahkan komplemen dua dari B ke A.
1.5 Komplemen dan Komplemen Dua
11
Halaman 25
110101
+ 010110
----------------
10 01011
Bawa, buang carry dan hasilnya and001011.
Contoh 1.15 Kurangi B ¼ 110101 dari A ¼ 101010.
Dua komplemen B adalah 001010 þ 1 ¼ 001011.
Tambahkan komplemen dua dari B ke A.
001011
þ 101010
110101
Seperti yang dapat kita lihat, menambahkan dua hasil angka 6-bit dalam jawaban 6-bit. Tidak ada
membawa; kami hanya mengambil pelengkap hasil keduanya.
Dua
'
s Komplemen 110101 ¼ 001010 þ 1 ¼ À001011
1.6 Unsigned, Signed Magnitude, dan Signed Two's
Nomor Biner Komplemen
Nomor biner dapat direpresentasikan dalam bentuk angka yang tidak ditandatangani atau nomor yang ditandatangani atau
menandatangani komplemen dua, tanda þ diwakili oleh 0 dan - tanda diwakili oleh 1.
Nomor yang Tidak Ditandatangani Dalam nomor yang tidak ditandatangani, semua bit dari suatu nomor digunakan untuk itu
mewakili nomor, tetapi dalam nomor yang ditandatangani, bit paling signifikan dari nomor tersebut
mewakili tanda. A 1 pada posisi angka paling signifikan mewakili a
tanda negatif, dan 0 pada posisi angka paling signifikan mewakili a
tanda positif.
Nilai 1101 yang tidak ditandatangani adalah 13.
Nomor Magnitudo Ditandatangani Dalam nomor yang ditandatangani, representasi bit yang paling signifikan
mengirim tanda, di mana 1101 ¼ À5 atau 0101 ¼ þ5
Dalam nomor yang tidak ditandatangani, 1101 ¼ 13.
Komplemen Dua yang Ditandatangani Pelengkap yang ditandatangani dua berlaku untuk negatif
jumlah. Jika tanda nomornya adalah satu, maka angka tersebut diwakili oleh tanda tangan
pelengkap dua.
12
1 Sinyal dan Sistem Angka

Halaman 26
Contoh 1.16 Mewakili (À5) 10 dengan 4 bit pada komplemen dua yang ditandatangani.
(À5) 10 dalam nomor yang ditandatangani adalah 1101, maka komplemen keduanya dari 101 adalah 011, dan
dengan menambahkan hasil bit tanda pada 1011 yang mewakili À5 pada komplemen yang ditandatangani dua.
Contoh 1.17 Mewakili (À23) 10 dengan komplemen dua ditandatangani 8-bit.
(23) 10 ¼ (1 0 1 1 1) 2 di base-2 yang tidak ditandatangani
(1 00 10111) 2 - Diperpanjang hingga ditandatangani 8 bit (perhatikan bahwa MSb adalah 1)
komplemen keduanya dari (0010111) 2 adalah (1101001) 2
(11101001) 2 adalah (À23) 10 dalam komplemen yang ditandatangani dua.
1.7 Penambahan Biner Menggunakan Komplemen Dua yang Ditandatangani
Contoh-contoh berikut menunjukkan hasil penambahan dua nomor yang ditandatangani:
(a) (þ3) þ (þ4)
Mewakili kedua angka dalam biner, dan bit paling signifikan mewakili
menandatangani, dan hasilnya positif.
0011 þ 0100 ¼ 0111 ¼ þ7
(B) (þ 3) 10 þ (À4) 10
(À4) 10 pada komplemen dua menandatangani adalah 1100, maka
0011 þ 1100 ¼ 1111; Hasilnya tidak menghasilkan carry dari kemudian mengambil dua
ment hasil yang À1
À3
ð Þþ þ5
ð Þ ¼ 1101 þ 0101 ¼ 1 0010 buang carry dan hasilnya þ 2
ð
Þ
(c) (À7) 10 þ (À5) 10
Dengan mewakili kedua angka dalam 4-bit menandatangani komplemen dua,
À7
ð Þ 10 ¼ 1001
À5
ð Þ 10 ¼ 1011
1001 þ 1011 ¼ 10100
"
Tanda bit
Penambahan dua angka negatif menghasilkan positif, dan itu disebut overflow:
1.7 Penambahan Biner Menggunakan Komplemen Dua yang Ditandatangani
13

Halaman 27
þ7
ð Þþ þ6
ð Þ ¼ 0111
ð
Þ þ 0110
ð
Þ ¼ 1101
Penambahan dua angka positif menghasilkan negatif, dan ini disebut overflow:
Contoh 1.18 A. Tambahan berikut menggunakan komplemen dua ditandatangani 8-bit
(À38) 10 þ (44) 10
À38
ð
Þ 10 masuk dua
'
s pelengkap ¼ 11011010
þ44
ð
Þ 10
þ 00101100
100000110 membuang carry dan hasilnya adalah
00000110 ¼ 6
B. Tambahkan À38 ke À44 menggunakan komplemen dua ditandatangani 8 bit
À38 ¼ 11011010
À44 ¼ 11010100
------------
10101110 ¼ À82
C. Tambahkan þ100 ke þ44
100 ¼ 01100100
44 ¼ 00101100
-------------
10010000 tanda hasil negatif maka hasil menghasilkan luapan
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Penambahan Overflow Kasus-kasus berikut mengakibatkan overflow untuk menambahkan dua yang ditandatangani
angka jika:
(A) Kedua angka negatif, dan hasil penambahan menjadi positif:
AA
ð
Þþ ÀB
ð
Þ¼þC
(B) Kedua angka adalah positif, dan hasil penambahan menjadi negatif:
þA
ð
Þþ þB
ð
Þ¼ÀC
1.8 Representasi Floating Point
Central processing unit (CPU) biasanya terdiri dari unit logika aritmatika
(ALU), unit titik mengambang (FLU / FPU), register, unit kontrol, dan cache
Penyimpanan.
Unit logika aritmatika melakukan operasi aritmatika integer seperti
operasi tion, pengurangan, dan logika seperti AND, OR, XOR, dll. Integer adalah
bilangan bulat tanpa komponen pecahan. 1, 2, dan 3 adalah bilangan bulat, sedangkan 0,1,
2.2, dan 3.0001 semuanya memiliki komponen pecahan yang disebut angka floating point.
14
1 Sinyal dan Sistem Angka
Halaman 28
Unit floating point melakukan operasi floating point. Jumlah titik mengambang
Saya memiliki tanda, mantissa, dan eksponen. Institut Kelistrikan dan
Insinyur Elektronik (IEEE) mengembangkan standar untuk mewakili titik apung
angka, disebut sebagai IEEE 754. Standar ini mendefinisikan format untuk keduanya
(32-bit) dan angka floating point presisi ganda (64-bit). Apung desimal
poin diwakili oleh M Â 10 E , di mana M adalah mantissa yang ditandatangani dan E adalah
eksponen.
1.8.1 Representasi Presisi Tunggal
Angka titik apung dalam presisi tunggal diwakili oleh 32 bit seperti yang ditunjukkan pada
Gambar 1.8
Eksponen yang bias Eksponen yang bias adalah eksponen þ 127 (01111111) 2 ;
oleh karena itu, eksponen diwakili oleh angka positif.
Mantissa Normalisasi Mantera diwakili oleh 1. M, di mana M disebut
mantra dinormalisasi; jika M ¼ 00101, maka mantissa adalah 1,00101.
Contoh 1.19 Temukan mantissa yang dinormalisasi dan eksponen bias (111.0000111) 2 .
111.0000111 dapat ditulis dalam bentuk 1.110000111 * 2 10
Dimana
M ¼ 110000111
Eksponen bias ¼ 10 þ 01111111 ¼ 10000001
Representasi 111.0000111 dalam presisi tunggal adalah
1 bit
8 bit
23 bit
0
10000001
11000011100000000000000
Contoh 1.20 Konversikan floating point presisi tunggal berikut ke desimal
jumlah.
101111101 11001000000000000000000
S ¼ 1 berarti mantissa negatif.
Eksponen bias ¼ 01111101.
Eksponen ¼ 01111101–01111111 ¼ À00000010.
Mantera yang dinormalisasi ¼ 11001000000000000000000.
Mantissa ¼1. 11001000000000000000000.
Angka desimal ¼ 1.11001000000000000000000 * 2
À10 ¼ 0,01110011.
Presisi ganda. Untuk meningkatkan akurasi angka floating point,
IEEE 745 menawarkan presisi ganda diwakili oleh 64 bit seperti yang ditunjukkan pada Gambar. 1.9.
Eksponen bias ¼ eksponen þ 1023
1.8 Representasi Floating Point
15

Halaman 29
Contoh 1.21 Mewakili 5.75 pada ketepatan tunggal IEEE 745.
À15. 625 ¼ (1111.101) 2
À1111.101 ¼ À 1.11101101 * 2 11
S¼1
Mantera yang dinormalisasi ¼0.11101101.
Eksponen bias ¼ 11 þ 01111111 ¼ 10000010.
IEEE745 adalah presisi tunggal
1 10000010 111011010000000000000000.
1.9 Binary-Coded Decimal (BCD)
Dalam kehidupan sehari-hari, kami menggunakan angka desimal di mana angka terbesarnya adalah 9, yaitu
diwakili oleh 1001 dalam biner. Tabel 1.4 menunjukkan angka desimal dan angka mereka
kode BCD yang sesuai.
Gbr. 1.8 Presisi tunggal titik mengambang IEEE 745 (S ¼ menunjukkan tanda mantissa. S ¼ 0 berarti
mantissa positif, dan S ¼ 1 berarti mantissa negatif)
Gambar. 1.9. IEEE 745 format floating point presisi ganda
Tabel 1.4 Binary-coded desimal (BCD)
Desimal
BCD
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
16
1 Sinyal dan Sistem Angka

Halaman 30
Contoh 1.21 Mengubah 345 ke BCD
Menggunakan tabel: 0011 0100 0101
Contoh 1.22 Konversi (10100010010) BCD ke desimal, pisahkan masing-masing dari 4 bit
kanan ke kiri, dan gantikan angka desimal yang sesuai dengan BCD hasilnya
dalam 512.
1.10 Skema Pengkodean
1.10.1 Kode ASCII
Setiap karakter dalam kode ASCII memiliki representasi menggunakan 8 bit, yang paling banyak
bit signifikan digunakan untuk bit paritas. Tabel 1.5 menunjukkan kode ASCII dan kode
ekuivalen heksadesimal.
Karakter dari heksadesimal 00 ke 1F dan 7F adalah karakter kontrol
karakter yang tidak dapat dicetak, seperti NUL, SOH, STX, ETX, ESC, dan DLE (tautan data
melarikan diri).
Contoh 1.23 Konversikan kata "jaringan" menjadi biner dan tampilkan hasilnya di
heksadesimal. Dengan menggunakan Tabel 1.4 , setiap karakter diwakili oleh 7 bit dan hasil
di:
1001110
1100101
1110100
1110111
1101111
1110010
1101011
N
e
t
w
Hai
r
k
Atau dalam heksadesimal
4E
65
74
77
6F
72
6B
1.10.2 Kode atau Unicode Universal
Unicode adalah standar pengkodean karakter 16-bit baru untuk mewakili karakter
dan angka dalam sebagian besar bahasa seperti Yunani, Arab, Cina, dan Jepang. Itu
Kode ASCII menggunakan 8 bit untuk mewakili setiap karakter dalam bahasa Latin, dan itu dapat mewakili
256 karakter. Kode ASCII tidak mendukung simbol matematika dan
simbol ilmiah. Karena Unicode menggunakan 16 bit, ia dapat mewakili 65.536 karakter
atau simbol. Karakter dalam Unicode diwakili oleh biner 16-bit, setara dengan
4 digit dalam heksadesimal. Misalnya, karakter B di Unicode adalah U0042H
(U mewakili Unicode). Kode ASCII diwakili antara (00) 16 dan
(FF) 16 . Untuk mengubah kode ASCII ke Unicode, dua nol ditambahkan ke kiri
sisi kode ASCII; oleh karena itu, Unicode untuk mewakili karakter ASCII adalah
1.10 Skema Pengkodean
17

Halaman 31
Meja
1.5
Amerika
Standar
Kode
untuk
Informasi
Pertukaran
(ASCII)
Biner
Hex
Arang
Biner
Hex
Arang
Biner
Hex
Arang
Biner
Hex
Arang
0000000
00
NUL
0100000
20
SP
1000000
40
@
1100000
60
,
0000001
01
SOH
0100001
21
!
1000001
41
SEBUAH
1100001
61
Sebuah
0000010
02
STX
0100010
22

1000010
42
B
1100010
62
b
0000011
03
ETX
0100011
23
#
1000011
43
C
1100011
63
c
0000100
04
EOT
0100100
24
$
1000100
44
D
1100100
64
d
0000101
05
ENQ
0100101
25
%
1000101
45
E
1100101
65
e
0000110
06
ACK
0100110
26
&
1000110
46
F
1100110
66
f
0000111
07
BEL
0100111
27
'
1000111
47
G
1100111
67
g
0001000
08
BS
0101000
28
(
1001000
8
H
1101000
68
h
0001001
09
HT
0101001
29
)
1001001
49
saya
1101001
69
saya
0001010
0A
LF
0101010
2A
*
1001010
4A
J
1101010
6A
j
0001011
0B
VT
0101011
2B
þ
1001011
4B
K
1101011
6B
k
0001100
0C
FF
0101100
2C
,
1001100
4C
L.
1101100
6C
l
0001101
0D
CR
0101101
2D
-
1001101
4D
M.
1101101
6D
m
0001110
0E
BEGITU
0101110
2E
.
1001110
4E
N
1101110
6E
n
0001111
0F
SI
0101111
2F
/
1001111
4F
HAI
1101111
6F
Hai
0010000
10
DLE
0110000
30
0
1010000
50
P
1110000
70
P
0010001
11
DC1
0110001
31
1
1010001
51
Q
1110001
71
q
0010010
12
DC2
0110010
32
2
1010010
52
R
1110010
72
r
0010011
13
DC3
0110011
33
3
1010011
53
S
1110011
73
s
0010100
14
DC4
0110100
34
4
1010100
54
T
1110100
74
t
0010101
15
NACK
0110101
35
5
1010101
55
U
1110101
75
kamu
0010110
16
SYN
0110110
36
6
1010110
56
V
1110110
76
v
0010111
17
ETB
0110111
37
7
1010111
57
W
1110111
77
w
0011000
18
BISA
0111000
38
8
1011000
58
X
1111000
78
x
0011001
19
EM
0111001
39
9
1011001
59
Y
1111001
79
y
18
1 Sinyal dan Sistem Angka

Halaman 32
0011010
1A
SUB
0111010
3A
:
1011010
5A
Z
1111010
7A
z
0011011
1B
ESC
0111011
3B
;
1011011
5B
[
1111011
7B
[
0011100
1C
FS
0111100
3C
<
1011100
5C
\
1111100
7C
\
0011101
1D
GS
0111101
3D
¼
1011101
5D
]
1111101
7D
}
0011110
1E
RS
0111110
3E
<
1011110
5E
^
1111110
7E
0011111
1F
KAMI
0111111
3F
?
1011111
5F
-
1111111
7F
DEL
1.10 Skema Pengkodean
19

Halaman 33
antara (0000) 16 dan (00FF) 16 . Tabel 1.6 menunjukkan beberapa Unicode untuk bahasa Latin dan
Karakter yunani. Unicode dibagi menjadi blok-blok kode, dengan masing-masing blok ditetapkan
ke bahasa tertentu. Tabel 1.7 menunjukkan setiap blok Unicode untuk beberapa yang berbeda
bahasa (Gbr. 1.10 ).
Tabel 1.6 Nilai Unicode
untuk beberapa bahasa Latin dan Yunani
karakter
Latin
Yunani
Karakter
Kode (hex)
Karakter
Kode (hex)
SEBUAH
U0041
φ
U03C6
B
U0042
α
U03B1
C
U0043
γ
U03B3
0
U0030
μ
U03 SM
8
U0038
β
U03B2
Tabel 1.7. Blok Unicode
alokasi
Mulai kode (hex)
Kode akhir (hex)
Nama blokir
U0000
U007F
Latin Dasar
U0080
U00FF
Suplemen latin
U0370
U03FF
Yunani
U0530
U058F
Orang Armenia
U0590
U05FF
Ibrani
U0600
U06FF
Arab
U01A0
U10FF
Orang Georgia
Gambar 1.10 Contoh Unicode
20
1 Sinyal dan Sistem Angka

Halaman 34
Contoh Unicode: buka Microsoft Word dan klik sisipkan maka simbol akan muncul
hasil Gambar. 1.10 . Klik pada sembarang karakter untuk menampilkan nilai Unicode dari
karakter, misalnya, Unicode untuk β adalah 03B2 dalam hex
1,11 Paritas Bit
Bit paritas digunakan untuk deteksi kesalahan informasi, karena sedikit atau bit mungkin
berubah selama transmisi informasi dari sumber ke tujuan, paritas
bit adalah bit tambahan yang ditambahkan ke informasi. Ini menunjukkan apakah jumlah
satu atau nol adalah genap atau ganjil dalam transmisi asli dan dapat mengingatkan
tujuan kehilangan informasi.
Bahkan Paritas. Bit ekstra (0 atau 1) dipilih sedemikian rupa sehingga jumlahnya banyak
menjadi genap.
Contoh 1.24 Pesan kami adalah (00111) 2 . Dengan menambahkan satu ke sisi kiri
pesan, kami membuat (100111) 2 . Bit paritas genap kami telah membuat jumlah total
yang genap (dari 3 hingga 4 orang).
Pesan kami adalah (10111) 2 . Dengan menambahkan nol ke sisi kiri pesan, kami
buat (010111) 2 . Bit paritas genap kami telah meninggalkan jumlah total genap (4 bit).
Paritas Ganjil. Bit ekstra (0 atau 1) dipilih sedemikian rupa sehingga jumlahnya banyak
menjadi aneh.
Pesan kami adalah (10111) 2 . Dengan menambahkan satu ke sisi kiri pesan, kami
buat (110111) 2 . Bit paritas ganjil kami telah membuat jumlah totalnya genap (dari
4 sampai 5).
1.12 Jam
0 dan 1 terus menerus diulang disebut jam seperti yang ditunjukkan pada Gambar. 1.11 , ketika jam
perubahan dari 0 ke 1 disebut naik ujung jam dan ketika jam berubah dari 1 ke
0 disebut fall edge of clock.
Setiap siklus jam terdiri dari 1 dan 0 atau 0 dan 1; diukur dengan waktu
(kedua). Jika satu siklus diwakili oleh T dan unit T adalah detik, maka
Gbr. 1.11 Sinyal jam
1.12 Jam
21

Halaman 35
F (frekuensi) ¼ 1 / T di mana satuan frekuensi adalah hertz (Hz) dan satuan T adalah
detik.
Contoh 1.25 Berapakah frekuensi jam jika satu siklus jam sama dengan
0,5 ms?
F ¼ 1 / T ¼ 1 / 0,5 Â 10
À3 ¼ 2000 Hz
1000 Hz
Kilohertz (KHz)
10 6 Hz
Megahertz (MHz)
10 9 Hz
Gigahertz (GHz)
1.13 Mode Transmisi
Ketika data ditransfer dari satu komputer ke komputer lain oleh sinyal digital, itu
komputer penerima harus membedakan ukuran setiap sinyal untuk menentukan kapan a
sinyal berakhir dan ketika yang berikutnya dimulai. Misalnya, ketika komputer mengirim
sinyal seperti yang ditunjukkan pada Gambar. 1.12, komputer penerima harus mengenali berapa banyak
satu dan nol ada di sinyal. Metode sinkronisasi antara sumber dan
perangkat tujuan umumnya dikelompokkan ke dalam dua kategori: asinkron dan
sinkronis.
1.13.1 Transmisi Asinkron
Transmisi asinkron terjadi karakter demi karakter dan digunakan untuk serial
komunikasi, seperti oleh modem atau printer seri. Dalam transmisi asinkron
sion, setiap karakter data memiliki bit awal yang mengidentifikasi awal karakter dan
1 atau 2 bit yang mengidentifikasi akhir karakter, seperti yang ditunjukkan pada Gambar. 1.13. Data
karakter adalah 7 bit. Mengikuti bit data mungkin bit paritas, yang digunakan oleh
Mulailah
Sedikit
Bit Bit Bit
D0 D1 D2 D3 D4 D5 D6 Stop Parity
Satu karakter
0
LSB
MSB
Gbr. 1.13 Transmisi asinkron
Gbr. 1.12 Sinyal digital
22
1 Sinyal dan Sistem Angka

Halaman 36
penerima untuk deteksi kesalahan. Setelah bit paritas dikirim, sinyal harus kembali ke tinggi
untuk setidaknya 1 bit waktu untuk mengidentifikasi akhir karakter. Bit mulai baru berfungsi sebagai
indikator ke perangkat penerima bahwa karakter data akan datang dan memungkinkan
sisi penerima untuk menyinkronkan jamnya. Karena jam penerima dan pemancar adalah
tidak disinkronkan terus menerus, pemancar menggunakan bit mulai untuk mengatur ulang penerima
jam sehingga cocok dengan jam pemancar. Juga, penerima sudah
diprogram untuk jumlah bit dalam setiap karakter yang dikirim oleh pemancar.
1.13.2 Transmisi Sinkron
Beberapa aplikasi memerlukan transfer blok data yang besar, seperti file dari disk
atau mentransfer informasi dari komputer ke printer. Transmisi sinkron
adalah metode yang efisien untuk mentransfer blok data yang besar dengan menggunakan interval waktu untuk
sinkronisasi.
Salah satu metode sinkronisasi pemancar dan penerima adalah melalui penggunaan
koneksi eksternal yang membawa pulsa jam. Pulsa jam mewakili data
laju sinyal, seperti yang ditunjukkan pada Gambar 1.14 , dan digunakan untuk menentukan kecepatan data
transmisi. Penerima Gambar 1.14 membaca data sebagai 01101, masing-masing lebar bit
diwakili oleh satu jam.
Gambar 1.14 menunjukkan koneksi tambahan diperlukan untuk membawa pulsa jam
transmisi sinkron. Dalam jaringan, satu media digunakan untuk transmisi
baik informasi dan pulsa jam. Kedua sinyal dikodekan dengan cara yang
sinyal sinkronisasi tertanam ke dalam data. Ini bisa dilakukan dengan Manches-
enkode ter atau enkode Diferensial Manchester.
1.14 Metode Transmisi
Ada dua jenis metode transmisi yang digunakan untuk mengirim sinyal digital
satu stasiun ke stasiun lainnya melalui saluran komunikasi: transmisi serial dan
transmisi paralel.
Pemancar
Penerima
Jam
01101
data
Gbr. 1.14 Transmisi sinkron
1.14 Metode Transmisi
23

Halaman 37
1.14.1 Transmisi Seri
Dalam transmisi serial, informasi ditransmisikan 1 bit pada satu waktu melalui satu kabel
ditunjukkan pada Gambar. 1.15.
1.14.2 Transmisi Paralel
Dalam transmisi paralel, banyak bit dikirim secara bersamaan, 1 byte atau lebih pada a
waktu, bukannya sedikit demi sedikit seperti dalam transmisi serial. Gambar 1.16 menunjukkan bagaimana komputer
A mengirimkan 8 bit informasi ke komputer B secara bersamaan dengan menggunakan delapan
kabel yang berbeda. Transmisi paralel lebih cepat daripada transmisi serial
kecepatan jam.
1.15 Ringkasan
Pertukaran informasi antara dua sistem kelistrikan adalah dalam bentuk digital atau
sinyal analog.
Komputer modern bekerja dengan sinyal digital:
• Sinyal digital diwakili oleh dua tegangan.
10
0
1
Garis tanah
110
1
Gbr. 1.15 Transmisi serial
1
0
1
0
1
1
0
1
Jam
Komputer
SEBUAH
Komputer
B
Gbr. 1.16 Transmisi paralel
24
1 Sinyal dan Sistem Angka

Halaman 38
• Biner adalah representasi dari angka dalam basis 2.
• Frekuensi sinyal adalah kebalikan dari waktu siklusnya.
• Satu digit dalam biner disebut bit, 8 bit disebut 1 byte, dan 4 byte disebut
satu kata.
• Informasi direpresentasikan di dalam komputer dengan biner atau basis 2.
• Angka negatif di dalam komputer diwakili oleh komplemen keduanya.
• Bit paling signifikan dalam angka yang ditandatangani diwakili oleh tanda
jumlah.
• Positif diwakili oleh nol dan negatif diwakili oleh satu.
• Komplemen satu dari angka biner adalah komplemen dari setiap bit
jumlah.
• Komplemen dua dari angka biner adalah komplemen dari angka
tambah satu.
• Binary-coded desimal (BCD) digunakan untuk mewakili angka desimal dari
0 hingga 9.
• Sistem bilangan heksadesimal digunakan dalam sistem digital dan komputer sebagai
cara yang efisien untuk mewakili jumlah biner.
• Bit paritas digunakan untuk deteksi kesalahan satu kesalahan bit.
• Standar IEEE 757 digunakan untuk mewakili angka floating point.
• Informasi diwakili oleh kode ASCII di dalam komputer; Kode ASCII adalah
terbuat dari 7 bit.
• Informasi antar komponen komputer dapat ditransmisikan secara serial atau
bentuk paralel.
• Dalam transmisi serial, informasi dikirimkan 1 bit setiap kali
• Dalam transmisi paralel, informasi ditransmisikan dalam banyak bit sekaligus.
• Bab selanjutnya akan membahas logika Boolean, teorema aljabar Boolean, dan logika
gerbang. Logic gate adalah komponen dasar dari integrated circuit (IC)
Masalah dan Pertanyaan
1. Sebutkan tiga perangkat input komputer.
2. Sebutkan tiga perangkat output komputer.
3. Tampilkan sinyal analog.
4. Tampilkan sinyal digital.
5. Berapa banyak bit:
(a) Byte
(B) Setengah kata
(c) Kata
6. Ubah angka desimal berikut menjadi biner:
(a) 35
(b) 85
(c) 23.25
7. Ubah angka biner berikut menjadi desimal:
1.15 Ringkasan
25

Halaman 39
(a) 1111101
(B) 1010111,1011
(c) 11111111
(d) 10000000
8. Ubah angka biner berikut menjadi heksadesimal:
(a) 1110011010
(B) 1000100111
(c) 101111.101
9. Temukan frekuensi sinyal digital dengan siklus jam berikut:
(a) 1 s
(B) 0,1 s
(c) 0,02 dtk
(d) 0,02 ms
10. Frekuensi sinyal digital berikut ini diberikan, temukan siklus jam dari
sinyal digital:
(a) 10 Hz
(B) 200 Hz
(c) 10.000 Hz
(d) 4 MHz
11. Konversi masing-masing angka berikut ke basis 10:
(a) (34A) 16
(b) (FAC) 16
12. Ubah angka desimal berikut ke basis 16:
(a) (234) 10
(B) (75) 10
13. Ubah angka-angka berikut menjadi biner:
(a) (3FDA) 16
(b) (FDA.5F) 16
14. Lakukan penambahan berikut:
1101010
1100101
1011011 þ1010111
15. Temukan dua pelengkap nomor berikut:
(a) 11111111
(B) 10110000
(c) 10000000
26
1 Sinyal dan Sistem Angka

Halaman 40
(d) 00000000
16. Kata "LOGIC" diberikan.
(a) Wakili dalam ASCII.
(B) Tambahkan bit paritas bahkan untuk setiap karakter dan mewakili setiap karakter dalam hex.
17. Mewakili (465) 10 dalam BCD.
18. Mewakili (100101100111) BCD dalam desimal.
19. Mewakili (110010000100) BCD dalam desimal.
20. Konversikan nomor pelengkap dua berikut ke desimal:
(a) 1011
(B) 11111001
(c) 10011111
21. Kurangi nomor tanpa tanda tangan berikut menggunakan komplemen dua:
(a) 11110011–11000011
(B) 10001101-11111000
22. Lakukan penambahan nomor yang ditandatangani berikut ini; anggap setiap angka
diwakili oleh 6 bit dan nyatakan jika hasil dari setiap penambahan menghasilkan overflow:
(a) (þ12) þ (þ7)
(b) (þ25) þ (þ30)
(c) (À5) þ (þ 9)
(d) (À6) þ (À7)
(e) (À36) þ (À12)
23. Apa nilai biner 16-bit terbesar yang dapat diwakili oleh:
(a) Nomor yang tidak ditandatangani
(B) Besarnya ditandatangani
(c) Penanda tangan dua yang ditandatangani
24. Sajikan angka desimal berikut dalam ketepatan tunggal IEEE 745:
(a) 34.375
(b) À0.045
25. Ubah presisi tunggal IEEE 745 berikut ke angka desimal:
(a) 1 10000100 01110000000000000000000
(B) 0 01111100 1110000000000000000000000
26. Sebutkan jenis-jenis mode transmisi.
27. Konversi masing-masing angka magnitudo bertanda tangan berikut ke desimal:
(a) 11000011
(B) 10001111
28. Mewakili masing-masing nomor berikut dalam komplemen dua-menandatangani yang ditandatangani 8-bit:
1.15 Ringkasan
27
Halaman 41
(a) À15
(b) À24
(c) À8
29. Lakukan penambahan berikut:
0F4A
þ420B
28
1 Sinyal dan Sistem Angka

Halaman 42
Bab 2
Boolean Logics and Logic Gates
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Memahami operasi dasar teorema Boolean.
• Menjelaskan pengoperasian berbagai gerbang logika seperti AND, OR, NOT, XOR, dan
Gerbang NAND.
• Tampilkan tabel kebenaran gerbang logika yang berbeda.
• Bedakan antara berbagai jenis sirkuit terpadu (IC).
• Terapkan teorema Boolean untuk menyederhanakan fungsi Boolean.
• Gambar sirkuit logika untuk fungsi Boolean.
• Tampilkan tabel kebenaran fungsi Boolean.
• Temukan fungsi output dari rangkaian logika digital.
• Bedakan antara SSI, MSI, LSI, dan VLSI.
2.1 Pendahuluan
Gerbang logika terbuat dari transistor, dan mereka adalah komponen dasar yang terintegrasi
sirkuit (IC). Gerbang logika digunakan untuk merancang sistem digital; ada tiga dasar
operasi logika dan mereka disebut DAN, ATAU, dan TIDAK. Karakteristik a
sistem digital dapat diwakili oleh fungsi atau tabel kebenaran. Teorema Boolean adalah
digunakan untuk menyederhanakan fungsi Boolean untuk menggunakan gerbang logika yang lebih sedikit. Terintegrasi
sirkuit diklasifikasikan berdasarkan jumlah gerbang yang dikandungnya, dan itu adalah
disebut SSI, MSI, LSI, dan VLSI.
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_2
29

Halaman 43
2.2 Logika Boolean dan Gerbang Logika
DAN Logika Logika AND dilambangkan dengan periode “.,” Tetapi sebagian besar waktu, the
periode ditinggalkan. XY atau XY dilafalkan sebagai X AND Y.
X AND Y = Z, Z = 1 jika dan hanya jika X = 1 dan Y = 1 sebaliknya Z = 0.
Operasi logika AND dapat diwakili oleh sirkuit listrik pada Gambar 2.1 .
Anggap X dan Y adalah sakelar dan Z adalah cahayanya; X = 0, Y = 0 berarti
sakelar terbuka dan lampu mati berarti nol dan lampu menyala berarti satu.
Lalu kita bisa membuat meja; Tabel 2.1 menunjukkan operasi Gambar 2.1.
Gambar 2.2 menunjukkan gerbang AND 2-input dan Tabel 2.2 menunjukkan tabel kebenaran untuk
DAN gerbang. Output dari gerbang AND adalah satu ketika kedua input adalah satu.
ATAU Logika. Operasi ATAU diwakili oleh tanda plus, "+" atau V, di mana "+"
adalah simbol paling populer yang digunakan. X + Y diucapkan X ATAU Y.
X + Y = Z, Z = 1 jika X = 1 OR Y = 1 atau keduanya X = 1 dan Y = 1.
Operasi ATAU dapat diwakili oleh sirkuit listrik pada Gambar 2.3 . Di
Gambar 2.3, lampu mati ketika kedua sakelar mati, dan lampu menyala saat setidaknya
satu saklar ditutup. Gambar 2.4 menunjukkan gerbang OR 2-input dan Tabel 2.3 menunjukkan kebenaran
tabel untuk gerbang OR 2-input.
X
Y
Cahaya
Gambar. 2.1 Representasi
operasi DAN
Tabel 2.1 Pengoperasian
Gambar 2.1
X
Y
Cahaya
Mati
Mati
Mati
Mati
Di
Mati
Di
Mati
Mati
Di
Di
Di
X
Y
Z = XY
Gbr. 2.2 Gerbang AND 2-input
30
2 Logika Boolean dan Gerbang Logika

Halaman 44
NOT Logic Logika NOT melakukan pelengkap, yang berarti ia mengubah 1 menjadi
0 dan 0 hingga 1. Disebut juga inverter, NOT X diwakili oleh X
0
atau ¯X. Gambar 2.5
menunjukkan gerbang NOT dan Tabel 2.4 menunjukkan tabel kebenaran untuk gerbang NOT (inverter).
Gerbang NAND. Gambar 2.6 menunjukkan gerbang NAND 2-input. Gerbang NAND dapat dibuat
dari gerbang AND dan gerbang NOT seperti yang ditunjukkan pada Gambar. 2.7. Tabel 2.5 menunjukkan kebenaran
tabel gerbang NAND 2-input.
Gerbang NOR. Gambar 2.8 menunjukkan gerbang logika NOR. Gerbang NOR terbuat dari OR dan
BUKAN gerbang. Tabel 2.6 menunjukkan tabel kebenaran gerbang NOR 2-input.
Tabel 2.3. Tabel kebenaran dari
2-input ATAU gerbang
X
Y
Z
0
0
0
0
1
1
1
0
1
1
1
1
X
X
Gambar 2.5 BUKAN gerbang
Tabel 2.4. Tabel kebenaran untuk
BUKAN gerbang
X
X
0
0
1
1
0
Tabel 2.2 DAN gerbang kebenaran
meja
X
Y
Z
0
0
0
0
1
0
1
0
0
1
1
1
X
Cahaya
Baterai
Y
Gambar 2.3 Rangkaian listrik
representasi OR
operasi
X
Y
Z=X+Y
Gbr. 2.4 Gerbang OR 2-input
2.2 Logika Boolean dan Gerbang Logika
31

Halaman 45
Exclusive OR Gate Gambar 2.9 menunjukkan gerbang OR eksklusif. Eksklusif ATAU
dipersembahkan oleh

dan diberi label XOR. Tabel 2.7 menunjukkan tabel kebenaran untuk XOR
gerbang.
X
0
Y ¼ X 0 Y þ XY 0
X
Y
XY
Gbr. 2.6 2-input NAND
gerbang
X
XY
XY
Y
Gbr. 2.7 DAN-BUKAN gerbang
digunakan bersama untuk bertindak sebagai
NAND
Tabel 2.5. Tabel kebenaran dari
2-input NAND
X
Y
XY
0
0
1
0
1
1
1
0
1
1
1
0
X
X+Y
Y
Gambar 2.8 Gerbang NOR
Tabel 2.6. Tabel kebenaran untuk
2-input gerbang NOR
X
Y
XþY
0
0
1
0
1
0
1
0
0
1
1
0
X
XY '+ X'Y
Y
Gambar. 2.9 2-input XOR
Tabel 2.7. Tabel kebenaran untuk
Gerbang XOR
X
Y
X

Y
0
0
0
0
1
1
1
0
1
1
1
0
32
2 Logika Boolean dan Gerbang Logika

Halaman 46
Gerbang NOR Eksklusif Gambar 2.10 menunjukkan gerbang GAR NOR eksklusif. NOR eksklusif
diwakili oleh ʘ dan diberi label XNOR. Tabel 2.8 menunjukkan tabel kebenaran untuk
gerbang NOR eksklusif.
Perangkat Tri-State
Gambar 2.11 menunjukkan diagram perangkat tri-state; garis kontrol mengontrol
pengoperasian perangkat tri-state.
Pada Gambar 2.11 , jika garis kontrol diatur ke nol, maka tidak ada koneksi di antara keduanya
input dan output (output adalah impedansi tinggi). Jika garis kontrol diatur ke satu, maka
nilai output sama dengan nilai input.
Gerbang Logika Input Ganda
Gambar 2.12 menunjukkan 3-input DAN gerbang dengan tabel kebenarannya, Gambar 2.13 menunjukkan 3-input
ATAU gerbang dengan tabel kebenarannya, Gambar 2.14 menunjukkan 3-input gerbang NOR dengan tabel kebenarannya,
dan Gbr. 2.15 menunjukkan gerbang NAD 3-input dengan tabel terkait.
2.3 Klasifikasi Sirkuit Terpadu (IC)
Transistor adalah komponen dasar sirkuit terpadu (IC). Gambar 2.16 menunjukkan a
Transistor dengan IC. Transistor bertindak seperti sakelar di sirkuit terintegrasi. Sebuah
sirkuit terintegrasi dibuat dari seratus hingga jutaan transistor.
Sirkuit terpadu diklasifikasikan berdasarkan jumlah gerbang di dalam IC
seperti SSI, MSI, LSI, dan VLSI.
Fig. 2.10 Exclusive NOR
gerbang
Tabel 2.8. Tabel kebenaran untuk
gerbang NOR eksklusif
X
Y
XʘY
0
0
1
0
1
0
1
0
0
1
1
1
Gbr. 2.11 Perangkat Tri-state
2.3 Klasifikasi Sirkuit Terpadu (IC)
33

Halaman 47
Integrasi Skala Kecil (SSI) SSI mengacu pada IC yang memiliki kurang dari 10 gerbang.
Gambar 2.17 menunjukkan bagian dalam IC 74HC08 (7408), dan Gambar 2.18 menunjukkan gambar
dari 74HC08 IC.
X
F
Y
Z
XYZF
0000
0010
0100
0110
1000
1010
1100
1111
Gbr. 2.12 3-input DAN
gerbang dan tabel kebenarannya
X
F
Y
Z
XYZF
0000
0011
0101
0111
1001
1011
1101
1111
Gbr. 2.13 3-input OR gate
dan tabel kebenarannya
X
F
Y
Z
XYZF
0001
0011
0101
0111
1001
1011
1101
1110
Gbr. 2.14 3-input NAND
gerbang dan tabel kebenarannya
X
Y
Z
F
XYZF
0001
0010
0100
0110
1000
1010
1100
1110
Gbr. 2.15 3-input NOR
gerbang dan tabel kebenarannya
34
2 Logika Boolean dan Gerbang Logika

Halaman 48
Nomor Pin Sirkuit Terpadu Gambar 2.18 menunjukkan IC TTL 7408; sebuah IC
chip harus dibaca dengan takik di sisi kiri. Konvensi pelabelan
dimulai dengan pin kiri bawah di bawah takik dan berjalan berlawanan arah jarum jam
arah.
Pin kiri bawah adalah pin # 1.
Pin kanan bawah adalah pin # 7.
Pin kanan atas adalah pin # 8.
Pin kiri atas adalah pin # 14.
Seperti yang ditunjukkan pada Gambar. 2.18 , nomor IC adalah 74LS08 di mana LS mewakili
bahan IC dibuat dengan. Juga di IC, ada huruf M yang mewakili
Motorola yang merupakan produsen IC, Intel menggunakan karakter "i," dan
Texas Instruments menggunakan peta Texas.
Gbr. 2.18 pin 74LS08
Gambar 2.16 Transistor (kiri),
IC (kanan)
14
1
2
3
4
5
6
7
13
12
11
10
9
8
Gbr. 2.17 TTL 7408
2 input DAN gerbang
2.3 Klasifikasi Sirkuit Terpadu (IC)
35

Halaman 49
Integrasi Skala Menengah (MSI). Mengacu pada IC yang berisi antara 10 dan
100 gerbang seperti decoder dan multiplexer.
Integrasi Skala Besar (LSI). Mengacu pada IC yang berisi antara 100 dan
1000 gerbang.
Integrasi Skala Sangat Besar (VLSI). Mengacu pada IC yang berisi lebih dari
1000 gerbang.
2.4 Teorema Aljabar Boolean
Teorema Boolean digunakan untuk menyederhanakan fungsi Boolean agar dapat menggunakan lebih sedikit
gerbang. Variabel apa pun seperti X dalam biner dapat memiliki nilai satu atau nol.
Teorema # 1
X þ X ¼ X
Bukti: Pilih X sebagai 0 lalu 0 þ 0 ¼ 0; pilih X ¼ 1 lalu 1 þ 1 ¼ 1 hasil:
X þ X ¼ X.
Teorema # 2
X þ 1 ¼ 1
Bukti: Pilih X ¼ 0 lalu 0 þ 1 ¼ 1; pilih X ¼ 1 lalu 1 þ 1 ¼ 1; keduanya
menghasilkan 1 kemudian X þ 1 ¼ 1.
Teorema # 3
X þ 0 ¼ X
Bukti: Pilih x ¼ 0 lalu 0 þ 0 ¼ 0; pilih X ¼ 1 lalu 1 þ 0 ¼ 1; hasilnya adalah
apa pun nilai X.
Teorema # 4
X þ X 0 ¼ 1
Bukti: Pilih X ¼ 0 lalu 0 þ 1 ¼ 1; pilih X ¼ 1 lalu 1 þ 0 ¼ 1; dalam kedua kasus
hasilnya 1.
Teorema # 5
X . X ¼ X
Bukti: Pilih X ¼ 1 lalu 1.1 ¼ 1; pilih X ¼ 0 lalu 0,0 ¼ 0; oleh karena itu XX ¼ X.
36
2 Logika Boolean dan Gerbang Logika

Halaman 50
Teorema # 6
X .1 ¼ X
Bukti: Pilih X ¼ 1 lalu 1.1 ¼ 1; pilih X ¼ 0 lalu 0,1 ¼ 0; karena itu X.1 ¼ X.
Teorema # 7
X . X 0 ¼ 0
Bukti: Pilih X ¼ 0 lalu 0,1 ¼ 0; pilih X ¼ 1 lalu 1.0 ¼ 0; kedua nilai X
menghasilkan 0.
Teorema # 8
X 0
ð Þ 0 ¼ X
(0
0
)
0 ¼ (1) 0 ¼ 0, (1 0
)
0 ¼ (0) 0 ¼ 1 Berapapun nilainya X miliki.
Teorema distributif
XY þ Z
ð
Þ ¼ XY þ XZ
Untuk membuktikan teorema di atas, tabel kebenaran dari kedua sisi teorema
dihasilkan seperti yang ditunjukkan pada Tabel 2.9 dan menunjukkan kedua sisi menghasilkan kebenaran yang sama
meja.
Tabel 2.9. Tabel kebenaran untuk X (Y þ Z) ¼ XY þ XZ
2.4 Teorema Aljabar Boolean
37

Halaman 51
Teorema I Morgan De
XþY
ð
Þ 0 ¼ X 0
Y
0
Dalam teorema ini OR antara X dan Y dinegasikan dan mengubah OR
operasi ke operasi DAN.
Bukti: Dengan membuat tabel kebenaran untuk kedua sisi teorema, itu menunjukkan bahwa keduanya
sisi teorema menghasilkan tabel kebenaran yang sama (Tabel 2.10 ).
Teorema II De Morgan
XY
ð
Þ 0 ¼ X 0 þ Y 0
Dalam teorema ini XY dilengkapi dan mengubahnya dari operasi DAN
untuk operasi OR dengan masing-masing komponen dilengkapi.
Contoh: (WXYZ) 0 ¼ W 0 þ X 0 þ Y 0 þ Z 0
Jika tabel kebenaran dari kedua belah pihak dihasilkan, maka itu akan menunjukkan bahwa kedua belah pihak
memiliki hasil tabel kebenaran yang sama.
Hukum Komutatif
XþY¼YþX
XY ¼ YX
Hukum Asosiatif
X YZ
ð Þ ¼ XY
ð
ÞZ
XþYþZ
ð
Þ¼XþY
ð
ÞþZ
Lebih banyak teorema
Berikut ini adalah teorema yang berguna:
Tabel 2.10 Tabel kebenaran menunjukkan Hukum De Morgan
38
2 Logika Boolean dan Gerbang Logika

Halaman 52
(a) X þ X
0
Y¼XþY
(b) X
0 þ XY ¼ X 0 þ Y
(c) X þ X
0
Y
0 ¼ X þ Y 0
(d) X
0 þ XY 0 ¼ X 0 þ Y 0
Contoh: Sederhanakan Fungsi Berikut
(a) F (X, Y, Z) ¼ XY
0
Z þ XY
0
Z
0 þ XY
F (X, Y, Z) ¼ XY
0
(Z þ Z
0
) þ YZ di mana Z þ Z
0 ¼ 1 lalu
F (X, Y, Z) ¼ XY
0 þ XY ¼ X (Y þ Y 0
)¼X
(B) F (X, Y, Z) ¼ (X
0 þ Y) (X þ Y 0
)¼X
0
XþX
0
Y
0 þ XY þ YY 0
dimana X
0
X dan
YY
0
adalah nol maka F (X, Y, Z) ¼ X
0
Y
0 þ XY

2.5 Fungsi Boolean


Fungsi Boolean diwakili oleh ekspresi aljabar yang terbuat dari biner
variabel seperti X, Y, dan Z dan operasi logika antara variabel seperti AND,
ATAU, dan BUKAN.
F (X, Y, Z) ¼ X þ YZ adalah fungsi Boolean.
Gambar 2.19 menunjukkan rangkaian logika untuk fungsi F di mana X, Y, dan Z adalah
input dan F adalah output; Tabel 2.11 menunjukkan tabel kebenaran dari fungsi F.
Tabel kebenaran menunjukkan karakteristik fungsi F; fungsi F ¼ 1 saat
input ke sirkuit adalah 100 atau 101 atau 110 atau 111.
X
Y
Z
F (X, Y, Z) = X + YZ
Gbr. 2.19 Sirkuit logika untuk
sebuah fungsi F (X, Y,
Z) ¼ X þ YZ
Tabel 2.11 Tabel kebenaran
untuk fungsi F (X, Y,
Z) ¼ X þ YZ
X
Y
Z
YZ
X þ YZ
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
2.5 Fungsi Boolean
39

Halaman 53
Pelengkap suatu Fungsi
Untuk melengkapi fungsi, kedua sisi fungsi harus
dilengkapi.
Contoh: Lengkapi fungsi berikut:
FX, Y, Z
ð
Þ ¼ XY þ Y 0
Z
Melengkapi kedua sisi fungsi F (X, Y, Z) menghasilkan sebagai berikut:
F
0
X, Y, Z
ð
Þ ¼ XY þ Y 0
Z
ð
Þ 0
menggunakan De Morgan
'
teorema.
F
0
X, Y, Z
ð
Þ ¼ XY
ð
Þ 0
Y
0
Z
ð
Þ 0
F
0
X, Y, Z
ð
Þ ¼ X 0 þ Y 0
ð
Þ Y þ Z 0
ð
Þ
Contoh: Temukan komplemen dari fungsi berikut:
FX, Y, Z
ð
Þ ¼ X 0 þ Y 0
ð
Þ Y þ Z 0
ð
Þ
Lengkapi kedua sisi fungsi:
F
0
X, Y, Z
ð
Þ ¼ X 0 þ Y 0
ð
Þ Y þ Z 0
ð
Þ
½
Š 0
Menerapkan hasil teorema De Morgan
F
0
X, Y, Z
ð
Þ ¼ X 0 þ Y 0
ð
Þ
½
Š 0 þ Y þ Z 0
ð
Þ
½
Š 0
F
0
X, Y, Z
ð
Þ ¼ XY
ð
Þ
½
Š þ Y 0
Z
ð
Þ
½
Š
F
0
X, Y, Z
ð
Þ ¼ XY
ð
Þ þ Y 0
Z
ð
Þ
2.6 Ringkasan
• Logika Boolean terdiri dari logika AND, OR, dan NOT.
• Output dari gerbang 2-input DAN adalah satu ketika kedua input adalah satu; jika tidak
outputnya nol.
• Output dari gerbang 2-input OR adalah satu ketika setidaknya satu input adalah satu;
jika tidak, outputnya nol.
• BUKAN gate melakukan pelengkap seseorang.
• Sirkuit terpadu (IC) diklasifikasikan oleh SSI (integrasi skala kecil), MSI
(integrasi skala menengah), LSI (integrasi skala besar), dan skala sangat besar
integrasi.
• Gerbang NAND setara dengan AND-NOT.
• Gerbang NOR sama dengan GERBANG NOR.
• XOR 2-input memiliki output ketika input tidak sama; selain itu
output adalah nol.
40
2 Logika Boolean dan Gerbang Logika

Halaman 54
• 2-input eksklusif NOR (XNOR) setara dengan XOR-NOT.
• Bab 3 akan membahas minterm dan maxterms, menerapkan K-map untuk menyederhanakan a
berfungsi, dan menggunakan gerbang universal untuk menggambar sirkuit logika.
Masalah
1. Tampilkan tabel kebenaran untuk 4-input gerbang AND, OR, NOR, dan NAD.
2. Jika A ¼ 11001011 dan B ¼ 10101110, lalu berapakah nilai berikut ini
operasi:
(a) A DAN B
(B) A ATAU B
3. Jika A ¼ 11001011 dan B ¼ 10101110, berapakah nilai berikut ini
operasi (F dalam hex ¼ 1111):
(A) BUKAN
(B) A XOR B
(c) A DAN 0F
(d) A DAN F0
4. Gambar sirkuit logika untuk fungsi-fungsi berikut:
(a) F (X, Y, Z) ¼ XY
0 þ XZ 0 þ YZ
(B) F (X, Y, Z) ¼ (X þ Y
0
) (X
0 þ Z 0
) (Y þ Z)
5. Gunakan teorema Boolean untuk menyederhanakan ekspresi berikut:
(a) X þ X þ X
(B) XY þ XY
(c) YYY
(d) X þ XY
(e) XY
0 þ Y 0
(f) (X þ Y) Y
0
(g) (XY) þ (XY)
0
(h) X
0
Y
0 þ XY
6. Sederhanakan fungsi-fungsi berikut:
(a) F (X, Y, Z) ¼ XY þ X
0
Y þ XZ
(B) F (X, Y, Z) ¼ (X þ Y) (X
0 þ Y þ Z)
(c) F (X, Y, Z) ¼ XY
0
Z þ XYZ þ Y
0
Z
(d) F (X, Y, Z) ¼ XY þ X
0
YZ
(e) F (X, Y, Z) ¼ X
0
Y þ XYZ
0
(f) F (X, Y, Z) ¼ (XY) þ (X þ Y þ Z)
0
X þ YZ
(g) F (X, Y, Z) ¼ (XY)
0 þ (X þ Y þ Z) 0
7. Temukan tabel kebenaran untuk fungsi-fungsi berikut:
(a) F (X, Y, Z) ¼ XY
0 þ YZ þ XZ 0
(B) F (X, Y, Z) ¼ (X þ Y
0
) (Y þ Z) (X
0 þ Z 0
)
2.6 Ringkasan
41

Halaman 55
8. Jika A ¼ 10110110 dan B ¼ 10110011, maka temukan
(a) A NAND B
(B) A NOR B
(c) A XOR B
9. Temukan output dari gerbang berikut:
(Sebuah)
X
1
(b)
X
0
(c)
X
0
(d)
X
0
(e)
X
1
42
2 Logika Boolean dan Gerbang Logika

Halaman 56
10. Tampilkan output dari rangkaian logika berikut:
(Sebuah)
SEBUAH
SEBUAH
C
B
(b)
B
C
SEBUAH
B
(c)
B
C
SEBUAH
B
2.6 Ringkasan
43

Halaman 57
11. Temukan fungsi output dari rangkaian logika berikut:
SEBUAH
SEBUAH
B
C
B
SEBUAH
B
SEBUAH
C
B
C
B
C
B
C
12. Temukan fungsi output dari rangkaian logika berikut:
X
Y
Z
13. Gambarlah sirkuit logika dan perlihatkan tabel kebenaran untuk fungsi-fungsi berikut:
(a) F (X, Y) ¼ (XY)
0 þ X (X þ Y 0
)
(B) F (X, Y, Z) ¼ (X þ Y þ Z
0
)
0
(X
0 þ Y 0
)
(c) F (X, Y, Z) ¼ (X XOR Y) (X NOR Y
0
)
(d) F (X, Y, Z) ¼ (X
0 þ Y 0 þ Z) (X þ Y)
44
2 Logika Boolean dan Gerbang Logika
Halaman 58
14. Tampilkan tabel kebenaran untuk masing-masing fungsi berikut:
(a) F (X, Y, Z) ¼ XY
0 þ XZ 0 þ YZ
(B) F (X, Y, Z) ¼ (X þ Y) (X þ Z
0
)
(c) F (X, Y, Z) ¼ XY (Y þ Z
0
)
15. Sederhanakan fungsi-fungsi berikut:
(a) F (X, Y, Z) ¼ YZ þ (X þ Y)
0 þ (XYZ) 0
(B) F (X, Y, Z) ¼ (X þ Y þ Z)
0
(X þ Y)
16. Gambarlah sirkuit Logika untuk fungsi-fungsi berikut
(a) F (X, Y, Z) ¼ (X þ Y)
0 þ YZ
(B) F (X, Y, Z) ¼ (XYZ)
0 þ XZ þ YZ
2.6 Ringkasan
45

Halaman 59
bagian 3
Minterms, Maxterms, Karnaugh Map
(K-Map), dan Universal Gates
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Mewakili fungsi Boolean dalam bentuk jumlah minter dan produk dari
maxterm.
• Hasilkan tabel kebenaran dari fungsi yang diwakili oleh jumlah
minterm.
• Menghasilkan tabel kebenaran dari fungsi yang diwakili oleh produk
minterm.
• Mengembangkan fungsi dari tabel kebenaran.
• Gunakan K-map untuk menyederhanakan fungsi.
• Terapkan tidak peduli kondisi di peta-K.
• Gambar sirkuit logika hanya menggunakan gerbang NAND atau NOR.
3.1 Pendahuluan
Sirkuit digital dapat diwakili oleh tabel kebenaran atau fungsi Boolean. Secara digital
sirkuit dengan beberapa input digital dan beberapa output digital, output tergantung
pada nilai input saat ini. Fungsi Boolean dapat direpresentasikan dalam bentuk
jumlah minterms atau produk maxterms, yang memungkinkan perancang untuk membuat a
tabel kebenaran lebih mudah. Juga, fungsi Boolean dapat disederhanakan menggunakan Karnaugh
map (K-map) tanpa menggunakan teorema Boolean, dengan mentransfer fungsi ke
K-map dan membaca fungsi yang disederhanakan dari K-map. Sebagian besar sistem digital
dirancang dengan menggunakan gerbang universal (NAND atau NOR).
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_3
47

Halaman 60
3.2 Minterm
Minterm dikaitkan dengan masing-masing kombinasi variabel dalam suatu fungsi. Jika sebuah
fungsi memiliki n variabel, kemudian memiliki 2 n minterm. Pertimbangkan dua variabel Boolean,
X dan Y. Ada empat kemungkinan kombinasi yang dapat dihasilkan
X AND Y, dan mereka adalah XYY, XY, XYY, dan XY. Keempat kombinasi ini disebut
minterm untuk X DAN Y. Tabel 3.1 menunjukkan minterm dan sebutannya
untuk F (X, Y) ¼ (X DAN Y).
Pada Tabel 3.1 , ¯X ¯Y¼ 1, jika X ¼ 0 dan Y ¼ 0 maka ¯X ¯Y diwakili oleh m 0 (desimal
jumlah 00); XY ¼ 1 jika X ¼ 0 dan Y ¼ 1 maka XY diwakili oleh m 1 ; X ¯ Y¼ 1
jika X ¼ 1 dan Y ¼ 0 dan X ¯ Y diwakili oleh m 2 ; XY ¼ 1 jika X ¼ 1 dan Y ¼ 1 maka
XY diwakili oleh m 3 .
Penerapan Minterms. Sangat sederhana untuk menghasilkan tabel kebenaran dari minterms dan
dan sebaliknya. Pertimbangkan fungsi F (X, Y) ¼ X ¯ Y + XY dan tabel kebenarannya
(Tabel 3.2 ); fungsi ini dapat direpresentasikan sebagai F (X, Y) ¼ m 1 + m 2 atau setiap minterm
yang mewakili satu di tabel kebenaran. Ini juga dapat ditulis ulang sebagai F (X,
Y) ¼ ∑ (1,2).
Three-Variable Minterms Tiga variabel X, Y, dan Z menghasilkan delapan
minterm seperti yang ditunjukkan pada Tabel 3.3.
Contoh 3.1 Temukan tabel kebenaran untuk fungsi berikut:
FX, Y, Z
ð
Þ ¼ X 0
Y
0
ZþX
0
YZ þ XYZ
Fungsi F dapat diwakili oleh sejumlah minterm (atau di mana F ¼ 1):
FX, Y, Z
ð
Þ ¼ m 1 þ m 3 þ m 7
atau
FX, Y, Z
ð
Þ¼

1, 3, 7
ð
Þ
Tabel 3.1 Minterms dari
F (X, Y)
XY
Minterm
Penunjukan
00
¯X ¯ Y
m 0
01
¯XY
m 1
10
XY
m 2
11
XY
m 3
Tabel 3.2. Tabel kebenaran untuk
fungsi F (X, Y) ¼ X ¯ Y
+ XY dengan minterm
X
Y
F
0
0
0
m0
0
1
1
m 1
1
0
1
m 2
1
1
0
m3
48
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 61
Tabel kebenaran untuk fungsi ini berisi satu di baris 1, baris 3, dan baris 7. The
sisa baris adalah nol seperti yang ditunjukkan pada Tabel 3.4 . Fungsi untuk tabel kebenaran bisa
juga ditentukan dari jumlah minterm.
Contoh 3.2 Tabel kebenaran berikut diberikan; temukan fungsi F.
Dalam tabel berikut, output dari fungsi F adalah satu ketika inputnya adalah 001 ¼ m 1 ,
011 ¼ m 3, 101 ¼ m 5 , dan 111 ¼ m 7 ; karena itu F (X, Y, Z) ¼ m 1 + m 3 + m 5 + m 7 atau
FX, Y, Z
ð
Þ¼

1, 3, 5, 7
ð
Þ
XYZ
F
000
0
001
1
010
0
011
1
100
0
101
1
110
0
111
1
Tabel 3.3 Tiga variabel
minterm
XYZ
Minterms
Penunjukan
000
X
0
Y
0
Z
0
m 0
001
X
0
Y
0
Z
m 1
010
X
0
YZ
0
m 2
011
X
0
YZ
m 3
100
XY
0
Z
0
m 4
101
XY
0
Z
m 5
110
XYZ
0
m 6
111
XYZ
m 7
Tabel 3.4. Tabel kebenaran untuk
fungsi F (X, Y,
Z) ¼ X
0
Y
0
Z+X
0
YZ + XYZ
XYZ
F
000
0
001
1
010
0
011
1
100
0
101
0
110
0
111
1
3.2 Minterm
49

Halaman 62
Mengganti setiap penunjukan minterm dengan istilah produk yang sebenarnya (misalnya,
m 0 ¼ X 0
Y
0
Z
0
) menghasilkan fungsi berikut:
FX, Y, Z
ð
Þ ¼ X 0
Y
0
ZþX
0
YZ þ XY
0
Z þ XYZ
Contoh 3.3 Untuk tabel kebenaran berikut:
(a) Temukan fungsi F.
(B) Sederhanakan fungsi.
(c) Gambar sirkuit logika untuk fungsi yang disederhanakan.
XYZ
F
000
1
001
0
010
1
011
1
100
0
101
0
110
0
111
1
Dari tabel kebenaran, di mana F ¼ 1, kami memilih minterm m 0 , m 2 , m 3 , dan m 7 :
FX, Y, Z
ð
Þ ¼ m 0 þ m 2 þ m 3 þ m 7
Atau
FX, Y, Z
ð
Þ ¼ ¯ X ¯ Y ¯ Z þ ¯XY ¯ Z þ ¯XYZ þ XYZ
¯X¯Z
¯Z
FX, Y, Z
ð
Þ ¼ ¯X¯Z
(
¯YþY
)
þ YZ
(
¯X þ X
)
FX, Y, Z
ð
Þ ¼ ¯X ¯Z þ YZ
Rangkaian logika untuk fungsi yang disederhanakan F diberikan pada Gambar. 3.1.
X
X'
X'Z '
Z'
Y
YZ
F
Z
Gambar 3.1 Rangkaian logika untuk F (X, Y, Z) ¼ X ¯ Z + YZ
50
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 63
3.3 Maxterms
Maxterm adalah pelengkap minterm. Jika minterm m 0 adalah
(
¯X¯Y¯Z
)
, kemudian maxterm
M 0 adalah
(
¯X ¯ YZ
)
¼XþYþZ
Tabel 3.5 menunjukkan maxterms untuk tiga variabel.
Dalam tabel kebenaran, output dari satu mewakili minterm, dan output dari nol
mewakili maxterms. Pertimbangkan kebenarannya Tabel 3.6, di mana fungsi F bisa
dinyatakan sebagai produk maxterms. (Harap dicatat: produk maxterms, as
menentang jumlah minterm.)
F (X, Y, Z) ¼ M 0 M 2 M 4 M 5 M 6, atau dapat diwakili oleh
FX, Y, Z
ð
Þ ¼ π 0, 2, 4, 5, 6
ð
Þ
Mengganti setiap maxterm yang ditunjuk dengan hasil maxterm yang sesuai
di:
FX, Y, Z
ð
Þ¼XþYþZ
ð
Þ X þ Y 0 þ Z
ð
Þ X 0 þ Y þ Z
ð
Þ X 0 þ Y þ Z 0
ð
Þ
Tabel 3.5. Maxterms dari
fungsi F (X, Y, Z)
XYZ
Maxterm
Penunjukan
000
X+Y+Z
M 0
001
X+Y+Z
0
M 1
010
X+Y
0
+Z
M 2
011
X+Y
0
+Z
0
M 3
100
X
0
+Y+Z
M 4
101
X
0
+Y+Z
0
M 5
110
X
0
+Y
0
+Z
M 6
111
X
0
+Y
0
+Z
0
M 7
Tabel 3.6. Tabel Kebenaran untuk
F (X, Y, Z) ¼ M 0 M 2 M 4 M 5 M 6
XYZ
F
000
0
001
1
010
0
011
1
100
0
101
0
110
0
111
1
3.3 Maxterms
51

Halaman 64
3.4 Karnaugh Map (K-Map)
Peta Karnaugh digunakan untuk menyederhanakan fungsi Boolean tanpa menggunakan Boolean
teorema aljabar. K-map juga merupakan cara lain untuk merepresentasikan tabel kebenaran a
fungsi. K-map terbuat dari sel-sel di mana setiap sel mewakili minterm. Sel
ditandai dengan satu akan menjadi minterm yang digunakan untuk jumlah perwakilan minterm
sebuah fungsi. Sebaliknya, sel yang ditandai dengan nol akan digunakan untuk
produk dari representasi maxterms.
Dua variabel X dan Y dapat memiliki empat minterm seperti yang ditunjukkan pada Tabel 3.7 . Setiap
minterm diwakili oleh sel di peta-K, sehingga mengandung dua variabel peta-K
empat sel seperti yang ditunjukkan pada Gambar. 3.2 .
Pada Gambar. 3.2 setiap sel mewakili minterm. Sel terletak di baris 0 dan kolom
0 mewakili m 0 (minterm nol) atau X
0
Y
0
. Sel yang terletak di baris 1 dan kolom 1 adalah
diwakili oleh m 3 atau XY. Seperti yang ditunjukkan pada Gambar. 3.2 , kedua sel di baris nol mengandung X
0
jadi
baris ini diberi label X
0
baris. Kedua sel di baris 1 berisi X sehingga baris tersebut diberi label sebagai
baris X.
K-map dari suatu fungsi adalah cara lain untuk merepresentasikan tabel kebenaran dari fungsi tersebut,
seperti yang terlihat pada Gambar. 3.3.
Pertimbangkan fungsi F (X, Y) ¼ XY
0
+X
0
Y
0 ¼ m 2 + m 0 . Tabel kebenaran untuk
fungsi diberikan pada Tabel 3.8 , dan fungsi ini juga dipetakan ke peta-K seperti yang ditunjukkan
pada Gambar. 3.3 .
Sel Berdekatan Dua sel berdekatan jika mereka berbeda hanya pada satu variabel. Sel-sel
X
0
Y
0
dan X
0
Y berbatasan karena satu-satunya perbedaan mereka adalah Y
0
dan Y. sel yang berdekatan
dapat dikombinasikan untuk menyederhanakan fungsi K-map.
Tabel 3.7 Minterms untuk dua
variabel
XY
Minterms
Penunjukan
00
X
0
Y
0
m 0
01
X
0
Y
m 1
10
XY
0
m 2
11
XY
m 3
Gambar. 3.2 Dua variabel
K-map
52
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 65
Seperti yang ditunjukkan dalam peta-K, sel-sel m 0 dan m 2 berisi yang dan sel-sel lainnya
mengandung nol. Sel-sel m 0 dan m 2 yang berdekatan satu sama lain. Perhatikan bahwa berdekatan
sel mengambil seluruh kolom Y
0
, dan semua sel lainnya nol. Kami disederhanakan
fungsi karena itu F (X, Y) ¼ Y
0
.
Contoh 3.4 Sederhanakan fungsi berikut:
FX, Y
ð
Þ ¼ X 0
Y þ XY
0 þ XY
atau
FX, Y
ð
Þ ¼ m 1 þ m 2 þ m 3
Mentransfer minterms ke dalam peta-K menghasilkan Gambar 3.4 .
Seperti yang ditunjukkan pada Gambar. 3.4, sel-sel m 2 dan m 3 berdekatan, sehingga mereka dapat digabungkan.
Demikian juga, sel-sel m 1 dan m 3 dapat dikombinasikan. Dengan membaca peta, Anda akan memilikinya
fungsi yang disederhanakan.
Sel m 2 dan m 3 adalah seluruh baris X, dan sel m 1 dan m 3 adalah keseluruhan
kolom Y, dengan sel lainnya menjadi nol. Karena itu,
FX, Y
ð
Þ¼XþY
3.4.1 Peta Tiga Variabel
Tiga variabel K-map berisi delapan sel, dan setiap sel mewakili minterm sebagai
ditunjukkan pada Gambar. 3.5 .
X
X′0
X1
Y
Y′
Y′
0
0
0
1
m1
m0
m2
m3
1
1
Gambar. 3.3 Fungsi
dalam peta-K
Tabel 3.8 Tabel kebenaran untuk
fungsi F (X,
Y) ¼ XY
0
+X
0
Y
0
XY
F
00
1
01
0
10
1
11
0
3.4 Karnaugh Map (K-Map)
53

Halaman 66
Perhatikan hal-hal berikut tentang K-map pada Gambar 3.5 :
(a) Pada baris 0, keempat sel berisi X
0
; oleh karena itu baris ini diberi label X
0
.
(B) Pada baris 1, keempat sel berisi X; oleh karena itu baris ini diberi label X.
(c) Pada kolom 11 dan 10, keempat sel berisi Y; oleh karena itu kolom ini adalah
berlabel Y.
(d) Pada kolom 00 dan 01, keempat sel berisi Y
0
; oleh karena itu kolom ini adalah
berlabel Y
0
.
(e) Pada kolom 01 dan 11, keempat sel berisi Z; oleh karena itu kolom ini adalah
berlabel Z.
(f) Pada kolom 00 dan 10, keempat sel berisi Z
0
; oleh karena itu kolom ini adalah
berlabel Z
0
.
Sel yang berdekatan dapat dikelompokkan bersama dalam peta-K; dalam K-map dapat digabungkan
2 sel, 4 sel, 8 sel, dan 16 sel. Gambar 3.6 menunjukkan bagaimana itu bisa terjadi
dikelompokkan dalam peta-K.
Pada Gambar. 3.6 , keempat sel dapat dikombinasikan. Lipat K-peta secara horizontal dua kali
akan menghasilkan semua yang tumpang tindih, dan baris X
0
mencakup keempatnya.
Untuk Gambar. 3.7, pertimbangkan melipat peta-K sekali lagi. Keempatnya akan tumpang tindih jika
peta dilipat sekali secara horizontal, kemudian secara vertikal. Perhatikan juga bahwa Z
0
mencakup keempatnya
yang
Fig. 3.4 K-map untuk F (X,
Y) ¼ X
0
Y + XY
0
+ XY
Gambar 3.5 Tiga variabel
Peta
54
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 67
Contoh 3.5 Sederhanakan fungsi berikut:
FX, Y, Z
ð
Þ ¼ X 0
Y þ XZ þ XZ
0
Pertama, setiap istilah fungsi harus ditransfer ke K-map.
(a) Istilah pertama adalah X
0
Y, tempatkan satu di setiap sel yang terletak di persimpangan
X
0
baris dan kolom Y seperti yang ditunjukkan pada Gambar 3.8 . (m 3 dan m 2 )
Gambar. 3.6 Pengelompokan
empat sel di peta-K di mana
F yang disederhanakan (X, Y,
Z) ¼ X
0
Gbr. 3.7 Menyisir keempat
Z
0
sel bersama di dalam
K-map
Gbr. 3.8 Kombinasi
sel-sel contoh
fungsi dalam peta-K
3.4 Karnaugh Map (K-Map)
55

Halaman 68
(B) Istilah kedua adalah XZ, jadi tempatkan satu pada setiap sel yang terletak di persimpangan
Y
0
kolom dan baris X. (m 5 dan m 7 )
(c) Istilah ketiga adalah XZ
0
, tempatkan satu di setiap sel di persimpangan X
baris dan kolom Z. (m 4 dan m 6 )
Karena sel-sel kami yang berdekatan mencakup seluruh baris X dan setiap sel dalam kolom Y,
bentuk yang disederhanakan dari fungsi ini adalah F (X, Y, Z) ¼ X + Y.
Contoh 3.6. Baca K-peta Gambar. 3.9 a – d untuk menentukan fungsi yang disederhanakan.
(a) Semua sel yang berdekatan di kolom Z
0
dan kolom Y adalah satu.
FX, Y, Z
ð
Þ ¼ Z 0 þ Y
(B) Sel-sel di baris X
0
, kolom Y
0
berdekatan, seperti halnya sel-sel di baris X,
kolom Y.
FX, Y, Z
ð
Þ ¼ X 0
Y
0 þ XY
Gbr. 3.9 K-Maps untuk Contoh 3.6
56
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 69
(c) Semua sel adalah satu, jadi fungsinya selalu sama dengan satu.
FX, Y, Z
ð
Þ¼1
(D) Tanpa sel yang berdekatan untuk menyederhanakan istilah, fungsi sama dengan yang:
FX, Y, Z
ð
Þ ¼ X 0
Y
0
ZþX
0
YZ
0 þ XY 0
Z
0 þ XYZ

3.4.2 K-Map Empat Variabel


Peta empat variabel K berisi 16 sel seperti yang ditunjukkan pada Gambar. 3.10 . Harap perhatikan
tata letak spesifik peta.
Berikut ini menjelaskan cakupan setiap variabel berdasarkan K-map:
• W mencakup baris 11 dan 10.
•W
0
mencakup baris 00 dan 01.
• X mencakup baris 01 dan 11.
•X
0
mencakup baris 00 dan 10.
• Y mencakup kolom 11 dan 10.
•Y
0
meliputi kolom 00 dan 01.
• Z mencakup kolom 01 dan 11.
•Z
0
meliputi kolom 00 dan 10.
Contoh 3.7 Sederhanakan fungsi berikut:
FW, X, Y, Z
ð
Þ ¼ m 0 þ m 2 þ m 8 þ m 10 .
Fungsi dipindahkan ke peta-K seperti yang ditunjukkan pada Gambar. 3.11. Jika K-peta itu
dilipat sekali secara vertikal dan horizontal dari tengah, lalu keempat sel
Gambar 3.10 Empat variabel
K-map
3.4 Karnaugh Map (K-Map)
57

Halaman 70
mengandung satu tumpang tindih satu sama lain. Perhatikan bahwa masing-masing sel ini membentuk semuanya
persimpangan X
0
dan Z
0
.
Fungsi yang disederhanakan adalah F (W, X, Y, Z) ¼ X
0
Z
0
.
Contoh 3.8 Baca K-peta berikut:
FW, X, Y, Z
ð
Þ ¼ X 0
Y
0 þ X 0
Z þ XYZ
0

3.5 Jumlah Produk (SOP) dan Produk Jumlah (POS)


Jumlah produk dari suatu fungsi adalah jumlah minterm yang disederhanakan.
Amati fungsi F (X, Y) ¼ XY
0
+ XY adalah dalam bentuk SOP dimana
tanda tambahan digunakan untuk logika OR, dan XY disebut produk. Pertimbangkan fungsi F1
(X, Y, Z) ¼ XY
0
+ YZ
0
+ XZ, dan Gambar 3.12 menunjukkan rangkaian logika untuk fungsi F1 yang
terbuat dari AND-OR.
Gambar 3.11 K-map untuk F (W,
X, Y,
Z) ¼ m 0 + m 2 + m 8 + m 10
58
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 71
Pertimbangkan fungsi F2 (X, Y, Z) ¼ (X + Y
0
) (Y + Z
0
) (X + Z) yang diwakili oleh
produk penjumlahan, dan Gambar 3.13 menunjukkan rangkaian logika untuk fungsi F2 yang ada di
bentuk ATAU-DAN.
Contoh 3.9 Sederhanakan fungsi berikut dalam bentuk SOP dan POS.
• F (X, Y, Z) ¼ ∑ (0,1,6,7)
Menggabungkan yang (minterms m 0 , m 1 , m 6 , dan m 7 ) dalam peta-K menghasilkan
Gambar 3.14.
Jumlah produk karena itu: F (X, Y, Z) ¼ X
0
Y
0
+ XY.
Menggabungkan nol dalam peta-K mengembalikan maxterms signifikan seperti pada Gambar 3.15.
Jika F sama dengan ∑ (0,1,6,7), maka F
0
sama dengan π (M 2 M 3 M 4 M 5 ).
Karena produk maxterms sama dengan komplemen F, untuk menemukan F,
kedua sisi fungsi akan dilengkapi:
FX, Y, Z
ð
Þ ¼ XY 0 þ X 0
Y
ð
Þ 0
X
Y
Z
XY ′
YZ ′
F1
XZ
Gbr. 3.12 Sirkuit logika untuk F1 (X, Y, Z) ¼ XY
0
+ YZ
0
+ XZ terbuat dari gerbang AND-OR
Y
Z
Y′
Z′
X+Y′
X+Z
F2 = (X + Y ′) (Y + Z ′) (X + Z)
Y+Z′
X
Gbr. 3.13 Rangkaian logika untuk F2 (X, Y, Z) ¼ (X + Y
0
) (Y + Z
0
) (X + Z)
3.5 Jumlah Produk (SOP) dan Produk Jumlah (POS)
59

Halaman 72
Menggunakan teorema DeMorgan
FX, Y, Z
ð
Þ ¼ XY 0
ð
Þ 0
X
0
Y
ð
Þ 0
atau
F (X, Y, Z) ¼ (X
0
+ Y) (X + Y
0
) pada produk akhir berupa penjumlahan.
3.6 Kondisi Tidak Peduli
Dalam tabel kebenaran, jika kombinasi tertentu dari variabel input tidak mungkin, mereka
dianggap tidak peduli kondisi. Kondisi ini adalah tempat keluaran dari
fungsi tidak masalah. Sebagai contoh, decimal binary-coded (BCD) adalah 4 bit dan
hanya 0000 hingga 1001 yang digunakan, jadi 1010 hingga 1111 bukan BCD; tabel kebenaran atau
Nilai K-map tidak peduli. Tabel kebenaran atau sel K-map yang ditandai dengan "X" atau "d"
adalah istilah tidak peduli, dan output tidak akan terpengaruh apakah itu satu atau nol. Itu
tidak peduli dapat digunakan untuk memperluas kedekatan sel dalam peta-K untuk lebih jauh
menyederhanakan fungsi, karena outputnya tidak masalah.
Contoh 3.10 Gambar 3.16 menunjukkan peta-K dengan tidak peduli minterm pada m 1 , m 10 ,
dan m 13 . Karena tidak peduli dapat menghasilkan nol atau satu, kita dapat menganggap itu adalah satu
untuk memperluas pengelompokan sel yang berdekatan.
Gambar 3.14 K-map untuk F (X,
Y, Z) ¼ ∑ (0,1,6,7)
Gambar 3.15 K-map untuk F
0
(X,
Y, Z) ¼ π (M 2 M 3 M 4 M 5 )
60
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 73
Dari Gambar 3.16 , fungsinya adalah F (W, X, Y, Z) ¼ XZ + X
0
Z
0
+ XW
0
.
Ketika minterm untuk fungsi F adalah istilah tidak peduli, fungsi tidak peduli D adalah
sama dengan jumlah minterm yang tidak peduli. Jika m 7 adalah satu-satunya yang tidak peduli, maka
fungsi tidak peduli diwakili oleh D (X, Y, Z) ¼ m 7 .
Contoh 3.11 Sederhanakan fungsi berikut di mana D adalah fungsi tidak peduli:
FX, Y, Z
ð
Þ ¼ m 0 þ m 1 þ m 2 þ m 5
DX, Y, Z
ð
Þ ¼ m 3 þ m 7
Menggunakan nilai-nilai ini menghasilkan peta-K pada Gambar 3.17 . Dengan mengelompokkan sel yang berdekatan
dan menggunakan istilah tidak peduli, F (X, Y, Z) ¼ X
0
+ Z.
3.7 Universal Gates
Gerbang NAND dan NOR disebut gerbang universal. Dengan NAND atau NOR,
desainer dapat membangun gerbang logika lain seperti OR, DAN, dan BUKAN gerbang.
Gbr. 3.16 K-map dengan
tidak peduli minterm
Gambar 3.17 K-map untuk F (X,
Y, Z) ¼ m 0 + m 1 + m 2 + m 5
dan D (X, Y, Z) ¼ m 3 + m 7
3.7 Universal Gates
61

Halaman 74
3.7.1 Menggunakan NAND Gates
(a) BUKAN dari NAND
Gerbang NOT dihasilkan dengan menghubungkan input gerbang NAND bersama-sama
seperti yang ditunjukkan pada gambar berikut.
X
X
X
(XX) '= X'
X
Atau, dapat diwakili oleh:
X'
(B) DAN dari NAND
Gerbang AND dibangun dengan menghubungkan input ke gerbang NAND dan
menempatkan NAND lain pada output (untuk bertindak sebagai gerbang BUKAN).
X
XY
(XY) '
Y
(c) ATAU dari NAND
Gerbang OR dibangun dengan menghubungkan setiap input ke NAND individu
gerbang dan menempatkan setiap output ke dalam NAND tunggal yang bertindak sebagai gerbang BUKAN.
X
Y
Y′
X′
(X′Y ′) ′ = X + Y
62
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 75
3.7.2 Menggunakan Gerbang NOR
(a) BUKAN dari NOR
Gerbang NOT dihasilkan dengan menghubungkan input gerbang NOR secara bersamaan
ditunjukkan pada gambar berikut.
X
X
X
(X + X) ′ = X ′
X
Atau, dapat diwakili oleh:
X ′
(B) ATAU dari NOR
Gerbang OR dibangun dengan menghubungkan input ke gerbang NOR dan
menempatkan NOR lain pada output (untuk bertindak sebagai gerbang NOT).
X
(X + Y) ′
(X + Y)
Y
(c) DAN dari NOR
Gerbang AND dibangun dengan menghubungkan setiap input ke NOR individu
gerbang dan menempatkan setiap output ke dalam NOR tunggal yang bertindak sebagai gerbang BUKAN.
X
X′
(X ′ + Y ′) ′ = XY
Y′
Y
3.7 Universal Gates
63

Halaman 76
3.7.3 Implementasi Fungsi Logika Menggunakan NAND
Gates atau NOR Gates Saja
Banyak fungsi logika diimplementasikan hanya menggunakan gerbang NAND atau NOR, bukan
kombinasi berbagai gerbang. Kebanyakan IC gerbang logika mengandung beberapa gerbang a
tipe tunggal, seperti IC yang berisi delapan gerbang AND. Menggunakan satu jenis gerbang
dapat mengurangi jumlah IC yang dibutuhkan.
Pertimbangkan fungsi F (X, Y) ¼ X
0
Y
0
+ XY dan diagram rangkaian logikanya di
Gambar 3.18.
Diagram ini akan membutuhkan satu IC untuk gerbang AND, yang lain untuk gerbang NOT, dan
satu ATAU gerbang, atau total tiga IC terpisah.
Dengan melengkapi fungsi dua kali, sisi kanan persamaan mungkin
lebih mudah digunakan dengan gerbang NAND dan NOR.
Contoh 3.12. Buat sirkuit logika hanya menggunakan NAND dan hanya NOR untuk
fungsi F (X, Y) ¼ X
0
Y
0
+ XY.
3.7.4 Menggunakan NAND Gates
• Lengkapi sisi kanan persamaan dua kali.
• F (X, Y) ¼ X
0
Y
0
+ XY! F (X, Y) ¼ [(X
0
Y
0
+ XY)
0
]
0
.
• Gunakan teorema Boolean untuk membuatnya ramah NAND:
- F (X, Y) ¼ [(X
0
Y
0
)
0
(XY)
0
]
0
Pertimbangkan fungsi terakhir sekali lagi: F (X, Y) ¼ [(X
0
Y
0
)
0
(XY)
0
]
0
, dan gantikan
placeholder untuk istilah dalam (Gbr. 3.19).
• F ¼ [(X
0
Y
0
)
0
(XY)
0
]
0 ¼ [AB] 0
(A NAND B)
- A ¼ (X
0
Y
0
)
0 ¼
X 0
NAND Y
0
- B ¼ (XY)
0 ¼ X NAND Y
-X
0 ¼ X NAND X
-Y
0 ¼ Y NAND Y
X
Y
X'
Y'
X 'Y'
XY
XY + X 'Y'
Gbr. 3.18 Rangkaian logika untuk F (X, Y) ¼ XY + X
0
Z
0
64
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 77
3.7.5 Menggunakan Gerbang NOR
• Lengkapi sisi kanan persamaan dua kali:
- F (X, Y) ¼ X
0
Y
0
+ XY! F (X, Y) ¼ [(X
0
Y
0
+ XY)
0
]
0
• Gunakan teorema Boolean untuk membuatnya NOR friendly:
- F (X, Y) ¼ [(X
0
Y
0
)
0
(XY)
0
]
0
- F (X, Y) ¼ [(X + Y) (X
0
+Y
0
)]
0
- F (X, Y) ¼ [(X + Y)
0
+ (X
0
+Y
0
)
0
]
0
Pertimbangkan fungsi terakhir sekali lagi: F (X, Y) ¼ [(X + Y)
0
+ (X
0
+Y
0
)
0
]
0
, dan
gantikan pengganti untuk istilah batin (Gbr. 3.20).
• F ¼ [(X
0
Y
0
)
0
(XY)
0
]
0 ¼ [A + B] 0
(A NOR B)
- A ¼ (X + Y)
0 ¼ X NOR Y
- B ¼ (X
0
+Y
0
)
0 ¼
X 0
NOR Y
0
-X
0 ¼ X NOR X
-Y
0 ¼ Y NOR Y
X
Y
F
(XY)
X'
(X'Y ')'
Y'
Gambar 3.19 Sirkuit logika F (X, Y) ¼ X
0
Y
0
+ XY hanya menggunakan gerbang NAND
X
X'
(X + Y) '
(X '+ Y)'
[(X + Y) '+ (X' + Y ')]'
(X + Y) '+ (X' + Y ')'
Y'
Y
Gbr. 3.20 Sirkuit logika F (X, Y) ¼ X
0
Y
0
+ XY hanya menggunakan gerbang NOR
3.7 Universal Gates
65

Halaman 78
3.8 Ringkasan
• Sirkuit digital terbuat dari kombinasi gerbang yang berbeda dengan
beberapa input digital dan beberapa output digital; outputnya tergantung
hanya dengan nilai input saat ini.
• Sirkuit logika kombinasional dapat diwakili oleh fungsi atau kebenaran Boolean
meja.
• Teorema Boolean atau K-map dapat digunakan untuk menyederhanakan fungsi Boolean.
• Fungsi Boolean dapat diwakili oleh jumlah produk (SOP) atau
produk penjumlahan (POS).
• Gerbang NAND dan NOR disebut gerbang universal. Itu bisa menghasilkan gerbang lain
dengan menggunakan gerbang NAND atau NOR.
• Kondisi tidak peduli adalah nilai input yang tidak pernah diterapkan pada kombinasi
sirkuit yang menghasilkan output dengan kondisi tidak peduli (0 atau 1).
• Bab 1, 2, dan 3 membahas topik dasar agar dapat mendesain digital
sistem; Bab. 4 menyajikan bagaimana merancang sistem digital dan mencakup digital
komponen yang digunakan untuk merancang sistem digital seperti decoder, multi-
plexer, adder biner, biner subtractor, dan unit logika aritmatika (ALU).
Masalah
1. Temukan fungsi output dari setiap tabel kebenaran:
(a) Sebagai jumlah minterm
(B) Sebagai produk maxterms
XYZ
F
000
1
001
0
010
0
011
1
100
0
101
1
110
0
111
1
ABCD
F
0000
1
0001
0
0010
1
0011
1
0100
0
0101
1
0110
1
0111
1
1000
1
(lanjutan)
66
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 79
1001
1
1010
0
1011
0
1100
0
1101
1
1110
1
1111
1
2. Hasilkan tabel kebenaran untuk fungsi-fungsi berikut:
(a) F (X, Y, Z) ¼ ∑ (1,3,6,7)
(B) F (X, Y, Z) ¼ π (1,3,4)
(c) F (W, X, Y, Z) ¼ ∑ (1,4,7,10,12,15)
(d) F (W, X, Y, Z) ¼ π (2,3,4,7,10,11,12,13)
3. Hasilkan fungsi F untuk K-maps berikut:
(Sebuah)
(b)
3.8 Ringkasan
67

Halaman 80
(c)
(d)
(e)
68
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 81
(f)
4. Temukan fungsi output yang disederhanakan untuk tabel kebenaran berikut menggunakan K-map:
(Sebuah)
X
Y
F
0
0
1
0
1
1
1
0
1
1
1
0
(b)
X
Y
Z
F
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
(c)
ABCD
F
0000
1
0001
0
0010
1
0011
1
0100
0
0101
1
(lanjutan)
3.8 Ringkasan
69

Halaman 82
ABCD
F
0110
1
0111
1
1000
1
1 0 01
1
1010
0
1011
0
1100
0
1101
1
1110
1
1111
1
5. Sederhanakan fungsi-fungsi berikut dengan menggunakan K-map:
(a) F (X, Y) ¼ m 2 + m 3
(B) F (X, Y) ¼ X + X
0
Y
(c) F (X, Y) ¼ X
0
+ XY
0
(d) F (X, Y, Z) ¼m 0 + m 2 + m 5 + m 7
(e) F (X, Y, Z) ¼ X
0
Y
0
Z
0
+X
0
YZ + XY
0
Z + XYZ
(f) F (X, Y, Z) ¼ π (0, 2, 5, 7)
(g) F (X, Y, Z) ¼ XY
0
Z+X
0
+Z+Y
0
Z
0
(h) F (W, X, Y, Z) ¼ X
0
Y
0
Z
0
+ XYZ
0
+ WXY + W
0
X
0
Y
0
+ WZ
(i) F (W, X, Y, Z) ¼ X
0
+ XZ
0
+ WX
0
Y+W
0
Y
0
+ WZ
6. Sederhanakan fungsi-fungsi berikut di mana D adalah fungsi tidak peduli:
(a) F (X, Y, Z) ¼ ∑ (0,3,4)
D (X, Y, Z) ¼ ∑ (2,6)
(B) F (W, X, Y, Z) ¼ ∑ (0,1,3,5,9,11)
D (W, X, Y, Z) ¼ ∑ (2,4,8,10)
7. Sederhanakan fungsi-fungsi berikut dalam bentuk SOP dan POS, dan buat logika
sirkuit:
(a) F (X, Y, Z) ¼ ∑ (0,2,5,7)
(B) F (W, X, Y, Z) ¼ ∑ (0,1,4,6,9,11,13,15)
8. Gambarlah sirkuit logika untuk fungsi-fungsi yang disederhanakan dari Soal 6:
(a) Menggunakan gerbang NAND
(B) Menggunakan gerbang NOR
9. Sederhanakan fungsi berikut dan gambar sirkuit logika menggunakan:
(a) Gerbang NAND
(B) Gerbang NOR
FW, X, Y, Z
ð
Þ ¼ W 0
X
0
Z
0 þ XY 0
Z
0 þ WX þ WY þ WX 00
Y
0
Z
0
70
3 Minterms, Maxterms, Karnaugh Map (K-Map), dan Universal Gates

Halaman 83
Bab 4
Logika Kombinasional
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Temukan fungsi output dari sirkuit digital yang diberikan.
• Desain sirkuit logika kombinasional menggunakan deskripsi masalah.
• Pelajari pengoperasian decoder dan aplikasinya.
• Pelajari aplikasi encoder.
• Merancang dan mempelajari fungsi multiplexer.
• Kembangkan setengah penambah, penambah penuh dari gerbang logika.
• Gunakan penambah penuh untuk merancang penambah dan pengurangan biner.
• Pelajari cara mendesain ALU (unit logika aritmatika).
• Gunakan BCD ke decoder tujuh segmen untuk menampilkan angka dalam desimal.
4.1 Pendahuluan
Sirkuit digital diklasifikasikan sebagai logika kombinasional atau sekuensial. Kombinasional
Logika adalah sirkuit digital dengan input atau input digital dan output atau output digital, ini
sirkuit digital melakukan fungsi tertentu, output dari logika kombinasional
tergantung pada nilai input saat ini, dan itu adalah rangkaian tanpa memori, tetapi berurutan
logika mengandung elemen memori. Gambar 4.1 menunjukkan diagram blok kombinasi
logika nasional dengan input dan output; dalam logika kombinasional, outputnya adalah a
fungsi input.
Pertimbangkan F (X, Y) ¼ XY
0 þ X 0
Y yang diberikan oleh Gambar 4.2 ; rangkaian logika
terbuat dari BUKAN, DAN, dan ATAU gerbang; output dari logika kombinasional akan berubah
dengan mengubah input. Tabel 4.1 menunjukkan tabel kebenaran pada Gambar 4.2.
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_4
71

Halaman 84
4.2 Analisis Logika Combinasional
Tujuan dari analisis logika kombinasional adalah untuk menemukan fungsi output
dan tabel kebenaran dari rangkaian logika kombinasional, Gambar 4.3 menunjukkan kombinasional
logika, output dari logika kombinasional diberikan oleh fungsi F, dan Tabel 4.2
menunjukkan tabel kebenaran fungsi F.
T1 ¼
XþZ
ð
Þ 0 þ XY
[
] 0
¼ XY
ð
Þ 0
XþZ
ð
Þ XY
ð
Þ 0 ¼ X þ Z
ð
Þ X 0 þ Y 0
ð
Þ
¼ XY 0 þ X 0
ZþY
0
Z
FX, Y, Z
ð
Þ¼XþZ
ð
Þ T1 ¼ X þ Z
ð
Þ XY 0 þ X 0
ZþY
0
Z
ð
Þ
¼ XY 0 þ XY 0
Z þ XY
0
ZþX
0
ZþY
0
Z
FX, Y, Z
ð
Þ ¼ XY 0 þ XY 0
ZþX
0
ZþY
0
Z ¼ XY
0 þ Y 0
ZX þ 1
ð
Þ þ X 0
Z
¼ XY 0 þ Y 0
ZþX
0
Z
4.3 Desain Logika Kombinasi
Gambar 4.4 menunjukkan diagram blok logika kombinasional; Langkah-langkah berikut ini menunjukkan
cara mendesain logika kombinasional:
1. Pernyataan masalah yang menggambarkan fungsi kombinasi
logika.
Gambar 4.1 Diagram blok
dari logika kombinasional
X
Y
Y'
X'
XY '
XY '+ X'Y
XY
Gambar 4.2 Sirkuit logika kombinasional
Tabel 4.1. Tabel kebenaran
dari Gambar. 4.2
X
Y
XY
0
X
0
Y
F
0
0
0
0
0
0
1
0
1
1
1
0
1
0
1
1
1
0
0
0
72
4 Logika Kombinasi

Halaman 85
2. Tentukan jumlah input dan output atau mungkin mereka diberikan oleh
pernyataan masalah.
3. Tetapkan variabel ke input dan output.
4. Kembangkan tabel kebenaran dengan menulis semua kombinasi untuk input. Outputnya adalah
ditentukan oleh pernyataan masalah.
5. Tulis fungsi output menggunakan K-map.
6. Gambar sirkuit logika.
Contoh 4.1. Rancang sirkuit logika kombinasional dengan tiga input dan satu input
keluaran; output adalah satu ketika nilai biner dari input lebih besar dari atau
sama dengan tiga; jika tidak, output akan menjadi nol.
Solusi Gambar 4.4 menunjukkan diagram blok logika kombinasional dengan tiga
input dan satu output: variabel X, Y, dan Z ditugaskan untuk input, dan
variabel F ditugaskan untuk output. Tabel 4.3 menunjukkan tabel kebenaran untuk masalah tersebut
(Gbr. 4.5 ).
Pada Tabel 4.3 , semua kombinasi input untuk X, Y, dan Z dicantumkan; lalu menurut
pernyataan masalah, output F adalah satu ketika inputnya tiga atau lebih;
X
XY
Y
F
Y
Z
(X + Z) '
X+Z
T1
[(X + Z) '+ XY]'
Gambar 4.3 Logika kombinasional
Tabel 4.2. Tabel kebenaran
dari Gambar 4.3
XYZ
XY
0
Y
0
Z
XZ
0
F
000
0
0
0
0
001
0
1
0
1
010
0
0
0
0
011
0
0
0
0
100
1
0
1
1
101
1
1
0
1
110
0
0
1
1
1 11
0
0
0
0
Gambar 4.4 Diagram blok
dari logika kombinasional
4.3 Desain Logika Kombinasi
73

Halaman 86
jika tidak, outputnya nol. Fungsi output F dapat diwakili oleh jumlah
minterm:
FX, Y, Z
ð
Þ ¼ m 3 þ m 4 þ m 5 þ m 6 þ m 7
jumlah minterm
ð
Þ
Dengan memindahkan minterm F (X, Y, Z) ke dalam peta-K seperti yang ditunjukkan pada Gambar 4.6
dan membaca fungsi yang disederhanakan dari hasil K-map F (X, Y, Z) ¼ X þ YZ.
Gambar 4.7 menunjukkan rangkaian logika untuk fungsi F (Gambar 4.7 ).
Tabel 4.3. Tabel kebenaran
misalnya 1
XYZ
F
000
0
001
0
010
0
011
1
100
1
101
1
110
1
111
1
Gambar 4.5 Diagram blok logika kombinasional contoh 4
Gambar 4.6 Peta-K untuk
contoh 4
X
Y
Z
X + YZ
Gambar 4.7 Rangkaian
diagram misalnya 4
74
4 Logika Kombinasi

Halaman 87
4.4 Dekoder
Dekoder adalah logika MSI yang menghasilkan minterm dari serangkaian input; keduanya
variabel X dan Y menghasilkan empat minterm, dan mereka adalah X
0
Y
0 ¼ m 0 , X
0
Y ¼ m 1 ,
XY
0 ¼ m 2 , dan XY ¼ m 3 . Gambar 4.8 menunjukkan diagram blok dekoder 2 * 4
(2 input dan 4 output), dan Tabel 4.4 menunjukkan tabel kebenaran untuk decoder 2 * 4.
Dari tabel kebenaran decoder, fungsi-fungsi berikut adalah output dari a
dekoder:
m 0 ¼ X 0
Y
0
, m 1 ¼ X 0
Y, m 2 ¼ XY 0
, dan m 3 ¼ XY
Gambar 4.9 menunjukkan rangkaian logika decoder 2 * 4. Sebagian besar MSI IC memiliki input ekstra
disebut mengaktifkan / menonaktifkan (E / D); fungsi input E / D adalah untuk mengaktifkan atau menonaktifkan
Gambar 4.8 Diagram blok
dari decoder 2 * 4
Tabel 4.4. Tabel kebenaran untuk
decoder 2 * 4
XY
m 0
m 1
m 2
m 3
00
1
0
0
0
01
0
1
0
0
10
0
0
1
0
11
0
0
0
1
X
Y
E/D
X'Y '= m0
X'Y = m1
XY '= m2
XY = m3
Gambar 4.9 Sirkuit logika a
2 * 4 decoder dengan E / D
4.4 Dekoder
75

Halaman 88
IC seperti yang ditunjukkan pada Gambar 4.9. Ketika E / D ¼ 0, semua output dari decoder akan nol
(artinya decoder dinonaktifkan); dekoder hanya menghasilkan minterm ketika E / D
diatur ke satu.
4.4.1 Menerapkan Fungsi Menggunakan Dekoder
Decoder dapat digunakan untuk mendesain sirkuit kombinasional. Pertimbangkan F (X,
Y) ¼ XY þ X
0
Y
0
yang dapat diimplementasikan menggunakan decoder. Fungsi bisa
diwakili oleh F (X, Y) ¼ m 3 þ m 0 . Fungsi tersebut berisi dua variabel yang
adalah input ke decoder; oleh karena itu, decoder 2 * 4 diperlukan, dan output F adalah
jumlah minterms m 3 dan m 0 yang ditunjukkan pada Gambar 4.10 .
4.5 Encoder
Encoder adalah kebalikan dari decoder; ia memiliki 2 n input dan n output, untuk n ¼ 2
berarti encoder memiliki 2 2 ¼ 4 input dan 2 output; outputnya adalah nilai biner dari
input yang dipilih. Gambar 4.11 menunjukkan diagram blok dari 4 * 2 encoder, dan Tabel 4.5
memperlihatkan tabel kebenaran untuk enkoder 4 * 2. Pada Tabel 4.5 , jika A3 ¼ 1, maka output
XY ¼ 11, atau jika A2 ¼ 1, maka output XY ¼ 10.
Gambar 4.12 menunjukkan K-map untuk fungsi X dan Y; kombinasi input itu
tidak tercantum dalam tabel kebenaran dekoder 2 * 4 tidak peduli, yang ditunjuk oleh "X,"
di kedua K-maps. Gambar 4.13 menunjukkan diagram sirkuit logika dari decoder 2 * 4.
Gambar 4.10 Menerapkan fungsi menggunakan dekoder
Gambar 4.11 Blok
diagram enkoder 4 * 2
76
4 Logika Kombinasi

Halaman 89
4,6 Multiplexer (MUX)
MUX adalah sirkuit logika kombinasional dengan input N dan satu output; fungsi
MUX adalah untuk memilih salah satu input dari banyak dan mengarahkan input ke
keluaran. Gambar 4.14 menunjukkan arsitektur dasar dari sebuah multiplexer. Multiplexer itu
memiliki input N dan satu output disebut multiplexer N-ke-1. Saklar internal
Tabel 4.5. Tabel kebenaran
untuk encoder 4 * 2
A3
A2
A1
A0
X
Y
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
Gambar 4.12 Peta-K untuk
fungsi X dan Y
4,6 Multiplexer (MUX)
77

Halaman 90
memilih satu jalur input pada satu waktu dan mentransfer input ke output. Ketika
saklar ada di posisi A, itu mentransfer input A ke output; saat sakelar bergerak ke
posisi B, mentransfer input B ke output. Metode ini berlanjut hingga sakelar
bergerak ke posisi D dan mentransfer input D ke output.
Kebalikan dari multiplexer adalah demultiplexer (DMUX), yang ditunjukkan pada Gambar 4.15.
Switch bergerak untuk mengirim setiap input ke output yang sesuai. DMUX memiliki satu
A0
A1
A2
A3
X
Y
Gambar 4.13 Rangkaian logika
diagram enkoder 4 * 2
MUX
4*1
SEBUAH
B
C
D
Input
Output DCBA
Pilih garis
Gbr. 4.14 Multiplexer 4-ke-1
DMUX
1*4
Masukan DCBA
SEBUAH
B
C
D
Pilih Garis
0
1
2
3
Gambar 4.15 A 1-to-4 demultiplexer (DMUX)
78
4 Logika Kombinasi

Halaman 91
input dan output N - ini disebut demultiplexer 1-ke-N. Saat sakelar dalam
posisi 0, ia mentransfer A ke port output 0 dan kemudian pindah ke port output 1 dan
mentransfer B ke port ini. Proses ini berlanjut hingga sakelar bergerak ke port keluaran
3 dan transfer D ke port 3.
Gambar 4.16 menunjukkan MUX 2 * 1 di mana A dan B adalah input dan S adalah jalur pilih;
ketika S ¼ 0, output dari multiplexer adalah nilai A; ketika S ¼ 1, output dari
MUX adalah nilai B.
Tabel 4.6 menunjukkan tabel kebenaran MUX untuk Gambar 4.16 .
FS, A, B
ð
Þ ¼ m 3 þ m 5 þ m 7
Gambar 4.16 Diagram blok
2 * 1 MX
Tabel 4.6. Tabel kebenaran 2 * 1
MUX
S
SEBUAH
B
F
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
4,6 Multiplexer (MUX)
79

Halaman 92
Membaca hasil K-map F (S, A, B) ¼ S
0
A þ SB.
Gambar 4.17 menunjukkan rangkaian logika untuk 2 * 1 MUX.
Gambar 4.18 menunjukkan 4 * 1 MUX di mana I 0 , I 1 , I 2 , dan I 3 adalah input, Y adalah
output, dan S 0 dan S 1 adalah jalur yang dipilih. Tabel 4.11 menunjukkan operasi MUX.
Fungsi Y dapat dihasilkan dari Tabel 4.7; ketika input S 0 S 1 ¼ 00,
maka Y ¼ I 0 ; ketika S 0 S 1 ¼ 01, maka Y ¼ I 1 ; ketika S 0 S 1 ¼ 10, maka Y ¼ I 2 ; kapan
S 0 S 1 ¼ 11, lalu Y ¼ I 3 ; oleh karena itu, output Y adalah
Y ¼ S 0
0
S 1
0
I 0 þ S 0
0
S 1 I 1 þ S 0 S 1
0
I 2 þ S 0 S 1 I 0
Gambar 4.19 menunjukkan diagram blok untuk 4 * 1 MUX dengan E / D. Gambar 4.20
menunjukkan rangkaian logika 4 * 1 MUX; seperti yang ditunjukkan pada gambar ini, input E / D ditambahkan ke
diagram logika MUX; ketika E / D ¼ 0, output Y ¼ 0, dan MUX adalah
dengan disabilitas.
SEBUAH
B
S
SB
S'A
S'A + SB
Gambar 4.17 Sirkuit logika untuk
2 * 1 MUX
Gambar 4.18 Blok
diagram 4 * 1 MUX
Tabel 4.7 The MUX
operasi
S 0
S 1
Y
0
0
Saya 0
0
1
Saya 1
1
0
Saya 2
1
1
Saya 3
80
4 Logika Kombinasi

Halaman 93
4.6.1 Merancang Multiplexer Besar Menggunakan Lebih Kecil
Multiplexer
Dengan menggabungkan MUX kecil, maka ia mampu menghasilkan MUX yang lebih besar; sebuah MUX 8 * 1
dapat dibangun oleh dua multiplexer 4 * 1 dan satu gerbang OR seperti yang ditunjukkan pada Gambar 4.21.
Dalam gambar ini, A, B, dan C adalah garis pilih. Ketika A ¼ 0, MUX teratas diaktifkan,
dan ketika A ¼ 1, MUX yang lebih rendah diaktifkan. Juga, 8 * 1 MUX bisa
diimplementasikan menggunakan dua 4 * 1 dan satu 2 * 1 MUX seperti yang ditunjukkan pada Gambar 4.22 . Di
Gambar 4.22, ketika A ¼ 0, output F ¼ Y0, dan ketika A ¼ 1, output F ¼ Y1.
Gambar 4.19. Menunjukkan blok
diagram 4 * 1 MUX
dengan E / D
Gambar 4.20 Diagram logika sirkuit untuk 4 * 1 MUX
4,6 Multiplexer (MUX)
81

Halaman 94
Gbr. 4.21 8 * 1 MUX menggunakan 4 * 1 MUX dan OR gate
Gambar 4.22 8 * 1 MUX dibangun dengan dua 4 * 1 MUX dan 2 * 1 MUX
82
4 Logika Kombinasi

Halaman 95
4.6.2 Fungsi Implementasi Menggunakan Multiplexer
(a) Menerapkan tabel kebenaran tiga variabel menggunakan 8 * 1 MUX
MUX dapat digunakan untuk mengimplementasikan fungsi digital; pertimbangkan kebenaran Tabel 4.8 ; itu
tabel kebenaran terbuat dari tiga variabel, dan dapat menggunakan 8 * 1 MUX untuk menanamkan
tabel kebenaran (Tabel 4.8 ).
Tabel kebenaran terdiri dari tiga variabel; oleh karena itu, diperlukan MUX 8 * 1;
variabel A, B, dan C terhubung ke jalur pilih MUX, dan input dari
MUX berhubungan dengan output dari tabel kebenaran (Gbr. 4.23).
(B) Menerapkan Tabel 4.8 menggunakan 4 * 1 MUX
Jumlah variabel - 1 ¼ jumlah garis pilih.
Tiga variabel - 1 ¼ 2 jumlah baris terpilih untuk MUX
Jika A dan B terhubung untuk memilih jalur, ketika AB ¼ 00, ada dua baris
Tabel 4.9 dengan AB ¼ 00, maka output F tergantung pada nilai C; pada kasus ini
C ¼ 0. Pertimbangkan baris dengan AB ¼ 01, F ¼ 0 untuk C ¼ 0, dan F ¼ 1 untuk C ¼ 1;
oleh karena itu, F ¼ C. Gambar 4.24 menunjukkan implementasi Tabel 4.9 menggunakan 4 * 1 MUX.
Tabel 4.8. Tabel kebenaran
untuk MUX dengan tiga
variabel
SEBUAH
B
C
F
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
Gambar 4.23 Blok
diagram 8 * 1 MUX
4,6 Multiplexer (MUX)
83

Halaman 96
4.7 Half Adder, Full Adder, Binary Adder, dan Subtractor
Half adder (HA) adalah rangkaian logika yang menambahkan bit X dan Y; Gambar 4.25 menunjukkan blok
diagram HA; input untuk HA adalah X dan Y; output dari HA adalah S
(jumlah) dan C (carry). Tabel 4.10 menunjukkan tabel kebenaran untuk HA. Di tabel kebenaran ini,
ketika X ¼ Y ¼ 1, maka X ditambah Y ¼ 10 menghasilkan S ¼ 0 dan C ¼ 1.
Fungsi S dan C adalah
S ¼ m 1 þ m 2 ¼ X 0
Y þ XY
0 ¼ X XOR Y
C ¼ XY ¼ X DAN Y
Gambar 4.26 menunjukkan rangkaian logika half adder (HA).
Full Adder (FA) Gambar 4.27 menunjukkan diagram blok dari full adder (FA). Itu
FA akan menambahkan X þ Y þ Cin (masing-masing hanya 1 bit), output dari FA disebut S dan
Cout, dan Tabel 4.11 menunjukkan tabel kebenaran FA; dalam tabel ini, X, Y, dan Cin adalah
ditambahkan, dan hasilnya menghasilkan jumlah (S) dan membawa (Cout).
Fungsi S dapat diwakili oleh jumlah minterm seperti yang ditunjukkan pada
Eq. 4.1 :
SX, Y, Cin
ð
Þ ¼ X 0
Y
0
Cin þ X
0
YCin
0 þ X 0
YCin þ XY
0
Cin
0 þ XYcin
ð4.1Þ
ATAU
Tabel 4.9. Tab Kebenaran untuk
Gambar 4.24
SEBUAH
B
C
F
0
0
0
0
0
0
0
1
0
0
1
0
0
C
0
1
1
1
1
0
0
1
C
0
1
0
1
0
1
1
0
1
1
1
1
1
1
Gambar 4.24 Multiplexer untuk
Tabel 4.9
84
4 Logika Kombinasi

Halaman 97
SX, Y, Cin
ð
Þ ¼ Cin X 0
Y
0 þ XY
ð
Þ þ Cin 0
X
0
YþX
0
Y
ð
Þ
ð4.2Þ
X
0
YþX
0
Y ¼ X XOR Y ¼ A
X
0
Y
0 þ XY ¼ X 0
YþX
0
Y
ð
Þ 0 ¼ A 0
Karena itu, Persamaan. 4.2 dapat ditulis dalam bentuk Persamaan. 4.3 :
SX, Y, Cin
ð
Þ ¼ CinA 0 þ Cin 0
A ¼ Cin XOR A
ð4.3Þ
Gambar 4.25 Blok
diagram setengah penambah
X
S
C
Y
Gambar 4.26 Sirkuit logika untuk
HA
Gambar 4.27 Blok
diagram setengah penambah
Tabel 4.10 Tabel kebenaran
untuk setengah penambah
XY
C
S
00
0
0
01
0
1
10
0
1
11
1
0
Tabel 4.11 Tabel kebenaran
untuk setengah penambah
XY Cin
Cout
s
000
0
0
001
0
1
010
0
1
011
1
0
100
0
1
101
1
0
110
1
0
111
1
1
4.7 Half Adder, Full Adder, Binary Adder, dan Subtractor
85

Halaman 98
Cout dapat ditulis dalam bentuk jumlah minterm:
Cout X, Y, Cin
ð
Þ ¼ X 0
YCin, þ XY
0
Cin þ XYCin
0 þ XYCin
ATAU
Cout X, Y, Cin
ð
Þ ¼ Cin X 0
Y, þXY
0
ð
Þ þ XY Cin 0 þ Cin
ð
Þ
ATAU
Cout X, Y, Cin
ð
Þ ¼ Cin X 0
Y, þXY
0
ð
Þ þ XY
Gambar 4.28 menunjukkan rangkaian logika untuk penambah penuh.
Gambar 4.29 menunjukkan diagram blok dari full adder (FA), di mana X, Y, dan Cin berada
input dan S dan Cout adalah output.
X
Cout
S
Y
XY '+ X'Y
Cin
Gambar 4.28 Sirkuit logika penambah penuh
Gambar 4.29 Diagram blok
FA
86
4 Logika Kombinasi

Halaman 99
4.7.1 4-Bit Binary Adder
Fungsi penambah biner 4-bit adalah untuk menambahkan dua angka 4-bit seperti:
X 3 X 2 X 1 X 0 þ Y 3 Y 2 Y 1 Y 0
Saat menambahkan X 0 oleh Y 0 , itu menghasilkan jumlah (S0) dan carry (C0); C0 kemudian
ditambahkan ke X 1 dan Y1 yang menghasilkan S1 dan C1. Gambar 4.30 menunjukkan biner 4-bit
penambah; Cin terhubung ke ground untuk mewakili nol.
Diagram pabrikan dari penambah biner 4-bit ditunjukkan pada Gambar 4.31 sebagai satu
IC, dan nomor IC adalah 7483.
B4
B1
A1
B4
B3
B2
A3
C4
C0 GND
C0
C4
B1
A1
A4
A3
A2
B3
B2
Vcc
Σ3
Σ4
Σ4
Σ3
Σ2
Σ1
Σ1
Σ2
A4
A2
16
1
2
3
4
5
6
7
8
15
14
13
12
11
10
9
Gambar 4.31 7483 biner 4-bit
adder
Gambar 4.30 Adder biner 4-bit
4.7 Half Adder, Full Adder, Binary Adder, dan Subtractor
87

Halaman 100
4.7.2 Subtractor
Subtractor melakukan pengurangan A À B atau A þ B
0 þ 1. Gambar 4.32 menunjukkan a
diagram subtractor menggunakan penambah biner 4-bit. CI diatur ke satu, dan input
B0, B1, B2, dan B3 dilengkapi.
Gambar 4.33 adalah modifikasi dari Gambar 4.32 yang dapat melakukan penambahan dan
pengurangan. CI adalah carry in dan CO adalah carry dari adder biner 4-bit. Oleh
mengatur tombol Add / Sub ke nol, itu melakukan penambahan, dan dengan mengatur Add / Sub
beralih ke satu, ia melakukan pengurangan.
4.8 ALU (Unit Logika Aritmatika)
Fungsi unit logika aritmatika (ALU) adalah untuk melakukan operasi aritmatika
tions seperti penambahan dan pengurangan dan operasi logika bit-bijaksana seperti DAN,
ATAU, dan BUKAN. Gambar 4.34 menunjukkan diagram blok ALU.
Pada Gambar 4.34 , bus A dan B adalah input, dan bus C adalah output dari ALU;
S1 dan S0 adalah jalur pilih yang memilih fungsi ALU; Tabel 4.12 menunjukkan
fungsi ALU; anggap A dan B adalah 4 bit dan diwakili oleh A3, A2, A1, dan
A0 dan B3, B2, B1, dan B0.
Garis pilih ALU menentukan ukuran multiplexer, karena ada
2 jalur pilih; oleh karena itu, ukuran MUX adalah 4 * 1 (4 input dan 1 output); itu
jumlah bit menentukan jumlah multiplexer. A dan B adalah 4 bit; oleh karena itu, empat
Dibutuhkan 4 * 1 multiplexer. Gambar 4.35 menunjukkan diagram ALU.
Gbr. 4.32 Pengurang 4 bit
88
4 Logika Kombinasi

Halaman 101
4.9 Layar Tujuh Segmen
Tampilan tujuh segmen dibuat dari tujuh LED (light-emitting diode) seperti ditunjukkan pada
Gambar 4.36 ; tampilan tujuh segmen dapat menampilkan satu digit dari nol hingga sembilan;
Gambar 4.37 menunjukkan segmen yang harus dihidupkan untuk menampilkan digit dari
0 hingga 9.
Untuk menampilkan 0, semua segmen harus diaktifkan kecuali untuk g; untuk menampilkan 8, semua
segmen harus diaktifkan. Ini membutuhkan dekoder khusus yang disebut BCD ke tujuh segmen
decoder untuk mengonversi binary-coded decimal (BCD) ke tampilan tujuh-segmen.
0
0
1
1
S0
B0
B1
B2
B3
A0
A0
B0
B1
B2
B3
A1
A2
A3
A1
A2
A3
Cl
-0
-1
-0
-0
-0
-1
1
1
1
0
0
-0
-0
-0
1
Tambah = 0
Sub = 1
1
1
1
BERSAMA
S1
S2
S3
Gambar 4.33 Sirkuit logika untuk penambah dan pengurang 4-bit
Gambar 4.34 Diagram blok
sebuah ALU
4.9 Layar Tujuh Segmen
89

Halaman 102
S1
DEV2
DEV2
DEV2
DEV2
S1 S0
D3 D2 D1 D0
0
0
0
0
S1 S0
D3 D2 D1 D0
S1 S0
D3 D2 D1 D0
S1 S0
D3 D2 D1 D0
C3
C2
C1
C0
C1
B3 B2 B1 B0
A3 A2 A1 A0
S3 S2 S1 S0
C0
S0
A0
A1
A2
A3
B0
B1
B2
B3
0
Gambar 4.35 Diagram sirkuit logika ALU
Tabel 4.12 Fungsinya
dari ALU
S1
S0
ALU
0
0
A ATAU B
0
1
AþB
1
0
A DAN B
1
1
SEBUAH
0
Sebuah
b
g
f
e
d
c
Gambar 4.36 Tujuh segmen
tampilan
Gambar 4.37 Layar tujuh segmen dari 0 hingga 9
90
4 Logika Kombinasi

Halaman 103
Gambar 4.38 menunjukkan diagram blok dari BCD ke decoder tujuh-segmen, dan
Tabel 4.13 menunjukkan tabel kebenaran BCD ke decoder tujuh segmen. Itu
dekoder memiliki 4 input dan 7 output; input ke decoder adalah BCD (biner-
kode desimal yang dari 0000 hingga 1001), seperti yang ditunjukkan pada Tabel 4.13; jika
nilai input lebih besar dari 1001, maka outputnya tidak peduli.
Ada tujuh output, dan setiap output membutuhkan K-map untuk menemukan
fungsi keluaran. Gambar 4.39 menunjukkan peta-K untuk keluaran a.
Dengan membaca K-peta Gambar 4.39, hasilnya adalah fungsi a:
a¼B
0
D
0 þ A þ C þ BD
Dengan menggunakan prosedur di atas, seseorang dapat menemukan fungsi output lainnya.
Gambar 4.38 Diagram blok
dari BCD menjadi tujuh segmen
dekoder
Tabel 4.13 Tabel kebenaran
untuk BCD hingga tujuh segmen
dekoder
SEBUAH
B
C
D
Sebuah
b
c
d
e
f
g
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
1
1
1
0
1
0
d
d
d
d
d
d
d
1
0
1
1
d
d
d
d
d
d
d
1
1
0
0
d
d
d
d
d
d
d
1
1
0
1
d
d
d
d
d
d
d
1
1
1
0
d
d
d
d
d
d
d
1
1
1
1
d
d
d
d
d
d
d
4.9 Layar Tujuh Segmen
91

Halaman 104
4.10 Ringkasan
• Rangkaian kombinasional adalah sirkuit digital dengan satu atau lebih input digital dan
output digital.
• Output dari sirkuit kombinasional tergantung pada nilai input saat ini.
• Sirkuit logika kombinasional dapat diwakili oleh fungsi atau tabel kebenaran.
• Dekoder adalah logika kombinasional dengan n input dan output 2 n ; jika n ¼ 2 maka
decoder adalah 2 * 4.
• Dekoder menghasilkan minterm input; decoder dengan dua input menghasilkan empat
minterm.
• Multiplexer adalah sirkuit kombinasi dengan 2 n input dan satu output, di mana n adalah
jumlah garis pilih. Jika n ¼ 2, maka multiplexer akan menjadi 4 * 1.
• Fungsi half adder (HA) adalah untuk menambahkan 2 bit dan menghasilkan jumlah dan membawa.
• Fungsi full adder (FA) adalah untuk menambahkan 3 bit.
• Fungsi penambah biner 4-bit adalah untuk menambahkan dua angka 4-bit.
• Unit logika aritmatika (ALU) adalah logika kombinasional yang melakukan aritmatika
operasi dan operasi logika.
• Tampilan tujuh segmen digunakan untuk menampilkan satu digit angka desimal.
• Dekoder BCD ke tujuh segmen mengubah BCD 4-bit menjadi 7 bit untuk dihubungkan ke
Tampilan 7-segmen.
• Bab 5 mencakup sirkuit logika berurutan, dan topik yang disajikan dalam bab ini
adalah D, JK, dan T flip-flop, register, shift register, state diagram, state table, dan
merancang counter.
Masalah
1. Diagram logika sirkuit kombinasional berikut diberikan; temukan hasilnya
fungsi dan tabel kebenaran untuk setiap fungsi.
(Sebuah)
X
Y
F
Gambar 4.39 K-map untuk
output a
92
4 Logika Kombinasi
Halaman 105
(b)
X
Y
F
(c)
X
Y
F
(d)
X
Y
F
2. Temukan output dari gerbang berikut.
X
1
F=
F=
X
0
3. Temukan output F untuk setiap rangkaian input.
1
0
0
0
1
1
0
1
1
0
1
0
F
4.10 Ringkasan
93

Halaman 106
4. Desain sirkuit logika dengan tiga input dan satu output; output menghasilkan bahkan
bit paritas dari input.
(a) Perlihatkan tabel kebenaran.
(B) Temukan fungsi output.
(c) Gambar sirkuit logika.
5. Menerapkan fungsi F (X, Y, Z) ¼ XY
0 þ XZ 0
menggunakan:
(a) Dekoder
(B) Multiplexer
6. Menerapkan fungsi-fungsi berikut hanya menggunakan satu decoder dan gerbang eksternal:
F1 (X, Y, Z) ¼ ∑ (0,3,4)
F2 (X, Y, Z) ¼ ∑ (2,3,5)
7. Menerapkan penambah lengkap menggunakan dekoder.
8. Multiplexer berikut diberikan; lengkapi mejanya.
SEBUAH
B
C
F
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
1
9. Menerapkan fungsi F (W, X, Y, Z) ¼ ∑ (0,1,3,4,7,8,9,11,12,15) menggunakan MUX.
10. Rancang penambah biner 8-bit menggunakan penambah biner 4-bit.
94
4 Logika Kombinasi

Halaman 107
11. Rancang penambah biner 16-bit menggunakan penambah biner 4-bit.
12. Desain logika kombinasional dengan tiga input dan tiga output; jika input 0, 1,
2, atau 3 maka output 3 lebih dari input, jika input 4, 5, 6, atau 7 maka output 3 kurang dari
input.
13. Sebuah kereta dengan 7 gerbong mengangkut penumpang dan bernomor mulai 1 hingga 7; setiap gerobak
berisi sakelar biner untuk keadaan darurat, dan saat sakelar mana pun menjadi
aktif, kemudian tampilkan nomor gerobak di kabin konduktor dalam desimal. Verifikasi
desain menggunakan Logisim.
14. Desain sirkuit kombinasional dengan empat input dan satu output; masukan ke
sirkuit kombinasional adalah BCD, dan output menghasilkan paritas genap untuk input.
15. Desain 16 * 1 MUX menggunakan 4 * 1 MUX.
16. Rancang ALU 4-bit untuk melakukan fungsi-fungsi berikut:
A þ B, A À B, A þ 1, A
0
,B
0
, A ATAU B, A XOR B, A DAN B
17. Desain logika kombinasional yang membandingkan X dan Y, di mana X ¼ X1X0 dan
Y ¼ Y1Y0; output dari logika kombinasional adalah 1, ketika X <Y; selain itu
output adalah 0.
(a) Tunjukkan tabel kebenaran.
(B) Temukan fungsi output menggunakan K-map.
4.10 Ringkasan
95

Halaman 108
Bab 5
Logika Berurutan Sinkron
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Menganalisis logika sekuensial.
• Pelajari pengoperasian kait SR.
• Desain D flip-flop dari kait SR.
• Pelajari penerapan flip-flop D.
• Pelajari pengoperasian JK dan sandal jepit T.
• Mendesain register dan menggeser register menggunakan D flip-flop.
• Kembangkan tabel status untuk rangkaian berurutan.
• Kembangkan diagram keadaan dari tabel keadaan.
• Kembangkan tabel eksitasi untuk setiap jenis flip-flop.
• Desain penghitung digital.
5.1 Pendahuluan
Sirkuit logika berurutan mengandung elemen memori, dan output tergantung pada
nilai input saat ini dan kondisi level input sebelumnya. Gambar 5.1 menunjukkan blok
diagram logika berurutan seperti yang ditunjukkan pada gambar ini; output tergantung pada input
dan status elemen memori saat ini; dalam gambar ini, output dari kombinasional
logika adalah input ke elemen memori, dan output dari elemen memori adalah
input untuk logika kombinasional; elemen dasar elemen memori adalah flip
jepit yang dapat menampung nilai-nilai biner selama perangkat diaktifkan. Output dari a
logika sekuensial sinkron tergantung pada output elemen memori dan
input. Aplikasi logika sekuensial sinkron merancang register,
penghitung, dan memori. Logika sekuensial sinkron beroperasi dengan pulsa jam.
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_5
97

Halaman 109
5.2 Kait SR
SR latch adalah jenis memori dengan dua input S (set) dan R (reset), dua output Q,
dan Q
0
, dan output adalah pelengkap satu sama lain. Gambar 5.2 menunjukkan blok
diagram kait SR.
Kait SR dapat dibangun dengan gerbang NOR atau NAND: Gambar 5.3 menunjukkan SR
kait menggunakan gerbang NOR dan Gbr. 5.4 menunjukkan kait SR menggunakan gerbang NAND.
Gambar 5.1. Blok diagram logika sekuensial sinkron
Gambar 5.2 Diagram blok
SR latch
S
R
Q
Q'
Gambar 5.3 Rangkaian logika
SR latch menggunakan NOR
gerbang
S
R
Q
Q'
Gambar 5.4 Rangkaian logika
SR latch menggunakan NAND
gerbang
98
5 Logika Berurutan Sinkron

Halaman 110
Pengoperasian Latch SR Perhatikan kait SR dari Gambar 5.4 yang dibuat dengan
Gerbang NAND; langkah-langkah berikut menjelaskan operasi kait SR, dan Tabel 5.1
menunjukkan tabel karakteristiknya:
1. Dengan mengatur S ¼ 0 dan R ¼ 0, hasil menghasilkan Q ¼ Q
0 ¼ 1 yang tidak diizinkan
karena Q dan Q
0
harus saling melengkapi satu sama lain; oleh karena itu, S ¼ R ¼ 0 adalah
terlarang.
2. Dengan mengatur S ¼ 0 dan R ¼ 1, hasil Q ¼ 1 dan Q
0 ¼ 0 seperti yang ditunjukkan pada Tabel 5.1 , jika S
berubah dari 0 ke 1 maka Q tidak berubah.
3. Dengan mengatur S ¼ 1 dan R ¼ 0, hasil Q ¼ 0 dan Q
0 ¼ 1, jika R berubah dari 0 menjadi
1 maka Q tidak berubah. Dapat disimpulkan ketika S ¼ R ¼ 1 output dari Q
tidak berubah (jika Q ¼ 0 tetap 0 atau Q ¼ 1 tetap 1). Kait SR adalah logika dasar
sirkuit untuk D, JK, dan T sandal jepit.
5.3 D Flip-Flop
D flip-flop adalah memori 1-bit, dan digunakan untuk mendesain SRAM (Static RAM) dan
daftar; Gambar 5.5 menunjukkan diagram logika D flip-flop. Input ke flip-flop adalah D
dan jam. Ketika jam adalah 0, maka S ¼ R ¼ 1, dan menurut Tabel 5.2 tersebut
output flip-flop tidak berubah, dengan mengatur D ke 0, dan mengubah jam dari 0 ke
1 hasil S ¼ 0 dan R ¼ 1 kemudian Q ¼ 0 dan Q
0 ¼ 1; ini berarti ketika input D ¼ 0 dan
menerapkan jam, output Q berubah menjadi 0. Pengaturan D ke 1 dan mengubah jam dari
0 hingga 1 hasil S ¼ 0 dan R ¼ 1, dan kemudian menurut Tabel 5.2, Q diatur ke satu;
ini berarti ketika input D ¼ 1 dan menerapkan jam, output Q berubah menjadi
1. Gambar 5.6 menunjukkan diagram blok D flip-flop, dan naiknya tepi jam adalah
diwakili oleh "" dan Tabel 5.2 menunjukkan tabel karakteristik D flip-flop.
Tabel 5.1 Karakteristik
tabel kait SR
S
R
Q
Q
0
0
0
1
1 Dilarang
0
1
1
0
1
1
1
0 Tidak ada perubahan
1
0
0
1
1
1
0
1 Tidak ada perubahan
D
Jam
010
S
R
Q
Q'
Gambar 5.5. Rangkaian logika D flip-flop
5.3 D Flip-Flop
99

Halaman 111
5.4 JK Flip-Flop
Gambar 5.7 menunjukkan diagram blok JK flip-flop di mana J, K, dan jam adalah
masukan untuk JK flip-flop. Penerapan JK flip-flop adalah counter dan frekuensi
pembagi. Tabel 5.3 menunjukkan tabel karakteristik JK flip-flop, dan langkah-langkah berikut
jelaskan operasi JK flip-flop:
(a) Dengan mengatur J ¼ K ¼ 0 dan menerapkan pulsa clock ke flip-flop, output Q tidak
tidak berubah, jika Q ¼ 0 maka tetap 0, atau jika Q ¼ 1 maka tetap 1.
(B) Dengan mengatur J ¼ 0, K ¼ 1 dan menerapkan pulsa clock ke flip-flop, kemudian output Q
berubah menjadi 0.
(c) Dengan mengatur J ¼ 1, K ¼ 0 dan menerapkan jam ke flip-flop, output Q berubah
ke 1.
(d) Dengan mengatur J ¼ K ¼ 1 dan menerapkan pulsa clock, output dari flip-flop adalah
pelengkap dari output sekarang; ini berarti jika Q ¼ 0 dan menerapkan jam, maka
output berubah menjadi 1 dan jika Q ¼ 1 dan menerapkan clock pulse maka output akan
ubah ke 0.
Tabel 5.2 Karakteristik
tabel D flip-flop
Jam
D
Q
"
0
0
"
1
1
Gambar 5.6 Diagram blok dari
D flip-flop
Gambar 5.7 JK flip-flop
Tabel 5.3 Karakteristik
meja JK flip-flop
Jam
J
K
Q
"
0
0
Tidak ada perubahan
"
0
1
0
"
1
0
1
"
1
1
Melengkapi
100
5 Logika Berurutan Sinkron

Halaman 112
5.5 T Flip-Flop
T flip-flop adalah kasus khusus JK flip-flop, dan dengan menghubungkan input J dan K JK
flip-flop bersama menghasilkan T-flip-flop; Gambar 5.8 menunjukkan diagram blok T flip-
gagal, dan Tabel 5.4 menunjukkan tabel karakteristik T flip-flop; seperti yang ditunjukkan pada
Tabel 5.4 jika T ¼ 0 dan menerapkan clock pulse, maka output dari T flip-flop tidak
tidak berubah, dan jika T ¼ 1 dan menerapkan jam, maka output flip-flop menjadi
pelengkap dari output sekarang.
5.6 Mendaftar
D flip-flop adalah memori 1-bit atau register 1-bit. Jika sekelompok D sandal jepit berbagi a
jam umum, itu disebut register; register N-bit dibangun dengan ND flip-
jepit, dan jika sandal jepit 32 D menggunakan jam biasa, maka itu disebut register 32-bit.
Gambar 5.9 menunjukkan register 4-bit, dan pada gambar ini dengan menempatkan 1101 pada input dan
menerapkan clock pulse, maka output akan menjadi 1101.
Shift Register
Register geser memiliki satu input serial, dan satu bit dimuat dari input serial ke dalam
mendaftar dengan setiap pulsa jam, dan kemudian setiap bit register digeser ke bit berikutnya
posisi. Gambar 5.10 menunjukkan operasi register kanan bergeser 4-bit, dan setelah menggesernya
bit ke kanan, isi register akan 0101. Gambar 5.11 menunjukkan 4-bit
serial register kanan bergeser.
Contoh Gambar 5.12 menunjukkan register kanan shift 4-bit; perlihatkan isi register
setelah menerapkan empat pulsa clock, dan asumsikan output awal dari masing-masing D flip-flop adalah
nol.
Gambar 5.13 menunjukkan register shift kiri dengan input serial 1110100, dan Tabel 5.5
menunjukkan isi register setelah menerapkan pulsa lima jam; asumsikan output awal
dari setiap flip-flop adalah 0.
Gambar 5.8 Blok diagram T-flip-flop
Tabel 5.4 Karakteristik
tabel T flip-flop
Jam
T
Q
"
0
Tidak ada perubahan
"
1
Melengkapi
5.6 Mendaftar
101

Halaman 113
Barrel Shifter
Barrel shifter digunakan untuk memindahkan data ke kiri dan kanan; barrel shifter menggunakan kombinasi
logika nasional agak menggeser register; logika kombinasional tidak memerlukan jam dan memang demikian
shifter tercepat; Gambar 5.14 menunjukkan barrel shifter 4-bit dan Tabel 5.5 menunjukkan operasi
meja untuk barel shifter.
5.7 Pembagi Frekuensi Menggunakan JK Flip-Flop
Gambar 5.15 menunjukkan JK flip-flop sebagai pembagi frekuensi; input J dan K diatur ke
1 dan asumsikan nilai awal Q ¼ 0; seperti yang ditunjukkan pada gambar ini, untuk setiap dua jam
pulsa diterapkan pada flip-flop, lalu Q menghasilkan satu pulsa clock seperti yang ditunjukkan pada
Gambar 5.15; ini berarti sirkuit membagi frekuensi dengan 2.
Gambar 5.10 Operasi register kanan bergeser 4-bit
Gambar 5.9 Register 4-bit
Gbr. 5.11 Register kanan bergeser seri 4-bit
102
5 Logika Berurutan Sinkron

Halaman 114
Gbr. 5.12 Register kanan bergeser 4-bit
Gbr. 5.13 Register geser kiri 4-bit
Tabel 5.5 Shifter barel
operasi
S1
S0
D3
D2
D1
D0
0
X
A3
A2
A1
A0
1
0
0
A3
A2
A1
1
1
A2
A1
A0
0
5.7 Pembagi Frekuensi Menggunakan JK Flip-Flop
103

Halaman 115
5.8 Analisis Sequential Logic
Dalam logika kombinasional, tabel kebenaran mewakili karakteristik fungsi,
tetapi karakteristik logika sekuensial diwakili oleh tabel negara. Tabel negara adalah
diwakili oleh kondisi sekarang, status berikutnya, dan output. Keadaan sekarang adalah saat ini
keadaan flip-flop (output saat ini), dan state berikutnya adalah output dari flip-flop setelah
menerapkan jam ke logika berurutan. Gambar 5.16 menunjukkan rangkaian berurutan dengan
dua sandal jepit JK dengan dua negara bagian A dan B; tabel negara terdiri dari dua kolom
kondisi sekarang dan selanjutnya; kondisi saat ini merepresentasikan keluaran flip-flop saat ini
dengan semua nilai yang mungkin untuk A dan B (00, 01, 10, dan 11) seperti yang ditunjukkan pada Tabel 5.6 .
Pertimbangkan baris pertama; keadaan saat ini adalah 00 (berarti A ¼ 0 dan B ¼ 0); ini
tertarik untuk mencari output flip-flop (keadaan selanjutnya) dengan menerapkan clock pulse. Jika
Gambar 5.15 Pembagi frekuensi menggunakan JK flip-flop
Gambar 5.14 Shifter barel 4-bit
104
5 Logika Berurutan Sinkron

Halaman 116
A ¼ 0 dan B ¼ 0 menghasilkan JA ¼ KA ¼ 0, JB ¼ KB ¼ 1, kemudian menerapkan clock pulse ke
sandal jepit menghasilkan A ¼ 0 dan B ¼ 1 (AB ¼ 01 keadaan selanjutnya).
Pertimbangkan baris kedua, untuk kondisi sekarang A ¼ 0 dan B ¼ 1; karena itu,
JA ¼ KA ¼ 1, JB ¼ 0, dan KB ¼ 1; menerapkan pulsa jam ke hasil sandal jepit
ke keadaan selanjutnya dengan A ¼ 1 dan B ¼ 0; prosedur yang sama digunakan untuk baris 10 dan 11 untuk
temukan status selanjutnya. Tabel 5.6 memperlihatkan tabel status untuk logika sekuensial dari Gambar 5.16 .
Gambar 5.16 Logika berurutan
Tabel 5.6 Tabel keadaan
untuk Gambar 5.16
Kondisi sekarang
Keadaan selanjutnya
SEBUAH
B
SEBUAH
B
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
5.8 Analisis Sequential Logic
105

Halaman 117
Contoh 5.1 Temukan tabel keadaan Gambar 5.17.
Gambar 5.17 berisi input eksternal X, dan Tabel 5.7 menunjukkan stabil dengan dua
kolom untuk status berikutnya: satu untuk X ¼ 0 dan satu lagi untuk X ¼ 1.
5.9 Diagram Negara
Cara lain untuk mewakili karakteristik logika sekuensial adalah dengan diagram keadaan,
seperti yang ditunjukkan pada Gambar. 5.18 . Keadaan saat ini adalah nilai flip-flop saat ini, dan
menerapkan jam kondisi sekarang berubah ke kondisi berikutnya.
Diagram D Flip-Flop State Gambar 5.19 menunjukkan diagram state D-flip-flop, dan
langkah-langkah berikut menggambarkan diagram keadaan:
SEBUAH
Jam
D
C
Q
DEV2
X
Gambar 5.17 Urutan
sirkuit
Tabel 5.7 Tabel keadaan untuk
Gambar 5.17
Kondisi sekarang
Status selanjutnya untuk X ¼ 0
Status selanjutnya untuk X ¼ 1
SEBUAH
SEBUAH
SEBUAH
0
0
1
1
1
0
Gambar 5.18 State diagram
Gambar 5.19 Diagram keadaan untuk
D flip-flop
106
5 Logika Berurutan Sinkron

Halaman 118
1. Jika Q ¼ 0 (kondisi sekarang), dengan mengatur D ¼ 1 dan menerapkan jam, maka Q berubah
dari 0 hingga 1 (status berikutnya).
2. Jika Q ¼ 1, dengan mengatur D ¼ 1 dan menerapkan jam, maka output tetap 1.
3. Jika Q ¼ 1, dengan mengatur D ¼ 0 dan menerapkan jam, maka output berubah menjadi 0.
4. Jika Q ¼ 0, dengan mengatur D ¼ 0 dan menerapkan jam, maka output tetap 0.
Gambar 5.20 menunjukkan diagram keadaan JK dan T sandal jepit.
5.10 Tabel Eksitasi Flip-Flop
Penerapan tabel eksitasi adalah untuk menentukan input atau input dari flip-flop di
untuk mendapatkan hasil yang telah ditentukan.
D Tabel Eksitasi Flip-Flop
Tabel 5.8 menunjukkan tabel eksitasi untuk D flip-flop: Q (t) adalah output sekarang (kondisi sekarang)
dan Q (t + 1) adalah status berikutnya.
Pengoperasian Tabel Eksitasi Pertimbangkan baris pertama dari Tabel 5.8, jika Q (t) ¼0 (pra-
mengirim status) dan diinginkan setelah menerapkan clock pulse, output Q (t + 1) tetap
0 dan kemudian D harus diatur ke 0.
Pertimbangkan baris kedua, output saat ini dari D flip-flop (kondisi sekarang) adalah 0, dan
diinginkan untuk mengubah output Q (t + 1) menjadi satu; oleh karena itu, input D harus diatur ke 1.
Gambar 5.20 diagram keadaan JK dan T-flip-flop
Tabel 5.8 Tabel eksitasi
untuk D flip-flop
Q (t)
Q (t + 1)
D
0
0
0
0
1
1
1
0
0
1
1
1
5.10 Tabel Eksitasi Flip-Flop
107

Halaman 119
Pertimbangkan baris ketiga, output sekarang adalah 1, dan diinginkan untuk mengubah
output (status berikutnya) ke 0; oleh karena itu input D harus diatur ke 0.
Pertimbangkan baris keempat, kondisi saat ini adalah 1, dan diinginkan untuk tetap 1;
oleh karena itu, D harus diatur ke satu.
Tabel Eksitasi JK Flip-Flop
Tabel 5.9 menunjukkan tabel eksitasi JK flip-flop, dan langkah-langkah berikut menjelaskan caranya
tabel ini dihasilkan:
1. Pertimbangkan baris pertama dari tabel eksitasi, kondisi flip-flop saat ini adalah nol,
dan diinginkan untuk tetap 0 dengan menerapkan clock pulse; oleh karena itu, J harus diatur ke nol dan
K tidak peduli (0 atau 1).
2. Pertimbangkan baris kedua, kondisi flip-flop saat ini adalah 0, dan diinginkan untuk
ubah output menjadi 1 dengan menerapkan pulsa clock; oleh karena itu, J harus diatur ke 1 dan K
tidak bisa peduli.
3. Pertimbangkan baris ketiga, status sekarang Q (t) adalah 1, dan diinginkan untuk mengubahnya
0; oleh karena itu, J tidak dapat peduli dan k ¼ 1.
4. Pertimbangkan baris keempat, kondisi saat ini adalah 1, dan diinginkan untuk tetap 1;
oleh karena itu, J tidak bisa peduli dan K ¼ 0.
T Tabel Eksitasi Flip-Flop. Tabel 5.10 menunjukkan tabel eksitasi T flip-flop.
5.11 Penghitung
Penghitung adalah logika berurutan yang digunakan untuk menghitung jumlah pulsa yang diterapkan
untuk itu atau membagi frekuensi jam jika sistem memiliki jam 16 Hz, dan dimungkinkan untuk
gunakan penghitung untuk mengubah jam 16 Hz menjadi 4 Hz. Langkah-langkah berikut menjelaskan cara melakukannya
desain penghitung:
Tabel 5.9 JK flip-flop
tabel eksitasi
Q (t)
Q (t + 1)
J
K
0
0
0
d
0
1
1
d
1
0
d
1
1
1
d
0
Tabel 5.10 T flip-flop
tabel eksitasi
Q (t)
Q (t + 1)
T
0
0
0
0
1
1
1
0
1
1
1
0
108
5 Logika Berurutan Sinkron
Halaman 120
(a) Tetapkan urutan jumlah yang merupakan urutan yang akan dihitung penghitung.
(B) Gunakan urutan hitungan untuk menentukan jumlah sandal jepit.
(c) Pilih jenis flip-flop.
(D) Gunakan urutan hitungan untuk mengembangkan tabel negara.
(e) Gunakan tabel keadaan dan tabel eksitasi flip-flop untuk membuat tabel eksitasi
melawan.
(f) Gunakan K-map untuk menemukan fungsi atau fungsi input untuk setiap flip-flop.
(g) Gambar logika berurutan untuk penghitung.
Contoh: Rancang penghitung untuk menghitung 0—1—2—3 dan ulangi menggunakan JK flip-flop.
Angka terbesar dalam urutan hitungan adalah 3 yang diwakili dalam biner dengan 11;
oleh karena itu, dua sandal jepit diperlukan dan disebut A dan B seperti yang ditunjukkan pada Gambar 5.22,
dan Tabel 5.11 menunjukkan tabel keadaan untuk penghitung.
Keadaan saat ini mendefinisikan keluaran flip-flop saat ini, dan status selanjutnya adalah
Output sandal jepit setelah menerapkan pulsa jam.
Tabel 5.12 menunjukkan tabel eksitasi untuk penghitung yang dikembangkan dengan menggunakan
tabel eksitasi JK flip-flop.
Pertimbangkan baris pertama, keluaran sekarang dari sandal jepit JK adalah 00 (A ¼ 0, B ¼ 0),
dan diinginkan output berubah menjadi 01 (A ¼ 0 dan B ¼ 1); oleh karena itu, harus ditetapkan
JA ¼ 0, KA ¼ d (tidak peduli) agar A tetap 0 dan mengatur JB ¼ 1, KB ¼ d di
memesan agar B berubah dari 0 ke 1.
Pertimbangkan baris kedua, kondisi saat ini adalah 01 (A ¼ 0 dan B ¼ 1), dan itu
diinginkan output berubah menjadi 10 (A ¼ 1 dan B ¼ 0); karena itu, ia harus mengatur JA ¼ 1,
KA ¼ d, dan JB ¼ 0, KB ¼ d.
Diinginkan untuk menemukan fungsi input ke flip-flop, keadaan sekarang adalah
input, dan JA, KA, JB, dan KB adalah output dari Tabel 5.12 , dengan mentransfer
output ke peta-K, dan membaca peta-K menghasilkan fungsi input ke
sandal jepit; Gambar 5.21 menunjukkan K-maps untuk JA, KA, JB, dan KB.
Fungsi input untuk sandal jepit adalah JA ¼ JB ¼ B, JB ¼ B
0
dan KB ¼ 1, dan
Gambar 5.22 menunjukkan sirkuit penghitung 2-bit.
Tabel 5.11 Tabel keadaan
melawan
Kondisi sekarang
Keadaan selanjutnya
SEBUAH
B
SEBUAH
B
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
Tabel 5.12 Tabel eksitasi
untuk counter
Kondisi sekarang
Keadaan selanjutnya
SEBUAH
B
SEBUAH
B
JA
KA
JB
KB
0
0
0
1
0
d
1
d
0
1
1
0
1
d
d
1
1
0
1
1
d
0
1
d
1
1
0
0
d
1
d
1
5.11 Penghitung
109

Halaman 121
5.12 Ringkasan
• Sirkuit logika berurutan membutuhkan jam untuk beroperasi.
• Kait SR adalah komponen dasar untuk flip-flop.
• Kait SR dapat dibangun oleh gerbang NAND atau NOR.
• Elemen dasar logika sekuensial adalah flip-flop.
• Flip-flop adalah elemen memori dengan dua output Q dan Q
0
.
• Dengan menerapkan jam pada flip-flop D, nilai dari input input D pada Q
keluaran.
• D flip-flop digunakan untuk mendesain register.
Gbr. 5.21 K-maps untuk penghitung 2-bit
110
5 Logika Berurutan Sinkron

Halaman 122
• Daftar adalah grup D flip-flop yang berbagi jam yang sama.
• JK flip-flop digunakan untuk penghitung desain.
• Menghubungkan input JK flip-flop bersama menghasilkan T-flip-flop.
• Tabel keadaan dan diagram keadaan menunjukkan operasi rangkaian berurutan.
• Bab 6 adalah pengantar arsitektur komputer yang mencakup komputer dasar.
ponents komputer mikro serta teknologi CPU, arsitektur CPU,
prosesor multicore, langkah-langkah pelaksanaan instruksi, pipelining, dan komputer mikro
bis-bis.
Masalah 1. Lengkapi tabel berikut untuk D flip-flop.
D
Q (t) menampilkan keluaran
Q (t + 1) output selanjutnya
0
0
0
1
1
0
1
1
Gbr. 5.22 Logika berurutan
penghitung 2-bit
5.12 Ringkasan
111

Halaman 123
2. Lengkapi tabel berikut untuk JK flip-flop.
J
K
Q (t) menampilkan keluaran
Q (t + 1) output selanjutnya
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
3. Lengkapi tabel berikut untuk T flip-flop.
T
Q (t) menampilkan keluaran
Q (t + 1) output selanjutnya
0
0
0
1
1
0
1
1
4. Gambar berikut menunjukkan logika berurutan; lengkapi tabel berikut
dengan asumsi nilai awal Q1 ¼ 0 dan Q2 ¼ 0. Gunakan logisim untuk memverifikasi jawaban Anda.
Jam
Q0
Q1
Nilai awal
0
0
Jam # 1
Jam # 2
Jam # 3
5. Tampilkan register 8-bit menggunakan D flip-flop.
6. Berikut register geser yang diberikan, cari output setelah lima jam pulsa.
112
5 Logika Berurutan Sinkron

Halaman 124
Q3
Q2
Q1
Q0
D3
D
Flip Flop
D2
D
Flip Flop
D1
D
Flip Flop
D0
D
Jam
11000111
Serial Dalam
Flip Flop
7. Dengan logika urutan berikut yang diberikan, asumsikan nilai awal untuk Q0 ¼ 0 dan
Q1 ¼ 0, dan flip-flop berubah status di tepi naik dari pulsa clock; menyelesaikan
tabel berikut dan kemudian gunakan logisim untuk memverifikasi hasil Anda.
Jam
Q0
Q1
Nilai awal
0
0
Jam # 1
Jam # 2
Jam # 4
Jam # 4
8. Lengkapi tabel eksitasi berikut untuk JK flip-flop.
Q (t)
Q (t + 1)
J
K
0
0
0
1
1
0
1
1
9. Rancang penghitung untuk menghitung 0—1—2—3—4—5—6—7 dan ulangi.
(a) Gunakan sandal jepit JK.
(B) Gunakan T sandal jepit.
(c) Verifikasi desain Anda menggunakan logisim.
5.12 Ringkasan
113

Halaman 125
10. Temukan diagram keadaan untuk tabel keadaan berikut.
AB
AB
AB
X¼0
X¼1
00
01
10
01
10
00
10
11
01
11
00
10
11. Apa isi dari register berikut setelah bergeser lima kali ke kiri?
12. Tampilkan tabel keadaan dan diagram keadaan untuk rangkaian berikut.
X
SEBUAH
B′
Jam
KB
JB
KB
JA
B
B
SEBUAH
SEBUAH
114
5 Logika Berurutan Sinkron

Halaman 126
Bab 6
Pengantar Arsitektur Komputer
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Daftar komponen komputer mikro.
• Daftar komponen CPU.
• Bedakan teknologi CPU.
• Pelajari arsitektur prosesor multicore.
• Bandingkan prosesor RISC dengan prosesor CISC.
• Jelaskan perbedaan antara von Neumann dan arsitektur Harvard.
• Bedakan antara prosesor 32-bit dan prosesor 64-bit.
• Jelaskan langkah-langkah pelaksanaan instruksi.
• Tunjukkan keuntungan dari pipelining instruksi.
• Bedakan berbagai jenis bus mikro komputer.
• Menjelaskan operasi bus USB.
6.1 Pendahuluan
Sama seperti arsitektur bangunan menentukan keseluruhan desain dan fungsinya, demikian juga
arsitektur komputer mendefinisikan desain dan fungsionalitas sistem komputer.
Komponen komputer mikro dirancang untuk berinteraksi satu sama lain, dan
interaksi ini memainkan peran penting dalam operasi sistem secara keseluruhan.
6.2 Komponen Komputer Mikro
Komputer mikro standar terdiri dari mikroprosesor (CPU), bus, memori,
input / output paralel, input / output serial, interupsi I / O yang dapat diprogram, dan langsung
akses memori DMA. Gambar 6.1 menunjukkan komponen komputer mikro.
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_6
115

Halaman 127
6.2.1 Unit Pemrosesan Pusat (CPU)
Central processing unit (CPU) adalah "otak" komputer dan bertanggung jawab
untuk menerima data dari perangkat input, memproses data menjadi informasi, dan
mentransfer informasi ke perangkat memori dan output. CPU diatur
ke dalam tiga bagian utama berikut:
1. Unit logika aritmatika (ALU)
2. Unit kontrol
3. Daftar
Fungsi unit logika aritmatika (ALU) adalah untuk melakukan operasi aritmatika
seperti operasi penjumlahan, pengurangan, pembagian, dan perkalian dan logika
seperti DAN, ATAU, dan BUKAN.
Fungsi unit kontrol adalah untuk mengontrol perangkat input / output, menghasilkan
mengontrol sinyal ke komponen lain dari komputer seperti membaca dan menulis
sinyal, dan melakukan eksekusi instruksi. Informasi dipindahkan dari memori ke
register; register kemudian meneruskan informasi ke ALU untuk logika dan
operasi aritmatika.
Daftar Daftar adalah memori tercepat di komputer yang menyimpan informasi.
6.2.2 Bus CPU
Ketika lebih dari satu kawat membawa jenis informasi yang sama, itu disebut bus.
Bus paling umum di dalam komputer mikro adalah bus alamat, bus data,
dan bus kontrol.
Dapat diprogram
Mengganggu
Akses memori langsung
DMA
Penyimpanan
Input / Output paralel
Antarmuka
Input / Output Seri
Antarmuka
Hitung
Unit Logika
Daftar
Unit Kontrol
CPU
Bus data
Alamat BUS
Kontrol Bus
Gbr. 6.1 Komponen komputer mikro
116
6 Pengantar Arsitektur Komputer

Halaman 128
Bus Alamat Bus alamat menentukan jumlah lokasi yang dapat dialamatkan dalam a
IC memori dengan menggunakan rumus 2 n , di mana n mewakili jumlah baris alamat.
Jika bus alamat terdiri dari tiga baris, maka ada 2 3 = 8 yang dapat dialamatkan
lokasi memori, seperti yang ditunjukkan pada Gambar 6.2 . Ukuran bus alamat langsung
menentukan jumlah maksimum lokasi memori yang dapat diakses oleh
CPU. Sebagai contoh, CPU dengan 32 address bus dapat memiliki 2 32 addressable
lokasi memori.
Bus Data Bus data digunakan untuk membawa data ke dan dari memori. Dalam Gambar. 6.2,
setiap lokasi hanya dapat menampung empat bit. Ukuran IC memori diwakili oleh
2 n xm dengan n adalah jumlah baris alamat dan m adalah ukuran setiap lokasi. Di
Gambar 6.2 , di mana n = 3 dan m = 4, ukuran memori adalah
2 3 ∗ 4 = 32 bit.
Ukuran bus data memainkan faktor penting pada kinerja CPU, CPU saat ini
bus data adalah 32 bit atau 64 bit, dan CPU dengan bus data 32-bit berarti dapat membaca atau
tulis 32 bit data di dan dari memori.
CPU generasi awal berisi bus data 8-bit, dan setiap lokasi memori
memegang satu byte, untuk membaca kata "buku" seperti yang ditunjukkan pada Gambar. 6.3 . CPU mengharuskan untuk
akses memori empat kali.
000
001
010
011
100
101
110
111
Bus Alamat
Bus data
Baca tulis
Gambar 6.2 Memori dengan
tiga baris alamat dan empat
jalur data
Gambar. 6.3 CPU dengan 8 bit
Bus data
6.2 Komponen Komputer Mikro
117

Halaman 129
Dengan menambah bus data dari 8 bit menjadi 32 bit, maka CPU dapat mengakses memori dan
baca seluruh kata "buku." Sebagian besar CPU menawarkan instruksi untuk membaca 1 byte, 2 byte, atau
4 byte dari memori.
Bus Kontrol Bus kontrol membawa sinyal kontrol dari unit kontrol ke
komponen komputer untuk mengendalikan operasi masing-masing komponen. Di
Selain itu, unit kontrol menerima sinyal kontrol dari komponen komputer.
Beberapa sinyal kontrol adalah sebagai berikut:
Baca sinyal:
Baris baca diatur ke tinggi untuk membaca dari lokasi memori atau
perangkat input / output (I / O).
Tulis sinyal:
Baris tulis digunakan untuk menulis data ke dalam memori.
Mengganggu:
Menunjukkan permintaan interupsi.
Permintaan bus:
Perangkat meminta untuk menggunakan bus komputer.
Pemberian Bus:
Memberikan izin kepada perangkat yang meminta untuk menggunakan
bus komputer.
I / O Baca dan
Menulis:
I / O baca dan tulis digunakan untuk membaca dari atau menulis ke perangkat I / O.
6.2.3 CPU 32-Bit versus 64-Bit
Ukuran register memainkan peran penting dalam kinerja CPU. A 32-bit
prosesor berarti dapat melakukan operasi pada data 32-bit; Oleh karena itu, ukuran
register adalah 32 bit dan ALU juga melakukan operasi 32-bit. CPU 64-bit
melakukan operasi dalam data 64-bit; oleh karena itu, ini berisi register 64-bit dan
64-bit ALU.
Sebagian besar komputer desktop dan server menggunakan prosesor AMD dan Intel; mereka
mungkin menggunakan 32 bit atau 64 bit. Prosesor Intel dan AMD menggunakan arsitektur yang sama; ini
berarti program di komputer dengan prosesor Intel dapat berjalan di komputer dengan
Prosesor AMD.
6.3 Teknologi CPU
Ada dua jenis teknologi yang digunakan untuk merancang CPU dan mereka disebut CISC
dan RIS.
CISC (Complex Instruction Set Computer) Pada tahun 1978, Intel mengembangkan 8086
chip mikroprosesor. 8086 dirancang untuk memproses kata data 16-bit; itu
tidak ada instruksi untuk operasi floating point. Saat ini, Pentium
memproses kata-kata 32-bit dan 64-bit, dan dapat memproses instruksi floating point.
118
6 Pengantar Arsitektur Komputer

Halaman 130
Intel merancang prosesor Pentium sedemikian rupa sehingga dapat menjalankan program
ditulis untuk prosesor 80 x 86 sebelumnya.
Karakteristik 80 x 86 disebut komputer set instruksi kompleks
(CISC), yang mencakup instruksi untuk prosesor Intel sebelumnya. CISC lainnya
Prosesornya adalah VAX 11/780, yang dapat menjalankan program untuk komputer PDP-11.
Prosesor CISC berisi banyak instruksi dengan berbagai mode pengalamatan,
misalnya, VAX 11/780 memiliki lebih dari 300 instruksi dengan 16 instruksi berbeda
mode alamat.
Karakteristik utama prosesor CISC adalah sebagai berikut:
1. Sejumlah besar instruksi.
2. Banyak mode pengalamatan.
3. Panjang instruksi bervariasi.
4. Sebagian besar instruksi dapat memanipulasi operan dalam memori.
5. Unit kontrol diprogram secara mikro.
RISC Hingga pertengahan 1990-an, produsen komputer merancang kompleks
CPU dengan set instruksi besar. Pada saat itu, sejumlah pabrikan komputer
turer memutuskan untuk mendesain CPU yang hanya mampu menjalankan perangkat yang sangat terbatas
instruksi.
Satu keuntungan dari komputer dengan instruksi yang dikurangi adalah mereka dapat menjalankannya
instruksi sangat cepat karena instruksinya sederhana. Selain itu, chip RISC
membutuhkan lebih sedikit transistor daripada chip CISC. Beberapa prosesor RISC adalah
PowerPC, prosesor MIPS, IBM RISC System / 6000, ARM, dan SPARC.
Karakteristik utama prosesor RISC adalah sebagai berikut:
1. Membutuhkan beberapa instruksi.
2. Semua instruksi memiliki panjang yang sama (mereka dapat dengan mudah diterjemahkan).
3. Sebagian besar instruksi dijalankan dalam satu siklus jam mesin.
4. Unit kontrol tertanam dalam kabel.
5. Beberapa mode alamat.
6. Sejumlah besar register.
Prosesor RISC menggunakan perangkat keras dan mikroprogram prosesor CISC untuk kontrol
unit, dan unit kontrol dengan perangkat keras menggunakan lebih sedikit ruang dalam CPU; oleh karena itu,
perancang CPU dapat menambahkan lebih banyak register ke prosesor RISC dibandingkan dengan CISC.
Keuntungan prosesor CISC adalah desainer dapat menambahkan instruksi baru
tanpa mengubah arsitektur prosesor. Tabel 6.1 menunjukkan perbandingan
dari CISC dan RISC.
Tabel 6.1 Perbandingan
Prosesor RISC dan CISC
CISC
RISC
Panjang instruksi variabel
Memperbaiki panjang instruksi
Panjang opcode variabel
Memperbaiki panjang opcode
Operan memori
Muat / simpan instruksi
Contoh: Pentium
ARM, MIPS
6.3 Teknologi CPU
119

Halaman 131
6.4 Arsitektur CPU
Ada dua jenis arsitektur CPU dan mereka adalah von Neumann dan Harvard
Arsitektur.
Von Neumann Architecture Ini adalah program yang terdiri dari kode (instruksi) dan
data. Gambar 6.4 menunjukkan diagram blok arsitektur von Neumann. Von
Neumann menggunakan bus data untuk mentransfer data dan instruksi dari memori ke
CPU.
Arsitektur Harvard Arsitektur Harvard menggunakan bus terpisah untuk instruksi
dan data seperti yang ditunjukkan pada Gambar 6.5 . Bus alamat instruksi dan bus instruksi adalah
digunakan untuk membaca instruksi dari memori. Bus alamat dan bus data digunakan
untuk menulis dan membaca data ke dan dari memori.
6.5 Keluarga Mikroprosesor Intel
Intel mendesain dan memproduksi mikroprosesor untuk mikrokomputer. Setiap proses-
sor memiliki nomor atau nama, yang digunakan oleh perancang komputer untuk mengakses
informasi yang diberikan oleh produsen prosesor.
Gambar 6.4 Von Neumann
Arsitektur
Gambar 6.5 Harvard
Arsitektur
120
6 Pengantar Arsitektur Komputer

Halaman 132
Nomor dan nama IC mikroprosesor Intel adalah 8.088, 80.286, 80.386, 80.486,
Pentium, Pentium II, Pentium III, dan Pentium IV yang mereka sebut IA-86 (Intel
arsitektur-86). Baru-baru ini Intel dan HP mengembangkan prosesor baru yang disebut Itanium
yang merupakan prosesor 64-bit, yang dijelaskan nanti dalam bab ini. Berikut ini adalah
daftar karakteristik mikroprosesor:
1. Ukuran register: Register digunakan untuk menyimpan informasi di dalam prosesor.
Ukuran register dapat bervariasi dari 8- ke 16- ke 32- hingga 64-bit.
2. Jumlah register: Sebuah prosesor dengan beberapa register dapat menyimpan lebih banyak informasi.
dalam CPU untuk diproses.
3. Ukuran bus data: Ukuran bus data menentukan berapa bit data yang dapat
ditransfer secara paralel ke atau dari memori atau port input / output.
4. Ukuran bus alamat: Ukuran alamat umum adalah 16, 32, dan 64 bit. Ukuran dari
bus alamat menentukan jumlah lokasi memori yang mungkin
diakses oleh mikroprosesor.
5. Kecepatan jam: Kecepatan jam menentukan kecepatan di mana
prosesor menjalankan instruksi.
6. Math coprocessor: The coprocessor matematika adalah prosesor khusus yang melakukan
operasi matematika yang kompleks.
7. Mode nyata: Mode nyata memungkinkan kompatibilitas perangkat lunak dengan perangkat lunak yang lebih lama. Itu
memungkinkan prosesor untuk meniru prosesor Intel 8088 terendah dan hanya digunakan
memori 1 MB pertama.
8. Mode terproteksi: Mode terproteksi adalah jenis penggunaan memori yang tersedia
80.286 dan model mikroprosesor yang lebih baru. Dalam mode terproteksi, setiap program bisa
dialokasikan bagian memori tertentu dan program lain tidak dapat menggunakan ini
Penyimpanan. Mode terproteksi juga memungkinkan satu program mengakses lebih dari
Memori 1 MB.
9. Ukuran cache: Memori cache adalah sejumlah kecil memori berkecepatan tinggi yang digunakan untuk
penyimpanan data sementara berdasarkan antara prosesor dan memori utama. Itu
ukuran cache dapat membantu mempercepat waktu eksekusi suatu program.
10. Teknologi MMX: Teknologi MMX Intel dirancang untuk mempercepat multimedia
dan aplikasi komunikasi, seperti video, animasi, dan grafik 3D.
Teknologi ini mencakup teknik multiple data tunggal instruksi (SIMD)
(artinya dengan satu instruksi, komputer dapat melakukan banyak operasi
tions), 57 instruksi baru, delapan register MMX 64-bit, dan empat tipe data baru.
Tabel 6.2. Memberikan referensi cepat ke daftar karakteristik sebelumnya
Sebagian besar workstation atau laptop menggunakan CPU yang diproduksi oleh Intel dan AMD
Perusahaan. Prosesor Intel diklasifikasikan oleh IA-16 (Arsitektur Intel 16-bit)
prosesor), IA-32, dan IA-64.
Kompatibilitas ke Atas Arsitektur Intel kompatibel ke atas yang berarti suatu
gram yang ditulis untuk prosesor IA-16 dapat berjalan pada IA-32.
Gambar 6.6 menunjukkan register umum IA-16, di mana AH, AL, BH, BL, CH, CL, DH,
dan DL adalah register 8-bit dan AX, BX, CX, dan DX adalah register 16-bit. AXE,
BX, CX, dan DX adalah kombinasi dari dua register.
6.5 Keluarga Mikroprosesor Intel
121

Halaman 133
Gambar 6.7 menunjukkan register umum IA-32 di mana EAX, EBX, ECX, dan EDX berada
Register umum 3-bit, dan juga Gambar 6.6 juga berisi register IA-16-bit; sana-
kedepan, sebuah program yang ditulis agar IA-16 dapat dijalankan oleh IA-32.
6.6 Prosesor Multicore
Prosesor multicore adalah sirkuit terintegrasi (IC) dengan dua atau lebih independen
CPU yang disebut core, dan mereka menjalankan beberapa instruksi secara bersamaan
dengan rapi untuk meningkatkan kinerja. Prosesor quad-core adalah chip dengan empat
unit independen yang disebut core yang membaca dan menjalankan instruksi seperti menambah, memindahkan
data, dan cabang. Gambar 6.8 menunjukkan diagram blok prosesor quad-core yang
semuanya berbagi memori. Berikut ini adalah beberapa prosesor multicore:
Dua core (CPU dual-core) seperti AMD Phenom II X2 dan Intel Core Duo
Tabel 6.2 Karakteristik mikroprosesor Intel
80486dx
Pentium
Pentium Pro
Pentium Pro II Pentium II
Daftar ukuran
32 bit
32 bit
32 bit
32/64 bit
32/64 bit
Ukuran bus data
32 bit
64 bit
64 bit
64 bit
64 bit
Ukuran alamat
32 bit
32 bit
32 bit
32 bit
32 bit
Memori maks
4 GB
4 GB
4 GB
4 GB
4 GB
Kecepatan jam
25,
33 MHz
60, 166 MHz 150, 200 MHz
233,
340, 400 MHz
450,
500 MHz
Matematika
prosesor
Built-in
Built-in
Built-in
Built-in
Built-in
L1 cache
8 KB,
16 KB
8 KB
petunjuk
Data 8 KB
Instruksi 8 KB
tion
Data 8 KB
Instruksi 16 KB
tion
Data 16 KB
16 KB
petunjuk
Data 16 KB
L2 cache
Tidak
Tidak
256 KB atau
512 KB
512 KB
512 KB
MMX
teknologi
Tidak
Tidak
Iya
Iya
Iya
L1 cache adalah memori cache yang dibangun di dalam mikroprosesor
L2 cache bukan bagian dari mikroprosesor; itu di IC yang terpisah
Gambar. 6.6 register IA-16
122
6 Pengantar Arsitektur Komputer

Halaman 134
Tiga core (CPU tri-core) seperti AMD Phenom II X3
Empat core (quad-core CPU) seperti AMD Phenom II X4, Intel i5 dan i7
pengolah
Six core (CPU hexa-core) seperti AMD Phenom II X6 dan Intel Core i7 Extreme
Edisi 980X
Delapan core (octa-core CPU) seperti Intel Core i7 5960X Extreme Edition dan
AMD FX-8350
Sepuluh core (CPU deca-core) seperti Intel Xeon E7-2850
6.7 Eksekusi Instruksi CPU
Secara umum, CPU melakukan langkah-langkah berikut untuk menjalankan satu instruksi:
1. Ambil instruksi (F): Memindahkan Instruksi dari memori ke CPU.
2. Instruksi penguraian sandi (D): Tentukan jenis-jenis instruksi seperti ADD, AND, OR,
dan Simpan operan ke dalam register jika diperlukan.
Gbr. 6.7 Intel IA-32-bit register
Gbr. 6.8 Arsitektur prosesor multicore
6.7 Eksekusi Instruksi CPU
123

Halaman 135
3. Jalankan instruksi (E): Jalankan instruksi seperti penambahan.
4. Tulis hasil (R): Menyimpan hasil eksekusi ke dalam register atau memori.
Pipelining. Pipelining akan meningkatkan kinerja mengeksekusi makna CPU
lebih banyak instruksi dalam waktu yang lebih singkat.
Gambar 6.9 menunjukkan eksekusi empat instruksi tanpa pipelining; dalam gambar ini,
CPU menjalankan satu instruksi pada satu waktu, dan setiap tahap membutuhkan T detik; lalu total
waktu eksekusi adalah 16 T.
Gambar 6.10 menunjukkan eksekusi empat instruksi menggunakan pipa; CPU mengambil I1
instruksi dan memindahkannya ke decode unit; CPU sementara decoding I1 akan mengambil I2
instruksi dan proses ini akan berlanjut.
Seperti yang ditunjukkan pada Gambar. 6.10, dibutuhkan 7 T untuk menyelesaikan eksekusi empat instruksi.
Gambar 5.11 menunjukkan bahwa pada saat T4 CPU menulis hasil eksekusi I1
memori dan pada saat yang sama mengambil instruksi I4 dari memori, tetapi itu
mustahil untuk membaca dan menulis pada saat yang sama ke atau dari memori; karena itu,
memiliki dua cache terpisah (cache instruksi dan cache data) akan mengatasi ini
konflik, dan jenis arsitektur ini disebut arsitektur Harvard.
Akses memori langsung: Akses memori langsung (DMA) memungkinkan untuk transfer
blok data dari memori ke perangkat I / O atau sebaliknya. Tanpa DMA, CPU
membaca data dari memori dan menulisnya ke perangkat I / O. Mentransfer blok data
dari memori ke perangkat I / O membutuhkan CPU untuk melakukan satu baca dan satu untuk menulis
setiap operasi. Metode transfer data ini membutuhkan banyak waktu. Fungsi dari
DMA adalah untuk mentransfer data dari memori ke perangkat I / O secara langsung, tanpa menggunakan
CPU, sehingga CPU bebas untuk melakukan fungsi lainnya.
DMA melakukan fungsi-fungsi berikut untuk menggunakan bus komputer:
• DMA mengirimkan sinyal permintaan ke CPU.
• CPU merespons DMA dengan permintaan hibah, memungkinkan DMA untuk digunakan
bus.
Gambar 6.9 Eksekusi instruksi tanpa pipa
Gambar 6.10 Eksekusi instruksi menggunakan pipa
124
6 Pengantar Arsitektur Komputer

Halaman 136
• DMA mengontrol bus dan perangkat I / O dapat membaca atau menulis secara langsung
atau dari memori.
• DMA dapat memuat file dari disk eksternal ke dalam memori utama saat besar
blok data perlu ditransfer ke rentang memori berurutan. DMA adalah
jauh lebih cepat dan lebih efisien daripada CPU.
I / O Interrupt yang dapat diprogram Ketika beberapa perangkat I / O seperti drive eksternal,
hard disk, printer, monitor, dan modem terhubung ke komputer seperti ditunjukkan pada
Gambar 6.11 ; diperlukan mekanisme untuk menyinkronkan semua permintaan perangkat. Itu
Fungsi interupsi yang dapat diprogram adalah untuk memeriksa status setiap perangkat dan
beri tahu CPU tentang status masing-masing; misalnya, printer belum siap, disk sudah
dilindungi tulis, ini adalah disk yang tidak diformat, dan ada koneksi yang hilang ke
modem. Setiap perangkat mengirim sinyal ke pengontrol interupsi I / O yang dapat diprogram
untuk memperbarui statusnya. Gambar 6.11 menunjukkan interupsi I / O yang dapat diprogram
pengontrol.
6.8 Pengontrol Disk
Pengontrol disk memindahkan kepala drive disk, membaca, dan / atau menulis data. Hari ini,
ada dua jenis pengontrol disk: IDE (elektronik disk terintegrasi) dan SCSI
(antarmuka sistem komputer kecil).
Integrated Disk Electronics (IDE). Disk drive IDE terhubung ke ISA
bus dengan kabel pita datar. Pengontrol disk IDE masing-masing mendukung dua hard disk
dengan kapasitas 528 megabyte. Pada tahun 1994, vendor hard disk drive memperkenalkan EIDE
(Extended IDE) yang mendukung empat perangkat, seperti hard disk, tape drive,
Perangkat CD-ROM, dan hard disk drive yang lebih besar. EIDE memiliki dua konektor.
Setiap kabel terhubung ke pengontrol EIDE dan dapat mendukung dua hard disk
drive dengan kapasitas hingga 250 GB. EIDE digunakan dalam IBM-kompatibel
komputer.
Small Computer System Interface (SCSI) Antarmuka sistem komputer kecil
(SCSI) standar didefinisikan oleh American National Standards Institute (ANSI) untuk
Dapat diprogram
Mengganggu
Pengendali
Disk
Bus data
Printer
Mouse
Papan ketik

CPU
Bus alamat
Kontrol Bus
Gbr. 6.11 Pengontrol interupsi yang dapat diprogram
6.8 Pengontrol Disk
125

Halaman 137
menghubungkan daisy chaining beberapa perangkat I / O, seperti scanner, hard disk, dan
CD-ROM, ke komputer mikro, seperti yang ditunjukkan pada Gambar 6.12 .
SCSI adalah antarmuka standar untuk semua jenis mikrokomputer. Digunakan di
Macintosh, workstation RISC, dan minicomputer, serta di kelas atas
Komputer yang kompatibel dengan IBM. Bus SCSI hadir dengan berbagai jenis kontrol-
Lers. Tabel 6.3 menunjukkan karakteristik beberapa jenis pengendali SCSI, dan
Gbr. 6.13 menunjukkan konektor SCSI-1, SCSI-2, dan SCSI-3.
SATA (Serial Advanced Technology Attachment) SATA adalah bus serial untuk
menghubungkan penyimpanan berantakan seperti hard disk, drive optik, dan solid-state drive ke
komputer.
6.9 Bus Komputer Mikro
Saat ini ada sejumlah bus komputer yang berbeda di pasaran
dirancang untuk mikrokomputer. Beberapa BUS komputer adalah ISA, MCA, EISA,
VESA PCI, FireWire, USB, dan PCI Express. Universal serial bus (USB) dan PC
Express tercakup secara lebih rinci karena mereka lebih canggih daripada yang lain
bis-bis.
Perangkat keras
Floppy
Pemindai
CD ROM
Gambar. 6.12 bus SCSI
Tabel 6.3 Karakteristik
dari beberapa jenis SCSI
pengendali
Bandwidth
Kecepatan data MB / s
SCSI-1
8 bit
5
SCSI-2
16 bit
10–20
Ultra SCSI
8 bit
20
SCSI-3
16 bit
40
MB / s jutaan byte per detik
Gbr. 6.13 konektor SCSI-1, SCSI-2, dan SCSI-3
126
6 Pengantar Arsitektur Komputer

Halaman 138
6.9.1 Bus ISA
Bus arsitektur standar industri (ISA) diperkenalkan oleh IBM untuk IBM
PC menggunakan mikroprosesor 8088. Bus ISA memiliki bus data 8-bit dan 20 alamat
jalur pada kecepatan clock 8 MHz. Jenis PC AT menggunakan prosesor 80.286 yang
memiliki bus data 16-bit dan jalur alamat 24-bit dan kompatibel dengan PC.
6.9.2 Bus Arsitektur Saluran Mikro
Bus microchannel architecture (MCA) diperkenalkan oleh IBM pada tahun 1987 untuk busnya
Komputer mikro PS / 2. Bus MCA adalah bus 32-bit yang dapat mentransfer empat byte
data pada suatu waktu dan berjalan pada kecepatan clock 10 MHz. Ini juga mendukung transfer data 16-bit
dan memiliki garis alamat 32-bit. Arsitektur Microchannel sangat mahal
vendor non-IBM mengembangkan solusi yang sebanding tetapi lebih murah yang disebut
Bus EISA.
6.9.3 Bus EISA
Bus ISA (EISA) yang diperluas adalah bus 32-bit yang juga mendukung data 8- dan 16-bit
arsitektur bus transfer. EISA berjalan pada kecepatan clock 8-MHz dan memiliki alamat 32-bit
garis.
6.9.4 Bus VESA
Bus asosiasi standar elektronik video (VESA), yang juga disebut video
bus lokal (VL-BUS), adalah antarmuka standar antara komputer dan ekspansi
sion. Karena aplikasi menjadi lebih intensif secara grafis, bus VESA menjadi
diperkenalkan untuk memaksimalkan throughput memori video grafis. Bus VESA
menyediakan aliran data yang cepat antar stasiun dan dapat mentransfer hingga 132 Mbps.
6.9.5 PCI Bus
Bus interkoneksi komponen perifer (PCI) dikembangkan oleh Intel Corp
jatah. Teknologi PCI bus mencakup bus 32- / 64-bit yang beroperasi pada clock 33/66 MHz
kecepatan. PCI menawarkan banyak keuntungan untuk koneksi ke hub, router, dan jaringan
6.9 Bus Komputer Mikro
127

Halaman 139
kartu antarmuka (NIC). Secara khusus, PCI menyediakan lebih banyak bandwidth: hingga 1 gigabit
per detik sesuai kebutuhan oleh komponen perangkat keras ini.
Bus PCI dirancang untuk meningkatkan bandwidth dan mengurangi latensi pada
sistem komputer. Versi saat ini dari PCI bus mendukung data rate 1056 Mbps
dan dapat ditingkatkan ke 4224 Mbps. Bus PCI dapat mendukung hingga 16 slot atau
perangkat di motherboard. Sebagian besar pemasok ATM (mode transfer asinkron)
dan 100BaseT NIC menawarkan antarmuka PCI untuk produk mereka. Bus PCI bisa
diperluas untuk mendukung bus data 64-bit. Tabel 6.4 membandingkan arsitektur bus yang berbeda
Gambar yang menunjukkan karakteristik bus ISA, EISA, MCA, VESA, dan PCI.
Gambar 6.14 menunjukkan bus PCI.
6.9.6 Universal Serial BUS (USB)
Universal serial bus (USB) adalah bus serial komputer yang memungkinkan pengguna
sambungkan periferal seperti mouse, keyboard, modem, CD-ROM, pemindai, dan
printer, ke bagian luar komputer tanpa konfigurasi apa pun. Komputer pribadi
dilengkapi dengan USB akan memungkinkan pengguna untuk menghubungkan periferal ke komputer, dan
komputer akan secara otomatis dikonfigurasikan ketika perangkat terpasang padanya. Ini
berarti bahwa USB memiliki kemampuan untuk mendeteksi kapan suatu perangkat telah ditambahkan atau
dihapus dari PC. USB adalah bus plug-and-play yang sebenarnya. Hingga 127 perangkat dapat
terhubung ke PC dengan USB. USB versi 1.1 dirilis pada tahun 1998 yang
mendukung kecepatan data 12 Mbps (kecepatan penuh) dan 1,5 Mbps (kecepatan rendah); rendah
Tabel 6.4 Karakteristik berbagai bus
Jenis bus
ADALAH
EISA
MCA
VESA
PCI
PCI-64
Kecepatan (MHz)
8
8.3
10
33
33
64
Bandwidth bus data (bit)
16
32
32
32
32
66
Maks. kecepatan data (MB / s) a
8
32
40
132
132
508
Plug and play mampu
Tidak
Tidak
Iya
Iya
Iya
Iya
a MB / s megabyte / detik
Gbr. 6.14 Kartu PCI
128
6 Pengantar Arsitektur Komputer

Halaman 140
kecepatan digunakan untuk perangkat seperti mouse, keyboard, dan joystick. Versi USB
2 adalah kecepatan tinggi (480 Mbps) yang kompatibel dengan USB 1.1 USB 2.0
spesifikasi dikembangkan oleh tujuh produsen komputer terkemuka dan itu
diumumkan pada tahun 1999. Panjang kabel maksimum untuk USB adalah 5 meter.
6.9.7 Arsitektur USB
Gambar 6.15 menunjukkan arsitektur USB; sistem USB secara logis adalah pohon
topologi tetapi fisik adalah topologi bintang karena setiap perangkat USB berkomunikasi
langsung dengan Root Hub. Hanya ada satu Pengendali host di sistem USB apa pun.
Sistem USB terdiri dari pengontrol host USB, hub root USB, hub USB, USB
kabel, perangkat USB, perangkat lunak klien, dan perangkat lunak pengendali host.
Pengontrol Host Pengontrol host menginisiasi semua transfer data, dan root hub pro-
vides koneksi antara perangkat dan pengontrol host. Hub root menerima
transaksi yang dihasilkan oleh pengontrol host dan mentransmisikan ke perangkat USB. Sang penyelenggara
Pengontrol menggunakan polling untuk mendeteksi perangkat baru dan terhubung ke bus atau
terputus dari. Juga, pengontrol host USB melakukan fungsi-fungsi berikut:
(a) Pengontrol host mengatur perangkat untuk operasi (konfigurasi perangkat).
(b) Pembuatan paket.
(c) Serializer / deserializer.
(d) Memproses permintaan dari perangkat dan host.
(e) Kelola protokol USB.
Komputer Tuan Rumah
USB HUB
USB
alat
USB
Alat
USB
Alat
USB
Alat
CPU
Penyimpanan
BUS Komputer
Pengendali Host
Hub Root
Port Serial
V Bus
D+
D-
GND
USB
Serial
Pelabuhan
Gbr. 6.15 Arsitektur USB
6.9 Bus Komputer Mikro
129
Halaman 141
(f) Mengelola aliran antara perangkat host dan USB.
(g) Tetapkan alamat ke perangkat.
(h) Jalankan perangkat lunak klien.
(i) Mengumpulkan bit status dari port USB.
Root Hub Hub root melakukan distribusi daya ke perangkat, mengaktifkan dan
menonaktifkan port, dan melaporkan status setiap port ke pengontrol host. Hub root
menyediakan koneksi antara pengontrol host dan port USB.
Hub Hub digunakan untuk memperluas jumlah perangkat yang terhubung ke sistem USB.
Hub dapat mendeteksi kapan perangkat terpasang atau dihapus dari port. Gambar 6.16
menunjukkan arsitektur hub. Port upstream terhubung ke host, dan USB
perangkat terhubung ke port hilir.
Dalam transmisi hilir, semua perangkat yang terhubung ke hub akan melakukannya
menerima paket, tetapi hanya perangkat yang menerima paket yang alamat perangkatnya
cocok dengan alamat di token. Dalam transmisi hulu, perangkat mengirim
paket ke hub, dan hub mentransmisikan paket ke port upstream saja. USB
meningkatkan kecepatannya dan setiap beberapa tahun versi baru dikembangkan. Tabel 6.5
menunjukkan versi USB yang berbeda.
Kabel USB. Gambar 6.15 menunjukkan port USB dengan empat pin, yang terdiri dari empat pin
kabel, dengan V bus digunakan untuk memberi daya pada perangkat. Dþ dan DÀ digunakan untuk sinyal
transmisi.
Perangkat USB Perangkat USB dibagi menjadi beberapa kelas seperti hub, printer, atau massa
penyimpanan. Perangkat USB memiliki informasi tentang konfigurasinya seperti kelas, jenis,
pembuatan ID, dan kecepatan data. Pengontrol host menggunakan informasi ini untuk memuat perangkat
perangkat lunak dari hard disk. Perangkat USB mungkin memiliki beberapa fungsi seperti a
volume di speaker. Setiap fungsi dalam perangkat USB ditentukan oleh titik akhir
alamat.
Port Hulu
Port aliran bawah
Pengontrol hub
Repeater hub
Transaksi
Gbr. 6.16 Arsitektur
pusat
Tabel 6.5 Versi USB dan kecepatan datanya
Versi USB
Lepaskan data
Kecepatan data
Penunjukan tingkat data
USB 1.0
1996
1,5 Mbps
Kecepatan rendah
USB 1.1
1998
12 Mbps
Kecepatan penuh
USB 2.0
2000
480 Mbps
Kecepatan tinggi
USB 3.0
2008
5 Gbps
kecepatan super
USB 3.1
2013
10 Gbps
Kecepatan super þ
130
6 Pengantar Arsitektur Komputer

Halaman 142
6.9.8 Bus PCI Express
PCI express diperkenalkan pada pertengahan 1990 dengan frekuensi 33 MHz, dan selama
waktu kecepatan BUS ditingkatkan menjadi 66 MHz. Karena perkembangan baru di Indonesia
teknologi jaringan seperti Gigabit Ethernet dan perangkat I / O yang menuntut lebih banyak
bandwidth, ada kebutuhan untuk teknologi bus baru dengan bandwidth yang lebih tinggi. Itu
PCI express disetujui oleh Special Interest Group pada tahun 2002, dan chipset dimulai
pengiriman pada tahun 2004. PCI express memiliki fitur-fitur berikut:
• PCI express adalah koneksi point-to-point antar perangkat.
• PCI express adalah bus serial.
• PCI express menggunakan arsitektur saku dan lapisan.
• Kompatibel dengan bus PCI melalui perangkat lunak.
• Integritas data tautan ujung-ke-ujung (deteksi kesalahan).
• Transfer data sinkron.
• Bandwidth yang dapat dipilih.
6.9.9 Arsitektur PCI Express
Gambar 6.17 menunjukkan arsitektur PCI express, dan fungsi host bridge adalah untuk
antarmuka bus CPU dengan memori dan sakelar PCI express. Saklar digunakan untuk
menambah jumlah port express PCI.
CPU
Jembatan Tuan Rumah
Penyimpanan
PCI express
PCI-Express
Beralih
PCI-Express
Alat
PCI-Express
Alat
PCI-Express
Alat
Gambar 6.17 PCI express
Arsitektur
6.9 Bus Komputer Mikro
131

Halaman 143
6.9.10 Arsitektur Protokol PCI Express
Gambar 6.18 menunjukkan arsitektur protokol PCI express. Protokol terdiri dari PCI
perangkat lunak, transaksi, tautan data, dan lapisan fisik.
Lapisan Perangkat Lunak Lapisan perangkat lunak digunakan untuk kompatibilitas dengan PCI, initializa-
tion, dan enumerasi perangkat yang terhubung ke PCI express.
Lapisan Fisik PCI Express Gambar 6.19 menunjukkan dua perangkat terhubung
melalui PCI express link (lane); setiap jalur terbuat dari empat kabel, dan masing-masing PCI
jalur ekspres terdiri dari dua koneksi simpleks, satu untuk mentransmisikan paket
dan satu lagi untuk menerima paket. PCI express lane mendukung 2.5 giga
transfer / detik setiap arah.
Tautan PCI express dapat mengkonfigurasi jalur X1, X2, X4, X4, X16, dan X32, di mana X1
berarti 1 jalur dengan 4 kabel dan X4 berarti 4 jalur dengan 16 kabel dan akhirnya X32
berarti 32 jalur dengan 128 kabel. PCI-32 berarti PCI express dengan 32 jalur. Jam
untuk tautan serial PCI express tertanam ke dalam data dengan menggunakan pengodean 8B / 10B.
6.10 FireWire
FireWire atau IEEE 1394 adalah bus serial berkecepatan tinggi yang digunakan untuk menghubungkan digital
perangkat seperti video digital atau camcorder. Bus dapat mentransfer data di
tingkat 100, 200, atau 400 Mpbs. Kabel IEEE 1394 terdiri dari enam tembaga
kabel; dua kabel membawa daya dan empat kabel membawa sinyal seperti yang diilustrasikan
pada Tabel 6.6. Beberapa konektor FireWire datang dengan empat pin, tanpa daya
pin. Gambar 6.20 menunjukkan konektor FireWire pria dan wanita.
Perangkat lunak
Transaksi
Hubungan data
Lapisan fisik
Gambar 6.18 PCI express
arsitektur protokol
Perangkat A
Perangkat B
Paket
Gambar 6.19 PCI express
koneksi
132
6 Pengantar Arsitektur Komputer

Halaman 144
6.10.1 HDMI (Antarmuka Multimedia Definisi Tinggi)
HDMI adalah antarmuka antara dua perangkat untuk mentransfer video yang tidak dikompresi
data dan data audio digital terkompresi atau tidak terkompresi. Beberapa aplikasi
HDMI adalah monitor komputer, TV digital, dan proyektor video. Gambar 6.21 menunjukkan
berbagai jenis konektor HDMI.
Motherboard Motherboard adalah papan sirkuit tercetak (PCB) yang berisi
sebagian besar komponen komputer seperti CPU, RAM, ROM, slot ekspansi, dan
USB. Gambar 6.22 menunjukkan gambar motherboard.
6.11 Ringkasan
• Komponen komputer mikro adalah CPU, memori, paralel I / O, serial
I / O, interupsi yang dapat diprogram, dan DMA.
• Fungsi CPU menjalankan instruksi.
• Komponen CPU adalah unit logika aritmatika (ALU), unit kontrol,
dan register.
• Sebagian besar komputer menggunakan tiga jenis memori: memori cache (SRAM), utama
memori (DRAM atau SDRAM), dan memori sekunder (hard disk, tape drive,
dan floppy disk).
• Jenis memori semikonduktor adalah DRAM, SDRAM, EDORAM, DDR,
SDRAM, RDRAM, ROM, dan EPROM.
• SRAM digunakan dalam memori cache; DRAM dan SDRAM digunakan di main
Penyimpanan.
• SATA, SCSI-1, SCSI-2, dan SCSI-3 adalah pengontrol periferal komputer.
Tabel 6.6 pin IEEE 1394
Pin
Nama sinyal
Deskripsi
1
Kekuasaan
DC yang tidak diatur; 17–24 V tanpa beban
2
Tanah
Pengembalian tanah untuk daya dan pelindung kabel bagian dalam
3
TPBÀ
Twisted-pair B, sinyal diferensial
4
TPBþ
Twisted-pair B, sinyal diferensial
5
TPAÀ
Twisted-pair A, sinyal diferensial
6
TPAþ
Twisted-pair A, sinyal diferensial
Perempuan
Pria
12 mm
Fig. 6.20 FireWire pria
dan konektor perempuan
6.11 Ringkasan
133

Halaman 145
• Bus ISA, EISA, MCA, dan PCI adalah bus komputer mikro, dan FireWire adalah a
serial bus berkecepatan tinggi dengan kecepatan data hingga 400 Mbps.
• USB adalah bus serial.
• PCI express adalah bus serial.
• Bab 7 mencakup memori semikonduktor, hard disk, solid-state drive, cache
metode pemetaan memori, dan memori virtual.
Gbr. 6.21 Konektor HDMI
Slot Ekspansi
CNR
Bangkit
SiS Southbridge
Chipset
CMOS
Baterai
USB 2.0
Bangkit
Depan
Pannel
Penyambung
ATX Power
Penyambung
Bios
SODIMM DDR
Slot Memori
ASRock
Jembatan utara
Chipset
ATA SERIAL
Konektor HDD
Header FDD
ATA 133 HDD
Header CD
CPU Zif
Stopkontak
Kipas
Penyambung
Sekunder
Kekuasaan
Penyambung
(Prosesor)
Konektor AGP 8x
Konektor Audio CD
Konektor Panel Belakang
Gambar 6.22 Gambar motherboard
134
6 Pengantar Arsitektur Komputer

Halaman 146
Tinjau Pertanyaan
• Soal pilihan ganda
1. Fungsi _________ adalah untuk melakukan operasi aritmatika.
(sebuah bus
(B) Port serial
(c) ALU
(d) Unit kontrol
2. Ketika Anda membandingkan fungsi CPU dan mikroprosesor, __________.
(a) Mereka sama
(B) Mereka tidak sama
(c) CPU lebih cepat dari mikroprosesor
(d) Mikroprosesor lebih cepat dari CPU
3. Prosesor RISC menggunakan ___________.
(a) Kumpulan instruksi kompleks
(B) Set instruksi berkurang
(c) a dan b
(D) Tidak ada di atas
4. Unit kontrol prosesor CISC adalah ____________.
(a) Perangkat Keras
(b) Mikrokode
(c) a dan b
(D) Tidak ada di atas
5. Akses memori langsung memungkinkan transfer blok data dari memori ke
perangkat I / O (atau sebaliknya) tanpa menggunakan _______ Jerman.
(a) CPU
(B) Data bus
(c) Mengontrol bus
(D) Pengontrol DMA
6. Manakah dari bus berikut yang 32-bit?
(a) ISA
(B) PCI dan EISA
(c) EISA dan ISA
(d) MCA dan ISA
7. Manakah dari sistem operasi berikut yang mendukung plug and play?
(a) Window NT dan Window 95
(b) Jendela 98 dan Jendela NT
(c) Window XP dan Window 2000
(d) DOS dan Windows NT
6.11 Ringkasan
135

Halaman 147
1. Sebutkan komponen komputer mikro.
2. Jelaskan fungsi CPU.
3. Sebutkan fungsi-fungsi ALU.
4. Apa fungsi unit kontrol?
5. Daftar komponen CPU?
6. Berapa bit kata setengah?
7. Berapa bit kata?
8. Bedakan antara CPU dan mikroprosesor.
9. Jelaskan fungsi bus alamat dan bus data.
10. Jelaskan fungsi DMA.
11. Apa aplikasi dari port paralel?
12. Apa aplikasi port serial?
13. Apa itu interupsi?
14. Berapakah memori maksimum untuk CPU dengan 16 jalur alamat dan 8 jalur data?
15. Daftar karakteristik prosesor CISC.
16. Daftar karakteristik prosesor RISC.
17. Bedakan antara arsitektur von Neumann dan arsitektur Harvard.
18. Apa keunggulan prosesor multicore versus single core?
19. Daftar langkah-langkah pelaksanaan instruksi CPU.
20. Jelaskan instruksi ambil
21. Berapa lama waktu yang dibutuhkan CPU untuk menjalankan lima instruksi menggunakan pipelining if
setiap tahap pipa membutuhkan 20 menit.
22. Hitung waktu eksekusi untuk masalah 21 menggunakan prosesor non-pipa.
23. Apa karakteristik prosesor 64-bit?
24. Daftar jenis pengontrol disk.
25. Daftar bus komputer.
26. Sebutkan dua bus serial.
27. Berapa jumlah maksimum port USB yang dapat dimiliki komputer?
28. Tampilkan koneksi pin port USB.
29. Tampilkan diagram jalur PCIe.
30. Apa aplikasi FireWire?
31. Apa itu aplikasi HDMI?
136
6 Pengantar Arsitektur Komputer

Halaman 148
Bab 7
Penyimpanan
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Bedakan berbagai jenis memori semikonduktor.
• Jelaskan sektor, lacak di hard disk.
• Untuk menghitung kapasitas disk.
• Pelajari hierarki memori.
• Menjelaskan kehilangan cache, hit cache, dan rasio hit cache.
• Menjelaskan jenis penggunaan memori di komputer.
• Menjelaskan berbagai metode pemetaan yang digunakan dalam memori cache.
• Terjemahkan alamat virtual ke alamat fisik.
• Menjelaskan fungsi tabel halaman.
• Hasilkan alamat fisik dari alamat virtual.
7.1 Pendahuluan
Di komputer, memori menyimpan instruksi (kode) dan data, memori memainkan
bagian penting dari kinerja komputer, dan mendaftar adalah jenis memori
kapasitas kecil. Ada dua jenis memori yang digunakan di komputer, dan mereka adalah
diklasifikasikan sebagai memori semikonduktor dan hard disk. Memori semikonduktor bisa
memori volatile atau nonvolatile. Memori yang mudah menguap kehilangan isinya saat daya menyala
dihapus dari itu, sementara memori nonvolatile akan menjaga isinya tanpa daya.
7.2 Memori Semikonduktor
Ada dua jenis memori semikonduktor: memori akses-acak (RAM) dan
memori hanya baca (ROM).
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_7
137

Halaman 149
Data RAM dapat dibaca dari atau ditulis ke dalam memori akses-acak (RAM). Itu
RAM dapat menyimpan data selama daya disuplai kepadanya dan disebut volatile
Penyimpanan. Gambar 7.1 menunjukkan diagram blok umum RAM yang terdiri dari data
bus, bus alamat, dan sinyal baca / tulis. Bus data membawa data keluar atau masuk
RAM. Bus alamat digunakan untuk memilih lokasi memori. Sinyal baca
menjadi aktif saat membaca data dari RAM, dan baris tulis menjadi aktif
saat menulis ke RAM. Ingat, RAM hanya dapat menyimpan informasi ketika ada
kekuasaan. Gambar 7.2 menunjukkan RAM 16 * 8 bit atau 2 4 * 8 bit atau 16 B RAM.
RAM
Bus data
Bus Alamat
Baca
Menulis
Pilih Chip
Gambar 7.1 Diagram blok RAM
Fig. 7.2 16 byte RAM
138
7 Memori

Halaman 150
Dalam Gambar. 7.2, alamatnya 4 bit; oleh karena itu, ada 2 4 = 16 lokasi memori,
dan jika setiap lokasi memiliki 1 B, maka ada 16 B memori, sebuah memori dengan m
garis alamat, maka ada lokasi memori 2 m . Tabel 7.1 menunjukkan jumlah
garis alamat dan jumlah desimal setara dari lokasi memori.
Ada banyak jenis RAM, seperti RAM dinamis (DRAM), sinkron
DRAM (SDRAM), RAM EDO, DDR SDRAM, RDRAM, dan RAM statis (SRAM).
• Dynamic RAM (DRAM) digunakan dalam memori utama. DRAM menggunakan lebih sedikit komponen
ventilasi untuk membuat sedikit; Oleh karena itu, dapat merancang DRAM integrated circuit (IC) dengan
kapasitas besar 4 GB per IC; Gambar 7.3 menunjukkan satu bit DRAM.
Kapasitor sel dapat diisi dengan logika satu atau nol, tetapi harus
segar (diisi ulang) setiap 1 ms. CPU tidak dapat membaca atau menulis
memori saat DRAM disegarkan; ini membuat DRAM paling lambat
menjalankan memori.
• Synchronous DRAM (SDRAM): Teknologi SDRAM menggunakan DRAM dan menambahkan a
antarmuka khusus untuk sinkronisasi. Ini dapat berjalan pada kecepatan jam yang jauh lebih tinggi daripada
DRAM. SDRAM menggunakan dua bank memori independen. Sementara satu bank
pengisian ulang, CPU dapat membaca dan menulis ke bank lain. Gambar 7.4 menunjukkan a
diagram blok SDRAM.
Tabel 7.1 Jumlah alamat dan Lokasi memori
Jumlah alamat
Jumlah lokasi memori
Perwakilan
10
2 10 = 1024
1K
11
2 11 = 2048
2K
12
2 12 = 4096
4K
13
2 13 = 8192
8K
14
2 14 = 16.384
16 K
16
2 16 = 65.536
64 K
20
2 20 = 1.048.576
1 M.
24
2 24 = 16.777.261
16 M.
32
2 32 = 4.294.967.296
4G
Gbr. 7.3 DRAM 1-bit
7.2 Memori Semikonduktor
139

Halaman 151
• Extended Data Out RAM (EDORAM) mentransfer blok data ke atau dari
Penyimpanan.
• Double Data Rate SDRAM (DDR SDRAM) adalah jenis SDRAM yang ditransfer
data di kedua sisi naik dan tepi jatuh jam. Itu bisa memindahkan data
dua kali lebih cepat dari SDRM; oleh karena itu, memori dapat berjalan pada kecepatan ½ jam. DDR2
dan DDR3 merupakan kemajuan pada teknologi DDR dan semakin meningkatkan
jumlah transfer data per siklus jam. DDR2 RAM menyediakan 4 transfer data
per siklus, dan DDR3 mentransfer 8 data per siklus clock. Untuk kecepatan clock 100 MHz
dan bus data 64 bit, kecepatan transfer untuk DDR adalah
DDR = 100 * 2 * 8 = 1600 MB / s (MB / s)
DDR2 = 100 * 4 * 8 = 3200 MB / s
DDR3 = 100 * 8 * 8 = 6400 MB / s
• Rambus DRAM (RDRAM) dikembangkan oleh Rambus Corporation. Itu menggunakan
beberapa bank DRAM dengan antarmuka baru yang memungkinkan bank DRAM
mentransfer banyak kata dan juga mentransfer data pada sisi naik dan turun
ujung jam. Penyegaran RDRAM dilakukan oleh antarmuka. Kedua
generasi RDAM disebut DRDRAM (Direct RDRAM), dan dapat ditransfer
data pada kecepatan 1,6 Gbps. Gambar 7.5 menunjukkan modul RDRAM.
Kemasan DRAM
DRAM tersedia dalam berbagai jenis kemasan seperti SIMM (single in-line)
modul memori) dan DIMM (modul memori dua jalur).
Gambar 7.6 menunjukkan SIMM, yang merupakan papan sirkuit kecil yang satu sisi papan
memegang beberapa chip. Ini memiliki bus data 32 bit.
Kontrol Bus
Bus Alamat
Bus data
Kontrol
TERATAS
Bank
Bawah
Bank
Buffer keluaran
Gambar 7.4 Blok diagram SDRAM
Gambar. 7.5 modul memori Rambus (Courtesy Samsung Corp.)
140
7 Memori

Halaman 152
DIMM adalah papan sirkuit yang kedua sisinya menahan beberapa chip memori
tetapi memiliki bus data 64 bit.
• Static RAM (SRAM) digunakan dalam memori cache. SRAM hampir 20 kali lebih cepat
dari DRAM dan juga jauh lebih mahal. D Flip Flop adalah RAM statis satu bit.
ROM (Memori Hanya Baca)
Seperti namanya, informasi hanya dapat siap dari memori baca-saja
(ROM). ROM menyimpan informasi secara permanen, walaupun tidak ada daya untuk
ROM; jenis memori ini disebut memori nonvolatile. Dua jenis ROM adalah
tercantum di bawah ini:
• Memori Hanya-Baca Dapat Diprogram yang Dapat Dihapus (EPROM): EPROM dapat dihapus
dengan sinar ultraviolet dan diprogram ulang dengan perangkat yang disebut EPROM
programmer. Flash ROM adalah jenis EEPROM.
• PROM Dihapus Secara Listrik (EEPROM): EEPROM dapat dihapus dengan mendaftar
tegangan spesifik ke salah satu pinnya dan dapat diprogram ulang dengan EPROM
programmer.
• Memori Flash: memori flash adalah memori yang tidak mudah menguap yang memiliki jangkauan luas
aplikasi seperti flash drive, solid-state drive, kartu memori, dan tertanam
sistem. Memori flash adalah jenis EEPROM yang memungkinkan banyak memori
lokasi yang akan ditulis atau dihapus pada satu operasi. Ada dua jenis
penggunaan teknologi untuk memori flash, dan itu adalah memori flash NAND dan NOR;
Memori flash NAND memiliki waktu akses yang lebih kecil daripada memori flash NOR; paling
memori flash menggunakan teknologi NAND.
Waktu Akses Memori Waktu CPU menempatkan alamat pada bus alamat dan data
muncul di bus data atau tulis data ke dalam memori. Tabel 7.2 menunjukkan waktu akses untuk
berbagai jenis memori.
Fig. 7.6 DRAM SIMM
Tabel 7.2 Akses memori
waktu
Teknologi memori
Waktu akses
SRAM
0,5-2,5 ns
DRAM
50–70 ns
Flash
5 * 10 3 –5 * 10 5
7.2 Memori Semikonduktor
141

Halaman 153
7.3 Hard Disk
Gambar 7.7 menunjukkan arsitektur internal hard disk yang terbuat dari beberapa piringan, dan
piring-piring menyimpan informasi; fungsi kepala adalah membaca atau menulis
informasi dari permukaan disk. Permukaan platter terbuat dari beberapa track,
dan setiap trek dibagi ke dalam sektor-sektor seperti ditunjukkan pada Gambar. 7.8.
lacak t
poros
sektor s
silinder c
piring
rotasi
lengan
Baca tulis
kepala
perakitan lengan
Gambar 7.7 Arsitektur internal hard disk
Gbr. 7.8 Permukaan piring
142
7 Memori

Halaman 154
Karakteristik Disk
Waktu Akses: waktu yang diperlukan untuk memulai transfer data, dan ini adalah jumlah dari waktu pencarian
dan penundaan rotasi.
Seek Time: waktu yang membuat kepala bergerak ke jalur yang benar.
Rotational Delay: waktu yang dibutuhkan suatu sektor untuk diposisikan di bawah baca / tulis
kepala dan tergantung pada kecepatan rotasi. Kecepatan rotasi diwakili oleh revolusi
per menit (RPM) mengasumsikan sektor ini jauh dari setengah dari lintasan; karena itu
penundaan rotasi dihitung oleh
Keterlambatan Rotasi = Waktu untuk setengah revolusi = 60 detik / RPM ∗ 2
Kapasitas Disk: kapasitas disk yang dihitung oleh
Kapasitas Disk = Jumlah permukaan

Jumlah trek / Permukaan

Jumlah sektor / Track

Jumlah byte / Sektor
Gugus
Setiap sektor disk adalah 512 byte (B), dan cluster dibuat dari satu sektor atau lebih, jika
sebuah cluster adalah 1 kB, kemudian dibuat dari dua sektor. Cluster 2 kB terbuat dari
4 sektor. Tabel 7.3 menunjukkan nilai standar ukuran cluster.
Contoh 7.1 Sebuah disk drive memiliki 8 permukaan, setiap permukaan memiliki 1024 trek, masing-masing trek
memiliki 64 sektor, dan setiap sektor dapat menampung 512 B dan kecepatan putaran 6000RPM.
(a) Berapa kapasitas disk?
(B) Apa penundaan rotasi?
Kapasitas disk = 8 * 1024 * 64 * 512 = 268.435.456 B
Penundaan rotasi = 60/6000 * 2 = 0,005 dtk
Sistem File Disk
Sistem file mendefinisikan organisasi informasi yang disimpan dalam hard disk; jendela
OS (sistem operasi) menawarkan FAT16 (tabel alokasi file) dan FAT32 yang mana
digunakan untuk OS windows awal; saat ini sebagian besar OS windows menggunakan NTFS (New Tech-
Sistem File nologi). NTFS menawarkan keamanan yang lebih baik seperti izin untuk membatasi
akses dan enkripsi.
Tabel 7.3 Ukuran cluster default
Ukuran DISK
Ukuran cluster NTFS
512-1024 MB
1 kB
1024 MB – 2 GB
2 kB
2 GB – 2 TB
4 kB
7.3 Hard Disk
143

Halaman 155
7.4 Solid-State Drive (SSD)
Hard drive adalah perangkat yang lambat, dan dapat digantikan oleh SSD. SSD terbuat dari
memori flash NAND nonvolatile. Gambar 7.9 menunjukkan arsitektur SSD, dan
Tabel 7.4 membandingkan SSD dengan HDD.
7.5 Hirarki Memori
Komputer hadir dengan tiga jenis memori, yang disusun secara hierarkis
mode, seperti yang ditunjukkan pada Gambar 7.10:
Gambar. 7.9 Arsitektur SSD
Tabel 7.4 Membandingkan SSD dengan HDD
Karakteristik SSD
HDD
Waktu akses
100 kali lebih cepat dari HDD
5000–10.000 μs
Harga
Mahal
Lebih murah
Keandalan
Lebih andal karena tidak punya mekanik
bagian
Kurang bisa diandalkan
Kapasitas
Gigabytes
Terabyte
Kekuasaan
Lebih sedikit daya dari HDD
Lebih banyak kekuatan daripada
SSD
144
7 Memori

Halaman 156
1. Memori cache: Memori cache adalah jenis memori tercepat dan paling sering
digunakan di dalam CPU yang disebut L1 cache, dan lebih cepat dari memori utama dan,
oleh karena itu, lebih mahal daripada memori utama.
2. Memori utama: Memori utama menggunakan DRAM dan SDRAM. Program menjadi
dieksekusi bergerak dari memori sekunder (disk atau tape) ke memori utama.
3. Memori sekunder: Memori kedua mengacu pada memori seperti hard disk, SSD,
dan CD-ROM (Tabel 7.5).
Memori Tembolok
Setiap lokasi memori cache disebut garis cache yang dapat menampung satu blok data
dari memori utama. Untuk sebagian besar prosesor, memori cache terletak di dalam
CPU dan disebut L1 cache; ada dua jenis cache di CPU:
1. Data cache (D-cache): Cache data menampung data dan dapat dibaca atau ditulis
oleh CPU.
2. Instruction cache (I-Cache): Instruction cache hanya menampung instruksi dan CPU
baca dari I-cache.
Gbr. 7.10 Memori
hierarki a
komputer mikro
Tabel 7.5. Menunjukkan harga berbagai jenis memori
Jenis memori
SRAM
DRAM
SSD
HDD
Biaya
$ 8,00 / MB
$ 0,16 / MB
$ 0,20 / GB
0,05 / GB
Waktu akses
0,5-2,5 ns
50–70 ns
70–150 ns
5–20 ms
7.5 Hirarki Memori
145

Halaman 157
Terminologi Cache
Miss: ketika CPU mengakses cache dan data tidak ada di cache, itu disebut cache miss
Hit: ketika CPU mengakses cache dan data ada di cache, maka itu disebut cache hit
Rasio hit: jumlah hit / jumlah miss + jumlah hit (jumlah total pembacaan)
Blok: beberapa lokasi memori utama disebut blok
Alamat fisik: alamat yang dihasilkan oleh CPU untuk mengakses memori utama
Alamat virtual: alamat yang dihasilkan oleh CPU untuk mengakses memori virtual atau sekunder
Penyimpanan
Baris cache atau blok cache: masing-masing baris atau blok dapat menampung banyak kata atau bye; itu
ukuran garis cache adalah blok yang sama di memori utama
Temporal locality: setelah lokasi memori dirujuk, maka ada masalah tinggi
kemampuan untuk direferensikan lagi dalam waktu dekat
Lokalitas spasial: ketika lokasi memori diakses, maka sangat mungkin
lokasi terdekat akan segera diakses.
Metode Pemetaan Memori Cache
Gambar 7.11 menunjukkan cache dengan 4 lokasi dan memori utama dengan 8 memori
lokasi, dan cache hanya dapat menampung 4 lokasi memori dari memori utama; CPU
pertama mengakses cache jika data tidak ada dalam cache dan kemudian mengakses memori utama dan
memindahkan blok data ke dalam cache; pertanyaannya adalah di mana data akan disimpan di
cache; ini membawa subjek metode pemetaan.
Metode pemetaan digunakan untuk memetakan blok memori utama ke dalam cache
line (blok cache), dan berikut ini adalah jenis metode yang digunakan untuk pemetaan:
1. Pemetaan langsung
2. Pemetaan asosiatif
3. Atur asosiatif
Pemetaan Langsung
Gambar 7.12 menunjukkan memori cache dengan empat baris cache, dan setiap baris menampung 4 B;
alamat fisik yang dilihat oleh cache dibagi menjadi tiga bidang dan mereka adalah:
Gambar 7.11 Cache dan main
Penyimpanan
146
7 Memori

Halaman 158
Offset: menentukan ukuran garis cache (jumlah byte atau kata) karena masing-masing
garis cache dapat menampung 4 lokasi memori dan kemudian offsetnya adalah 2 bit, dan masing-masing
blok adalah 4 lokasi memori; juga mengimbangi menentukan mana dari empat data yang akan
ditransfer ke CPU.
Indeks: indeks adalah alamat ke cache; dalam gambar ini ada 4 baris cache dan
maka indeks adalah 2 bit.
V-bit (bit valid): V-bit diatur ke satu untuk menyatakan bahwa data dalam baris cache adalah valid.
Tag: Ukuran Tag ¼ Ukuran Alamat Fisik À (Ukuran Indeks þ Ukuran Offset).
Jika alamat fisik 7 bit, maka beri tag ¼ 7À (2 þ 2) ¼ 3 bit.
Jika bit yang valid adalah satu dan tag dalam bidang alamat cocok dengan tag yang disimpan dalam cache,
kemudian hasilnya dipukul; jika tidak miss.
Ketika CPU menerima kesalahan dari cache, maka akses memori utama dan transfer
blok data dari memori utama ke garis cache menggunakan persamaan berikut untuk langsung
pemetaan:
Alamat jalur cache ¼ Nomor Blok Memori Utama
ð
ÞModulo N
di mana N adalah jumlah baris cache.
Pertimbangkan Gambar 7.13 cache dan asumsikan CPU menghasilkan alamat 010 10 11, the
Gambar 7.13 menunjukkan format alamat fisik yang terlihat oleh cache.
CPU menggunakan nilai indeks untuk mengakses baris cache 10 dan jika bit yang valid adalah nol
menghasilkan kesalahan, CPU mengakses memori utama dan mentransfer blok 01010 ke
garis cache 10 menurut persamaan berikut:
Gbr. 7.12 Memori cache dengan 4 garis cache
7.5 Hirarki Memori
147

Halaman 159
01010
ð
Þ 2 ¼ 10
ð Þ 10
Nomor baris cache ¼ 10modulo 4 ¼ 2 atau 10
ð Þ 2
Dalam hal ini setiap blok terdiri dari 4 lokasi memori. Karena offset adalah dua
bit, itu dapat merujuk salah satu dari 4 (2 2 ) potongan data dalam satu blok memori. Blok di
alamat 01010 di memori utama dengan offset 2 bit terdiri dari lokasi memori
0101000 (M28), 0101001 (M29), 0101010 (M2A), dan 0101011 (M2B).
Dalam hal ini, M28, M29, M2A, dan M2B ditransfer ke cache line 10, dan
V-bit diatur ke satu. Tag disimpan dalam bidang tag cache seperti yang ditunjukkan pada Gambar 7.14.
Sekarang, jika CPU menghasilkan alamat 0101010, di mana tag ¼ 010, indeks ¼ 10, dan
offset ¼ 10, CPU menggunakan indeks untuk mengakses jalur cache 10. Jika pada jalur cache 10 tersebut
V-bit sama dengan 1 dan tag alamat cocok dengan tag pada baris cache
hasilnya adalah hit, dan CPU menggunakan offset 10 untuk memindahkan data (M2A) ke CPU.
(Di mana offset 00 ¼ M28, 01 ¼ M29, 10 ¼ M2A, 11 ¼ M2B.)
Contoh 7.2 Gambar 7.15 menunjukkan memori utama dan memori cache dari a
komputer. CPU menghasilkan (dalam hex) alamat 0 – 0, 0  2, 0  5, dan 0  2.
Dengan asumsi cache kosong di awal, tunjukkan konten cache.
Dalam contoh ini setiap blok dan garis cache adalah 2 B dan memori utama terdiri dari
8 blok. Gambar 7.16 menunjukkan alamat fisik seperti yang terlihat oleh cache.
• Offset byte adalah satu bit. (2 B per blok)
• Indeks ini dua bit. (cache terdiri dari 4 baris ¼ 2 2 )
• Tag ini satu bit. (Bit dalam blok À bit dalam indeks ¼ 3 À 2 ¼ 1)
• CPU menghasilkan alamat 0 Â 0 atau 0000. Oleh karena itu, tagnya adalah 0, indeksnya adalah 00,
dan offsetnya adalah 0. CPU mengakses cache line 00 dan V-bit adalah nol yang
menghasilkan miss. CPU mengakses alamat memori utama 0000, mentransfer blok
000 ke baris cache 00, dan menetapkan bit tag ke nol dan V-bit ke satu.
Gbr. 7.13 Format
alamat fisik untuk
0101011
Gbr. 7.14 Memori cache
dengan empat garis (empat blok)
148
7 Memori

Halaman 160
Oleh karena itu, baris cache 00 berisi: V ¼ 1, Tag ¼ 0, Byte1 ¼ 0 Â 5,
Byte0 ¼ 0 Â 1.
• Selanjutnya CPU menghasilkan alamat 0 2 atau 0010. Indeks adalah 01 jadi CPU
mengakses cache line 01, di mana bit yang valid adalah nol yang menghasilkan miss. Kemudian
CPU mengakses lokasi memori utama 0010 dan mentransfer 001 ke dalam
cache line 01, mengubah bit yang valid menjadi satu, dan menyimpan bagian tag dari alamat
ke dalam tag baris cache. Karenanya, cache line 01 sekarang: V ¼ 1, Tag ¼ 0,
Byte1 ¼ 0 7 7, Byte0 ¼ 0 6 6.
• CPU menghasilkan alamat 0 5 5 atau 0101. Indeksnya adalah 10, sehingga CPU mengakses
cache baris 10 dan hasilnya ketinggalan. CPU mengakses lokasi memori utama
0101 dan transfer blok 010 ke cache, set V ke satu, dan menyimpan tag dari
alamat ke dalam tag cache. Baris cache 10 sekarang: V ¼ 1, Tag ¼ 0, Byte1 ¼ 0 Â 7,
Byte0 ¼ 0 Â8.
• CPU menghasilkan alamat 0 Â 2 atau 0010, sehingga mengakses jalur cache 01. Yang valid
bit adalah 1 dan tag baris cache cocok dengan tag alamat, yang menghasilkan hit. Itu
offset adalah 0, sehingga CPU membaca byte 0 dari cache line 01. Proses ini akan
lanjutkan ke alamat lain.
Gbr. 7.15 Memori cache dan memori utama pada Contoh 7.2
Gambar 7.16 Alamat fisik
format untuk Contoh 7.1
7.5 Hirarki Memori
149

Halaman 161
Dengan menggunakan cache ukuran dan memori utama yang sama seperti di atas, blok 000 dan 100 akan
keduanya dipetakan ke jalur cache 00. Jika CPU menghasilkan alamat 0000, 1000,
0001, dan 1001 berturut-turut, maka hasilnya akan hilang untuk keempat alamat. Di
Untuk mengurangi kesalahan, maka cache dapat dibagi menjadi set, dan metode pemetaan
disebut set pemetaan asosiatif.
Tetapkan Pemetaan Asosiatif
Dalam set pemetaan asosiatif, memori cache dibagi menjadi beberapa set. Ukuran
set dapat bervariasi: contoh termasuk asosiatif atur dua arah, asosiatif atur empat arah,
dan seterusnya. Gambar 7.17 menunjukkan cache asosiatif dua arah yang disetel, dan Gambar 7.18 menunjukkan
format alamat fisik yang terlihat oleh cache. Menggunakan contoh sebelumnya sebagai a
dasar, byte offset akan tetap satu bit karena mengacu pada salah satu dari dua byte yang disimpan
garis cache. Pengidentifikasi set akan menjadi satu bit yang mendefinisikan alamat yang ditetapkan; tag
Ukuran dihitung sebagai berikut:
Ukuran Tag ¼ Ukuran alamat fisik À Tetapkan alamat À Offset
Asumsikan alamat fisik adalah 4 bit, maka Gambar 7.18 menunjukkan alamat fisik
dilihat oleh cache.
Contoh 7.3 Pertimbangkan memori utama dari Gbr. 7.15, tempat cache kosong
dan itu dibagi menjadi dua set seperti yang ditunjukkan pada Gambar. 7.19. Tampilkan isi cache
jika CPU menghasilkan alamat 0 0, 0 8, 0 0, dan 0 8.
• CPU menghasilkan alamat 0 Â 0 atau 0000 dan mengakses cache set 0. Keduanya cache
baris di set 0 memiliki bit 0 yang valid, sehingga hasilnya adalah miss. CPU-nya
mengakses memori utama, mentransfer konten lokasi memori 0000 dan 0001
ke dalam cache, lalu ubah bit yang valid menjadi satu, dan simpan bagian tag dari
alamat ke dalam tag cache.
Selanjutnya, CPU menghasilkan alamat 0 8 atau 1000 dan mengakses cache set 0. Pertama
baris cache memiliki bit valid 1 tetapi tag tidak cocok (10 vs 00). CPU
kemudian mengakses memori utama, mentransfer konten lokasi memori 1000 dan 1001
ke baris kedua cache di set 0, dan ubah bit yang valid menjadi satu dan simpan
bagian tag dari alamat ke dalam tag cache. Sekarang, ketika CPU menghasilkan
alamat 0 Â 0 dan 0 Â 8 lagi menghasilkan hit.
V
Menandai
Byte1
Byte0
V
Menandai
Byte1
Byte0
0
0
0
1
0
0
Gambar 7.17 Cache associate dua arah yang disetel
Gambar 7.18 Alamat fisik
dilihat oleh cache untuk set
pemetaan asosiatif
150
7 Memori

Halaman 162
Metode Penggantian
Dalam set asosiatif, ketika CPU membawa blok baru ke cache, maka salah satu cache
garis harus diganti dengan blok baru; pertimbangkan Gambar 7.20 . Jika CPU menghasilkan alamat
0100 (4) (tag ¼ 01, atur alamat ¼ 0, dan offset adalah 0), ia mengakses set 0, dan kedua cache
baris memiliki bit satu yang valid, tetapi tag pada baris cache tidak cocok dengan hasil tag alamat
miss, dan kemudian CPU mengakses memori utama dan harus memindahkan isi memori
lokasi 0100 dan 0101 ke dalam cache. CPU menggunakan metode yang paling baru digunakan (LRU)
yang memindahkan blok baru dari memori utama dan menggantinya dengan blok yang telah
lebih lama dalam cache. Metode ini dilakukan dengan menambahkan bit LRU ke setiap cache
baris cache seperti yang ditunjukkan pada Gambar 7.21 .
Pada Gambar 7.21 , anggap kedua garis cache di set 0 kosong, blok baru akan dipindahkan
baris cache pertama di set 0, dan LRU berubah dari 0 ke 1; blok kedua bergerak
ke baris cache kedua set 0, dan LRU berubah dari 0 ke 1, tetapi pada saat yang sama,
LRU dari baris cache pertama akan berubah dari 1 ke 0; Oleh karena itu, baris cache dengan
LRU ¼ 0 berisi blokir yang lebih panjang pada baris cache.
Gambar 7.19 Konten cache untuk alamat 0000
Gbr. 7.20 Isi cache untuk alamat 0000 dan 1000
7.5 Hirarki Memori
151

Halaman 163
Pemetaan Sepenuhnya Asosiatif
Dalam pemetaan asosiatif penuh, seluruh alamat disimpan dalam cache dengan datanya.
Gambar 7.22 menunjukkan cache asosiatif penuh dengan empat baris setelah CPU memiliki
diakses lokasi memori utama 0 Â 0 dan 0 Â 8. Jika CPU berikutnya menghasilkan
alamat 0 Â 0 atau 0000, maka akan membandingkan alamat dengan masing-masing alamat di
cache, dan jika cocok, maka itu akan membaca data dari cache.
Metode Pembaruan Cache
1. Write Through: Ketika informasi baru ditulis ke cache, memori utama adalah
juga diperbarui.
2. Buffered Write Through: Ada buffer antara cache dan memori utama,
ketika informasi baru ditulis ke cache, informasi ini ditulis ke dalam
buffer, dan CPU dapat mengakses memori ini sebelum informasi baru dapat
ditulis ke dalam memori utama.
3. Write Back (Salin Kembali): Dalam metode ini, hanya cache yang diperbarui, dan utama
memori akan diperbarui ketika garis cache yang sesuai ditimpa. Di
metode ini setiap baris cache memiliki bit kotor untuk menunjukkan apakah baris cache telah
dimodifikasi atau tidak.
Gambar 7.21 Dua set asosiatif dengan LUR
Sah
Alamat
Byte1
Byte0
1
0 00
5
1
1
1 00
9
2
0
0
Gambar 7.22 Asosiatif
pemetaan
152
7 Memori

Halaman 164
7.5.1 Memori Virtual
Memori virtual adalah HDD atau SSD; digunakan untuk menyimpan data dan instruksi aplikasi
yang saat ini tidak perlu diproses oleh CPU. Memori virtual memungkinkan
sistem untuk menjalankan aplikasi yang lebih besar dari memori utama. Disk dilihat oleh CPU sebagai virtual
memori, jika CPU memiliki 16 garis alamat, maka ukuran memori virtual akan menjadi 2 16 B.
Aplikasi berada dalam disk dan disebut proses. Ketika pengguna menjalankan program,
sistem operasi memindahkan halaman proses ke memori utama. Memori virtual adalah
dibagi menjadi beberapa halaman seperti yang ditunjukkan pada Gambar 7.23 ; proses A halaman yang ditempati P0
melalui P4, dan memproses B yang ditempati halaman P5 – P9.
CPU menghasilkan alamat virtual (untuk mengakses alamat dalam disk) dari V-bit.
Bit-bit ini dibagi menjadi dua pengidentifikasi: jumlah halaman virtual dari M bit dan a
offset halaman N bit seperti yang ditunjukkan pada Gambar 7.24 . Jumlah total halaman dalam sistem
sama dengan 2 M , dan jumlah byte (dalam sistem byte-addressable) dalam satu halaman adalah
sama untuk 2 N . Jumlah total alamat dalam suatu sistem sama dengan 2 (NþM) atau 2 V .
Contoh 7.4 Kapasitas disk virtual adalah 2 MB (megabita), dan setiap halaman adalah
2 kB (kilobyte) dalam sistem byte-addressable.
(a) Apa nilai-nilai N dan M?
(B) Berapa banyak halaman dalam disk?
Karena setiap halaman adalah 2 kB, 2 N ¼ 2048 B, artinya N sama dengan 11.
Kapasitas disk adalah 2 MB. 2 V ¼ 2 M sama dengan 2 21 jadi V ¼ 21 bit.
Gbr. 7.23 Memori virtual
Gambar 7.24 Alamat virtual
format
7.5 Hirarki Memori
153

Halaman 165
Jumlah halaman, maka, sama dengan 2 (21-11) . Disk berisi 2 10 atau 1024
halaman, dan ukuran setiap halaman adalah 2 kB.
Halaman Tabel Dengan memori utama dibagi menjadi beberapa blok, ukuran setiap blok
(atau bingkai) sama dengan ukuran halaman. Ketika CPU mentransfer halaman ke utama
memori, ia mencatat nomor halaman dan blok yang sesuai di tabel halaman. Itu
baris alamat dari tabel halaman adalah nomor halaman. Setiap baris berisi bingkai atau
blokir nomor lokasi yang cocok di memori utama dan bit yang valid
menunjukkan apakah saluran tersebut valid atau tidak. Gambar 7.25 menunjukkan tabel halaman dimana
halaman P0, P1, P3, dan P4 masing-masing dipindahkan ke blok 2, 3, 0, dan 1.
Gbr. 7.25 Memori virtual, memori, dan tabel halaman
154
7 Memori

Halaman 166
Setiap proses memiliki tabel halamannya sendiri yang disimpan dalam memori utama. Sejak cache
memori lebih cepat, bagian dari tabel halaman disebut terjemahan lookaside
buffer (TLB) disimpan dalam cache. TLB menggunakan pemetaan asosiatif.
7.5.2 Organisasi Memori Komputer
Gambar 7.26 menunjukkan organisasi memori komputer yang dalam contoh ini
terdiri dari:
A. Memori virtual (hard disk atau solid-state drive)
B. Memori utama (sejenis DRAM)
C. Memori cache (SRAM)
D. Tabel halaman yang melacak halaman di memori utama
E. TLB yang memegang bagian dari tabel halaman
Operasi Memori
Langkah-langkah berikut ini menjelaskan pengoperasian memori komputer. Pertama, CPU
menghasilkan alamat virtual dan memeriksa TLB untuk melihat apakah halaman yang sesuai masuk
memori utama sudah atau belum.
Gbr. 7.26 Organisasi memori komputer
7.5 Hirarki Memori
155

Halaman 167
A. Jika TLB menunjukkan bahwa halaman yang sesuai ada di memori, maka hasilkan a
alamat fisik dan periksa apakah data ada dalam cache.
(A) Jika ada dalam cache, maka ini disebut hit dan membaca data dari cache
(B) Jika tidak ada dalam cache, maka itu disebut miss, dan CPU mengakses
memori dan memindahkan satu blok data ke dalam cache kemudian membacanya.
B. Jika halaman yang sesuai tidak ada dalam TLB, maka CPU memeriksa tabel halaman.
1. Jika halaman yang sesuai berada di memori utama, perbarui TLB dan ulangi
dari langkah 1.
2. Jika halaman yang sesuai tidak ada dalam memori utama, maka pindahkan halaman dari
memori virtual menjadi memori utama, perbarui tabel halaman, perbarui TLB,
dan ulangi dari langkah 1.
C. Jika halaman yang sesuai tidak dalam tabel halaman, maka CPU akan memindahkan halaman
dari memori virtual ke memori utama, memperbarui tabel halaman, memperbarui
TLB, dan ulangi dari langkah 1.
Pertanyaan dan Masalah
1. Bedakan antara memori volatil dan tidak ada volatil.
2. Apa artinya RAM?
3. Sebutkan tiga jenis RAM.
4. Manakah dari tipe memori berikut ini yang digunakan untuk memori utama?
(a) ROM dan SDRAM
(B) SRAM dan DRAM
(c) SDRAM dan DRAM
(d) DRAM dan EPROM
5. _________ menyimpan informasi secara permanen, bahkan ketika tidak ada daya.
(a) ROM
(B) DRAM
(menjejalkan
(d) SRAM
6. Apa kepanjangan dari ROM?
7. Apakah memori flash adalah jenis RAM atau ROM?
8. Apa perbedaan antara EEPROM dan EPROM?
9. Berapa kapasitas memori dengan 10 baris alamat dan menampung satu byte per
lokasi memori?
10. Apa aplikasi utama SRAM?
11. Apa aplikasi utama DRAM?
12. Tetapkan ketentuan berikut:
(sebuah jalur
(B) Sektor
(c) Cluster
156
7 Memori
Halaman 168
13. Hard disk terdiri dari 4 permukaan, masing-masing permukaan terdiri dari 80 trek, dan masing-masing
track terdiri dari 32 sektor. Setiap sektor memiliki 512 B. Apa kapasitas ini
disk?
14. Apa fungsi tabel alokasi file (FAT)?
15. Daftar jenis memori di komputer dari yang tercepat hingga yang paling lambat.
16. Apa jenis cache?
17. Jenis memori apa yang digunakan untuk memori cache?
18. Apa itu memori virtual?
19. Bedakan antara alamat virtual dan alamat fisik.
20. Alamat fisik menentukan ukuran
(a) Memori virtual
(B) Memori fisik
(c) Memori cache
21. Tampilkan format alamat virtual.
22. Apa itu rasio hit?
23. Jelaskan lokalitas temporal.
24. Jelaskan lokalitas spasial.
25. Daftar metode pemetaan cache.
26. Tampilkan format alamat yang terlihat oleh cache untuk pemetaan langsung.
27. Daftar metode pemetaan cache.
28. Tampilkan format alamat yang terlihat oleh cache untuk mengatur pemetaan asosiatif.
29. Apa fungsi nomor halaman di alamat virtual?
30. Berapa banyak bit halaman yang diimbangi jika setiap halaman memiliki 8 kB?
31. Apa fungsi dari tabel halaman?
32. Informasi apa yang disimpan di TLB? Di mana TLB disimpan?
33. Daftar metode pemetaan cache.
34. Apa keuntungan dari pemetaan cache asosiatif versus pemetaan langsung?
35. Apa tiga kebijakan penulisan yang digunakan untuk memori?
36. __________ adalah jenis memori tercepat.
(a) Memori cache
(B) Memori utama
(c) Memori sekunder
(d) Hard disk
Masalah
1. Memori utama dan cache berikut diberikan. CPU menghasilkan alamat
0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0, 3, 0, 6, 0, 6, 0, 7, 0, B, 0, D, dan
0 Â F. Tampilkan konten cache dan temukan rasio hit.
7.5 Hirarki Memori
157

Halaman 169
ALAMAT
Isi
0000
5
0001
0
0010
1
0011
11
0100
15
0101
09
0110
16
0111
23
1000
65
1001
01
1010
8
1011
9
1100
15
1101
0
1110
2
1111
5
v Tag
Data
2. Memori berikut dan memori cache diberikan. CPU menghasilkan alamat
0 Â 1, 0 Â 2, 0 Â 1, 0 Â 8, 0 Â 9, 0 Â 1C, 0 Â 1D, 0 Â 3, dan 0 Â 4.
(a) Tampilkan konten cache menggunakan pemetaan asosiatif dua arah;
mengambil kebijakan penggantian LRU.
(B) Berapa hit rate?
158
7 Memori

Halaman 170
3. Komputer memiliki alamat fisik 24 bit dan setiap lokasi memori menyimpan satu
byte. Komputer ini memiliki 64 baris cache dan setiap baris menampung 16 B. Tampilkan
format alamat (tag, indeks, dan byte offset) menggunakan
(a) Pemetaan langsung
(B) mengatur asosiatif 4-arah
(c) 8-way set asosiatif
4. Komputer memiliki memori virtual 32 kB dan memori utama 8 kB dengan satu halaman
ukuran 512 B.
(a) Berapa bit dalam alamat virtual?
(B) Berapa banyak halaman dalam memori virtual?
(c) Berapa banyak bit yang diperlukan untuk alamat fisik?
(D) Berapa banyak frame atau blok dalam memori utama?
5. Komputer dengan 256 MB memori virtual, 4 MB memori utama, dan 8 kB
memori cache. Asumsikan ukuran halaman 2 kB.
(a) Berapa ukuran alamat virtual?
(B) Berapa ukuran alamat fisik?
(c) Berapa banyak halaman dalam memori virtual?
(D) Berapa banyak blok dalam memori utama?
7.5 Hirarki Memori
159

Halaman 171
(e) Berapa ukuran tabel halaman? (Sertakan jumlah lokasi dan
ukuran total setiap lokasi termasuk semua informasi.)
6. Komputer memiliki 20 bit memori virtual dan setiap halaman adalah 2 kB.
(a) Berapa ukuran memori virtual?
(B) Berapa banyak halaman dalam memori virtual?
7. Komputer dengan 4 kata per blok memiliki 4 K blok cache dan 1 M blok
memori utama.
(a) Berapa ukuran alamat fisik?
(B) Tentukan ukuran tag, indeks, dan kata offset dari alamat fisik
menggunakan pemetaan langsung.
(c) Tentukan ukuran tag, set, dan offset kata dari alamat fisik yang digunakan
Mengatur pemetaan asosiatif dua arah.
8. CPU dari Gambar 7.26 menghasilkan alamat 000 dan 0b; asumsikan halaman 0 peta menjadi
blok 1 dan halaman 2 peta di blok 0, tunjukkan isi tabel halaman.
160
7 Memori

Halaman 172
Bab 8
Bahasa Majelis dan Instruksi ARM
Bagian I
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Menjelaskan fungsi kompiler dan assembler.
• Konversi HLL ke bahasa mesin.
• Tampilkan arsitektur prosesor ARM.
• Menjelaskan fungsi register status prosesor (PSR).
• Daftar klasifikasi instruksi berdasarkan jumlah operan.
• Pelajari berbagai jenis instruksi ARM.
• Menjelaskan operasi instruksi bersyarat.
• Konversi HLL ke bahasa assembly.
• Jelaskan instruksi shift dan rotate.
• Jelaskan pengoperasian instruksi tumpukan.
• Menjelaskan aplikasi instruksi Cabang.
8.1 Pendahuluan
Pemrogram menggunakan bahasa tingkat tinggi untuk mengembangkan program aplikasi; agar
program untuk menjadi bentuk yang dapat dieksekusi, itu harus dikonversi dalam kode mesin
(biner).
Gambar 8.1 menunjukkan bahasa tingkat tinggi (HLL) yang dikonversi ke kode mesin, the
kompiler mengubah HLL menjadi bahasa assembly, dan kemudian assembler mengkonversi
bahasa rakitan ke bahasa mesin (bit) oleh assembler.
Setiap CPU memiliki serangkaian instruksi yang mewakili jenis operasi
CPU dapat melakukan, dan instruksi ini direpresentasikan dalam bentuk mnemonic atau
singkatan, misalnya, instruksi tambahan diwakili oleh "ADD," dan
instruksi pengurangan diwakili oleh “SUB.”
TAMBAHKAN R1, R2, R3 berarti menambahkan konten R2 dengan mendaftar R3 dan menyimpan hasilnya
Daftar R1. R1, R2, dan R3 disebut operan.
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_8
161

Halaman 173
HLL berikut ini dikonversi ke bahasa assembly:
Bahasa Majelis HLL
R3 = R1 + R2 ADD R3, R1, R2
R3 = R1-R2 SUB R3, R1, R2
Programmer menggunakan instruksi untuk menulis bahasa assembly. Aplikasi
bahasa assembly adalah:
• Bahasa assembly digunakan untuk menulis kode tercepat.
• Ini membantu untuk lebih memahami HLL.
• Kompiler penulisan untuk HLL membutuhkan pengetahuan tentang bahasa assembly.
• Digunakan dalam sistem dan driver tertanam.
• HLL mungkin tidak menyediakan akses ke perangkat keras maka bahasa assembly dapat digunakan.
8.2 Arsitektur Set Instruksi (ISA)
Pembuat CPU menerbitkan dokumen yang berisi informasi tentang
prosesor seperti daftar register, fungsi setiap register, ukuran bus data, ukuran
bus alamat, dan daftar instruksi yang dapat dijalankan oleh CPU. Setiap CPU memiliki
set instruksi yang diketahui yang dapat digunakan programmer untuk menulis bahasa assembly
program. Set instruksi khusus untuk setiap jenis prosesor. Prosesor Pentium
menggunakan set instruksi yang berbeda dari prosesor ARM. Instruksi diklasifikasikan adalah
berdasarkan jumlah operan atau jenis operasi.
8.2.1 Klasifikasi Instruksi Berdasarkan Nomor
Operand
Tidak Ada Petunjuk Operand. Berikut ini adalah beberapa instruksi yang tidak
membutuhkan operan:
HLT
Hentikan CPU
NOP
Tidak ada operasi
Gambar 8.1. Mengubah HLL ke bahasa mesin
162
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 174
Operan PUSH: Tekan operan ke atas tumpukan
Operan POP
Hapus operan dari atas tumpukan
Instruksi Satu Operan Berikut ini adalah beberapa instruksi yang
membutuhkan satu operan.
INC
operan
Contoh: INC R1 - Daftar kenaikan R1 oleh 1
DEC
operan
Contoh: DEC R1 - Daftar penurunan R1 oleh 1
J
target
Lompat ke lokasi memori yang dilabeli oleh target
MENAMBAHKAN
operan
Tambahkan operan ke akumulator (ACC) ACC! Operan ACC þ
Instruksi Dua Operan Berikut ini adalah beberapa instruksi yang
membutuhkan dua operan.
ADD Rd, Rn Contoh: ADD R1, R2 - R1 R1þR2
Arsitektur Instruksi Set Intel menggunakan dua operan.
MOV EAX, EBX; EAX
EBX
Instruksi Tiga Operand Kebanyakan prosesor modern menggunakan instruksi dengan tiga
operan, seperti ARM, MIPS, dan Itanium
ADD R1, R2, R3; R1 R2 þR3
8.3 Arsitektur Prosesor ARM
Advanced RISC Machine (ARM) dikembangkan oleh Acorn Company. ARM adalah a
pemasok utama mikroprosesor di dunia, ARM mengembangkan CPU inti, dan
ribuan pemasok menambahkan lebih banyak unit fungsional ke inti. ARM menggunakan dua jenis
instruksi yang disebut Thumb and Thumb-2. Instruksi jempol adalah 16 bit dan ibu jari-
2 instruksi adalah 32 bit; Saat ini sebagian besar prosesor ARM menggunakan instruksi 32-bit.
ARM berisi 15 register yang disebut R0 hingga R15, disebut R0 hingga R12
register usulan umum. ARM mampu menjalankan instruksi Thumb (16-bit
instruksi) dan instruksi Thumb-2 32 bit. Instruksi jempol menggunakan register
R0 hingga R7.
ARM ditujukan untuk aplikasi yang membutuhkan prosesor efisien daya, seperti
telekomunikasi, komunikasi data (konverter protokol), alat portabel
ment, komputer jinjing, dan kartu pintar. ARM pada dasarnya adalah prosesor RISC 32-bit
8.3 Arsitektur Prosesor ARM
163

Halaman 175
(Bus data 32-bit dan bus alamat) dengan respons interupsi cepat untuk penggunaan secara waktu nyata
aplikasi. Diagram blok prosesor ARM7 ditunjukkan pada Gambar 8.2 .
Instruksi Decoder dan Kontrol Logika Fungsi dari decoder instruksi dan
kontrol logika adalah untuk memecahkan kode instruksi dan menghasilkan sinyal kontrol ke bagian lain dari
prosesor untuk pelaksanaan instruksi.
Address Register Untuk menyimpan alamat 32-bit untuk bus alamat
Penambahan Alamat Ini digunakan untuk menambah alamat oleh empat dan menempatkannya di
daftar alamat.
Register Bank Register bank berisi 31 register 32-bit dan 6 status
register.
Gambar 8.2 Blok diagram arsitektur ARM7
164
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 176
Barrel Shifter Digunakan untuk operasi pergeseran cepat.
ALU 32-bit ALU digunakan untuk operasi aritmatika dan logika.
Write Data Register Prosesor memasukkan data dalam Write Data Register untuk ditulis
operasi.
Baca Data Register Ketika prosesor membaca dari memori itu menempatkan hasilnya di sini
daftar.
Mode Operasi ARM
ARM dapat beroperasi dalam salah satu mode berikut:
1. Mode pengguna: Gunakan untuk operasi normal.
2. Mode IRQ: Mode interupsi ini dirancang untuk menangani operasi interupsi.
3. Mode pengawas: Digunakan oleh sistem operasi.
4. Mode FIQ: Mode interupsi cepat.
5. Mode tidak terdefinisi: Ketika instruksi yang tidak ditentukan dieksekusi.
6. Mode batal: Mode ini menunjukkan bahwa akses memori saat ini tidak dapat dikompromikan.
terpasang, seperti ketika data tidak ada dalam memori dan prosesor membutuhkan lebih banyak waktu
untuk mengakses disk dan mentransfer blok data ke memori.
8.4 Register ARM
ARM7 memiliki 31 register umum dan 6 register status. Pada mode pengguna, hanya 16 pendaftaran
ters dan 1 Program Status Register (PSR) tersedia untuk programmer. Itu
register diberi label R0 hingga R15. R15 digunakan untuk penghitung program (PC), R14
digunakan untuk register register, dan R13 digunakan untuk stack pointer (SP). Gambar 8.3 menunjukkan
register mode pengguna.
Registrasi Status Program Saat Ini (CPSR). Gambar 8.4 menunjukkan format PSR.
Register ini digunakan untuk menyimpan bit kontrol dan bit bendera. Bit bendera adalah N, Z, C,
dan V, dan bit kontrol adalah I, F, dan M0 hingga M4. Bit bendera mungkin
berubah selama operasi logis, aritmatika, dan membandingkan.
Bit Bendera
N (negatif): N ¼ 1 berarti hasil operasi negatif, dan N ¼ 0 berarti
hasil operasi adalah positif.
Z (nol): Z ¼ 1 berarti hasil operasi adalah nol, dan Z ¼ 0 hasil operasi
bukan nol.
C (carry): C ¼ 1 berarti hasil dari operasi yang menghasilkan carry, dan C ¼ 0 berarti
hasil operasi tidak menghasilkan barang bawaan.
V (overflow): V ¼ 1 berarti hasil operasi yang menghasilkan overflow, dan V ¼ 0
berarti hasil operasi tidak menghasilkan luapan.
8.4 Register ARM
165

Halaman 177
Bit kontrol
I (interrupt bit): Ketika bit ini diset ke satu, itu akan menonaktifkan interrupt, dan ini
berarti prosesor tidak menerima interupsi perangkat lunak apa pun.
F-bit digunakan untuk menonaktifkan dan mengaktifkan mode mode permintaan interupsi cepat (FIQ).
M4, M3, M2, M1, dan M0 adalah bit mode, dan mereka sama dengan 10000 untuk mode pengguna.
T (Status bit): T ¼ 1 Prosesor yang menjalankan instruksi Jempol, prosesor T ¼ 0
menjalankan instruksi ARM.
8.5 Instruksi ARM
Arsitektur ARM mendukung set instruksi Thumb 16-bit dan Thumb-2 32-bit. Paling
instruksi ARM menggunakan tiga operan. Instruksi ini diklasifikasikan berdasarkan
pada format instruksi mereka dan operasi yang terdaftar sebagai berikut:
(A) Instruksi pemrosesan data
(B) Swap data tunggal
(C) Menggeser dan memutar instruksi
(D) Instruksi tanpa syarat dan instruksi bersyarat
(E) Operasi tumpukan
31
30
29
28
27
7
6
5
4
3
2
1
0
N
Z
C
V
Tidak digunakan
saya
F
T
M4 M3 M2 M1 M0
Gbr. 8.4 Format penyimpanan untuk CPSR
31
0
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15 (PC)
CPSR
Gambar 8.3 Mode pengguna
register
166
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 178
(F) Cabang
(G) Lipat gandakan instruksi
(H) Transfer data
8.5.1 Petunjuk Pemrosesan Data
Instruksi pemrosesan data adalah sebagai berikut: AND, EOR, SUB, RSB, ADD,
ADC, SBC, RSB TST, TEQ, CMP, CMN, ORR, MOV, BIC, dan MNW. Data
instruksi pemrosesan menggunakan operan register dan operan langsung. Umum
format instruksi pemrosesan data adalah:
Mnemonic {S} {Condition} Rd, Rn, operand2
Mnemonic: Mnemonic adalah singkatan dari operasi seperti ADD for
tambahan
{}: Perintah di dalam {} adalah opsional seperti S dan kondisi
S: Ketika sebuah instruksi berisi S berarti perbarui Status Prosesor
Daftarkan bit bendera (PSR)
Kondisi: Kondisi menentukan instruksi akan dieksekusi jika bertemu
kondisi
Rd: Rd adalah register tujuan
Rn: Rn adalah operan1
Operand2: Operand2 dapat mendaftar atau nilai langsung
A. Register Operand Operan berada di register. Daftar pertama adalah tujuan
register, register kedua adalah operand1 dan register ketiga adalah operand2.
Berikut ini adalah instruksi operasi aritmatika dan logika dengan register
operan.
TAMBAHKAN R0, R1, R2; R0 = R1þR2 Tambahkan isi register R1 dengan register
R2 dan letakkan hasilnya di register R0.
ADC R0, R1, R2; ; R0 = R1þR2 þC Tambahkan dengan carry C adalah carry bit.
SUB R0, R2, R3; R0 = R2 – R3 di mana R2 adalah operan pertama dan R3 adalah kedua
operan
8.5 Instruksi ARM
167

Halaman 179
SBC R0, R2, R3; ; R0 = R2-R3þC-1 SUB dengan carry.
RSB R0, R2, R5; R0 = R5-R2 Membalikkan SUB.
RSC R0, R2, R5; R0 = R5-R2þC-1 Membalikkan sub dengan carry.
DAN R0, R3, R5; R0 = R3 DAN R5.
ORR R7, R3, R5; ; R7 = R3 ATAU R5.
EOR R0, R1, R2; R0 = R1 Eksklusif ATAU dengan R2.
BIC R0, R1, R2; Sedikit jelas. Yang di operan kedua hilang
bit yang sesuai pada operan pertama dan menyimpan hasilnya dalam
daftar tination.
Contoh 8.1 Asumsikan konten R1 adalah 1111111111011111, dan R2 adalah 1000 0100
1110 0011 setelah eksekusi BIC R0, R1, R2, R0 berisi 0111 101100011100.
A. Operand Langsung Dalam operan langsung, operand2 adalah nilai langsung
dan maksimal bisa 12 bit
Tambah R1, R2, # & 25; R1 = R2þ & amp; amp; amp; amp; amp; amp; amp; 25; # berarti
segera
dan
& amp; amp; amp; amp; amp; amp; amp;
cara
itu
segera
nilai dalam heksadesimal.
AND R2, R3, # & 45; R2 = R3 AND & 45.
EOR R2, R3, # & 45; R2 = R3 Eksklusif ATAU & 45.
Contoh 8.2 Apa isi R1 setelah menjalankan instruksi berikut
tion? Asumsikan R2 berisi 0x12345678
TAMBAH R1, R2, # 0x345
Instruksi ADD akan menambahkan berisi R2 dengan 0x2345 dan menyimpan hasilnya dalam
R1, lalu R1 ¼ 0x123459BD.
Mengatur Bit Bendera PSR Instruksi di atas tidak mempengaruhi bit bendera PSR
karena instruksi tidak memiliki opsi S. Dengan menambahkan akhiran S ke instruksi,
instruksi akan mempengaruhi bit bendera.
ADDS R1, R2, R3; Suffix S berarti mengatur bit bendera yang sesuai.
SUBS R1, R2, R2; ; Ini akan menetapkan nol bendera ke 1.
168
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 180
8.5.2 Bandingkan dan Uji Petunjuk
Prosesor ARM menggunakan instruksi bandingkan dan uji untuk mengatur bit flag dari PSR dan
berikut ini adalah perbandingan dan instruksi pengujian.
CMP, CMN, TST, dan TEQ, instruksi ini menggunakan dua operan untuk membandingkan
dan uji, hasil operasi mereka tidak menulis ke register mana pun
Instruksi CMP (Bandingkan Instruksi) Instruksi CMP telah mengikuti
format
CMP Operand1, Operand2
Instruksi CMP membandingkan Operand1 dengan Operand2; instruksi ini
mengeluarkan Operand2 dari Operand1 dan menetapkan flag yang sesuai. Bit flag ditetapkan berdasarkan
pada hasil operasi sebagai berikut
Z flag diset jika Operand2 operan yang sama1
N flag diatur jika operand1 kurang dari operand2
Bendera C diatur jika hasil operasi menghasilkan carry
Contoh 8.4 Asumsikan R1 berisi 0x00000024, dan R2 berisi 0x00000078; itu
operasi CMP R1, R2 akan mengatur N flag ke 1.
CMP Rd, nilai langsung, nilai langsung dapat 8 bit seperti
CMP R1, # 0xFF
CMN Bandingkan Negate CMN memiliki format berikut
CMN Operand1, Operand2
Instruksi akan menambahkan operand1 dengan operan 2 dan mengatur bit bendera yang sesuai.
Contoh 8.5 Asumsikan R1 berisi 0x0000002424 dan R2 berisi 0x13458978: the
operasi CMN R1, R2 dengan hasil carry dan set flag C ke 1.
TST (Test Instruction) Instruksi tes memiliki format berikut
TST Oprand1, Operand2
Instruksi tes melakukan DAN operasi antara operand1 dan Operand2
dan set bit flag yang sesuai. Operand dapat berupa nilai langsung atau daftar seperti
TST R1, R2; Instruksi ini melakukan operasi dan set R1 AND R2
bendera yang sesuai.
8.5 Instruksi ARM
169

Halaman 181
ATAU
TST R1, langsung, nilai langsungnya bisa 8 bit seperti
TST R1, 0xFF
TEQ R1, R2; Instruksi ini melakukan R1 Exclusive ATAU R2.
Jika R1 sama dengan R2, maka Z-flag diatur ke 1.
8.5.3 Daftar Instruksi Swap (MOV dan MVN)
Instruksi register register memiliki format umum berikut.
A. MOV {S} {kondisi} Rd, Rm
Pindahkan konten Rm ke Rd
Contoh 8.6 Apa isi R1 setelah eksekusi berikut ini
instruksi?
Asumsikan R2 berisi 0X0000FFFF.
Sebuah. MOV R1, R2; R1
R2
R2 = 0x0000FFFF
b. MVN R1, R2; R1
BUKAN R2
R2 = 0xFFFF0000
A. MOV {S} {kondisi} Rd, nilai langsung
Nilai segera adalah 16 bit, kisaran nilai langsung jika dari 0x00000000 hingga
0x0000FFFF.
Contoh 8.7
MOV R2, # 0x45, isi R2 akan menjadi 0x00000045
B. MOV Rn, Rm, lsl # n; geser Rm n kali ke kiri dan simpan
hasil Rn
C. MOV bersyarat
MOVEQ R2, 0x56; jika nol bit diatur maka jalankan MOVEQ
170
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 182
8.5.4 Instruksi Shift dan Rotate
ARM menggabungkan operasi rotasi dan shift dengan instruksi lain; lengan
Prosesor melakukan operasi shift berikut.
LSL
Pergeseran logis ke kiri
LSR
Pergeseran logis ke kanan
ASR
Pergeseran Aritmatika Kanan
ROR
Putar ke kanan
Logical Shift Left (LSL). Dalam operasi shift kiri logis, setiap bit register
bergeser ke kiri seperti yang ditunjukkan pada Gambar 8.5 dan nol akan ditempatkan di paling sedikit
bit yang signifikan, pergeseran logis ke kiri mengalikan isi register dengan dua.
LSL R1, R1, n, bergeser ke kiri R1 n kali dan menyimpan hasil dalam R1
Contoh 8.8 Apa isi R1 setelah menjalankan instruksi berikut?
Asumsikan R1 mengandung 0x00000500.
LSL R1, R1, 8
R1 = 0x00050000
Logical Shift Right (LSR). Dalam operasi shift kanan yang logis, setiap bit register
bergeser ke kanan seperti yang ditunjukkan pada Gambar 8.6, dan nol akan ditempatkan paling banyak
sedikit signifikan; hak logis membagi isi register dengan dua.
LSR R1, R1, n, bergeser ke kanan R1 n kali dan menyimpan hasil dalam R1
Gambar 8.5. Pergeseran logis ke kiri
Gbr. 8.6 Pergeseran logis ke kanan
8.5 Instruksi ARM
171

Halaman 183
Contoh 8.9 Apa isi R1 setelah menjalankan instruksi berikut
tion: anggap R1 mengandung 0x00000500.
LSR R1, R1, 4
R1 = 0x00000050
Arithmetic Shift Right (ASR). Dalam aritmatika bergeser ke kanan, bit yang paling signifikan
tidak berubah dan setiap bit bergeser ke kanan seperti yang ditunjukkan pada Gambar 8.7.
Putar Kanan Gambar 8.8 menunjukkan register 8-bit dan Gbr. 8.9 menunjukkan register
setelah berputar satu kali.
Contoh 8.10 Apa isi R1 setelah diputar 16 kali? Asumsikan R1
mengandung 0X0000FFFF
ROR R1, R1, # 16
R1 = 0xFFFF0000
ARM menggabungkan instruksi pemrosesan data dan operasi shift; operasi shift
diterapkan pada operan kedua instruksi.
Contoh 8.11 Register R2 berisi 0XEEEEFFFF, dengan mengeksekusi.
MOV R1, R2, ROR # 16; R2 berputar 16 kali dan menyimpan hasil dalam
R1
dengan memutar 16 kali isi R1 akan menjadi xFFFFEEE
Gambar 8.7 Pergeseran aritmatika
Baik
Gbr. 8.8 Putar ke kanan
operasi
Gbr. 8.9 Satu bit memutar operasi ke kanan
172
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 184
TAMBAH R1, R2, R3, LSL # 4; R1 = R2 þ R3 x 2 4 , R3 digeser 4 kali menjadi
kiri dan hasilnya ditambahkan ke R3 dan ditempatkan di R1.
Juga sebuah register dapat menahan berapa kali operand2 harus digeser.
TAMBAH R1, R2, R3, LSL R4; R1¼ R2 þ R3 X 2 R4 , Jumlah kali R3 yang akan digeser adalah dalam R4.
MOV R0, R1, LSL # 3
; Geser R1 ke kiri tiga kali dan pindahkan hasilnya ke R0.
8.5.5 ARM Petunjuk dan Syarat Bersyarat
Instruksi
Gambar 8.10 menunjukkan format umum instruksi ARM. Instruksi ARM
mendefinisikan dua jenis instruksi, yaitu:
1. Instruksi tanpa syarat
2. Instruksi bersyarat
Kode kondisi menentukan jenis instruksi. Jika bidang ini disetel ke 1110, maka bidang
instruksi adalah instruksi tanpa syarat, jika tidak maka instruksi tersebut merupakan persyaratan
petunjuk. Untuk menggunakan instruksi sebagai instruksi bersyarat, kondisinya akan
akhiran instruksi. Sufiks adalah:
Kondisi Kode Kondisi
0000 EQ sama
0001 NE tidak sama
0010 CS carry set
0111 CC carry sudah jelas
0100 MI negatif (N flag diatur)
0101 PL positif (N flag nol)
0110 VS overflow set
0111 VC overflow jelas
1000 HI lebih tinggi untuk nomor yang tidak ditandatangani
1001 LS kurang dari untuk nomor yang tidak ditandatangani
1010 GT lebih besar untuk nomor yang ditandatangani
1011 LT ditandatangani kurang dari
Kondisi
Kode
Petunjuk
31
28 27
1
Gambar 8.10. Format umum instruksi ARM
8.5 Instruksi ARM
173

Halaman 185
1100 GT Lebih Besar Dari
1101 LE kurang dari atau sama
1110 AL instruksi tanpa syarat
1111 Kode yang tidak digunakan
Prosesor memeriksa tanda kondisi sebelum menjalankan instruksi bersyarat
tion. Jika cocok dengan instruksi kondisi, maka prosesor menjalankan
instruksi, jika tidak lewati instruksi.
ADDEQ R1, R2, R3; Jika nol flag diatur dan itu akan menjalankan ini
petunjuk.
Contoh 8.10 Konversikan bahasa rakitan HLL ke ARM berikut.
Jika R1 = R2 maka
ADD R3, R4, R5
Berakhir jika
Bahasa assembly ARM untuk program di atas adalah:
CMP R1, R2
ADDEQ R3, R4, R5
Contoh 8.11 Konversikan bahasa rakitan HLL ke ARM berikut.
Jika R1 = R2 Kemudian R3 = R4-R5
Lain
Jika R1 & amp; amp; amp; amp; amp; gt; R2 Maka R3 = R4þR5
Bahasa assembly ARM untuk program di atas adalah:
CMP R1, R2
SUBEQ R3, R4, R5
ADDGT R3, R4, R5
8.6 Format Instruksi Pemrosesan Data ARM
Format instruksi digunakan oleh assembler untuk mengonversi instruksi menjadi kode mesin;
Gambar 8.11 menunjukkan format instruksi pemrosesan data.
174
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 186
Kode Kondisi Untuk menentukan apakah instruksi tersebut bersyarat atau tanpa syarat
petunjuk,
I bit I¼0 berarti operand2 adalah register, I¼1 berarti operand 2 adalah
nilai langsung.
Kode Op Kode OP menentukan jenis instruksi dan tindak lanjutg adalah op
kode untuk instruksi pemrosesan data
Petunjuk
Kode Op
DAN
0000
EOR
0001
SUB
0010
RSB
0011
MENAMBAHKAN
0100
ADC
0101
SBC
0110
RSC
0111
TST
1000
TEQ
1001
CMP
1010
atur kondisi dengan Op1-Op2
CMN
1011
atur kondisi untuk Op1 + Op2
ORR
1100
MOV
1101
Rd = operan2
BIC
1110
MVN
1111
Rd = TIDAK operan2
S bit S ¼ 0 tidak mengubah bit flag dari register PSR, S ¼ mengatur flag kondisi dari PSR
daftar.
Rn Rn adalah operan pertama, dan dapat berupa salah satu dari 16 register, R0 hingga R15.
Rd Rd adalah register tujuan, dan dapat berupa salah satu dari 16 register, R0 hingga R15.
Operand2 Ketika saya ¼ 0 operan2 adalah register dan Gambar 8.12 menunjukkan operand2
format.
31
28 27 26 25 24
21 20 19
16 15
12 11
0
Cond
00
saya
Kode op
S
Rn
RD
Operan 2
Gambar 8.11. Format instruksi pemrosesan data
11
765
430
# shift
SH
0
Rm
Gambar 8.12. Format Operand2 ketika bit 4 sama dengan 0
8.6 Format Instruksi Pemrosesan Data ARM
175

Halaman 187
# Shift Untuk menentukan nilai langsung berapa kali Rm harus digeser
SH Untuk menentukan jenis operasi shift
Operan kedua Rm
Nilai operasi SH
LSL 00 Logical Shift Left
LSR 01 Logical Shift Right
ASR 10 Aritmatika Pergeseran Kanan
ROR 11 Putar Kanan
Contoh 8.12 Konversikan instruksi berikut ke kode mesin.
TAMBAH R1, R2, R3, LSL # 3
31
28 27 26 25 24
21 20 19 16 15 12 11
76543
0
Cond
1110
00
saya
0
Kode op
0100
S
0
Rn
0010
RD
0001
#Bergeser
0011
SH
00
0
RM
0011
Ketika bit 4 dari operand2 diatur ke 1, berapa kali Rm harus digeser adalah dalam a
daftar.
Gambar 8.13 memperlihatkan format operan2 pada Gambar 8.11.
I = 1: Operand 2 akan memiliki format berikut.
11
0
Nilai Segera
11
876
5
4
3
0
RS
0
SH
1
Rm
Gbr. 8.13 Format Operand2 ketika bit 4 sama dengan 1
176
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 188
8.7 Operasi dan Instruksi Tumpukan
Bagian dari memori yang digunakan untuk penyimpanan sementara disebut stack; penunjuk tumpukan
memegang alamat bagian atas tumpukan seperti yang ditunjukkan pada Gambar 8.14 .
Register R13 ditugaskan sebagai stack pointer (SP), dan stack menggunakan
mengikuti instruksi.
Sebuah. Tekan {condition} Rn: mentransfer isi Rn ke stack
dan tambahkan 4 ke stack pointer
Contoh 8.12 Asumsikan konten R3 adalah 0x01234567; Gambar 8.15 menunjukkan
isi Stack setelah menjalankan push R3.
Contoh 8.14 Perlihatkan konten stack dan SP pada Gambar 8.16 setelah eksekusi Push
R4; anggap R4 mengandung 0X5645321F.
Gbr. 8.15 Menunjukkan mengandung
stack setelah eksekusi
tekan R3
Gambar 8.14 Stack
Arsitektur
8.7 Operasi dan Instruksi Tumpukan
177

Halaman 189
Instruksi POP: Instruksi POP memiliki format berikut
POP {kondisi} Rn
POP Rn: instruksi pop menghapus kata dari atas tumpukan dan
menyimpannya ke register rn dan secara otomatis mengurangi stach
pointer dengan 4
Contoh 8.15 Tampilkan isi stack dan SP dari Gambar. 8.16 setelah eksekusi POP
R0; isi R0 akan menjadi 0x1FAD7856 dan tumpukan akan terlihat seperti pada Gambar 8.17.
8,8 Cabang (B) dan Cabang dengan Tautan Instruksi (BL)
Instruksi Cabang memiliki format umum berikut.
Label B {condition}
Label B; cabang ke label lokasi.
Label BEQ; jika flag bit Z = 1 maka jalankan instruksi ini
BL Subroutine, akan bercabang ke subroutine dan menyimpan konten
PC (R15) hingga R14 (register tautan) untuk kembali dari subrutin.
Gbr. 8.16 Tampilkan tumpukan setelah
operasi dorong
Gbr. 8.17 Isi tumpukan
setelah operasi POP
178
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 190
Contoh 8.16 Tuliskan subrutin untuk menemukan nilai Y ¼ 16X þ 4; anggap R1
memegang Y dan R2 memegang X.
BL Funct
SUB R1, R1, R1
ADD R1, R1, R2, LSL4
TAMBAH R1, R !, # 04
MOV R15, R14; Pindahkan alamat kembali ke PC
8.8.1 B dan Format Instruksi BL
31 28 27
25 24 23
0
Cond
101
L.
mengimbangi
L = 0 berarti Cabang dan kondisi untuk cabang dapat diatur oleh bidang Cond.
L = 1 Berarti Cabang dan Tautan
Petunjuk
Cabang B selalu
Cabang BAL Selalu
Cabang BEQ jika Sama
Cabang BNE jika Tidak sama
Cabang BPL positif
Cabang BMI pada negatif
Cabang BCC jika membawa bendera jelas
Cabang BLO di bawah ini untuk nomor yang tidak ditandatangani
Bendera BCS Branch carry diatur
Cabang BHS jika lebih tinggi untuk nomor yang tidak ditandatangani
BVC Cabang jika flag Over flow jelas
BVS Cabang jika flag Over flow jelas
Cabang BGT lebih besar untuk nomor yang ditandatangani
Cabang BGE lebih besar atau sama dengan nomor yang ditandatangani
Cabang BLT Kurang dari jumlah yang ditandatangani
Cabang BLE Kurang dari jumlah yang ditandatangani
Cabang BLS kurang dari atau sama dengan nomor yang tidak ditandatangani
Contoh 8.17 Menulis ulang bahasa rakitan berikut ini dengan menggunakan kondisi
instruksi.
8,8 Cabang (B) dan Cabang dengan Tautan Instruksi (BL)
179

Halaman 191
CMP R1, R2
BEQ Keluar
TAMBAH R1, R2, R3
Keluar:
SUB R1, R5, R6
Dengan menggunakan instruksi bersyarat, bahasa rakitan di atas dapat
dipersembahkan oleh
CMP R1, R2
SUBEQ R1, R5, R6
ADDNE R1, R2, R3
8.9 Multiply (MUL) dan Multiply-Accumulate (MLA)
Instruksi
Instruksi MUL
MULU Rd, Rm, Rs; Rd = Rm * Rs
Mengalikan dan Mengakumulasi MLA
MLA Rd, Rm, Rs, Rn; Rd = Rm * Rs þRn
8.9.1 Format Instruksi Multiply
31
28 27
22 21 20 19
16 15
12 11 8 7
43
0
Cond
00000
SEBAGAI
Rd
Rn
RS
1001
Rm
A = 0 instruksi MUL
A = 1 instruksi MLA
S = 0 Jangan mengubah bit bendera
S = 1 Atur bit bendera
Rd adalah register tujuan
Rs, Rm dan Rn adalah operan
180
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 192
8.10 Ringkasan
• Fungsi kompiler adalah untuk mengubah HLL ke bahasa assembly.
• Fungsi assembler adalah untuk mengubah bahasa rakitan ke mesin
kode (biner).
• Instruksi komputer diwakili oleh bentuk mnemonik seperti "ADD."
• Setiap instruksi dapat memiliki satu atau dua atau tiga operan, ADD R1, R2, dan R3
di mana R1, R2, dan R3 disebut operan.
• ARM adalah singkatan dari Advanced RISC Machine dan ARMv7 menggunakan 32-bit dan 16-bit
petunjuk.
• ARMv7 berisi 31 register dan hanya 16 register R0 hingga R15 yang digunakan oleh
programmer.
• Register R15 digunakan untuk penghitung program (PC), R14 digunakan untuk tautan tersebut
register (LR), dan R13 digunakan untuk stack pointer (SP).
• Register PSR digunakan untuk menyimpan bit kontrol (I, F, M, dan T) dan flag bit (N, Z,
C, dan V).
• Prosesor ARM menawarkan dua jenis instruksi, dan instruksi tersebut tidak bersyarat
dan instruksi bersyarat.
• Instruksi CMP, CMN, TST, dan TEQ akan mengatur register status prosesor.
• Sebagian memori digunakan untuk tumpukan, dan penunjuk tumpukan menampung alamat
dari bagian atas tumpukan.
• Bab 9 mencakup lebih banyak instruksi ARM seperti memuat, menyimpan, instruksi semu
tions, bit bits field, mode pengalamatan ARM, dan representasi data dalam
Ingatan.
8.11 Masalah dan Pertanyaan
1. Jelaskan bagaimana HLL dikonversi menjadi kode Mesin.
2. Daftar jenis instruksi berdasarkan jumlah operan.
3. Register prosesor ARM mana yang digunakan untuk penghitung program (PC)?
4. Register prosesor ARM mana yang digunakan untuk stack pointer (SP)?
5. Register prosesor ARM mana yang digunakan untuk register tautan?
6. Apa isi R5 setelah pelaksanaan instruksi berikut, asumsikan R2
mengandung 0X34560701 dan R3 berisi 0X56745670
(a) ADD R5, R2, R3
(B) DAN R5, R3, R2
(c) XOR R5, R2, R3
(d) TAMBAHKAN R5, R3, # 0x45
7. Apa isi R1? Asumsikan R2 ¼ 0x00001234.
(a) MOV R1, R2, LSL # 4
(B) MOV R1, R2, LSR # 4
8.11 Masalah dan Pertanyaan
181

Halaman 193
8. Apa perbedaan antara kedua instruksi ini?
(a) SUBS R1, R2, R2
(B) SUB R1, R2, R2
9. Konversikan bahasa HLL berikut ke instruksi ARM.
JIKA R1> R2 DAN R3> R4 lalu
R1 = R1 þ1
Lain
R3 = R3 þR3 * 8
Berakhir jika
10. Konversikan bahasa HLL berikut ke instruksi ARM.
JIKA R1> R2 ATAU R3> R4 lalu
R1 = R1 þ1
Lain
R3 = R3 þR5 * 8
Berakhir jika
11. Konversikan diagram alur berikut ke bahasa rakitan ARM.
12. Tulis program untuk menambahkan sepuluh angka dari 0 menjadi 10 atau mengonversi C berikut
bahasa ke bahasa assembly ARM.
jumlah int;
int i;
jumlah = 0;
182
8 Bahasa Majelis dan Instruksi ARM Bagian I

Halaman 194
untuk (i = 10; i> 0; i - -) {
jumlah = jumlah þ1
}
13. Tulis program untuk mengonversi perakitan HLL ke ARM berikut.
a = 10;
b = 45;
while (a! = b) {
jika (a <b)
a = a þ5;
lain
b = bþ5;
}
LARUTAN:
14. Ubah rakitan HLL ke ARM berikut.
JIKA R1> R2 DAN R3> R4 lalu
R1 = R1 þ1
Lain
R3 = R3 þR5 * 8
Berakhir jika
15. Konversikan diagram alur berikut ke perakitan ARM.
R5 = R3-R4
R12 = R10-R11
F
T
T
F
R5 = R3 + R4
Jika R5> R6
JIKA R1 = R2
8.11 Masalah dan Pertanyaan
183

Halaman 195
Bab 9
Instruksi ARM Bagian II
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Jelaskan berbagai jenis instruksi pemuatan.
• Sebutkan berbagai jenis instruksi toko.
• Bedakan berbagai jenis mode pengalamatan ARM.
• Daftar instruksi pseudo ARMv7.
• Pelajari penerapan instruksi ADR dan LDR.
• Jelaskan operasi instruksi bidang bit.
• Pelajari bagaimana data direpresentasikan dalam memori.
9.1 Pendahuluan
Instruksi transfer data digunakan untuk mentransfer data dari memori ke register dan
dari register ke memori. Prosesor ARM menggunakan instruksi LDR dan STR untuk
akses memori. LDR dan STR dapat menggunakan register tidak langsung, pengalamatan pra-indeks,
dan pengalamatan pasca-indeks untuk mengakses memori. ARM menawarkan beberapa instruksi semu
yang digunakan oleh programmer dan assembler untuk mengubahnya menjadi ARM
instruksi.
9.2 Petunjuk Transfer Data ARM
Load Instruksi (LDR). Instruksi LDR digunakan untuk membaca data dari memori
dan menyimpannya dalam register, dan memiliki format umum berikut.
LDR [type] {condition} Rd, Address
Di mana "type" mendefinisikan instruksi pemuatan berikut
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_9
185

Halaman 196
LDR
Memuat 32 bit (kata)
LDRB
Muat 1 byte
LDRH
Memuat 16 bit (setengah kata)
LDRS
Muat byte yang ditandatangani
LDRSB
Muat ekstensi tanda
LDRSH
Memuat setengah kata yang ditandatangani
LDM
Memuat beberapa kata
Kondisi adalah opsional seperti data beban LDREQ jika Z flag = 1 dan Rd adalah
register tujuan.
Contoh 9.1 Asumsikan R0 menyimpan alamat 0000 dan memori berikut diberikan,
perlihatkan konten R1 dan R3 setelah menjalankan instruksi berikut.
Alamat
Isi
0
0X85
1
0XF2
2
0X86
3
0XB6
LDRH R1, R0
[]
R1 = 0x0000F285
LDRSH R3, R0
[] R3 = 0xFFFFF285
9.2.1 Instruksi Pseudo ARM
ARM mendukung banyak instruksi semu; instruksi pseudo digunakan oleh
programmer, dan assembler mengubah instruksi semu menjadi instruksi ARM.
ADR Pseudo Instruction ADR digunakan untuk memuat alamat lokasi memori
ke dalam register dan memiliki format berikut.
ADR Rd, Alamat
Contoh 9.2 Instruksi berikut akan membaca alamat data dan kemudian memuat
data ke register R3:
ADR R0, tabel
Pindahkan alamat yang diwakili oleh tabel
LDR R3, [R0]
R3 = 0x23456780
Alamat
Data
Meja
0x23456780
Instruksi Pseudo LDR Instruksi pseudo LDR digunakan untuk memuat konstanta
menjadi register. Untuk memindahkan kontestan 32 bit ke dalam register, instruksi
MOV Rd, #value hanya dapat memindahkan 12 bit ke register Rd karena operan2 dalam
186
9 Instruksi ARM Bagian II

Halaman 197
format instruksi untuk MOV adalah 12 bit. Instruksi pseudo LDR telah mengikuti
format.
LDR Rd, = Nilai
Contoh 9.3 Instruksi berikut akan memuat R1 dengan 0x23456789:
LDR R1, = 0x23456789
9.2.2 Petunjuk Toko (STR)
Instruksi STR digunakan untuk mentransfer konten register ke memori dan memiliki
mengikuti format umum.
STR [type] {condition} Rd, [address]
Di mana "tipe" mendefinisikan jenis instruksi berikut
STR
Simpan 32 bit (kata)
STRB
Simpan 1 byte
STRH
Simpan 16 bit (setengah kata)
STM
Simpan beberapa kata
Contoh 9.4
STR R5, [R3]
Simpan konten R5 ke dalam lokasi memori yang dipegang R3
alamat; R3 adalah register dasar.
9.3 Mode Pengalamatan ARM
• Dukungan prosesor ARM ARM menawarkan beberapa mode pengalamatan dan memang demikian
pra-indeks, pra-indeks dengan offset langsung, pra-indeks dengan register off-
atur, pra-indeks dengan register berskala, pra-indeks dengan register offset dan tulis kembali,
post-index dengan offset langsung, post-index dengan register offset, dan post-index
dengan offset register skala; tabel berikut menunjukkan ringkasan ARM
mode pengalamatan.
Mode pengalamatan
Sintaks assembler
Alamat efektif (EA)
Segera
MOV R1, # 0X25
Data adalah bagian dari
petunjuk
Pra-diindeks
[Rn]
EA = Rn
Pra-indeks dengan offset langsung
[Rn, # offset]
EA = Rn + offset
Pra-diindeks dengan register offset
[Rn, + Rm]
EA = Rn + Rm
Per-indeks dengan register berskala
[Rn, Rm, Bergeser]
EA = RN + Rm
bergeser
Pra-indeks dengan offset dan tulis langsung
kembali
[Rn, offset]!
EA = Rn + offset
Rn = Rn + offset
(lanjutan)
9.3 Mode Pengalamatan ARM
187

Halaman 198
Mode pengalamatan
Sintaks assembler
Alamat efektif (EA)
Pra-indeks dengan register offset dan tulis kembali
[Rn, + Rm,]!
EA = Rn + Rm
Rn = Rn + Rm
Pra-indeks dengan register offset offset dan tulis
kembali
[Rn, Rm, Bergeser]! EA = Rn + Rm bergeser
Rn = Rn + Rm bergeser
Post-index dengan offset langsung
[Rn], offset
EA = Rn
Rn = Rn + offset
Post-index dengan register offset
[Rn], + Rm
EA = Rn
Rn = Rn + Rm
Post-index dengan register offset yang diskalakan
[Rn], + Rm. SHL
#n
EA = Rn
Rn = Rn + Rm bergeser
9.3.1 Mengatasi Segera
Dalam pengalamatan langsung, operan adalah bagian dari instruksi seperti
MOV R0, # 0x34
atau
TAMBAH R1, R2, 0x12
9.3.2 Diindeks sebelumnya
Dalam mode pengalamatan pra-indeks yang diwakili oleh [Rn], alamat efektif (EA) adalah
isi Rn seperti
LDR R2, [R3]
Pra-indeks dengan Offset Segera
Pra-indeks dengan offset langsung diwakili oleh [Rn, #offset] seperti
LDR R0, [Rn, #Offset]
Offset adalah nilai langsung seperti
LDR R1, Rn, # 0x25
[
]
EA = R2 + 0x25
Pra-indeks dengan Offset Registrasi
Offset dapat didaftarkan atau didaftarkan dengan operasi shift:
LDR R0, R1, R2
[
]
EA = R1 + R2
188
9 Instruksi ARM Bagian II

Halaman 199
Contoh 9.5 Apa alamat efektif dari alamat berikut? Asumsikan R5
mengandung 0X00002345
[R5, # 0x25]
EA = 0x000002345 + 0X25 = 0x0000236A
Contoh 9.6 Apa alamat efektif mengikuti pengalamatan pra-indeks, asumsikan
R5 = 0x00001542 dan R2 = 0X00001000
[R5, R2]
EA = R5 + R2 = 0X00001542 + oX00001000 = 0X00002542
Pra-indeks dengan Daftar Skala
Offset berisi register dengan operasi shift:
LDR R0, [Rn, R2, LSL # 2]
Contoh 9.7 Apa EA dari instruksi berikut?
LDR R0, [Rn, R2, LSL # 2]
EA = Rn + R2 * 4
R2 bergeser ke kiri dua kali (kalikan dengan 4) dan ditambahkan ke Rn.
9.3.3 Pra-diindeks dengan Write Back
Format umum untuk pengalamatan pra-indeks dengan write back adalah
[Rn, Offset]!
Karakter seru (!) Digunakan untuk menulis kembali; offset bisa langsung
nilai atau daftar atau daftar bergeser:
EA = Rn + offset dan Rn = Rn + offset
Pra-indeks dengan Offset Segera dan Tulis Kembali
LDR R0, [R1, # 4]!
EA = R1 + 4 dan R1 diperbarui oleh R1 = R1 + 4.
Contoh 9.8 Apa alamat efektif dan nilai akhir R5 untuk diikuti
petunjuk? Asumsikan isi R5 = 0x 00002456:
LDR R0, R5, # 0X4
[
]!
EA = R5 + 0x4 = 0x000245A
R5 = R5 + 0x4 == 0x000245A
9.3 Mode Pengalamatan ARM
189

Halaman 200
Pra-indeks dengan Register Offset dan Write Back
LDR R0, R1, R2
[
]!
EA = R1 + R2
R1 = R1 + R2
Contoh 9.9 Apa alamat efektif dan nilai akhir R5 berikut ini
petunjuk? Asumsikan isi R5 = 0x 00002456 dan R2 0X00002222:
LDR R0, [R5, R2]!
EA = R5 + R2 = 0x00004678
R5 = R5 + R2 = 0x00004678
Pra-indeks dengan Scaled Register Offset dan Write Back
LDR R1, [Rn, R2, LSL # 2]!
EA = Rn + R2

4
Rn = Rn + + R2

4
9.3.4 Mengatasi Post-index
Format umum pengalamatan pasca-indeks adalah
LDR R0, [Rn], offset
Offset dapat berupa nilai langsung atau register atau register bergeser.
Post-index dengan Nilai Segera
LDR R0, [Rn], # 4
Alamat efektif = Rn dan Rn = Rn + 4
Post-index dengan Register Offset
LDR R0, Rn
[], Rm
Alamat efektif = Rn dan Rn = Rn + Rm
Post-index dengan Scaled Register Offset
LDR R0, Rn
[], Rm, SHL # 4
Alamat efektif = Rn dan Rn = Rn + Rm

16
190
9 Instruksi ARM Bagian II

Halaman 201
9.4 Swap Memory and Register (SWAP)
Instruksi swap menggabungkan instruksi load dan store menjadi satu instruksi,
dan memiliki format berikut.
SWP Rd, Rm, [Rn]
Register Rd adalah register tujuan, memori Swap Rm dan register (SWAP)
adalah register sumber, dan Rn adalah register dasar.
Instruksi swap melakukan fungsi-fungsi berikut.
Rd
memory [Rn] Muat Rd dari lokasi memori [Rn]
[Rn]
Rm menyimpan konten Rm di lokasi memori [Rd]
SWPB Rd, Rm, [Rn] Tukar satu byte
9.5 Instruksi Lapangan Bit
ARM menawarkan dua instruksi bidang bit dan keduanya adalah field bit clear (BFC) dan bit field
penyisipan (BFI).
9.5.1 BFC (Instruksi Hapus Field Bit)
BFC memiliki format umum berikut.
BFC {cond} Rd, # lsb, #width
Rd adalah register tujuan.
lsb menentukan awal posisi bit dalam register sumber (Rd) agar jelas.
Lebar menentukan jumlah bit yang akan dihapus dari lsb ke msb dari register Rd.
Contoh 9.10 Tulis instruksi untuk menghapus bit 7 sampai 15 register R4;
anggap R4 mengandung 0xFFFEFEFE.
BFC R4, # 7, # 8 clear bit 7 hingga bit 15 (8 bit) dari register R4.
Nilai awal dalam R4 adalah.
Setelah mengosongkan bit 7 hingga 15 hasil R4.
9.5 Instruksi Lapangan Bit
191

Halaman 202
9.5.2 BFI (Instruksi Penyisipan Bit)
Penyisipan bit digunakan untuk menyalin satu set bit dari satu register Rn ke register Rd starting
dari lsb dari Rd; BFI memiliki format berikut.
BFI {cond} Rd, Rn, #lsb, #width
Rd adalah tujuan Reg.
Rn adalah register sumber.
bit mulai #lsb dari Rn.
Jumlah # lebar bit mulai dari lsb dari Rn.
Contoh 9.11 Salin 8 bit R3 mulai dari bit 4 hingga R4; anggap R3 mengandung 0x
FFFFEBCD dan R4 berisi 0xEE035007.
BFI R4, R3, # 4, # 8, dan instruksi ini akan menyalin 8 bit dari B4 ke B11 dari R3
ke dalam B0 sampai B7 dari R4, nilai awal R3 dalam biner.
11101110000000 11010100000000111
Nilai awal R4 dalam biner adalah
1110 1110 0000 0011 0101 0000 0000 0111
Instruksi akan menyalin 8 bit dari bit 4 R3 ke R4 mulai dari bit 0 dari R4.
9.6 Representasi Data dan Memori
Prosesor ARM mendefinisikan kata sebagai 4 byte dan setengah kata sebagai 2 byte. Data bisa
direpresentasikan dalam bentuk heksadesimal, desimal, dan biner.
(a) Angka desimal, seperti 345
(B) angka heksadesimal, seperti 0x2345, di mana "x" mewakili heksadesimal
192
9 Instruksi ARM Bagian II

Halaman 203
(c) Biner atau basis 2, seperti 2_10111100
Memori menyimpan data dan kode. Gambar 9.1 menunjukkan diagram blok memori. Itu
alamat memori menentukan lokasi data, di mana setiap lokasi ARM
memori prosesor menampung satu byte. Dalam bahasa rakitan, label, seperti yang ditunjukkan pada
Gbr. 9.2 , mewakili alamat memori.
Gambar 9.2 menunjukkan bagaimana setiap lokasi memori menampung satu byte. Menyimpan dua byte
(setengah kata) data, seperti 0x4563, dapat disimpan dengan dua cara berbeda yang disebut Big
Endian dan Little Endian.
Big Endian. Dalam Big Endian byte paling signifikan (MSB) data disimpan pertama kali di
Penyimpanan. Pada Gambar 9.3, 45 adalah byte yang paling signifikan, dan 63 adalah yang paling tidak signifikan
untuk angka 0x4563.
ARM 7 beroperasi di Big dan Little Endian; setiap lokasi memori ARM7
menampung satu byte dan satu kata (4 byte) dapat disimpan dalam memori dengan dua cara berbeda:
Big Endian dan Little Endian.
Big Endian. Dalam Big Endian byte kata yang paling signifikan disimpan di
alamat terendah.
Contoh 9.12 0x34569312 dapat disimpan dalam bentuk Big Endian seperti yang ditunjukkan pada
Gambar 9.3 .
Daftar
23
Daftar +1
4A
Daftar + 2
56
Daftar + 3
F5
Gbr. 9.2 Memori dengan
alamat pelabelan
00
01
10
11
23
4A
56
F5
Gbr. 9.1 Memori dengan
alamat biner
Gambar 9.3 Big Endian
representasi hex
nomor 34569312
9.6 Representasi Data dan Memori
193

Halaman 204
Little Endian. Dalam Little Endian byte paling signifikan dari sebuah kata disimpan di
alamat terendah.
Contoh 9.13 Hex number 34569312 dapat disimpan dalam bentuk Little Endian sebagai
ditunjukkan pada Gambar. 9.4 .
9.7 Ringkasan
• Instruksi ARM menggunakan LDR dan STR untuk membaca dan menulis ke memori.
• Instruksi pemuatan dapat digunakan untuk memuat satu byte (LDRB), memuat 2 byte (LDHB),
dan memuat 4 byte (LDR).
• LDRSB (memuat ekstensi yang ditandatangani) digunakan untuk memuat satu byte dan memperpanjang tanda
data.
• LDRSH (memuat ekstensi yang ditandatangani) digunakan untuk memuat dua byte dan memperpanjang tanda
dari data.
• Instruksi pseudo ARM adalah ADR (memuat alamat lokasi memori) dan
LDR (memuat nilai 32 bit ke dalam register).
• Instruksi toko prosesor ARM adalah STR (simpan satu kata), STRB (simpan satu
byte), dan STRH (menyimpan setengah kata).
• ARM menawarkan beberapa mode pengalamatan dan mereka sudah diindeks, diindeks
dengan offset langsung, pra-indeks dengan register offset, pra-indeks dengan skala
daftar, pra-indeks dengan register offset dan tulis kembali, pasca-indeks dengan segera
makan offset, pasca-indeks dengan register offset, dan pasca-indeks dengan register berskala
mengimbangi.
• Data dapat direpresentasikan dalam memori dalam bentuk Big Endian dan Little Endian.
• Dalam Big Endian byte kata yang paling penting disimpan di alamat terendah.
• Dalam Little Endian, byte kata yang paling tidak penting disimpan pada level terendah
alamat.
• Bab 10 membahas cara menggunakan alat pengembangan Keil dan menjalankan dan men-debug a
program, aturan pemrograman, arahan, dan program sampel.
Masalah
1. Lacak instruksi berikut; anggap daftar dimulai pada lokasi memori 0x0000018
dan menggunakan ARM Big Endian:
ADR R0, DAFTAR; Muat R0 dengan alamat daftar lokasi memori
MOV R10, # 0x2
(a) LDR R1, [R0]
(B) LDR R2, [R0, # 4]!
Gambar 9.4 Little Endian
representasi hex
nomor 34569312
194
9 Instruksi ARM Bagian II

Halaman 205
(c) LDRB R3, [R0], # 1
(d) LDRSB R5, [R0], # 1
(e) LDRSH R6, [R0]
DAFTAR DCB 0x34, 0xF5, 0x32, 0xE5, 0x01, 0x02, 0x8, 0xFE
2. Kerjakan masalah # 1 bagian A dan B menggunakan Little Endian.
(a) R1 = 0xE532F534
(b) R2 = 0xFE080201
3. Apa isi register R7 setelah eksekusi program berikut?
ADR R0, DAFTAR
LDRSB R7, [R0]
DAFTAR DC 0xF5
4. Apa isi register Ri untuk Instruksi pemuatan berikut? Menganggap
R0 memegang alamat daftar menggunakan Little Endian.
(a) LDR R1, [R0]
(B) LDRH R2, [R0]
(c) LDRB R3, [R0], # 1
(d) LDRB R4, [R0]
(e) LDRSB R5, [R0], # 1
(f) LDRSH R6, [R0]
Daftar DCB 0x34, 0xF5, 0x32, 0xE5, 0x01, 0x02
5. Memori berikut diberikan, tunjukkan isi dari setiap register, dan asumsikan
R1 = 0x0001000 dan R2 = 0x00000004 (gunakan Little Endian).
(a) LDR R0, [R1]
(B) LDR R0, [R1, # 4]
(c) LDR R0, [R1, R2]
(d) LDR R0, [R1, # 4]!
1000
23
13
56
00
1004
45
11
21
88
1008
03
08
35
89
100C
44
93
9.7 Ringkasan
195

Halaman 206
6. Apa alamat dan isi efektif R5 setelah mengeksekusi berikut
instruksi? Asumsikan R5 berisi 0x 18 dan r6 berisi 0X00000020.
(a) STR R4, [R5]
(b) STR R4, [R5, # 4]
(c) STR R4, [R5, # 8]
(d) STR R4, [R5, R6]
(e) STR R4, [R5], # 4
196
9 Instruksi ARM Bagian II

Halaman 207
Bab 10
Pemrograman Bahasa Majelis ARM Menggunakan
Alat Pengembangan Keil
Tujuan: Setelah menyelesaikan bab ini, Anda harus dapat:
• Jelaskan alat pengembangan fungsi.
• Menjelaskan fungsi cross-assembler.
• Sebutkan beberapa alat pengembangan untuk menjalankan program bahasa assembly.
• Instal alat pengembangan Keil.
• Jalankan dan debug program.
• Gunakan templat program untuk menulis program Anda sendiri.
• Pelajari aturan pemrograman.
• Mewakili data dalam memori untuk program bahasa assembly.
• Pelajari penerapan arahan.
• Bedakan berbagai jenis arahan data.
• Jalankan program langkah demi langkah dan amati isi dari setiap register.
10.1 Pendahuluan
Produsen prosesor menerbitkan dokumentasi yang berisi informasi tentang
prosesor mereka, seperti daftar register, fungsi setiap register, ukuran
bus data, ukuran bus alamat, dan daftar instruksi yang dapat dieksekusi.
Setiap CPU memiliki set instruksi yang diketahui yang dapat digunakan programmer untuk menulis assembly
program bahasa. Set instruksi khusus untuk setiap jenis prosesor. Untuk
contoh, prosesor Pentium mengimplementasikan set instruksi yang berbeda dari ARM
pengolah. Program yang ditulis menggunakan set instruksi prosesor dikatakan
ditulis dalam bahasa majelis. Fungsi assembler adalah untuk mengkonversi
perakitan bahasa ke kode mesin (biner) yang dapat dijalankan CPU.
Ketika assembler berjalan pada satu prosesor tetapi dapat menyusun instruksi untuk a
prosesor yang berbeda dengan set instruksi yang berbeda itu disebut cross-assembler.
Simulator prosesor adalah alat pengembangan kunci, karena memungkinkan untuk dikontrol
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1_10
197

Halaman 208
lingkungan pengujian dalam pengaturan seperti workstation Windows atau Linux. Mereka mungkin
juga memfasilitasi transfer atau pengunduhan program ke prosesor target. Itu
alat pengembangan berikut adalah beberapa yang mendukung prosesor ARM:
1. Alat Mikrokontroler ARM Keil ( www.keil.com)
2. Meja Kerja Tertanam IAR (www.iar.com)
3. GNU ARM Assembler ( www.gnu.org)
10.2 Alat Pengembangan Keil untuk Majelis ARM
Sebagai contoh dalam buku ini, Keil μVision® IDE (pengembangan terintegrasi
lingkungan) dari Mikrokontroler Pengembangan Kit (MDK) Keil versi 5
digunakan. Versi gratis dari perangkat lunak ini dapat mengumpulkan dan mensimulasikan pelaksanaan
Instruksi ARMv7 asalkan ukurannya di bawah 32 K. Unduhan tersedia
dari situs web Keil: http://www.keil.com .
Saat pertama kali diinstal, dialog berjudul Penginstal Paket dapat terbuka setelah penginstal
telah selesai. Utilitas ini membantu pengguna dalam mengunduh dan menginstal lingkungan.
untuk μVision untuk memungkinkan simulasi berbagai papan dan perangkat. Oleh
standarnya, bagaimanapun, beberapa templat perangkat sudah diinstal sebelumnya dengan μVision
(Gbr. 10.1).
• Untuk memulai, buka μVision dan pilih Project → New μVision Project ....
• Beri nama proyek Anda dan pilih lokasi untuk menyimpannya.
Setelah menyimpan, dialog akan terbuka dan meminta Anda untuk Memilih Perangkat untuk Target
"Target 1" .... Tergantung pada apakah Anda telah menginstal tambahan atau tidak
paket dari Pemasang Paket, layar ini mungkin terlihat berbeda. Beberapa ARM
prosesor disertakan dengan instalasi default. Untuk contoh dalam hal ini
buku, ARM Cortex M3 (ARMCM3) dipilih.
• Pilih ARM Cortex M3 → ARMCM3 dan tekan OK. (Gbr. 10.2)
Untuk setiap prosesor, μVision memiliki beberapa pustaka yang tersedia. Beberapa sangat penting,
seperti konfigurasi start-up, sementara yang lain adalah ekstensi opsional untuk diaktifkan
Gambar 10.1 Membuat proyek baru di Keil μVision® IDE v5.22
198
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 209
fungsionalitas yang lebih luas, seperti driver Ethernet dan antarmuka grafis. Untuk berlari
program perakitan ARMv7 sederhana, hanya komponen start-up yang diperlukan.
• Pilih CMSIS → CORE dan tekan OK. (Gbr. 10.3)
Sekarang, Anda harus memiliki proyek kosong yang terbuka di panel proyek, yang secara default
ada di sisi kiri jendela, di bawah bilah Menu. Selanjutnya, proyek perlu
dikonfigurasi untuk menggunakan simulator untuk menjalankan program.
Gbr. 10.2 Memilih prosesor ARM Cortex M3
Gbr. 10.3 Pustaka CORE untuk menjalankan prosesor ARMCM3
10.2 Alat Pengembangan Keil untuk Majelis ARM
199

Halaman 210
• Klik kanan pada folder Target 1 dan pilih Opsi untuk Target "Target 1" ...
(Gbr. 10.4)
• Klik pada tab Debug dan pilih Gunakan Simulator. (Gbr. 10.5)
• Klik Target dan pilih Gunakan MicroLIB seperti yang ditunjukkan pada Gambar 10.6
• Tambahkan item baru ke proyek dengan mengklik kanan folder Source Group 1 di
panel proyek seperti Gambar 10.7
• Buat file sumber assembler baru (file ASM atau .s), beri nama, lalu simpan sebagai
ditunjukkan pada Gambar. 10.8
Program perakitan mengikuti struktur tertentu dan memiliki apa yang disebut direc-
Tives. Ini akan dijelaskan nanti dalam bab ini, tetapi mereka menginstruksikan assembler
tentang cara menyusun banyak program akhir. Sama seperti banyak bahasa tingkat tinggi
program dijalankan di dalam "fungsi" atau "metode" utama, yang digunakan contoh berikut
rutin __Vektor dan Reset_Handler (yang dipanggil secara default oleh
prosesor yang kami pilih).
Contoh 10.1 Program ini membaca dua angka dan menyimpan jumlah dalam R3 seperti yang ditunjukkan
Gambar 10.9.
Gbr. 10.4 Mengubah konfigurasi proyek
200
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 211
10.2.1 Merakit Program
Setelah kode sumber siap dirakit, Anda mungkin memiliki upaya assembler untuk melakukannya
menerjemahkan dan menjalankan program dalam simulator. Langkah pertama adalah membuat
program perakitan dengan meminta assembler menerjemahkan kode sumber Anda. Ada
baik pintasan keyboard dan tombol menu untuk melakukannya. Kedua opsi tercantum di bawah ini
tersedia di bilah menu seperti yang ditunjukkan pada Gambar 10.10.
• F7 akan membuat semua file target (mis., Semua file sumber di Target 1).
• Ctrl + F7 akan membuat file yang sedang aktif (mis., File sedang dimodifikasi).
Panel Bangun Output di bagian bawah jendela akan menunjukkan kesalahan,
peringatan, atau jika proyek berhasil dibangun. Bangunan yang sukses harus terlihat
seperti Gambar 10.11 , sedangkan kegagalan akan memberikan deskripsi kesalahan untuk membantu program-
temukan di mana kodenya salah.
Gbr. 10.5 Mengatur proyek untuk menggunakan simulator
10.2 Alat Pengembangan Keil untuk Majelis ARM
201

Halaman 212
Gbr. 10.6 Pilihan untuk Target1 (Gunakan Micro LIB)
Gbr. 10.7 Menambahkan item ke proyek
202
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 213
Gambar 10.8 Buat file sumber rakitan
Gbr. 10.9 Kode sumber untuk Contoh 10.1
10.2 Alat Pengembangan Keil untuk Majelis ARM
203

Halaman 214
10.2.2 Menjalankan Debugger / Simulator
Sekarang Anda telah menyusun sepotong kode, Anda ingin men-debug kode untuk
pengujian. Untuk memulai debugger, klik Debug → Mulai / Hentikan Sesi Debug dari
bilah menu seperti yang ditunjukkan pada Gambar 10.12 . (μVision dapat meminta peringatan bahwa itu adalah
berjalan dalam mode evaluasi - jika demikian, cukup tekan OK.)
Gambar 10.10 Tombol yang digunakan untuk merakit program
Gbr. 10.11 Output Build untuk perakitan yang sukses
204
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 215
Secara default, register akan ditampilkan di panel Register di sebelah kiri. Jika
Anda mengklik "+" di sebelah baris xPSR, Anda dapat melihat bit bendera saat ini - ini
Program Status Register (PSR).
Panel Disassembly akan menampilkan beberapa data saat ini, seperti mesin
instruksi kode dan catatan baris apa dalam kode sumber yang dieksekusi, dan pada
alamat memori apa.
Untuk menjalankan program, Anda dapat menggunakan tombol / penekanan tombol berikut (Gbr. 10.13 ):

Reset - Reset CPU dan restart program.

Jalankan (F5) - Jalankan seluruh program hingga breakpoint berikutnya (jika diatur).

Berhenti - Menghentikan kode yang sedang dijalankan.

Langkah (F11) - Jalankan baris instruksi saat ini.

Step Over (F10) - Menjalankan satu langkah di atas suatu fungsi.

Step Out (Ctrl + F11) - Selesaikan fungsi saat ini dan berhenti.

Jalankan ke Cursor Line (Ctrl + F10) - Jalankan program sampai mencapai
garis kursor saat ini.
Gbr. 10.13 Lokasi tombol Menu Debug
Gambar 10.12 Memulai / menghentikan debugger
10.2 Alat Pengembangan Keil untuk Majelis ARM
205

Halaman 216
Contoh 10.2 Menjalankan kode dari Gambar 10.8 .
• Pertama, ketik ulang kode persis seperti yang ditunjukkan pada Gambar 10.8.
• Kumpulkan kode dengan menyimpan file (
atau Ctrl + S) kemudian menekan F7 (atau
)
untuk menerjemahkan file bahasa rakitan ke dalam kode mesin. Output Bangun
panel akan terlihat seperti Gambar 10.11.
• Jalankan simulator / debugger dengan menekan Ctrl + F5 atau
di bawah Debug
Tidak bisa. Tekan OK jika permintaan EVALUATION MODE muncul.
• Tekan F11 atau
untuk "melangkah" satu baris dan menjalankan instruksi, dan menonton
perubahan di setiap panel. Saat debugging, simulator akan menyoroti
menjalankan atau memodifikasi data dengan hati-hati. Lihat Gambar 10.14 untuk contoh yang seharusnya
menyerupai layar Anda setelah "langkah" pertama. Ini akan mengeksekusi bit kode pertama kami,
MOV R1, #Q, dan menyimpan nilai Q (6) ke dalam register R1.
- μVision's debugger akan menyoroti instruksi selanjutnya dalam kode sumber
(MOV R2, #P), register yang dimodifikasi (R1, R15), dan ditampilkan di
Gambar 10.14. Debugger secara otomatis menyoroti informasi yang paling relevan
206
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 217
Bongkar panel kode mesin dan alamat memori instruksi
dengan label kode rakitan asli.
• Lanjutkan ke "langkah" melalui kode, menekan F11 atau tombol langkah setiap kali
sampai program dijalankan. Tonton perubahan di setiap register di setiap langkah.
Cara lain untuk mengamati fungsionalitas program Anda adalah dengan melihat saat ini
Penyimpanan. Semua instruksi diterjemahkan dari kode sumber dan data yang telah ditentukan sebelumnya
disimpan dalam memori. Panel Disassembly akan menampilkan instruksi hexa 32-bit
alamat desimal dalam memori di sebelah setiap instruksi, misalnya.
Untuk melihat nilai saat ini di memori saat debugging, buka Memori
1 panel di sudut kanan bawah (Gbr. 10.15). Hingga empat jendela tersedia,
dan secara default Memori 1 harus diaktifkan. Jika tidak, itu dapat diaktifkan di bawah
Bilah menu dengan mengklik Lihat → Memori Windows → Memori 1. (An diaktifkan
Jendela akan memiliki ikon ini di sebelahnya:).
Untuk mencari memori, masukkan alamat heksadesimal dari bagian memori Anda
ingin melihat. Karena ini adalah prosesor byte-addressable, masing-masing alamat menampung satu
byte informasi, dan ditampilkan sebagai dua digit heksadesimal.
Gbr. 10.15 Lokasi jendela Memori dan tab panel
10.2 Alat Pengembangan Keil untuk Majelis ARM
207

Halaman 218
10.2.3 Template Program
Gambar 10.16 berisi contoh template kode untuk menulis program untuk ARM
Cortex M3. Kode sumber yang terletak antara label Reset_Handler dan STOP adalah
dieksekusi ketika program dijalankan. (Semua label tidak boleh memiliki spasi seperti spasi
atau tab di sebelah kiri - mereka harus menjadi teks pertama di kolom, dan karakter pertama
di telepon.)
10.3 Aturan Pemrograman
Aturan KASUS Instruksi, simbol, dan label dapat ditulis dalam huruf besar atau
huruf kecil tetapi tidak dapat digabungkan (mis. MOV atau mov benar, tetapi MoV atau MoV
tidak).
Komentar Programmer dapat menulis komentar setelah titik koma (;)
MOV R1, R2; Memindahkan konten R2 ke R1
Gbr. 10.16 Templat program untuk prosesor ARMCM3 dalam Keil μVision v5
208
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 219
10.4 Representasi Data dan Memori
Prosesor ARM mendefinisikan kata sebagai 4 byte dan setengah kata sebagai 2 byte. Data bisa
direpresentasikan dalam bentuk angka heksadesimal, desimal, dan biner (Gbr. 10.17).
Data dan kode disimpan dalam memori. Gambar 10.18 menunjukkan diagram blok
Penyimpanan. Alamat menentukan lokasi data dalam memori. Setiap lokasi
memori prosesor ARM menampung satu byte. Dalam bahasa assembly, label - as
ditunjukkan pada Gambar. 10.14 - mewakili alamat dalam memori untuk data. Ketika kode
diterjemahkan, assembler secara otomatis memutuskan alamat apa yang akan digunakan sebagai pengganti
beri label dan gantikan dengan yang sesuai dalam program.
Karena setiap lokasi memori menampung satu byte, programmer harus berhati-hati
ketika bekerja dengan kata-kata dan setengah kata. Prosesor dapat berfungsi baik dengan Big
Pemesanan Endian atau Little Endian. Gambar 10.19 menunjukkan angka 0x2000000F
disimpan pada 0x400 di kedua sistem.
• ARM Cortex M3 yang digunakan untuk contoh-contoh ini adalah prosesor Little Endian.
10.5 Arahan
Arahan adalah perintah assembler yang dijalankan oleh assembler. Arahan
tidak pernah menghasilkan kode mesin apa pun. Arahan digunakan untuk menunjukkan awal kode atau
data dan akhir program. Arahan sederhana adalah END, yang menandai akhir dari
Mendasarkan
Awalan
Contoh
Desimal (10)
-
17
Heksadesimal (16)
0x
0x11
Biner (2)
2_
2_00010001
Gambar 10.17 Format representasi numerik
Label
Data
Alamat Memori
Data
Daftar
0x23
0x400
0x23
Daftar +1
0x4A
0x401
0x4A
Daftar + 2
0x56
0x402
0x56
Daftar + 3
0xF5
0x403
0xF5
Gbr. 10.18 Blokir diagram memori jika Daftar disimpan di alamat 0x400
Big Endian
Little Endian
0x400
0x20
0x0F
0x401
0x00
0x00
0x402
0x00
0x00
0x403
0x0F
0x20
Gambar 10.19 Besar vs. Kecil
Endian
10.5 Arahan
209

Halaman 220
sebuah program. Beberapa arahan yang paling berguna yang digunakan oleh ARM Assembler adalah sebagai
berikut:
• AREA - mendefinisikan segmen memori
• ENTRY - menentukan awal program
• EQU - digunakan untuk menetapkan konstanta pada label
- X EQU 6
- MOV R1, #X; R1 = # 6
10.5.1 Petunjuk Data
Arahan data menentukan jenis dan ukuran data.
• DCB (Define Constant Byte)
• DCW (Define Half Half Word)
• DCD (Define Constant Word)
• SPACE (Pesan blok memori yang memusatkan perhatian)
DCB (Define Constant Byte). Arahan ini digunakan untuk mengalokasikan satu atau lebih
byte dalam memori.
• daftar1 DCB 0xF, 10,2_00010001
- list1: 0x0F
- list1 + 1: 0x0A
- list1 + 2: 0x11
DCW (Define Half Half Word). Arahan ini mendefinisikan setengah konstan
kata-kata (16 bit, 2 byte) dan membutuhkan dua lokasi memori per setengah kata.
• daftar1 DCW 0xFF00, 0x13
- list1: 0x00
- list1 + 1: 0xFF
- list1 + 2: 0x13
- list1 + 3: 0x00
DCD (Define Constant Word) DCD digunakan untuk mendefinisikan kata (32 bit, 4 byte)
dan membutuhkan empat lokasi memori per kata.
• daftar1 DCD 0x12345678, 0xFF
- list1: 0x78
- list1 + 1: 0x56
- list1 + 2: 0x34
- list1 + 3: 0x12
- list1 + 4: 0xFF
- list1 + 5: 0x00
- list1 + 6: 0x00
- list1 + 7: 0x00
210
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 221
String Karakter. Urutan karakter disebut string karakter. Di
Perakitan ARM, string harus diakhiri null karena harus diakhiri dengan a
Nilai 0 ketika mereka didefinisikan.
• Daftar1 "Majelis" DCB, 0
• List2 DCB "Saya punya $ 250", 0
Assembler memecah string menjadi byte dan menyimpannya masing-masing dalam Little Endian
memesan.
Karakter tunggal. Saat menyimpan satu karakter dalam register atau memori
lokasi, karakter harus berada di dalam tanda kutip tunggal. Assembler
mengubah ASCII menjadi heksadesimal.
• Daftar DCB 'A'
RUANG. Cadangan lokasi memori untuk digunakan nanti.
• Daftar SPACE 20
- Cadangan 20 byte memori mulai dari Daftar.
10.6 Memori dalam μVision v5
Memori dalam μVision disimulasikan, dan program mencoba mereplikasi dunia nyata
kondisi. Banyak mikroprosesor menggunakan kombinasi ROM (memori hanya baca)
dan RAM dan akan memiliki program yang disimpan dalam ROM untuk menanggapi power-up, reboot,
atau situasi lain di mana RAM tidak akan diperbanyak atau dapat diandalkan.
Untuk melakukan ini, memori ditandai sebagai tidak ada, sebagian, atau semua izin berikut
bendera:
• Exec - Memori menyimpan instruksi dan dapat dieksekusi.
• Baca - Memori dapat dibaca.
• Tulis - Memori dapat ditulis.
Secara default, area dalam memori yang sebagian besar arahan akan menyimpan data mereka adalah
ditandai sebagai exec dan membaca, tetapi tidak menulis. Ini meniru ROM sejak instruksi
tions disimpan di sana dapat dibaca dan dijalankan, tetapi upaya untuk menulis ke lokasi tersebut (dengan
STR atau serupa) tidak akan berfungsi. Assembler juga tidak mungkin memberi tahu Anda tentang hal ini
hasil.
Contoh 10.3 Apa isi list1 setelah eksekusi, jika disimpan dalam ROM?
ADR R0, list1; simpan alamat list1 di R0
MOV R1, # 2; simpan 2 di R1
LDRB R2, [R0]; memuat byte pada list1 ke dalam R2
10.6 Memori dalam μVision v5
211

Halaman 222
ADD R3, R1, R2; R3 R1þR2 (0þ2 = 2)
STRB R3, [R0]; store R3 (# 2) di list1
List1 = 0x00
Sementara pustaka sumber μVision dan ARM memungkinkan program untuk lebih mudah
menggunakan data yang disimpan dalam RAM daripada ROM, itu melampaui ruang lingkup ini
bab. Namun, mengetahui alamat apa yang ditandai sebagai baca dan tulis, Anda bisa
masih menggunakan RAM untuk menyimpan data ke dalam memori.
Secara default, untuk prosesor ARMCM3, lokasi memori 0x20000000 -
0x20020000 ditandai sebagai RAM baca dan tulis dalam μVision.
Contoh 10.4 Apa isi memori pada 0x200000000 setelah eksekusi
instruksi ini?
list1 DCB 0x0
ADR R0, list1; simpan alamat list1 di R0
MOV R1, # 2; simpan 2 di R1
LDRB R2, [R0]; memuat byte pada list1 ke dalam R2
ADD R3, R1, R2; R3 R1þR2 (0þ2 = 2)
MOV R4, # 0x20000000; simpan alamat RAM awal kami di R4
STRB R3, [R4]; store R3 (# 2) pada 0x20000000
List1 = 0x00
0x20000000 0x02
10.7 Ringkasan
• Simulasi prosesor yang berjalan pada prosesor yang berbeda disebut lintas
assembler.
• Ada beberapa alat pengembangan untuk prosesor ARM seperti Keil, IAR,
dan GNU.
• Petunjuk dan label ARM dapat ditulis dalam huruf besar atau kecil tetapi
tidak dapat digabungkan.
• Prosesor ARM mendefinisikan kata sebagai 4 byte, setengah kata sebagai dua byte, dan mereka
dapat direpresentasikan dalam biner (2_1000011), hex (0x24), atau desimal 45.
• Arahan data adalah DCB (Define Constant Byte), DCW (Define Constant
Setengah Kata), DCD (Define Constant Word), dan SPACE (disediakan blok zeroed
memori).
212
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 223
• DCB digunakan untuk mewakili satu byte di lokasi memori seperti
DAFTAR DCB 0x32
• DCW digunakan untuk mewakili setengah kata di lokasi memori seperti
DAFTAR DCW 0x3245
• DCD digunakan untuk mewakili kata di lokasi memori seperti
DAFTAR DCD 0x87673245
• Arahan SPACE digunakan untuk memesan lokasi memori dengan nilai nol di semua
dari lokasi seperti
DAFTAR RUANG 20
• String karakter harus diakhiri dengan nol (0) seperti
Daftar DCB "SELAMAT DATANG", 0
• Kateter tunggal di lokasi memori harus di dalam kutipan tunggal
seperti
Daftar DB 'A'
Masalah
1. Tulis program untuk menambahkan elemen List1 dan simpan di List2.
Daftar1
DCB 0x23, 0x45, 0X23, 0x11
Daftar2
DCB 0x0
2. Tulis program untuk mencari nomor terbesar dan simpan di lokasi memori List3.
Daftar1
DCD
0x23456754
Daftar2
DCD
0X34555555
Daftar3
DCD
0x0
3. Tulis sebuah program, temukan jumlah data di LIST lokasi memori, dan simpan
SUM dalam jumlah lokasi memori menggunakan loop.
Daftar
DCB
0x23, 0x24, 0x67, 0x22, 0x99
JUMLAH
DCD
0x0
4. Tampilkan konten register R1 hingga R5 setelah eksekusi berikut ini
program:
NAMA AREA, KODE, SIAP
SystemInit EKSPOR
EKSPOR __main
10.7 Ringkasan
213

Halaman 224
MASUK
SystemInit
__utama
Arahan AREA, KODE, SIAP
MASUK
ADR R0, LIST1
LDRB R1, [R0]
LDRB R2, [R0, # 1]!
LDRB R3, [R0, # 1]!
LDRB R4, [R0, # 1]!
LDRB R5, [R0, # 1]
Daftar
DCB
0x23, 0x24, 0x67, 0x22, 0x99
meluruskan
AKHIR
5. Tulis bahasa rakitan untuk menghapus posisi bit 0, 3, 5, dan 6 dari R12; bit lainnya
harus tidak berubah (menggunakan instruksi ARM).
Larutan:
LDR R1, # 0x00000069
BIC R12, R12, R1
6. Tulis program bahasa assembly untuk HLL berikut:
JIKA R1 = R0
Kemudian
ADD R3, R0, # 5
Lain
SUB R3, R0, # 5
7. Tulis program untuk membaca lokasi memori LIST1 dan LIST2 dan simpan jumlahnya
DAFTAR3.
DAFTAR1
DCD 0x00002345
DAFTAR2
DCD 0X00011111
DAFTAR3
DCD 0x0
8. Tulis program untuk mengalikan dua angka menggunakan subrutin.
9. Tulis program untuk menambahkan delapan angka menggunakan pengalamatan tidak langsung.
214
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 225
DAFTAR DCB 0x5, 0x2,0x6,0x7, 0x9,0x1,0x2,0x08
10. Tulis program untuk menambah delapan angka menggunakan pengalamatan Post-index.
DAFTAR DCB 0x5, 0x2,0x6,0x7, 0x9,0x1,0x2,0x08
11. Tulis program untuk mengonversi bahasa HLL berikut ke instruksi ARM.
JIKA R1 = R2 DAN R3> R4 lalu
R1 = R1 +1
Lain
R3 = R3 + R3 * 8
Berakhir jika
12. Apa isi R4 setelah pelaksanaan program berikut ini.
__utama
LDR R1, = 0xFF00FF
ADR R0, LIST1
LDR R2, [R0]
DAN R4, R2, R1
DAFTAR1
DCD 0X45073487
13. Tulis program untuk mengonversi HLL berikut ke bahasa assembly.
Jika R1 = R2 maka
R3 = R3 + 1
JIKA R1 <R2 Lalu
R3 = R3-1
Jika R1> R2 Lalu
R3 = R3-5
10.7 Ringkasan
215

Halaman 226
14. Tuliskan subrutin untuk menghitung nilai Y di mana Y ¼ X * 2 + x + 5, anggap x adalah
dipersembahkan oleh
DAFTAR DCB 0x5
LIST1 DCB 0x5
15. Tulis program untuk memutar R1 16 kali; anggap R1 mengandung 0x12345678.
16. Menulis program untuk membandingkan dua angka dan menyimpan angka terbesar dalam a
DAFTAR lokasi memori.
M1
EQU
5
N1
EQU
6
LIST2 DCB 0x0
17. Menulis program untuk membaca daftar lokasi memori kata dan menghapus posisi bit B4
melalui B7 dari register R5; anggap R5 mengandung 0XFFFFFFF.
LDR R0, = 0x000000F0
LDR R5, = 0xFFFFFFFF
18. Menulis program untuk memuat Daftar R1, R2, R3, dan R4 dari lokasi memori
DAFTAR
DAFTAR DCD 0x12345AAA, 0x0000BBBB, 0x0000CCCC, 0X00000DDD
216
10 Pemrograman Bahasa Majelis ARM Menggunakan Peralatan Pengembangan Keil

Halaman 227
Lampiran: Laboratorium Desain Digital
Eksperimen Menggunakan LOGISIM
Bab 1: Masalah dan Pertanyaan
2. Sebutkan tiga perangkat output komputer.
Monitor, pengeras suara, printer
4. Tampilkan sinyal digital.
(a) Byte = 8 bit
(B) Setengah kata = 16 bit
(c) Word = 32 bit
6. Ubah angka desimal berikut menjadi biner:
(a) 35 = 1000011
(B) 85 = 1010101
(c) 23.25
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1
217

Halaman 228
23 ¼ 10111
0,25 * 2 ¼ 0,5 a À1 ¼ 0
0,5 * 2 ¼ 1,0 a À2 ¼ 1
23.25 ¼ 10111.01
8. Ubah angka biner berikut menjadi heksadesimal:
(a) 1110011010 ¼ 39 A
(B) 1000100111 ¼ 227
(c) 101111.101 ¼ 101111.1010 ¼ 2F.A
10. Frekuensi sinyal digital berikut ini diberikan; menemukan siklus jam
sinyal digital:
(a) 10 Hz T ¼ 1 / F ¼ 1/10 ¼ 0,1 detik
(B) 200Hz T ¼ 1 / F ¼ 1/200 ¼ 0,005 detik
(c) 10.000 Hz T¼1 / 10000 ¼ 0,1 milidetik
(d) 4 MHz T ¼ 1/4 * 10 6 ¼ 0,25 * 10 À6 ¼ 0,25 mikrodetik
12. Ubah angka desimal berikut ke basis 16:
(a) (234) 10 ¼
Quotient Remainder
234/16 ¼
14 10 ¼ A dalam hex ¼ a0
14/16 ¼
0 14 ¼ E dalam hex ¼ a1
(a 1 a 0 ) 16 ¼ (EA) 16
(B) (75) 10 ¼
Quotient Remainder
75/16
4
11 ¼ (B) 16
4/16 0 4¼ (4) 16
(c) (75) 10 ¼ (4B) 16
14. Temukan dua pelengkap nomor berikut:
(a) 11111111
Dua komplemen dari angka ¼ komplemen dari angka þ1
11111111 ¼ 00000000 þ1 ¼ 00000001
(B) 10110000 ¼ 01001111 þ1 ¼ 01010000
(c) 10000000 ¼ 01111111 þ1 ¼ 10000000
(d) 00000000 ¼ 1111111 1þ1 ¼ 0000000
16. Mewakili (465) 10 dalam BCD.
(0100 0110 0101) BCD
18. Mewakili (110010000100) BCD dalam desimal.
Nomor tidak valid
218
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 229
20. Kurangi nomor tanpa tanda tangan berikut menggunakan komplemen dua:
(a) 11110011 - 11000011
Tambahkan minuend ke komplemen kedua dari subtrahend.
1. Dua komplemen dari 11000011 ¼ 00111100 þ1 ¼ 00111101
2. Tambahkan hasil langkah 1 ke minuend.
11110011
þ 00111101
----------------
100110000
Menambahkan dua 8 bit menghasilkan 9 bit, yang disebut carry paling signifikan;
Buang barang bawaannya, dan hasilnya positif þ 00110000.
(B) 10001101 - 11111000
Dua komplemen dari 11111000 ¼ 00000111 þ1 ¼ 00001000
10001101
þ00001000
-----------------
10010101 - menambahkan dua 8 bit menghasilkan 8 bit; mengambil pelengkap dua dari
jumlah, dan hasilnya negatif.
Dua komplemen dari 10010101 ¼ 01101010 þ1 ¼ 01101011
Hasil - 01101011
22. Apa nilai biner 16-bit terbesar yang dapat diwakili oleh
(a) Nomor yang tidak ditandatangani
(B) Besarnya ditandatangani
(A) 2 16 - 1
(B) + 2 15 À1 atau À2 15 À1
24. Ubah presisi tunggal IEEE 745 berikut ke angka desimal:
(a) 1 10000100 01110000000000000000000
(B) 0 01111100 1110000000000000000000000
(A) S ¼ 1 angka rata-rata adalah negatif
Eksponen ¼ 10000100 - 01111111 ¼ 132À127 ¼ 5
Mantissa ¼ 1.0111
Nomor ¼ À1.011 1 * 2 5 ¼ À1011100 ¼ À92
(B)
Jadi, angka rata-rata adalah positif
Eksponen ¼ 01111100 - 01111111 ¼ 124 - 127 ¼ À3 ¼ À11
Mantissa ¼ 1. 111
þ 1.111 * 2 À3 ¼ 0.001111 ¼ 0.234375
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
219

Halaman 230
26. Konversikan masing-masing angka magnitudo yang ditandatangani berikut ini menjadi desimal:
(a) 11000011
(B) 10001111
(SEBUAH)
Bit paling signifikan mewakili tanda
À1000011 ¼ À35
(B)
–00001111 ¼ À15
28. Lakukan penambahan berikut:
(0F4A) 16 þ (420B) 16 ¼ (5155) 16
Bab 2: Jawaban
2. Jika A ¼ 11001011 dan B ¼ 10101110, apa hasil dari yang berikut
nilai operasi? operasi berikut?
(a) A DAN B
(B) A ATAU B
(a) Melakukan sedikit demi sedikit dan operasi
A ¼ 11001011
B ¼ 10101110
A DAN B ¼ 10001010
(B) Melakukan sedikit demi sedikit atau operasi
A ¼ 11001011
B ¼ 10101110
A ATAU B ¼ 11101111
4. Gambar sirkuit logika untuk fungsi-fungsi berikut:
(a) F (X, Y, Z) ¼ XY
0 þ YZ þ XZ 0
(B) F (X, Y, Z) ¼ (X þ Y
0
) (Y þ Z) (X
0 þ Z 0
)
220
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 231
(Sebuah)
z
Y'
Z'
XY
Z
XY '
YZ
XZ '
XY '+ YZ + XZ'
(b)
Z'
X+Y'
Y+Z
X
X'
Y'
X '+ Z'
Y
Z
(X + Y ') (Y + Z) (X' + Z ')
6. Sederhanakan fungsi-fungsi berikut
(a) F (X, Y, Z) = XY + X
0
Y + XZ
Larutan
F (X, Y, Z) = Y (X + X
0
) + XZ = Y + XZ
(B) F (X, Y, Z) = (X + Y) (X
0
+ Y + Z)
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
221

Halaman 232
Larutan
F (X, Y, Z) = (XX
0
+ XY + XZ + X
0
Y + YY + YZ) di mana XX
0
= 0 dan YY = Y
F (X, Y, Z) = (XY + XZ + X
0
Y + Y + YZ)
F (X, Y, Z) = Y (X + X
0
+ 1 + Z) + XZ
F (X, Y, Z) = Y + XZ
F (X, Y, Z) = XY
0
Z + XYZ + Y
0
ZF (X, Y, Z) = XZ (Y
0
+ Y) + Y
0
Z
F (X, Y, Z) = XZ + Y
0
Z
(c) F (X, Y, Z) = XY + YX
0
Z
F (X, Y, Z) = Y (X + X
0
Z) di mana X + X
0
Z=X+Z
F (X, Y, Z) = Y (X + Z)
(d) F (X, Y, Z) = X
0
Y + YXZ
0
F (X, Y, Z) = Y (X
0
+ XZ
0
) = Y (X
0
+Z
0
)
(e) F (X, Y, Z) = XY + (X + Y + Z)
0
X + YZ
F (X, Y, Z) = XY + (X
0
Y
0
Z
0
) X + YZ
F (X, Y, Z) = XY + YZ
(f) F (X, Y, Z) = (XY)
0
+ (X
0
+Y+Z
0
)
0
(g) F (X, Y, Z) = X
0
+Y
0
+ XY
0
Z
F (X, Y, Z) = Y
0
(1 + XZ) + X
0
=X
0
+Y
0
8. Jika A ¼ 10110110 dan B ¼ 10110011, maka temukan
(a) A NAND B
(B) A NOR B
(c) A XOR B
(a) NAND setiap bit A dengan bit B yang sesuai
A ¼ 10110110
B ¼ 10110011
A NAND B ¼ 01001101
(b)
A ¼ 10110110
B ¼ 10110011
A NOR B ¼ 01001000
(c)
A ¼ 10110110
B ¼ 10110011
A XOR B ¼ 00000101
222
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 233
10. Tampilkan output dari rangkaian logika berikut:
(Sebuah)
(b)
SEBUAH
B
B
C
(A + B) '
(B + C) '
(A + B) '(B + C)'
(c)
12. Temukan fungsi output dari rangkaian logika berikut:
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
223

Halaman 234
14. Perlihatkan tabel kebenaran untuk masing-masing fungsi berikut:
(a) F (X, Y, Z) ¼ XY
0 þXZ 0 þ YZ
(B) F (X, Y, Z) ¼ (X þ Y) (X þ Z
0
)
(c) F (X, Y, Z) ¼ XY (Y þ Z
0
)
(Sebuah)
XYZY
0
(XY) (XY)
0
(XþY
0
)
X
(XþY
0
)
(XY)
0 þX
(XþY
0
)
0
0
01
0
1
1
0
1
0
0
11
0
1
1
0
1
0
1
00
0
1
0
0
0
0
1
10
0
1
0
0
0
1
0
01
0
1
1
1
1
1
0
11
0
1
1
1
1
1
1
00
1
0
1
1
1
1
1
10
1
0
1
1
1
(B) F (X, Y, Z) ¼ (X þ Y þ Z
0
)
0
(X
0 þ Y 0
)
XYZX
0
Y
0
Z
0
(X
0 þY 0
) (XþYþZ
0
) (XþYþZ
0
)
0
(XþYþZ
0
)
0
(X
0 þY 0
)
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
0
0
(c)
X
Y
Z
Y
0
(X XOR Y)
(X NOR Y
0
)
(X XOR Y) (X NOR Y
0
)
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
224
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 235
(d)
X
Y
Z
X
0
Y
0
(X
0 þY 0 þZ)
(XþY)
(X
0 þ Y 0 þZ) (XþY)
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
16. Gambarlah sirkuit logika untuk fungsi-fungsi berikut.
(a) F (X, Y, Z) ¼ (X þ Y)
0 þ YZ
(B) F (X, Y, Z) ¼ (XYZ)
0 þ XZ þ YZ
(Sebuah)
XYZ
(X + Y) '
YZ
(X + Y) '+ YZ
(b)
XY
Z
(XYZ) '
XZ
YZ
(XYZ) '+ XZ + YZ
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
225

Halaman 236
Bab 3: Solusi
Masalah
2. Hasilkan tabel kebenaran untuk fungsi-fungsi berikut:
(A) F (X, Y, Z) ¼ ∑ (1,3,6,7)
X
Y
Z
F
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
(B) F (X, Y, Z) ¼ π (1,3,4)
Maxterms mewakili nol di tabel kebenaran.
X
Y
Z
F
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
(C) F (W, X, Y, Z) ¼ ∑ (1,4,7,10,12,15)
Minterms mewakili yang ada di tabel kebenaran.
(D) F (W, X, Y, Z) ¼ π (2,3,4,7,10,11,12,13)
Maxterms mewakili nol di tabel kebenaran.
F (X, Y, Z) ¼ Y
0
Z
0 þ YZ
226
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 237
4. Sederhanakan fungsi-fungsi berikut dengan menggunakan K-map
(Sebuah)
XYF
0
0
1
0
1
1
1
0
1
1
1
0
F (X, Y) ¼ X
0 þ Y 0
(b)
XYZF
0
0
01
0
0
11
0
1
00
0
1
11
1
0
00
1
0
11
1
1
01
1
1
10
F (X, Y, Z) ¼ X
0
Y
0 þ X 0
ZþY
0
Z þ XYZ
0
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
227

Halaman 238
(C)
SEBUAH
B
C
D
F
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
F (W, X, Y, Z) ¼ WZ þ W
0
X
0
Y
0 þ W 0
XZ
0
SUAP
6. Sederhanakan fungsi-fungsi berikut di mana D adalah fungsi tidak peduli:
(A) F (X, Y, Z) ¼ ∑ (0, 3, 4)
D (X, Y, Z) ¼ ∑ (2, 6)
F (X, Y, Z) ¼ Z
0 þ X 0
Y
(A) F (W, X, Y, Z) ¼ ∑ (0, 1, 3, 5, 9, 11)
D (W, X, Y, Z) ¼ ∑ (2, 4, 8, 10)
228
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 239
F (W, X, Y, Z) ¼ X
0 þ W 0
Y
0
8. Sederhanakan fungsi berikut dan gambar sirkuit logika menggunakan
(A) gerbang NAND
(B) Gerbang NOR
F (W, X, Y, Z) ¼ W
0
X
0
Z
0 þ XY 0
Z
0 þ WX þ WY þ WY 0
X
0
Z
0
F (W, X, Y, Z) ¼ X
0
Z
0 þ WX þ Y 0
Z
0 þ WY
F (W, X, Y, Z) ¼ [(X
0
Z
0 þ WX þ Y 0
Z
0 þ WY) 0
]
0
F (W, X, Y, Z) ¼ [(X
0
Z
0
)
0
(WX)
0
(Y
0
Z
0
)
0
(WY)
0
]
0
Formulir NAND
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
229

Halaman 240
F (W, X, Y, Z) ¼ [(X
0
Z
0
)
0
(WX)
0
(Y
0
Z
0
)
0
(WY)
0
]
0
F (W, X, Y, Z) ¼ [(X þ Z) (W
0 þ X 0
) (Y þ Z) (W
0 þ Y 0
)]
0
F (W, X, Y, Z) ¼ (X þ Z)
0 þ (W 0 þ X 0
)
0 þ (Y þ Z) 0 þ (W 0 þ Y 0
)
0
Bentuk NOR
W
X
Y
Z
(W + Z) '
(W '+ X') '
(Y + Z) '
(W '+ Y') '
F
230
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 241
Bab 4
2. Temukan output dari gerbang berikut:
4. Desain sirkuit logika dengan tiga input dan satu output; output yang dihasilkan
bahkan sedikit paritas input; menganggap nol adalah genap.
(a) Perlihatkan tabel kebenaran.
(B) Temukan fungsi output.
(c) Gambar sirkuit logika.
X
Y
Z
F
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
F (X, Y, Z) ¼ m0 þ m3 þ m5 þ m6
F (X, Y, Z) ¼ X
0
Y
0
Z
0 þ X 0
YZ þ XY
0
Z þ XYZ
0 ¼ X 0
(Y
0
Z
0 þ YZ) þ X
(Y
0
Z þ YZ
0
)
Jika Y
0
Z þ YZ
0 ¼ A lalu Y 0
Z
0 þ YZ ¼ A 0
Untuk itu fungsi F dapat ditulis sebagai
F (X, Y, Z) ¼ X
0
SEBUAH
0 þ XA ¼ X XNOR A
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
231

Halaman 242
6. Menerapkan fungsi-fungsi berikut hanya menggunakan satu decoder dan gerbang eksternal:
F1 (X, Y, Z) ¼ ∑ (0, 3, 4)
F2 (X, Y, Z) ¼ ∑ (2, 3, 5)
Fungsi ini membutuhkan dekoder 3 * 8.
8. Multiplexer berikut diberikan; lengkapi mejanya.
10. Rancang penambah biner 8-bit menggunakan penambah biner 4-bit.
B7
B4 A7 A4
B3 B0 A3 A0
S7 S4
S3 S0
A0
A1
A2
A3
B0
B1
B2
B3
S0
S1
S2
S3
BERSAMA
CI
A0
A1
A2
A3
B0
B1
B2
B3
S0
S1
S2
S3
BERSAMA
CI
Cout
232
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 243
12. Desain logika kombinasi dengan tiga input dan tiga output, jika input 0, 1, 2,
atau 3 maka output 3 lebih dari input, jika input 4, 5, 6, atau 7 maka output 3 kurang dari
memasukkan.
X
Y
Z
SEBUAH
B
C
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
Membuat K-map untuk A, B, dan C
K-map untuk A
A (X, Y, Z) ¼ X
0
ZþX
0
Y þ YZ
K-map untuk B
B (X, Y, Z) ¼ X
0
Y
0
Z
0 þ X 0
YZ þ XY
0
Z þ XYZ
0 ¼ X 0
(Y
0
Z
0 þ YZ) þ X
(Y
0
Z þ YZ
0
)
Jika Y
0
Z þ YZ
0 ¼ W lalu
B (X, Y, Z) ¼ X
0
W
0 þ XW ¼ X XNOR W dan W ¼ Y XOR Z
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
233

Halaman 244
Fungsi untuk C - dengan melihat tabel kebenaran, kolom untuk C adalah pelengkap
dari Z, lalu
C¼Z
0
X
Z
X'Z
Y
XY
YZ
SEBUAH
W
B
C
14. Desain sirkuit kombinasional dengan empat input dan satu output; masukan ke
sirkuit kombinasi adalah BCD, dan output menghasilkan paritas genap untuk input.
W
X
Y
Z
F
0
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
d
1
0
1
1
d
1
1
0
0
d
1
1
0
1
d
1
1
1
0
d
1
1
1
1
d
234
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 245
F (W, X, Y, Z) ¼ W
0
X
0
Y
0
Z þ XY
0
Z
0 þ WY 0
Z
0 þ XYZ þ X 0
YZ
0
16. Rancang ALU 4-bit untuk melakukan fungsi-fungsi berikut:
AþB, AÀB, Aþ1, A
0
,B
0
, A ATAU B, A XOR B, A DAN B
Larutan
Ini adalah ALU 4-bit; oleh karena itu, dibutuhkan empat multiplexer. ALU ini memiliki delapan
fungsi; oleh karena itu, setiap multiplexer adalah 8 * 1.
Bab 5: Masalah
2. Lengkapi tabel berikut untuk JK flip-flop:
J
K
Q (t) menampilkan keluaran
Q (tþ1) output selanjutnya
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
235

Halaman 246
4. Gambar berikut menunjukkan logika berurutan; lengkapi tabel berikut;
anggap nilai awal Q1 ¼ 0 dan Q2 ¼ 0. Gunakan logika untuk memverifikasi jawaban Anda.
Jam
Q0
Q1
Nilai awal
0
0
Jam # 1
1
0
Jam # 2
0
1
Jam # 3
1
1
6. Daftar shift berikut diberikan; menemukan output setelah pulsa lima jam.
Q3
Q2
Q1
Q0
Jam
0
0
0
0
0
0
0
1
#1
0
0
1
1
#2
0
1
1
0
#3
1
1
0
0
#4
1
0
0
0
#5
8. Lengkapi tabel eksitasi berikut untuk JK flip-flop:
Q (t)
Q (tþ1)
J
K
0
0
0
d
0
1
1
d
1
0
d
1
1
1
d
0
236
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 247
10. Temukan tabel keadaan untuk diagram keadaan berikut:
Kondisi sekarang
Keadaan selanjutnya
X¼0
Xl
SEBUAH
B
SEBUAH
B
AB
0
0
0
1
10
0
1
0
1
10
1
0
1
1
10
1
1
1
1
00
12. Tampilkan tabel keadaan dan diagram keadaan untuk sirkuit berikut:
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
237

Halaman 248
Kondisi sekarang
Keadaan selanjutnya
X¼0
Xl
SEBUAH
B
SEBUAH
B
SEBUAH
B
0
0
1
1
1
0
0
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
Bab 6
Tinjau Pertanyaan
• Soal pilihan ganda
Fungsi _________ adalah untuk melakukan operasi aritmatika.
(sebuah bus
(B) Port serial
(c) ALU
(d) Unit kontrol
Jawab: C
2. Ketika Anda membandingkan fungsi CPU dan mikroprosesor, __________
(a) Mereka sama.
(B) Mereka tidak sama.
(c) CPU lebih cepat dari mikroprosesor.
(d) Mikroprosesor lebih cepat dari CPU.
Jawab: A
4. Unit kontrol prosesor CISC adalah ____________.
(a) Perangkat Keras
(b) Mikrokode
(c) a dan b
(D) Tidak ada di atas
Jawab: A
6. Manakah dari bus berikut yang 32-bit?
(a) ISA
(B) PCI dan EISA
(c) EISA dan ISA
(d) MCA dan ISA
Jawab: A
238
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 249
Pertanyaan Jawaban Pendek
2. Jelaskan fungsi CPU.
Jawaban: CPU adalah "otak" komputer dan bertanggung jawab untuk menerima
data dari perangkat input, memproses data menjadi informasi, dan mentransfer data
informasi ke memori dan perangkat keluaran.
4. Apa fungsi unit kontrol?
Jawab: Fungsi unit kontrol adalah untuk mengontrol perangkat input / output, menghasilkan
mengontrol sinyal ke komponen lain dari komputer seperti sinyal baca dan tulis,
dan melakukan eksekusi instruksi.
6. Berapa banyak bit dalam setengah kata? 16
8. Bedakan antara CPU dan mikroprosesor.
Jawab: Jika unit kontrol mendaftar dan ALU dikemas menjadi satu terintegrasi
sirkuit, itu adalah mikroprosesor; jika mereka tidak dikemas dalam unit yang sama, itu adalah CPU.
10. Jelaskan fungsi DMA.
Jawab: DMA (akses memori langsung) memungkinkan transfer blok data dari
memori ke perangkat I / O atau sebaliknya. Ini dilakukan secara langsung tanpa menggunakan CPU.
12. Apa aplikasi port serial?
Jawab: USB yang memiliki banyak aplikasi adalah jenis port serial.
14. Berapakah memori maksimum untuk CPU dengan 16 jalur alamat dan 8 jalur data?
Jawab: CPU dengan 16 jalur alamat dan 8 jalur data dapat memiliki maksimum
memori 524.288 bit (2 ^ 16 * 8).
16. Daftar karakteristik prosesor RISC.
Jawaban: Karakteristik prosesor RISC adalah sebagai berikut: ini membutuhkan yang baru
instruksi, semua instruksi memiliki panjang yang sama, sebagian besar instruksi dieksekusi
dalam satu siklus jam mesin, unit kontrol tertanam, dan memiliki beberapa mode alamat
dan sejumlah besar register.
18. Apa keunggulan prosesor multicore versus single core?
Jawaban: Prosesor multicore dapat menjalankan banyak instruksi secara bersamaan
yang meningkatkan kinerja lebih dari satu prosesor inti.
20. Jelaskan instruksi ambil.
Jawab: Instruksi pengambilan memindahkan instruksi dari memori ke CPU.
22. Hitung waktu eksekusi untuk masalah 21 menggunakan prosesor non-pipa.
Jawab: 100 ms
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
239
Halaman 250
24. Daftar jenis pengontrol disk.
Jawaban: Ada dua jenis pengontrol disk yang merupakan disk elektronik terintegrasi
(IDE) dan antarmuka sistem komputer kecil (SCSI).
26. Sebutkan dua bus serial.
Jawab: USB dan FireWire.
28. Tampilkan koneksi pin port USB.
Menjawab:
30. Apa aplikasi FireWire?
Menjawab:
FireWire adalah bus serial berkecepatan tinggi yang digunakan untuk perangkat digital seperti video digital
atau camcorder.
Bab 7: Pertanyaan dan Masalah
2. Apa artinya RAM?
Jawaban: RAM adalah singkatan dari random-access memory.
4. Manakah dari tipe memori berikut ini yang digunakan untuk memori utama?
(a) ROM dan SDRAM
(B) SRAM dan DRAM
(c) SDRAM dan DRAM
(d) DRAM dan EPROM
Jawab: C
6. Apa kepanjangan dari ROM?
Jawaban: Memori hanya baca
240
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 251
8. Apa perbedaan antara EEPROM dan EPROM?
Jawaban: EPROM membutuhkan penggunaan sinar ultraviolet untuk dihapus
EEPROM dapat dihapus dengan menerapkan tegangan spesifik ke salah satu pinnya.
10. Apa aplikasi utama SRAM?
Jawab: Aplikasi utama SRAM digunakan sebagai cache untuk CPU.
12. Tetapkan ketentuan berikut:
(sebuah jalur
(B) Sektor
(c) Cluster
Menjawab:
(A) Trek adalah pembagian piringan menjadi jalur melingkar.
(B) Sektor adalah masing-masing trek lebih lanjut dipecah menjadi potongan-potongan kecil.
(C) Cluster adalah pengelompokan sektor.
14. Apa fungsi Tabel Alokasi File (FAT)?
Menjawab:
FAT menetapkan pengaturan informasi yang disimpan pada hard disk, FAT16 dan
FAT32 digunakan pada aplikasi Windows sebelumnya.
16. Apa jenis cache?
Jawaban: Data cache (D-cache) dan Instruction cache (I-cache).
18. Apa itu memori virtual?
Jawaban: Memori virtual dapat berupa hard disk drive (HDD) atau solid state drive
(SSD) yang digunakan untuk menyimpan data aplikasi dan instruksi dari memori utama
yang saat ini tidak dibutuhkan oleh CPU.
20. Alamat fisik menentukan ukuran
(a) Memori virtual
(B) Memori fisik
(c) Memori cache
Jawab: B
22. Apa itu rasio hit?
Menjawab:
Hit ratio adalah jumlah hit / jumlah misses jumlah hit.
24. Jelaskan lokalitas spasial.
Menjawab:
Gagasan bahwa ketika lokasi memori diakses, sangat mungkin di dekatnya
lokasi memori juga perlu diakses.
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
241
Halaman 252
26. Tampilkan format alamat yang terlihat oleh cache untuk pemetaan langsung.
Menjawab:
28. Apa fungsi nomor halaman di alamat virtual?
Jawab: Nomor halaman digunakan sebagai bagian dari alamat virtual untuk mengidentifikasi halaman.
30. Apa fungsi dari tabel halaman?
Menjawab:
Tabel halaman digunakan untuk melacak nomor halaman setiap halaman dan
blok data yang sesuai. Tabel halaman juga melacak apakah setiap halaman
ada di memori utama atau memori virtual.
32. Apa keuntungan dari pemetaan cache asosiatif versus pemetaan langsung?
Jawaban: Mengatur pemetaan asosiatif akan memiliki lebih sedikit kesalahan daripada pemetaan langsung.
34. __________ adalah jenis memori tercepat.
(a) Memori cache
(B) Memori utama
(c) Memori sekunder
(d) Hard disk
Jawab: A
242
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 253
Masalah
2. Memori berikut dan memori cache diberikan. CPU menghasilkan alamat
0x1, 0x2, 0x1, 0x8, 0x9, 0x1C, 0x1D, 0x3, dan 0x4.
(a) A. Tampilkan konten cache menggunakan pemetaan asosiatif set dua arah;
mengambil kebijakan penggantian LRU.
(B) Berapa hit rate?
Alamat
Kandungan
Alamat
Kandungan
00000
5
10000
5
00001
3
10001
0
00010
11
10010
1
00011
6
10011
11
00100
7
10100
15
00101
8
10101
09
00110
9
10110
12
00111
12
10111
23
01000
0
11000
65
01001
0
11001
21
01010
8
11010
8
01011
7
11011
7
01100
9
11100
9
01101
0
11101
0
O1110
2
11110
2
01111
5
11111
5
Nilai awal untuk V-bit dan LUR
Tetapkan alamat
V
Menandai
B1
B0
LRU
v
Menandai
B1
B0
LRU
00
0
0
0
0
01
0
0
0
0
10
0
0
0
0
11
0
0
0
0
Format alamat dilihat oleh cache
2 bit
2 bit
1 bit
Menandai
Tetapkan alamat
Byte offset
Tetapkan alamat V
Menandai
B1
B0
LRU
V
Menandai
B1
B0
LRU
00
0À> l
00
0
5
0À> Àl> À0
0À> 1
01
0
5
0À> 1
01
0À> 1
00
11
3
0À> 1
0À> 1
0
10
0À> 1
11
0
9
0À> À1> À0
0À> 1
00
7
6
0À> 1
11
0
0
0
0
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
243

Halaman 254
4. Komputer memiliki memori virtual 32 Kbytes dan memori utama 8 Kbytes
dengan ukuran halaman 512 byte.
(a) Berapa bit dalam alamat virtual?
(B) Berapa banyak halaman dalam memori virtual?
(c) Berapa banyak bit yang diperlukan untuk alamat fisik?
(D) Berapa banyak frame atau blok dalam memori utama?
(a) 15 alamat virtual
(b) 2 15 /2 9 ¼ 2 6 ¼ 64 halaman
(c) 2 13 ¼ 8k alamat fisik adalah 13 bit
6. Komputer memiliki 20 bit memori virtual dan setiap halaman adalah 2KB.
(a) Berapa ukuran memori virtual?
(B) Berapa banyak halaman dalam memori virtual?
Menjawab:
(a) 2 20 ¼ 1MB
(b) 2 20 /2 11 ¼ 2 9 halaman
8. CPU dari Gambar 7.24 menghasilkan alamat 0x00 dan 0x0b; anggap peta Page menjadi
peta block1 dan halaman 2 di blok 0; perlihatkan isi tabel halaman
Alamat 0X00
Halaman#
Mengimbangi
000
00
Nomor halaman adalah alamat untuk tabel halaman
Alamat 0X0b
Tabel halaman
Sedikit valid
Nomor bingkai (2 bit)
000
01
01
001
0
010
01
00
011
0
100
0
101
0
110
0
111
0
0
Halaman #
mengimbangi
010
11
010 adalah tabel alamat ke halaman.
244
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 255
Bab 8
2. Daftar jenis instruksi berdasarkan jumlah operan:
Instruksi tanpa operan seperti HLT
Instruksi dengan dua operan seperti MOV R1, R2
Instruksi dengan operan seperti ADD R1, R2, R3
4. Register prosesor ARM mana yang digunakan untuk Stack Pointer (SP)?
R13
Masalah
6. Apa isi R1? Asumsikan R2 ¼ 0x00001234.
(a) MOV R1, R2, LSL # 4
R1 ¼ 0x00012340
(B) MOV R1, R2, LSR # 4
R1 ¼ 0x00000123
8. Konversikan bahasa HLL berikut ke instruksi ARM.
JIKA R1> R2 DAN R3> R4 lalu
R1 = R1 þ1
Lain
R3 = R3 þR3 * 8
Berakhir jika
Larutan
CMP R1, R2
CMPGT R3, R4
ADDGT R1, R1, # & 1
ADDLE R3, R3, R5 LSL # 3
6. Konversikan diagram alur berikut ke bahasa rakitan ARM.
JIKA R1> R2
R3 = R3 + 2
T
F
R4 = R4 +4
JIKA R3 = R7
R6 = R6-R7
R6 = R6 + R7
T
F
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
245

Halaman 256
Larutan
CMP R1, R2
ADDGT F3, R3, # & 2
ADDLE R4, R4, # & 5
CMPLE R3, R7
SUBEQ R6, R6, R7
ADDNE R6, R6, R7
8. Tulis program untuk mengonversi perakitan HLL ke ARM berikut:
a = 10;
b = 45;
while (a! = b) {
jika (a <b)
a = a þ5;
lain
b = bþ5;
}
LARUTAN:
Larutan
MOV R1, # 10
MOV R2,45
Loop:
CMP R1, R2
BEQ Berhenti
ADDLT R1, R1, # 5
ADDGT R2, R2, # 5
B loop
Berhenti
10. Konversikan diagram alur berikut ke perakitan ARM:
R5 = R3-R4
R12 = R10-R11
F
T
T
F
R5 = R3 + R4
Jika R5> R6
JIKA R1 = R2
246
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 257
CMP R1, R2
SUBNE R5, R3, R4
BNE Berhenti
ADDEQ R5, R3 R4
CMPEQ R5, R6
SUBLTE R12, R10, R11
SUBGT R5, R3, R4
Berhenti
Bab 9
Masalah
Lacak instruksi berikut ini; anggap daftar mulai dari lokasi memori
0x0000018, dan menggunakan ARM Big Endian.
ADR R0, DAFTAR; Muat R0 dengan alamat Daftar lokasi memori
MOV R10, # 0x2
(a) LDR R1, [R0]
(B) LDR R2, [R0, # 4]!
(c) LDRB R3, [R0], # 1
(d) LDRB R4, [R0, R10]!
(e) LDRSB R5, [R0], # 1
(f) LDRSH R6, [R0]
DAFTAR DCB 0x34, 0xF5, 0x32, 0xE5, 0x01, 0x02,0x8,0xFE
Larutan
ADR R0, DAFTAR; Muat R0 dengan alamat Daftar lokasi memori
MOV R10, # 0x2
Sebuah. LDR R1, [R0]
; R0¼0x18
R1¼0x34F532E5
b. LDR R2, [R0, # 4]!
; R0¼ 0x1C
R2 ¼0x010208FE
c. LDRB R3, [R0], # 1
; R0¼ 0x19
R3¼0x34
d. LDRB R4, [R0, R10]!
; R0¼ 0x1A
R4¼0X32
e. LDRSB R5, [R0], # 1
; R0¼ 0x19
R5¼0x34
f. LDRSH R6, [R0]
; R0¼ 0x18
R6¼0x34F5
DAFTAR DCB 0x34, 0xF5, 0x32, 0xE5, 0x01, 0x02,0x8,0xFE
2. Kerjakan masalah # 1 bagian A dan B menggunakan Little Endian
(a) R1 ¼ 0xE532F534
(b) R2 ¼ 0xFE080201
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
247

Halaman 258
4. Apa isi register Ri untuk instruksi pemuatan berikut; menganggap
R0 memegang alamat daftar menggunakan Little Endian.
(a) LDR R1, [R0]
(B) LDRH R2, [R0]
(c) LDRB R3, [R0], # 1
(d) LDRB R4, [R0]
(e) LDRSB R5, [R0], # 1
(f) LDRSH R6, [R0]
Daftar DCB 0x34, 0xF5, 0x32, 0xE5, 0x01, 0x02
Larutan
(a) LDR R1, [R0]
; R1¼0xE532F534
(B) LDRH R2, [R0]; R2¼0x0000F534
(c) LDRB R3, [R0], # 1
; R3¼0x00000034
(d) LDRB R4, [R0]
; R4¼ 0x000000F5
(e) LDRSB R5, [R0], # 1; R5¼0xFFFFFFF5
(f) LDRSH R6, [R0]
; R6¼0xFFFFE532
Daftar DCB 0x34, 0xF5, 0x32, 0xE5, 0x01, 0x02
6. Apa alamat efektif dan berisi R5 setelah mengeksekusi berikut ini
instruksi? Asumsikan R5 berisi 0x 18 dan r6 berisi 0X00000020.
(A) STR R4, [R5]
(B) STR R4, [R5, # 4]
(C) STR R4, [R5, # 8]
(D) STR R4, [R5, R6]
(E) STR R4, [R5], # 4
Solusi
(A) STR R4, [R5]
EA¼ 0x18
(B) STR R4, [R5, # 4] EA¼ 0x18 þ 4¼ 0x1C
(C) STR R4, [R5, # 8]
EA¼0x18 þ8¼0x20
(D) STR R4, [R5, R6]
EA¼ 0x18 þ0x20 ¼ 0x38
(E) STR R4, [R5], # 4 EA¼ 0x18, R5¼0x18 þ4¼0x1C
248
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 259
Bab 10
Solusi
Untuk semua program, templet berikut digunakan:
RESET AREA, DATA, SIAP
EKSPOR __Vektor
__Vektor
DCD 0x20001000
; nilai penunjuk tumpukan saat tumpukan kosong
Reset_Handler DCD; atur ulang vektor
MELURUSKAN
AREA MYCODE, CODE, SIAP
MASUK
Reset Ekspor_Handler
Reset_Handler
Lokasi Kode Anda
STOP B STOP
AKHIR; Akhir dari program
2. Tulis program untuk mencari nomor terbesar dan simpan di lokasi memori
DAFTAR3. Asumsikan angka ada di lokasi LIST1 dan LIST2.
__utama
ADR
R0, DAFTAR1
LDR R1, [R0]
ADR R0, LIST2
LDR
R2, [R0]
CMP R1, R2
BHI
HASIL
; JIKA R1> R2
MOV R1, R2
HASIL
ADR R0, LIST3
STR R1, [R0]
DAFTAR1
DCD
0x23456754
DAFTAR2
DCD
0X34555555
DAFTAR3
DCD
0x0
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
249

Halaman 260
4. Tulis program untuk menambahkan dua angka, angka yang diwakili oleh
N1
EQU
5
M1
EQU
7
Larutan
MOV r6, # M1
; Muat r6 dengan 7
MOV r8, # N1
__utama
TAMBAHKAN R7, R6, R8
; Tambahkan R6 dengan R8 dan simpan di R7
N1
EQU
5
M1
EQU
7
6. Tulis program, tambahkan LIST1 ke LIST2, dan simpan jumlahnya di LIST3.
__utama
ADR R1, LIST1
; ADR adalah Instruksi Palsu
LDR R2, [R1]
ADR R3, LIST2
LDR R4, [R3]
TAMBAHKAN R5, R2, R4
ADR R8, LIST3
STR R5, [R8]
DAFTAR1
DCD 0x00002345
DAFTAR2
DCD 0X00011111
DAFTAR3
DCD 0x00000000
8. Tulis program untuk mengalikan dua angka.
__utama
LDR R1, = 0x22222222
LDR R2, = 0x3
MUL R3, R1, R2
250
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 261
10. Tulis program untuk menambah delapan angka menggunakan pengalamatan Post-index
DAFTAR DCB 0x5, 0x2,0x6,0x7, 0x9,0x1,0x2,0x08
Larutan
ADR R0, DAFTAR
__utama
SUB R5, R5, R5
MOV R1, # 0x8
LOOP
LDRB R2, [R0], # 1
TAMBAHKAN R5, R5, R2
SUB R1, R1, # 01
CMP R1, # 0x0
BNE
LOOP
MELURUSKAN
DAFTAR DCB 0x5, 0x2,0x6,0x7, 0x9,0x1,0x2,0x08
10. Tulis program untuk mengonversi bahasa HLL berikut ke instruksi ARM:
JIKA R1 = R2 DAN R3> R4 lalu
R1 = R1 +1
Lain
R3 = R3 + R3 * 8
Berakhir jika
ADR R6, LIST1
ADR R7, LIST2
ADR R8, LIST3
ADR R9, LIST4
LDR R1, [R6]
LDR R2, [R7]
LDR R3, [R6]
LDR R4, [R7]
CMP R1, R2
CMPEQ R3, R4
ADDGT R1, R1, # 1
ADDLE R3, R3, R3, LSL # 3
MELURUSKAN
LIST1 DCD 0x58
LIST2 DCD 0x95
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
251

Halaman 262
LIST3 DCD 0x24
LIST4 DCD 0x234
STOP B STOP
12. Tulis program untuk mengonversi HLL berikut ke bahasa assembly:
Jika
R1 = R2 kalau begitu
R3 = R3 + 1
JIKA R1 <R2 Lalu
R3 = R3-1
Jika R1> R2 Lalu
R3 = R3-5
Larutan
MOV R1, # 0x9
MOV R2, # 0x6
MOV R3, # 0x5
__utama
CMP R1, R2
ADDEQ R3, R3, # 0x1
SUBLE R3, R3, # 0x1
ADDGT R3, R3, # 0x3
14. Tulis program untuk memutar R1 16 kali; anggap R1 mengandung 0x12345678.
__utama
ADR R0, DAFTAR
LDR R1, [R0]
ROR R1, R1, # 16
DAFTAR
DCD 0x12345678
16. Menulis program untuk membaca daftar lokasi memori kata dan menghapus posisi bit B4
melalui B7 dari register R5; anggap R5 mengandung 0XFFFFFFF.
LDR R0, = 0x000000F0
LDR R5, = 0xFFFFFFFF
252
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM

Halaman 263
Larutan
LDR R0, = 0x000000F0
LDR R5, = 0xFFFFFFFF
__utama
BIC R4, R5, R0
18. Menulis program untuk memuat Daftar R1, R2, R3, dan R4 dari memori
DAFTAR lokasi.
DAFTAR DCD 0x12345AAA, 0x0000BBBB, 0x0000CCCC, 0X0000DDD
__utama
ADR R0, DAFTAR
LDM R0, {R1, R2, R3, R4}
DAFTAR DCD 0x12345AAA, 0x0000BBBB, 0x0000CCCC, 0X00000DDD
Lampiran: Eksperimen Laboratorium Desain Digital Menggunakan LOGISIM
253
Halaman 264
Referensi
1. M. Mano, desain Digital, edisi ke-5. (Pearson, 2013) AS
2. EO Hwang, desain Digital dan desain mikroprosesor dengan interfacing, edisi kedua. (Cengage
Belajar, 2018) AS
3. D. Haris, S. Haris, Desain Digital dan Arsitektur Komputer Edisi ARM (Morgan
Kaufmann, 2016) AS
4. M. Wolf, Komputer sebagai Komponen (Morgan Kaufmann, 2017) AS
5. A. Elahi, T. Arjeski, Bahasa Majelis ARM dengan Eksperimen Perangkat Keras (Springer, 2015)
Amerika Serikat
6. W. Stalling, Organisasi dan Desain Komputer, edisi ke-10. (Pearson, 2016) AS
7. A. Clements, Organisasi Komputer, dan Tema dan Variasi Arsitektur (Cengage
Learning, 2014) USA
8. NXP Corp, LPC16XX manual pengguna
9. http://infocenter.arm.com, Manual ARM V7
10. Keil Corp, alat pengembangan μvision
11. ARM Cortex-M3 manual referensi teknis
12. SB Furber, Arsitektur Sistem-on-chip ARM (Addison Wesley, 2000) AS
13. W. Holm, Bahasa Majelis ARM (CRC Press, 2009) AS
14. K. Schindler, Pengantar Sistem Berbasis Mikroprosesor Menggunakan prosesor ARM (Person,
2013) USA
15. JW Valvano, Sistem Tertanam Interfacing Real-time ke ARM Cortex-M3 (JW Valvano,
2011) AS
16. D. Lewis, Dasar-dasar Perangkat Lunak Tertanam dengan ARMCotex-M3 (Pearson, 2013) AS
17. R. Gibson, Bahasa Majelis ARM - Suatu Pengantar. (LuLu, 2007) AS
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1
255

Halaman 265
Indeks
SEBUAH
Mode pengalamatan, ARM
mode pengalamatan, 187
menangani segera, 188
pengalamatan pasca-indeks, 190
mode pengalamatan pra-indeks, 188, 189
pengalamatan pra-indeks dengan menulis kembali,
189, 190
dukungan prosesor, 187
Advanced RISC Machine (ARM)
daftar alamat, 164
Format instruksi B dan BL, 179
barrel shifter, 165
32-bit ALU, 165
cabang dengan instruksi tautan (BL), 178
deskripsi, 163
instruksi decoder dan kontrol logika, 164
mode, 165
multiply (MUL), 180
multiply-akumulasi (MLA)
instruksi, 180
Baca Data Register, 165
daftar bank, 164
register, 163
operasi dan instruksi tumpukan, 177, 178
Tulis Daftar Data, 165
Kode Standar Amerika untuk Informasi
Interchange (ASCII), 18
Sinyal analog
amplitudo, 4
frekuensi (F), 3
sinyal non periodik, 2
Sinyal periodik, 2
fase, 4
DAN gerbang, 30, 31
DAN logika, 30, 31
DAN-BUKAN gerbang, 32
Unit logika aritmatika (ALU), 14, 88, 90
Aritmatika bergeser ke kanan (ASR), 172
Petunjuk pemrosesan data ARM, 174, 175
Instruksi transfer data ARM
Instruksi pseudo LDR, 185, 186
instruksi semu, 186
Instruksi STR, 187
Instruksi ARM
bandingkan dan uji instruksi, 169
instruksi pemrosesan data, 167, 168
format instruksi dan operasi, 166
register instruksi swap (MOV dan
MVN), 170
bergeser dan putar instruksi, 171, 172
instruksi tanpa syarat dan kondisional
instruksi, 173, 174
Instruksi semu ARM, 186
Register ARM, 165, 166
Kode ASCII, 17, 25
Assembler, 197
Transmisi asinkron, 22
B
Barrel shifter, 102
Eksponen yang bias, 15, 16
Big Endian, 193
Konversi biner ke desimal, 6-7
Binary-coded desimal (BCD), 16, 17
Bit, 5
Penambah biner 4-Bit, 87
DRAM 1-Bit, 139
Field bit clear (BFC), 191
© Springer International Publishing AG 2018
A. Elahi, Sistem Komputer, https://doi.org/10.1007/978-3-319-66775-1
257

Halaman 266
Instruksi Hapus Field Bit (BFC), 191
Penyisipan bidang bit (BFI), 191
Instruksi lapangan bit, 191, 192
Instruksi penyisipan bit (BFI), 192
Register geser kiri 4-Bit, 103
Block, 146
Teorema aljabar Boolean
hukum asosiatif, 38
hukum komutatif, 38
Teorema I Morgan De, 38
Teorema II De Morgan, 38
deskripsi, 36
teorema distributif, 37
teorema, 36, 37
Fungsi Boolean, 39, 40
Logika Boolean, 30
Teorema Boolean, 29
Byte, 5
C
Baris cache / blok cache, 146
Memori cache, 145
Unit pemrosesan sentral (CPU), 2, 14, 15
arsitektur, 120
arithmetic logic unit (ALU), 116
Prosesor 32-bit, 118
CPU 64-bit, 118
CISC, 118, 119
unit kontrol, 116
arsitektur harvard, 120
eksekusi instruksi, 123
Mikroprosesor Intel, 120-122
prosesor multicore, 122, 123
daftar, 116
Arsitektur Von Neumann, 120
Jam, 21, 22
Skema pengkodean
Kode ASCII, 17
Logika kombinasional
ALU, 88, 90
analisis, 72, 73
pengurang biner, 87
diagram blok, 72
dekoder, 75, 76
deskripsi, 71
desain, 72-74
penambah penuh (FA), 84, 86
half adder (HA), 84, 85
multiplexer (MUX), 77–81, 83
logika berurutan, 71
tujuh segmen display, 89, 91
Komplemen, 11, 12
Set komputer instruksi kompleks (CISC), 118
Komputer
komponen dasar, 2
Kode kondisi, 173
Penghitung, 108, 109
Bus CPU, 116
bus alamat, 117
bus kontrol, 118
bus data, 117, 118
Cross-assembler, 197
Registrasi Status Program Saat Ini (CPSR),
165, 166
D
D flip-flop, 99-101
Arahan data, 210, 211
string karakter, 211
DCB, 210
DCD, 210
DCW, 210
karakter tunggal, 211
SPACE, 211
Representasi data
dan memori, 192, 193, 209
DCB (Define Constant Byte), 210
DCD (Define Constant Word), 210
DCW (Define Half Half Word), 210
Konversi desimal ke biner, 7-9
Decoder, 75, 76
Sinyal digital, 1, 5
Akses memori langsung (DMA), 124
Arahan, 209
Pengontrol disk
IDE, 125
SATA, 126
SCSI, 125
Sistem file disk, 143
Kondisi tidak peduli, 60, 61
Double Data Rate SDRAM (DDR
SDRAM), 140
Presisi ganda, 15
E
Sinyal listrik, 3
PROM Dihapus Secara Listrik
(EEPROM), 141
Hanya-Dapat Diprogram Hanya Baca
Memori (EPROM), 141
Gerbang NOR eksklusif, 33
Gerbang eksklusif ATAU, 32
Eksponen, 15
Extended Data Out RAM (EDORAM), 140
Bus Extended ISA (EISA), 127
258
Indeks

Halaman 267
F
FireWire / IEEE 1394, 132
Memori flash, 141
Tabel eksitasi Flip-flop, 107
Representasi titik mengambang, 14, 15
Unit titik apung (FLU / FPU), 14, 15
Frekuensi (F), 3, 4
Penambah penuh (FA), 84, 86
Pemetaan asosiatif penuh, 152
H
Half adder (HA), 84, 85
Hard disk
waktu akses, 143
sistem file disk, 143
arsitektur internal, 142
gugus rotasi, 143
penundaan rotasi, 143
mencari waktu, 143
Arsitektur Harvard, 120
Angka heksadesimal, 9, 17, 25
Antarmuka multimedia definisi tinggi (HDMI),
133, 134
Bahasa tingkat tinggi (HLL), 161
Hit, 146
Rasio hit, 146
Hub
arsitektur, 130
saya
Perangkat I / O, 125
Bus arsitektur standar industri (ISA), 127
Perangkat input, 2
Gerbang NAND 2-Input, 31
Arsitektur set instruksi (ISA)
deskripsi, 162
tidak ada instruksi operan, 162
satu instruksi operan, 163
dua instruksi operan, 163
Integer, 14
Sirkuit terpadu (IC)
penomoran pin sirkuit terintegrasi, 35
LSI, 36
MSI, 36
SSI, 34
transistor, 33
Elektronik disk terintegrasi (IDE), 125
Keluarga Prosesor Intel, 120-122
J
JK flip-flop, 100
Tabel eksitasi JK flip-flop, 108
K
Karnaugh map (K-map)
sel yang berdekatan, 52, 54
kombinasi sel, 55
deskripsi, 52
empat variabel, 57
fungsi, 55
fungsi F (X, Y), 52
minterm, 52
fungsi yang disederhanakan, 58
tiga variabel, 53, 54
mentransfer minterm, 53
Alat pengembangan keil
Prosesor ARM Cortex M3, 199
Program perakitan ARMv7, 199
menyusun program, 201
membangun panel output, 201
debugger / simulator, menjalankan,
204–206
arahan, 200
Keil μVision
®
IDE v5.22, 198
Situs web Keil, 198
penginstal paket, 198
templat program, 208
μVision, 198
L.
Integrasi skala besar (LSI), 36
Instruksi pseudo LDR, 186
Little Endian, 194
Instruksi pemuatan (LDR), 185
Gerbang logika, 29
Pergeseran logis kiri (LSL), 171
Logical shift right (LSR), 171
M.
Memori utama, 145
Mantissa, 15, 16
Maxterm, 51
Integrasi skala menengah (MSI), 36
Memori, 2
dalam μVision, 211
Waktu akses memori, 141
Indeks
259

Halaman 268
Hirarki memori
memori cache, 145, 146
pemetaan langsung, 146–148
pemetaan asosiatif penuh, 152
memori utama, 145
operasi memori, 155
organisasi memori, komputer, 155
tabel halaman, 154
memori kedua, 145
mengatur pemetaan asosiatif, 150, 151
memori virtual, 153
Bus Microchannel architecture (MCA), 127
Komputer Mikro, 116
komponen, 115, 116
CPU, 116 (lihat juga Pemrosesan pusat
unit (CPU))
pengontrol disk, 125, 126
bus komputer mikro, 126
standar, 115
Minterms
aplikasi, 48
deskripsi, 48
dari F (X, Y), 48
sirkuit logika, 50
jumlah minterms, 48
tiga variabel, 48
tabel kebenaran, 48, 50
nol, 49
Nona, 146
Motherboard, 133
Prosesor multicore, 122, 123
Beberapa gerbang input logika, 33
Multiplexer (MUX), 77–81, 83
arsitektur dasar, 77
Demultiplexer 1-ke-N, 78, 79
deskripsi, 77
fungsi Y, 80
menerapkan, 83
multiplekser besar dan kecil, 81
sirkuit logika, 80
tabel kebenaran, 79
N
Gerbang NAND, 31
Gerbang NOR, 31
Logika NOR, 31
Mantera yang dinormalisasi, 15
BUKAN gerbang, 31
BUKAN logika, 31
Sistem bilangan, 5
penambahan biner, 10
dari biner ke desimal, 6-7
dari pecahan desimal ke biner, 8–9
dari bilangan bulat desimal ke biner, 7
dari hex ke binary, 9
HAI
ATAU gerbang, 31
ATAU logika, 30
ATAU operasi, 30
Perangkat keluaran, 2
P
Tabel halaman, 154
Transmisi paralel, 23, 24
Paritas sedikit
deskripsi, 21
bahkan paritas, 21
paritas aneh, 21
PCI express, 131, 132
PCI express link (lane), 132
Arsitektur protokol PCI express, 132
Sinyal berkala, 2, 3
Interkoneksi komponen periferal (PCI)
bus, 127
Alamat fisik, 146
Pipelining, 124
Produk jumlah (POS), 58–60
I / O interrupt yang dapat diprogram
pengontrol, 125
Aturan pemrograman, perakitan ARM
bahasa, 208
Instruksi palsu, 185, 186
R
Rambus DRAM (RDRAM), 140
Memori akses acak (RAM)
16 gigitan, 138
diagram blok, 138
EDORAM, 140
lokasi memori, 139
RDRAM, 140
SDRAM, 139, 140
jenis, 139
memori tidak stabil, 138
Memori hanya baca (ROM)
EEPROM, 141
EPROM, 141
memori flash, 141
Set komputer instruksi berkurang
(RISC), 119
Daftar, 101, 116
260
Indeks

Halaman 269
S
Memori kedua, 145
Memori semikonduktor, 137
Lampiran teknologi canggih seri
(SATA), 126
Transmisi serial, 24
Atur pemetaan asosiatif, 150
Layar tujuh segmen, 89
Daftar geser, 101
Nomor magnitudo yang ditandatangani, 12
Pelengkap yang ditandatangani dua, 12
Karakter tunggal, 211
Presisi tunggal, 15
Antarmuka sistem komputer kecil (SCSI), 125
Integrasi skala kecil (SSI), 34
Lapisan perangkat lunak, 132
Solid-state drive (SSD), 144
SPACE, 211
Lokalitas spasial, 146
Kait SR, 98, 99
Stack pointer (SP), 165, 177, 181
Diagram keadaan
dari D flip-flop, 106
Instruksi toko (STR), 187
Subtractor, 88
Jumlah produk (SOP), 58
Tukar memori dan daftar (SWAP), 191
Synchronous DRAM (SDRAM), 139
Logika sekuensial sinkron
analisis, logika sekuensial, 104-106
aplikasi dari, 97
diagram blok, 97, 98
penghitung, 108, 109
D flip-flop, 99-101
JK flip-flop, 100, 102
Kait SR, 98
diagram keadaan, 106
T flip-flop, 101
Transmisi sinkron, 23
T
T flip-flop, 101
Tabel eksitasi T flip-flop, 108
Daerah temporal, 146
Buffer lookaside terjemahan (TLB), 155
Metode transmisi
transmisi paralel, 24
transmisi serial, 24
Mode transmisi
transmisi asinkron, 22
transmisi sinkron, 23
Perangkat tri-state, 33
Tabel kebenaran, 29–34, 37–39
Dua komplemen, 11, 12
U
Unicode, 17, 20
Kode / unicode universal, 17, 20
Gerbang universal
deskripsi, 61
fungsi logika, implementasi, 64
menggunakan gerbang NAND, 62, 64
menggunakan gerbang NOR, 63, 65
Universal serial bus (USB), 128
Nomor yang tidak ditandatangani, 12
Arsitektur USB
pengendali tuan rumah, 129
hub, 130
hub root, 130
Arsitektur USB, 129
Kabel USB, 130
Perangkat USB, 130
V
Integrasi skala sangat besar (VLSI), 29, 33, 36
Asosiasi standar elektronik video (VESA)
bus, 127
Alamat virtual, 146
Memori virtual, 153, 154
arsitektur von Neumann dan Harvard, 120
X
Gerbang XOR, 32
Indeks
261

Anda mungkin juga menyukai