Sebuah komputer kecil di satu sirkuit terpadu yang
dinamakan mikrokontroler
menggunakan sebuah arsitektur
komputer yang
satu diantara dua model rancangan yang buat oleh John
von Neumann dan John Harvard. Arsitektur yang sampai kini masih banyak digunakan.
Arsitektur
yang diciptakan oleh John von Neumann(1903-1957). Arsitektur von Neumann ini
menggambarkan komputer dengan empat bagian utama: Unit Aritmatika dan
Logis(ALU), Unit Kontrol, Memori, dan Input/Output(I/O). Bagian ini dihubungkan
oleh Interconnection(bus).
Mikrokontroler yang menggunakan arsitektur ini hanya memiliki satu blok memori dan satu bus data 8-bit. Karena pertukaran data semuanya menggunakan 8 jalur ini, bus akan overload dan komunikasi menjadi sangat lambat dan tidak efisien. Sebaliknya CPU dapat membaca instruksi atau baca/tulis data dari/ke memori. Keduanya tidak dapat terjadi secara bersamaan karena data dan instruksi menggunakan sistem bus yang sama. Misalnya, jika sebuah baris program memerintahkan register memori RAM dengan nama “SS” harus dinaikkan satu (misalnya menggunakan instruksi: inc SS), maka mikrokontroler akan melakukan:
Mikrokontroler yang menggunakan arsitektur ini hanya memiliki satu blok memori dan satu bus data 8-bit. Karena pertukaran data semuanya menggunakan 8 jalur ini, bus akan overload dan komunikasi menjadi sangat lambat dan tidak efisien. Sebaliknya CPU dapat membaca instruksi atau baca/tulis data dari/ke memori. Keduanya tidak dapat terjadi secara bersamaan karena data dan instruksi menggunakan sistem bus yang sama. Misalnya, jika sebuah baris program memerintahkan register memori RAM dengan nama “SS” harus dinaikkan satu (misalnya menggunakan instruksi: inc SS), maka mikrokontroler akan melakukan:
1.
Baca bagian
dari instruksi program yang menyatakan APA yang harus dilakukan (dalam kasus
ini adalah instruksi “inc” untuk perintah kenaikkan);
2.
Baca lebih
lanjut dari instruksi ini yang menyatakan data YANG MANA yang akan dinaikkan
(alam kasus ini adalah register “SS”);
3.
Setelah
dinaikkan, isi dari register ini harus dituliskan kembali ke register yang
sebelumnya telah dibaca (alamat register “SS”).
Kelebihan arsitektur von Neumann:
Kelebihan Von Neumann adalah pada fleksibilitas pengalamatan program dan data.
Biasanya program selalu ada di (ROM=Read Only Memory ) dan data selalu ada di
(RAM=Random Access Memory). 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).
Kekurangan arsitektur von Neumann:
Kekurangan Arsitektur Von Neumann 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.
Arsitektur Harvard
Mikrokontroler yang menggunakan arsitektur ini
memiliki dua bus yang berbeda. Satu bus 8-bit dan menghubungkan CPU ke RAM.
Yang lain terdiri dari beberapa jalur (12, 14 atau 16) dan menghubungkan CPU ke
ROM. Dengan demikian, CPU dapat membaca instruksi dan mengakses memori data
pada saat yang bersamaan. Karena semua register memori RAM lebarnya 8-bit,
semua pertukaran data dalam mikrokontroler menggunakan format yang sama,
sehingga selama eksekusi penulisan data, hanya 8-bit yang diperhatikan. Dengan
kata lain, yang perlu Anda perhatikan saat merancang program adalah lebar data
yang bisa dipertukarkan atau diproses hanya selebar 8-bit, ya hanya selebar
8-bit saja.
Program yang Anda buat untuk beberapa mikrokontroler ini akan tersimpan di dalam ROM internal (Flash ROM) setelah dilakukan kompilasi ke bahasa mesin. Lokasi memori ini dinyatakan dalam 12, 14 atau 16-bit. Sebagian dari bit, 4, 6 atau 8-bit digunakan sebagai instruksinya sendiri dan diikuti dengan data 8-bit.
Program yang Anda buat untuk beberapa mikrokontroler ini akan tersimpan di dalam ROM internal (Flash ROM) setelah dilakukan kompilasi ke bahasa mesin. Lokasi memori ini dinyatakan dalam 12, 14 atau 16-bit. Sebagian dari bit, 4, 6 atau 8-bit digunakan sebagai instruksinya sendiri dan diikuti dengan data 8-bit.
Kelebihan arsitektur Harvard:
- Semua
data di dalam program selebar 1 byte (8-bit). Karena bus data yang
digunakan dalam pembacaa program memiliki beberapa jalur (12, 14 atau 16),
instruksi dan data dapat dibaca dibaca sekaligus. Dengan demikian, semua
instruksi dapat dieksekusi hanya dengan satu siklus instruksi, kecuali
instruksi lompat (jump) yang dieksekusi dalam dua siklus.
- Kenyataan
bahwa program (ROM) dan data sementara (RAM) terpisah, CPU dapat
mengeksekusi dua instruksi sekaligus. Gampangnya, selama proses pembacaan
dan penulisan RAM (akhir dari suatu instruksi), instruksi berikutnya
dibaca melalui bus yang lain.
- Jika
menggunakan mikrokontrole menggunakan arsitektur Von-Neumann kita tidak
bisa tahu seberapa banyak memori yang dibutuhkan oleh beberapa instruksi.
Pada dasarnya, masing-masing instruksi program membutuhkan dua lokasi
memori (satu mengandung instruksi APA yang harus dilakukan, sedangkan
sisanya mengandung informasi data YANG MANA akan diproses).
Kekurangan arsitektur Harvard:
- arsitektur Harvard tidak memungkinkan untuk menempatkan data pada ROM.
- arsitektur in tidak memungkinkan untuk mengakses data yang ada di ROM.
Pada mikrokontroler dengan arsitektur Harvard, bus program biasanya lebih dari 1 byte, yang membolehkan masing-masing word mengandung instruksi dan data, dengan kata lain satu word - satu instruksi.
Sumber:
http://agfi.staff.ugm.ac.id/blog/index.php/2009/01/mikrokontroler-arsitektur-von-neumann-vs-harvard/
http://id.wikipedia.org/wiki/Arsitektur_von_Neumann
http://dejavapoetra.blogspot.com/2011/10/arsitektur-komputer-von-neumann-harvard.html