BLOGGER TEMPLATES AND TWITTER BACKGROUNDS

Senin, 10 Oktober 2011

Arsitektur Von-Neumann vs. Harvard


Semua mikrokontroler menggunakan satu diantara dua model rancangan yang dinamakan arsitektur Harvard dan von-Neumann. Berikut secara singkat, perbedaan keduanya dilihat dari pertukaran data antara CPU dan memori.
Arsitektur von-Neumann


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
Bus data yang sama digunakan untuk keseluruhan operasi ini…
Pada arsitektur Von Neumann, program dan data dibagi pada ruang memori yang sama. Arsitektur Von Neumann menyediakan fitur penyimpanan dan modifikasi program secara mudah. Bagaimanapun, penyimpanan program tidak mungkin optimal dan membutuhkan berbagai pengumpulan program dan data untuk membentuk instruksi. Pengumpulan program dan data diselesaikan menggunakan time division multiplexing yang akan berpengaruh pada performa mikrokontroler itu sendiri. Salah satu contoh mikrokontroler yang menggunakan arsitektur Von Neumann (princeton) adalah Motorola 68HC11.
Motorola 68HC11

Keuntungan  arrrsitektur Von Neumann :
1.     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.
2.    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).
Kelemahan Asrsitektur Von Neumann:
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.


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.
Arsitektur Havard menggunakan memori terpisah untuk program dan data dengan alamat dan bus data yang berdiri sendiri. Karena dua perbedaan aliran data dan alamat, maka tidak diperlukan multiplexing alamat dan bus data. Arsitektur ini tidak hanya didukung dengan bus paralel untuk alamat dan data, tetapi juga menyediakan organisasi internal yang berbeda sedemikian rupa instruksi dapat diambil dan dikodekan ketika berbagai data sedang diambil dan dioperasikan. Lebih lanjut lagi, bus data bisa saja memiliki ukuran yang berbeda dari bus alamat. Hal ini memungkinkan pengoptimalan bus data dan bus alamat dalam pengeksekusian instruksi yang cepat. Sebagai contoh, mikrokontroler Intel keluarga MCS-51 menggunakan arsitektur Havard karena ada perbedaan kapasitas memori untuk program dan data, dan bus terpisah (internal) untuk alamat dan data. Begitu juga dengan keluarga PIC dari Microchip yang menggunakan arsitektur Havard.

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.
Kelebihan-kelebihan:
  • 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 tidak memungkinkan untuk menempatkan data pada ROM. Kedengarannya aneh, tetapi arsitektur ini memang tidak memungkinkan untuk mengakses data yang ada di ROM. Namun hal ini bisa diatasi dengan cara membuat instruksi dan mekanisme khusus untuk pengalamatan data di ROM. Mikroprosesor yang memiliki instruksi seperti ini biasanya disebut ber-arsitektur Modified Harvard. Instruksi yang seperti ini dapat ditemukan pada keluarga MCS-51 termasuk Intel 80C51, P87CLXX dari Philips dan Atmel AT89LSXX

Perbedan Arsitektur Von Neumann dengan Arsitektur Harvard:
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.
Sebaliknya, arsitektur Harvard memiliki dua memori yang terpisah satu untuk program (ROM) dan satu untuk data (RAM). Intel 80C51, keluarga Microchip PIC16XX, Philips P87CLXX dan Atmel AT89LSXX adalah contoh dari mikroprosesor yang mengadopsi arsitektur Harvard. Kedua jenis arsitektur ini masing-masing memiliki keungulan tetapi juga ada kelemahannya.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).


lirik & chord

chord gitar