Kamis, 25 September 2014

Arsitektur Von-Neumann vs. Harvard

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 (alamat register “SS”).

Bus data yang sama digunakan untuk keseluruhan operasi ini…
Kelebihan & Kekurangan Model 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 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.
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 Komputer Model Harvard
a.       arsitektur Harvard tidak memungkinkan untuk menempatkan data pada ROM.
b.       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.



Apakah arti ‘x86′, ‘x32′ dan ‘x64′ dalam istilah komputer ?
Untuk mengerti istilah ‘x86′, saya akan bercerita sedikit tentang masa lalu dari personal computer (PC).
Saat awal-awal PC mulai dikenal kalau tidak salah sekitar akhir 1980-an atau awal 1990-an, produk yang terkenal adalah Apple Macintosh dan IBM 8086. Perbedaan kebijakan dari keduanya yang membuat perkembangan keduanya juga berbeda. Kebijakan Apple terhadap teknologi Macintosh mereka adalah bersifat tertutup dan hanya dikembangkan oleh Apple sendiri. Sedangkan kebijakan IBM terhadap teknologi 8086 mereka adalah bersifat terbuka sehingga arsitektur 8086 boleh dikembangkan/ditiru oleh pihak lain.
Dengan begitu maka perkembangan teknologi Macintosh sangat tergantung pada pihak Apple sendiri sedangkan teknologi 8086 dikembangkan oleh banyak perusahaan yang saling berlomba menghasilkan yang terbaik. Teknologi 8086 berkembang terus menjadi 80286 (lebih dikenal dengan singkatannya yaitu “286″), 286 XT (Extended Technology), 286 AT (Advanced Technology), 386 dan 486.
Kelemahan dari ‘hanya menggunakan kode angka’ untuk nama produk (misal 486) adalah ‘angka’ tidak dapat dipatenkan, sehingga semua perusahaan menggunakan istilah yang sama untuk produk mereka (286/386/486). Teknologi ini pun juga lebih dikenal dengan istilah ‘IBM PC 286/386/486 Compatible’. Karena itulah maka sebagian besar user tidak dapat membedakan dari perusahaan mana (Intel, AMD, IBM atau yang lain) sistem yang mereka pakai.
Merasa teknologinya paling baik, Intel ingin mempatenkan produknya. Menginjak sistem 80586 (586), Intel tidak lagi menggunakan ‘kode angka’ untuk produknya, tetapi dengan memberinya nama yaitu PENTIUM yang kabarnya berasal dari kata PENTA yang berarti ’5′. Karena produknya sudah memiliki nama (Pentium), Intel kemudian mempatenkan dan menjadikannya merek dagang. Langkah tersebut juga diikuti oleh perusahaan lainnya misalkan AMD memberi nama Athlon dan IBM memberi nama Cyrix. Sejak saat itu semua perusahaan sudah memberi nama yang berbeda untuk produknya.
Jadi.. istilah x86 secara umum digunakan untuk mengacu pada semua sistem (prosesor) yang merupakan keturunan dari IBM 8086 (keluarga x86) apakah itu 286, 386, 486, Pentium, Athlon, dll baik 32 bit maupun 64 bit. Prosesor yang tidak termasuk x86 antara lain adalah PowerPC, ARM dan Sparc.
Untuk istilah ‘x32′ dan ‘x64′ langsung saja saya jelaskan. Saat kita download atau install Sistem Operasi, Aplikasi atau Driver terkadang juga ada istilah x32 dan x64. Berikut adalah arti dari pilihan-pilihan tersebut:

x32 : Bisa berarti Prosesor 32 bit atau Sistem Operasi (Operating System / OS) 32 bit. Sistem Operasi 32 bit adalah untuk Prosesor 32 bit yang biasanya juga tetap bisa berjalan baik pada Prosesor 64 bit walaupun tidak maksimal.
x64 : Bisa berarti Prosesor 64 bit atau Sistem Operasi (Operating System / OS) 64 bit. Sistem Operasi 64 bit hanya dapat digunakan pada Prosesor 64 bit.

Catatan:
  1. Ironis.. IBM sebagai perancang sistem (prosesor) 8086 kini malah sudah tidak lagi memproduksi sistem (prosesor) x86. Kini AMD dan Intel yang merajai pasar x86.
  2. Prosesor 64bit pertama kali dikeluarkan oleh AMD yang diberi nama x86-64, kemudian diganti menjadi AMD64.
Sekian, mungkin penjelasannya terlalu panjang ya hanya untuk sekedar mengetahui arti x32, x64 dan x86
Tapi dengan mengetahui sejarahnya maka akan lebih mudah untuk memahami & mengingatnya..
Karena tulisan ini sebagian besar saya buat berdasar ingatan saya sejak saya awal mengenal komputer, maka jika ada yang kurang tepat mohon dikoreksi.

Arsitektur ARM
Arsitektur ARM merupakan arsitektur prosesor 32-bit RISC yang dikembangkan oleh ARM Limited. Dikenal sebagai Advanced RISC Machine dimana sebelumnya dikenal sebagai Acorn RISC Machine. Pada awalnya merupakan prosesor desktop yang sekarang didominasi oleh keluarga x86. Namun desain yang sederhana membuat prosesor ARM cocok untuk aplikasi berdaya rendah. Hal ini membuat prosesor ARM mendominasi pasar mobile electronic dan embedded system dimana membutuhkan daya dan harga yang rendah.
Pada tahun 2007, sekitar 98% dari satu miliar mobile phone yang terjual menggunakan setidaknya satu buah prosesor ARM. Dan pada tahun 2009, prosesor ARM mendominasi sekitar 90% dari keseluruhan pasar prosesor 32-bit RISC. Prosesor ARM digunakan di berbagai bidang seperti elektronik umum, termasuk PDA, mobile phone, media player, music player, game console genggam, kalkulator dan periperal komputer seperti hard disk drive dan router.
Lisensi arsitektur ARM dimiliki oleh Alcatel, Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, Intel melalui DEC, LG, Marvell Technology Group, NEC, NVIDIA, NXP Semiconductors, OKI, Quallcomm, Samsung, Sharp, ST Microelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamah dan ZiiLABS.


Tidak ada komentar:

Posting Komentar