ARSITEKTUR MENURUT VON NEUMANN
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).
Pada
dasarnya komputer arsitektur Von Neumann adalah terdiri dari elemen sebagai
berikut:
a. Prosesor, merupakan pusat dari kontrol dan pemrosesan
instruksi pada komputer.
b.
Memori, digunakan untuk menyimpan informasi baik
program maupun data.
c. Perangkat input-output, berfungsi sebagai media
yang menangkap respon dari luar serta menyajikan informasi keluar sistem
komputer.
Model
kerja dari arsitektur dasar Von Neumann dapat dilihat pada Gambar diatas. Pada
gambar tersebut prosesor terdiri atas Unit Kontrol (CU) dan Unit Logika dan
Aritmatik (ALU). Memori berfungsi sebagai tempat menyimpan instruksi yang
sedang dijalankan oleh prosesor, lalu hasilnya dapat disajikan melalui
perangkat input/output.
Prosesor atau
Central Processing Unit (CPU)
CPU
merupakan tempat untuk melakukan pemrosesan instruksi-instruksi dan
pengendalian sistem komputer. Perkembangan perangkat CPU mengikuti generasi
dari sistem komputer. Pada generasi pertama CPU terbuat dari rangkaian tabung
vakum sehingga memiliki ukuran yang sangat besar. Pada generasi kedua
telah diciptakan transistor sehinga ukuran CPU menjadi lebih kecil dari
sebelumnya. Pada generasi ketiga CPU telah terbuat dari rangkaian IC
sehingga ukurannya menjadi lebih kecil. Pada generasi keempat telah
diciptakan teknologi VLSI dan ULSI sehingga memungkinkan ribuan sampai jutaan
transistor tersimpan dalam satu chip.
Control Unit
(CU).
Control
Unit atau Unit Kontrol berfungsi untuk mengatur dan mengendalikan semua
peralatan yang ada pada sistem komputer. Unit kendali akan mengatur kapan alat
input menerima data dan kapan data diolah serta kapan ditampilkan pada alat
output.
Unit
ini juga mengartikan instruksi-instruksi dari program komputer, membawa data
dari alat input ke memori utama, dan mengambil data dari memori utama untuk
diolah.
Bila
ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit
kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data
dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya
akan disajikan ke alat output.
Arithmatic
and Logic Unit (ALU).
Arithmatic
and Logic Unit atau Unit Aritmetika dan Logika berfungsi untuk melakukan semua
perhitungan aritmatika (matematika) dan logika yang terjadi sesuai dengan instruksi
program. ALU menjalankan operasi penambahan, pengurangan, dan operasi-operasi
sederhana lainnya pada input-inputnya dan memberikan hasilnya pada register
output.
Register
Register
merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi,
yang digunakan untuk menyimpan data dan instruksi yang sedang diproses,
sementara data dan instruksi lainnya yang menunggu giliran untuk diproses masih
disimpan di dalam memori utama. Setiap register dapat menyimpan satu bilangan
hingga mencapai jumlah maksimum tertentu tergantung pada ukurannya.
Register-register dapat dibaca dan ditulis dengan kecepatan tinggi karena
berada pada CPU. Beberapa jenis register adalah:
a.
Program Counter (PC)
b.
Instruction Register (IR)
c.
Memory Data Register (MDR)
d.
Memory address register (MAR)
Sebagian
besar komputer memiliki beberapa register lain, sebagian digunakan untuk tujuan
umum, dan sebagian lainnya untuk tujuan khusus.
Bus
Bus
merupakan penghubung antara semua komponen CPU. Bus berupa sekumpulan
kabel-kabel paralel untuk mentransmisikan alamat (address), data, dan
sinyal-sinyal kontrol.
Kelebihan dan Kelemahan
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
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
MENURUT HARVARD
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.
Pada
mikroprosesor yang berarsitektur Harvard, overlaping pada saat menjalankan
instruksi bisa terjadi. Satu instruksi biasanya dieksekusi dengan urutan fetch
(membaca instruksi ), decode (pengalamatan), read (membaca data), execute
(eksekusi) dan write (penulisan data) jika perlu. Secara garis besar ada dua
hal yang dilakukan prosesor yaitu fetching atau membaca perintah yang ada di
memori program (ROM) dan kemudian diikuti oleh executing berupa read/write
dari/ke memori data (RAM). Karena pengalamatan ROM dan RAM yang terpisah, ini memungkinkan
CPU untuk melakukan overlaping pada saat menjalankan instruksi. Dengan cara ini
dua instruksi yang beurutan dapat dijalankan pada saat yang hampir bersamaan.
Yaitu, pada saat CPU melakukan tahap executing instruksi yang pertama, CPU
sudah dapat menjalankan fetching instruksi yang ke-dua dan seterusnya. Ini yang
disebut dengan sistem pipeline, sehingga program keseluruhan dapat dijalankan
relatif lebih cepat.Arsitektur Harvard prinsip pipeline
Pada
arsitektur Harvard, lebar bit memori program tidak mesti sama dengan lebar
memori data. Misalnya pada keluarga PICXX dari Microchip, ada yang memiliki
memori program dengan lebar 12,14 atau 16 bits, sedangkan lebar data-nya tetap
8 bits. Karena bandwith memori program yang besar (16 bits), opcode dan operand
dapat dijadikan satu dalam satu word instruksi saja. Tujuannya adalah supaya
instruksi dapat dilakukan dengan lebih singkat dan cepat.
Kedua
hal di atas inilah yang membuat prosesor ber-arsitektur Harvard bisa memiliki
CPI yang kecil. PICXX dari Microchip dikenal sebagai mikroprosesor yang
memiliki 1 siklus mesin (machine cycle) untuk tiap instruksinya, kecuali
instruksi percabangan.
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.
Kelebihan dan Kekurangan
Dari
segi kapasitas memori, tentu arsitektur Harvard memberi keuntungan. Karena
memori program dan data yang terpisah, maka kavling total memori program dan
data dapat menjadi lebih banyak. Mikrokontroler 8bit Motorola 68HC05 memiliki
peta memori 64K yang dipakai bersama oleh RAM dan ROM. Oleh sebab itu
pengalamatan ROM dan RAM hanya dapat mencapai 64K dan tidak lebih. Sedangkan
pada mikrokontroler Intel keluarga 80C51 misalnya, memori program (ROM) dan
memori data (RAM) masing-masing bisa mencapai 64K.
Tetapi
ada juga kekurangannya, 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. Tetapi instruksi itu keseluruhannya menjadi program yang lebih
panjang seperti contoh program dengan 80C51 berikut ini.
a.
MOV DPTR,#4000 ;DPTR = $4000
b.
CLR A ;@A = 0
c.
MOVC A,@A+DPTR ;A <– (DPTR+@A)
Perbedaan Von Noumann dan Harvard
Arsitektur
Harvard dan Von Neuman keduanya memiliki kelebihan sekaligus juga kekurangan.
Dalam memilih prosesor tentu saja tidak hanya dengan mempertimbangkan
arsitekturnya. Motorola dengan varian singlechip-nya ada yang dilengkapi dengan
konventer A/D dan D/A, PWM control, port I/O, EEPROM dan sebagainya. Tetapi
tidak ketinggalan juga keluarga Intel 80C51 dan klonnya, memperkenalkan bus
serial I2C yang sangat praktis untuk penambahan devais eksternal. Intel based
MCS-51 adalah arsitektur yang paling banyak diadopsi misalnya oleh Philips dan
Atmel, sehingga kompatibilitas diantaranya semakin besar.
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.
Demikian penjelasan singkat mengenai pendapat arsitektur menurut Von Neumann dan Harvard yang dapat saya tulis, bila ada kesalahan kata, pengertian dan kekuranganya mohon dimaafkan karena saya masih dalam tahap belajar. Kritik dan saran sangat saya harapkan pada kalian dan semoga bermanfaat amiiin.