Arsitektur Von Neumann dan CPU
| English | Bahasa Indonesia |
|---|---|
| processor/ˈprəʊsesə/ | prosesor |
| registers/ˈredʒɪstəz/ | register |
| buses/ˈbʌsɪz/ | bus |
| Von Neumann architecture/vɒn ˈnɔɪmən ˈɑːkɪtektʃə/ | Arsitektur Von Neumann |
| Immediate Access Store/ɪˈmiːdɪət ˈækses stɔː/ | Penyimpan Akses Langsung |
| stored program/stɔːd ˈprəʊɡræm/ | program tersimpan |
| ALU/ˌeɪ el ˈjuː/ | ALU |
| control unit/kənˈtrəʊl ˈjuːnɪt/ | unit kontrol |
| system clock/ˈsɪstəm klɒk/ | clock sistem |
| clock speed/klɒk spiːd/ | kecepatan clock |
| general-purpose registers/ˈdʒenərəl ˈpɜːpəs ˈredʒɪstəz/ | register tujuan umum |
| special purpose registers/ˈspeʃl ˈpɜːpəs ˈredʒɪstəz/ | register tujuan khusus |
| Program Counter/ˈprəʊɡræm ˈkaʊntə/ | Program Counter |
| Memory Address Register/ˈmeməri əˈdres ˈredʒɪstə/ | Memory Address Register |
| Memory Data Register/ˈmeməri ˈdeɪtə ˈredʒɪstə/ | Memory Data Register |
| Current Instruction Register/ˈkʌrənt ɪnˈstrʌkʃn ˈredʒɪstə/ | Current Instruction Register |
| accumulator/əˈkjuːmjʊleɪtə/ | akumulator |
| Index Register/ˈɪndeks ˈredʒɪstə/ | Index Register |
| Status Register/ˈsteɪtəs ˈredʒɪstə/ | Status Register |
| flag/flæɡ/ | flag |
| address bus/əˈdres bʌs/ | bus alamat |
| data bus/ˈdeɪtə bʌs/ | bus data |
| control bus/kənˈtrəʊl bʌs/ | bus kendali |
| register transfer/ˈredʒɪstə ˈtrænsfɜː/ | transfer register |
Laporan yang masih diikuti setiap komputer
- Pada Juni 1945 John von Neumann menyebarkan draf ketik yang mendeskripsikan sebuah mesin yang belum dibangun: EDVAC.
- Ide-nya sederhana dan baru. Simpan program dalam memori yang sama dengan data, dan biarkan satu prosesor mengambil serta menjalankan instruksi satu per satu.
- Draf tersebut tidak pernah selesai, tetapi desainnya ditiru di mana-mana. Telepon Anda, laptop, dan server sekolah semuanya dibangun di atasnya.
- Pelajaran ini membedah model tersebut: memori, bagian-bagian prosesor, register-nya, dan bus antar mereka.
Model Von Neumann
- Arsitektur Von Neumann memiliki satu memori, Immediate Access Store (IAS), yang menyimpan baik instruksi program maupun data. Inilah konsep program tersimpan.
- Prosesor mengambil setiap instruksi dari memori dan mengeksekusinya, satu per satu, sesuai urutan alamat kecuali instruksi percabangan mengubah alurnya.
- Instruksi, data, dan alamat semuanya bergerak antara prosesor dan memori melalui bus bersama.

Satu memori, satu prosesor, tiga bus
Mengapa program tersimpan penting
- Ubah program dalam memori dan perangkat keras yang sama melakukan tugas berbeda. Tidak perlu kabel ulang, tidak perlu mesin baru.
- Program hanyalah data sampai diambil, sehingga dapat dimuat dari disk, dikirim melalui jaringan, atau ditulis oleh program lain.
- Kata-kata ujian: instruksi dan data disimpan di memori yang sama, dan instruksi diambil satu per satu serta dieksekusi oleh prosesor.
Gagasan stored-program (Von Neumann) berarti bahwa:
Satu memori menyimpan instruksi dan data bersama; mengubah program yang disimpan mengubah apa yang dilakukan komputer, tanpa perlu pengkabelan ulang.
ALU, unit kontrol, dan clock
- ALU (Arithmetic and Logic Unit) melakukan aritmatika (tambah, kurang) dan logika (AND, OR, perbandingan), mengambil operand dari register dan mengembalikan hasilnya ke salah satu register.
- Unit kontrol (CU) mendekode setiap instruksi dan mengirim sinyal kendali yang menjalankannya: membuka jalur data, memberi tahu ALU apa yang harus dilakukan, mengatur baca dan tulis memori.
- Clock sistem mengirimkan aliran pulsa yang stabil. Unit kontrol memajukan siklus satu langkah per pulsa, sehingga setiap bagian berubah keadaan secara bersamaan; kecepatan clock, dalam GHz, adalah jumlah pulsa per detik.

