Arsitektur von Neumann (atau Mesin Von Neumann)
adalah arsitektur yang diciptakan oleh John von Neumann (1903-1957). Arsitektur
ini digunakan oleh hampir semua komputer saat ini.
Arsitektur Von Neumann adalah arsitektur komputer
yang menempatkan program (ROM=Read Only Memory) dan data (RAM=Random Access
Memory) dalam peta memori yang sama. Arsitektur ini memiliki address dan data
bus tunggal untuk mengalamati program (instruksi) dan data. Contoh dari
mikrokontroler yang memakai arsitektur Von Neumann adalah keluarga 68HC05 dan
68HC11 dari Motorola.
Dengan arsitektur Von Neuman prosesor tidak perlu
membedakan program dan data. Prosesor tipe ini tidak memerlukan control bus
tambahan berupa pin I/O khusus untuk membedakan program dan data. Karena
kemudahan ini, tidak terlalu sulit bagi prosesor yang berarsitektur Von Neumann
untuk menambahan peripheral eksternal seperti A/D converter, LCD, EEPROM dan
devais I/O lainnya. Biasanya devais eksternal ini sudah ada di dalam satu
chips, sehingga prosesor seperti ini sering disebut dengan nama mikrokontroler
(microcontroller).
Keunggulan Arsitektur Von Neumann
Keuntungan lain dengan arrrsitektur Von Neumann
adalah pada fleksibilitas pengalamatan program dan data. Biasanya program
selalu ada di ROM dan data selalu ada di RAM. Arsitektur Von Neumann
memungkinkan prosesor untuk menjalankan program yang ada didalam memori data
(RAM). Misalnya pada saat power on, dibuat program inisialisasi yang mengisi
byte di dalam RAM. Data di dalam RAM ini pada gilirannya nanti akan dijalankan
sebagai program. Sebaliknya data juga dapat disimpan di dalam memori program
(ROM). Contohnya adalah data look-up-table yang ditaruh di ROM. Data ini
ditempatkan di ROM agar tidak hilang pada saat catu daya mati. Pada
mikroprosesor Von Neumann, instruksi yang membaca data look-up-table atau
program pengambilan data di ROM, adalah instruksi pengalamatan biasa. Sebagai
contoh, pada mikrokontroler 8bit Motorola 68HC11 program itu ditulis dengan :
LDAA $4000 ; A <-- $4000
Program ini adalah instruksi untuk mengisi
accumulator A dengan data yang ada di alamat 4000 (ROM).
Instruksi tersebut singkat hanya perlu satu baris
saja. Pada prinsipnya, kode biner yang ada di ROM atau di RAM bisa berupa
program dan bisa juga berupa data.
Arsitektur Von Neumann bukan tidak punya kelemahan,
diantaranya adalah bus tunggalnya itu sendiri. Sehingga instruksi untuk
mengakses program dan data harus dijalankan secara sekuensial dan tidak bisa
dilakukan overlaping untuk menjalankan dua isntruksi yang berurutan. Selain itu
bandwidth program harus sama dengan banwitdh data. Jika memori data adalah 8
bits maka program juga harus 8 bits. Satu instruksi biasanya terdiri dari
opcode (instruksinya sendiri) dan diikuti dengan operand (alamat atau data).
Karena memori program terbatas hanya 8 bits, maka instruksi yang panjang harus
dilakukan dengan 2 atau 3 bytes. Misalnya byte pertama adalah opcode dan byte
berikutnya adalah operand. Secara umum prosesor Von Neumann membutuhkan jumlah
clock CPI (Clock per Instruction) yang relatif lebih banyak dan walhasil
eksekusi instruksi dapat menjadi relatif lebih lama.
Tidak ada komentar:
Posting Komentar