Seluruh prosesor adalah satu chip kecil
ALU bertanggung jawab atas:
Arithmetic and Logic Unit melakukan perhitungan dan logika/perbandingan. Dekode adalah tugas unit kontrol.
Unit ____ mendekode setiap instruksi dan mengirimkan sinyal kontrol untuk mengeksekusinya.
Unit kontrol mendekode dan memberikan sinyal; ALU melakukan aritmatika dan logika; clock menjaga agar semuanya selaras.
Register-register
- Register adalah penyimpanan kecil, sangat cepat di dalam prosesor. General-purpose registers memegang nilai sementara programmer. Special purpose registers masing-masing memiliki satu pekerjaan tetap dalam siklus.
| Register | Tugas |
|---|---|
| Program Counter (PC) | alamat dari instruksi berikutnya yang akan diambil |
| Memory Address Register (MAR) | alamat dari lokasi yang sedang dibaca atau ditulis |
| Memory Data Register (MDR) | data atau instruksi yang baru saja dibaca dari, atau akan segera ditulis ke, lokasi tersebut |
| Current Instruction Register (CIR) | instruksi yang saat ini sedang didekodifikasi dan dieksekusi |
| Accumulator (ACC) | hasil dari operasi aritmatika atau logika terakhir |
| Index Register (IX) | offset yang ditambahkan ke alamat dalam pengalamatan indeks |
| Status Register | penanda yang ditetapkan oleh operasi terakhir |

Register, unit kontrol, dan ALU, terhubung melalui bus
Klik bagian-bagian komputer Von Neumann
Jelajahi setiap blok. CPU (unit kontrol, ALU, register) berkomunikasi dengan satu memori utama melalui bus — dan satu memori bersama untuk instruksi DAN data inilah gagasan Von Neumann.
Cocokkan setiap register khusus-purpose dengan apa yang disimpannya.
PC menunjuk instruksi berikutnya, CIR menyimpan yang saat ini, MAR/MDR adalah pasangan alamat/data untuk memori, ACC menyimpan hasil yang sedang berjalan.
Contoh terpecahkan: "jelaskan peran setiap register"
- Pertanyaan tabel membutuhkan satu kalimat presisi per register, dan kata-kata yang mendapatkan nilai ada di cetak tebal.
- PC: menyimpan alamat dari instruksi berikutnya yang akan diambil. MAR: menyimpan alamat dari lokasi yang sedang diakses.
- MDR: menyimpan data yang baru saja dibaca dari, atau akan segera ditulis ke, memori. CIR: menyimpan instruksi yang saat ini sedang didekodifikasi dan dieksekusi.
- ACC: menyimpan hasil dari operasi ALU terakhir. Perhatikan bahwa dua register menyimpan alamat, dua menyimpan isi, dan satu menyimpan hasil.
Penanda pada register status
- Setiap penanda adalah satu bit, ditetapkan atau dibersihkan oleh ALU setelah sebuah operasi: penanda nol ketika hasil atau perbandingan menghasilkan nol, penanda simpanan ketika penjumlahan melebihi kapasitas register, penanda negatif ketika hasilnya negatif, penanda overflow ketika hasil bertanda tidak muat.
- Lompatan bersyarat membaca penanda untuk memutuskan apakah akan bercabang. Itulah cara
IFdan perulangan mencapai perangkat keras. - Penanda overflow juga dapat memicu interupsi, yang akan dibahas pada pelajaran berikutnya.
Manakah dari berikut ini yang merupakan flag di status register? Pilih semua yang berlaku.
Carry, zero, negative, dan overflow adalah flag satu-bit yang diatur oleh ALU. Program counter adalah register terpisah yang menyimpan alamat.
Tiga bus
- Bus alamat membawa alamat yang diinginkan prosesor. Bus ini satu arah, dari prosesor ke memori.
- Bus data membawa data atau instruksinya itu sendiri. Bus ini dua arah, karena pembacaan dan penulisan berjalan berlawanan arah.
- Bus kontrol membawa sinyal kontrol seperti baca, tulis, clock, dan interupsi. Bus ini dua arah.

Tiga bus sistem yang menghubungkan prosesor, memori, dan input/output
Bus manakah yang bersifat satu arah (membawa informasi hanya dalam satu arah)?
Bus alamat bersifat satu arah (CPU → memori). Bus data dan bus kontrol bersifat dua arah.
Contoh terpecahkan: seberapa lebar cukup?
- Bus alamat $n$-bit dapat mengalamati $2^{n}$ lokasi. Bus 16-bit menjangkau $2^{16} = 65\,536$ lokasi; bus 32-bit menjangkau $2^{32}$, sekitar empat miliar.
- "Sebutkan satu efek dari peningkatan lebar bus alamat": lebih banyak lokasi memori dapat dialamati.
- "Sebutkan satu efek dari peningkatan lebar bus data": lebih banyak bit berpindah dalam setiap transfer, sehingga fewer transfer diperlukan untuk data yang sama.
- Lebarkan bus alamat dan Anda bisa memiliki lebih banyak memori; lebarkan bus data dan Anda memindahkannya lebih cepat.
Berapa banyak lokasi memori yang dapat dijangkau oleh bus alamat 16-bit?
$2^{16} = 65\,536$ lokasi.
Bus alamat yang lebih lebar memungkinkan CPU mengakses lebih banyak lokasi memori.
Setiap garis alamat tambahan menggandakan jangkauan — n garis alamat menjangkau 2ⁿ lokasi.
Notasi transfer register
- Pergerakan antara register dan memori ditulis dalam notasi transfer register:
MAR ← [PC]berarti "salin isi PC ke dalam MAR". - Kurung siku berarti "isi", dan
[[MAR]]berarti "isi dari lokasi yang alamatnya ada di MAR". - Seluruh siklus ambil-eksekusi ditulis dengan cara ini pada pelajaran berikutnya; notasi ini sama dengan tanda panah assignment pseudocode.
Apa arti MAR ← [PC]?
Panah menunjuk ke tujuan dan tanda kurung siku berarti "isi dari". Ini adalah langkah pertama dari setiap fetch.
⟦⟧ Nilai yang sering terlewat
- PC menyimpan alamat dari instruksi berikutnya, bukan instruksi saat ini; CIR menyimpan instruksi, bukan alamat.
- MAR menyimpan alamat, MDR menyimpan data. Mencampurnya membuat kedua poin hilang.
- Hanya bus alamat yang satu arah. Mengatakan "semua bus satu arah" atau "bus data satu arah" adalah kesalahan umum.
- Register berada di dalam prosesor, bukan bagian dari RAM, dan mereka lebih cepat daripada memori apa pun.
Program counter menyimpan instruksi yang saat ini sedang dieksekusi.
PC menyimpan alamat dari instruksi berikutnya. Instruksi saat ini berada di CIR.
Anda telah memahaminya
- Von Neumann: satu memori (IAS) menyimpan instruksi dan data; prosesor mengambil dan mengeksekusinya satu per satu
- ALU menghitung, CU mendekodifikasi dan memberi sinyal, clock menjaga langkah-langkah tetap sinkron waktu
- PC alamat berikutnya · MAR alamat yang diakses · MDR data · CIR instruksi saat ini · ACC hasil · IX offset · register status penanda
- bus alamat satu arah, $2^{n}$ lokasi; data dan kontrol bus dua arah;
MAR ← [PC]menyalin isi PC ke dalam MAR