Arsitektur Komputer Von Noumann dan Harvard
Sejak Intel mengeluarkan seri 4004 sekitar tahun 1970 dikenal ada dua jenis arsitektur mikroprosesor dilihat dari cara penggunaan memorinya. Jauh sebelum ini, pada tahun 1944 Howard Aiken dari Harvard University bekerja sama dengan engineer IBM membuat mesin electromechanical yang terbuat dari banyak sekali transistor tabung dan relay. Mesin ini dikenal sebagai komputer pertama di dunia yang diberi nama Harvard Mark I. Belakangan baru diketahui bahwa sebelumnya pada tahun 1941 Konrad Zuse dari Jerman sudah membuat mesin yang dapat diprogram dan bekerja dengan sistem biner. Namun karena Jerman kala itu terisolasi saat perang dunia ke-II, Harvard Mark I diyakini sebagai komputer pertama yang memakai prinsip digital.
Mesin Harvard ini tidak lain adalah mesin kalkulator yang dikendalikan oleh pita kertas yang berisi instruksi. Waktu itu belum terpikirkan konsep komputer yang memakai memori. Hanya sebelumnya Alan Turing seorang ahli matematika Inggris pada tahun 1939 mengemukanan konsep mesin universal (universal machine). Hampir satu dekade kemudian pada tahun 1945, Dr. John von Neumann ahli matematika yang lahir di Budapest Hongaria, membuat tulisan mengenai konsep komputer yang menurutnya penting untuk menyimpan instruksi dan data pada memori. Sehingga mesin komputer ini dapat bekerja untuk berbagai keperluan.
Dari dulu hingga saat ini konsep dasar dari komputer yang dikendalikan oleh program sekuensial masih sama, yaitu terdiri dari CPU, Memori dan I/O (input-output). CPU (Central Processing Unit) sendiri terdiri dari blok unit control dan ALU (Aritmathic Logic Unit). Konsep dasarnya semua sama, tetapi kemudian adalah bagaimana implementasi dan realisasinya. Desainer dan pabrik mikroprosesor membuatnya dengan arsitektur yang berbeda-beda.
Sebagai pionir era komputer digital, nama Harvard dan Von Neumann diadopsi untuk menggambarkan dua tipe arsitektur mikroprosesor. Kedua arsitektur itu berbeda pada cara penempatan memorinya dan dikenal dengan sebutan arsitektur Harvard dan arsitektur 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.
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).
- Arsitektur Komputer Von Noumann
Arsitektur Von Neumann diciptakan
oleh John von Neumann (1903 – 1957). Arsitektur Von Nuemann adalah
komputer dengan program yangtersimpan (program dan data disimpan pada memori)
dengan pengendali pusat, I/O, dan memori. Kunci utama arsitektur von
Neumann adalah ControlProcessing Unit (CPU), yang memungkinkan selurug fungsi
komputer untuk dikoordinasikan melalui satu sumber tunggal
Arsitektur Von Neumann terdiri dari
3 elemen yaitu :
Arithmatic and Logic Unit (ALU).
Beberapa jenis register adalah:
Berdasarkan
jenis mikroprosesor:
Ukuran
kecepatan prosesor adalah:
¤Prosesor, merupakan pusat dari kontrol
dan pemrosesan instruksi pada komputer.
¤ Memori, digunakan untuk menyimpan
informasi baik program maupun data.
¤ Perangkat input-output,
berfungsi sebagai media yang menangkap respon dari luar serta menyajikan
informasi keluar sistem komputer.
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.
Elemen CPU
¨ Pada
perkembangan komputer modern, setiap prosesor terdiri atas:
¤Arithmetic
and Logic Unit (ALU).
¤Register.
¤Control
Unit (CU).
¤Bus.
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.
¨
Program Counter (PC), merupakan register yang
menunjuk ke instruksi berikutnya yang harus diambil dan dijalankan.
¨
Instruction Register (IR), merupakan register yang
menyimpan instruksi yang sedang dijalankan.
¨
General Purpose Register,
merupakan register yang memiliki kegunaaan umum yang berhubungan dengan data
yang diproses.
¨
Memory Data Register (MDR), merupakan register yang
digunakan untuk menampung data atau instruksi hasil pengiriman dari memori
utama ke CPU atau menampung data yang akan direkam ke memori utama dari hasil
pengolahan oleh CPU.
¨
Memory address register (MAR), merupakan register yang
digunakan untuk menampung alamat data atau instruksi pada memori utama yang
akan diambil atau yang akan diletakkan.
¨
Sebagian besar komputer memiliki beberapa
register lain, sebagian digunakan untuk tujuan umum, dan sebagian lainnya untuk
tujuan khusus.
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.
Bus
¨ Bus
merupakan penghubung antara semua komponen CPU.
¨ Bus
berupa sekumpulan kabel-kabel paralel untuk mentransmisikan alamat (address), data, dan sinyalsinyal
kontrol.
Klasifikasi Prosesor
Berdasarkan
jenis mikroprosesor:
¨ Tipe
Intel untuk Personal Computer (PC), diproduksi oleh Intel Corp., Advanced Micro
Devices (AMD), Cyrix, DEC, dll.
¨ Tipe
Motorola untuk komputer Macintosh, diproduksi oleh Motorola.
Ukuran
kecepatan prosesor adalah:
¨ Hertz, yaitu jumlah clock atau ketukan prosesor tiap satu
detik. Untuk prosesor modern memakai satuan Megahertz atau Gigahertz.
¨ MIPS, singkatan dari Million Instruction Per Second, yaitu
jumlah instruksi dalam juta tiap satu detik.
¨ Flops, singkatan dari Floating Point per Second, yaitu jumlah
perhitungan floating point tiap satu
detik. Floating point adalah metode
untuk menuliskan bilangan dengan mantisa, contoh: 3 x 10-5.
¨ Fractions
of a second, yaitu waktu eksekusi relatif dari suatu
instruksi pada sistem komputer.
Dalam desain mikroprosesor, terdapat dua jenis desain, yaitu:
¨ CISC (Complex
instruction set computing chips), dapat menampung banyak
instruksi yang kompleks.
¨ RISC (Reduced
instruction set computing chips), dapat meringkas beberapa
instruksi sehingga dapat mempercepat kerja prosesor.
Jenis bus yang telah didukung
oleh sistem komputer saat ini adalah:
¨ ISA, singkatan dari Industry Standard Architecture,
merupakan jenis bus standar pertama yang digunakan industri. Bus ISA beroperasi
pada kecepatan 8.33 MHz. Versi perkembangan dari ISA adalah EISA (Extended ISA).
¨ PCI, singkatan dari Peripheral Component Interconnect bus,
merupakan jenis bus yang dikembangkan
dan dipatenkan oleh Intel pada tahun 1990. Versi pertama PCI beroperasi pada
kecepatan 33 MHz dengan bandwidth 133 MB/dtk. PCI 2.0 diperkenalkan tahun 1993
dan PCI 2.1 tahun 1995 dengan bandwidth 528 MB/dtk.
¨ AGP, singkatan dari Accelerator Graphic Port, merupakan bus
hasil perkembangan dari PCI yang dikhususkan untuk pemrosesan data grafik dan
video.
¨ USB, singkatan dari Universal Serial Bus, pada awalnya
dikembangkan secara bersama-sama oleh tujuh perusahaan, yaitu Compaq, DEC, IBM,
Intel, Microsoft, NEC, dan Northern Telecom. Saat ini USB telah menjadi standar
yang digunakan secara luas dalam Personal
Computer.
rsitektur Harvard
Arsitektur
Harvard adalah arsitektur komputer dengan fisik terpisah penyimpanan dan sinyal jalur untuk
instruksi dan data. Istilah ini berasal dari Harvard Mark I komputer berbasis
relay, yang disimpan petunjuk pada pita menekan (24 bit lebar) dan data dalam
counter elektro-mekanis. Mesin-mesin awal memiliki penyimpanan data seluruhnya
terkandung dalam central processing unit , dan tidak
memberikan akses ke penyimpanan instruksi sebagai data. Program perlu dimuat
oleh operator; prosesor tidak bisa booting sendiri.
Saat ini,
sebagian besar prosesor menerapkan jalur sinyal yang terpisah tersebut untuk
alasan kinerja tetapi sebenarnya menerapkan arsitektur Harvard dimodifikasi ,
sehingga mereka dapat mendukung tugas-tugas seperti memuat program dari penyimpanan
disk sebagai data dan kemudian dijalankan.
Rincian memori
Dalam
arsitektur Harvard, tidak perlu untuk membuat dua memori berbagi karakteristik.
Secara khusus, kata lebar, waktu, penerapan teknologi, dan alamat memori struktur bisa berbeda. Dalam
beberapa sistem, instruksi dapat disimpan dalam read-only memory sementara
memori data umumnya memerlukan baca-tulis memori . Dalam beberapa sistem,
ada lebih banyak memori instruksi dari memori data sehingga alamat instruksi
yang lebih lebar dari alamat data.
Kontras dengan
arsitektur von Neumann
Dalam murni arsitektur
von Neumann yang CPU dapat berupa membaca instruksi atau data membaca / menulis
dari / ke memori. Keduanya tidak dapat terjadi pada saat yang sama sejak
instruksi dan data menggunakan sistem bus yang sama. Dalam komputer menggunakan
arsitektur Harvard, CPU dapat baik membaca instruksi dan melakukan akses data
memori pada saat yang sama, bahkan tanpa cache. Sebuah arsitektur komputer
Harvard sehingga bisa lebih cepat untuk kompleksitas rangkaian diberikan karena
instruksi menjemput dan akses data tidak bersaing untuk memori jalur tunggal.
Juga, mesin
arsitektur Harvard memiliki kode dan data alamat ruang yang berbeda: Alamat
instruksi nol tidak sama dengan data alamat nol. Alamat Instruksi nol mungkin
mengidentifikasi nilai dua puluh empat bit, sedangkan data alamat nol mungkin
menunjukkan byte delapan bit yang bukan bagian dari itu nilai dua puluh empat
bit.
Kontras dengan
modifikasi Harvard arsitektur
Arsitektur Harvard diubah mesin sangat banyak seperti mesin arsitektur Harvard, tetapi
melemaskan pemisahan yang ketat antara instruksi dan data sementara masih
membiarkan CPU secara bersamaan mengakses dua (atau lebih) bus memori. Modifikasi
yang paling umum termasuk terpisah instruksi dan data cache yang didukung oleh
address space yang sama. Sementara CPU mengeksekusi dari cache, ia bertindak
sebagai mesin Harvard murni. Ketika mengakses memori dukungan, itu bertindak
seperti mesin von Neumann (di mana kode dapat dipindahkan sekitar seperti data,
yang merupakan teknik yang kuat). Modifikasi ini tersebar luas di prosesor
modern seperti arsitektur ARM dan x86 prosesor. Kadang-kadang longgar disebut
arsitektur Harvard, mengabaikan fakta bahwa itu benar-benar "diubah".
Modifikasi
lainnya menyediakan jalur antara memori instruksi (seperti ROM atau flash) dan
CPU untuk memungkinkan kata-kata dari memori instruksi harus diperlakukan
sebagai read-only data. Teknik ini digunakan dalam beberapa mikrokontroler,
termasuk Atmel AVR . Hal ini memungkinkan data konstan,
seperti string teks atau tabel fungsi, untuk diakses tanpa terlebih dahulu
harus disalin ke dalam memori data, melestarikan langka (dan haus kekuasaan)
memori data untuk membaca / menulis variabel. Khusus instruksi bahasa mesin
yang tersedia untuk membaca data dari memori instruksi. (Ini berbeda dari
instruksi yang sendiri menanamkan data konstan, meskipun untuk konstanta
individu dua mekanisme dapat menggantikan satu sama lain.)
Kecepatan
Dalam beberapa
tahun terakhir, kecepatan CPU telah tumbuh berkali-kali dibandingkan dengan
kecepatan akses memori utama. Perawatan harus diambil untuk mengurangi jumlah
kali memori utama diakses untuk mempertahankan kinerja. Jika, misalnya, setiap
instruksi dijalankan dalam CPU memerlukan akses ke memori, keuntungan komputer
tidak untuk meningkatkan kecepatan CPU-masalah disebut sebagai "memori
terikat".
Hal ini
dimungkinkan untuk membuat memori yang sangat cepat tapi ini hanya praktis
untuk sejumlah kecil memori untuk biaya, tenaga dan routing sinyal alasan. Solusinya
adalah untuk menyediakan sejumlah kecil memori yang sangat cepat yang dikenal
sebagai CPU cache yang menyimpan data yang baru
diakses. Selama data yang perlu CPU dalam cache, kinerja yang jauh lebih tinggi
daripada ketika cache harus mendapatkan data dari memori utama.
Internal vs
eksternal desain
Kinerja tinggi
desain chip CPU modern menggabungkan aspek kedua Harvard dan arsitektur von
Neumann. Secara khusus, "tembolok split" versi arsitektur Harvard termodifikasi sangat
umum. CPU memori cache dibagi menjadi cache instruksi dan data cache. Arsitektur
Harvard digunakan sebagai CPU mengakses cache. Dalam kasus cache miss,
bagaimanapun, data diambil dari memori utama, yang tidak secara resmi dibagi
menjadi beberapa bagian instruksi dan data terpisah, meskipun mungkin memiliki
kontroler memori yang terpisah digunakan untuk akses bersamaan ke RAM, ROM dan
(NOR ) memori flash.
Jadi, sementara
arsitektur von Neumann terlihat dalam beberapa konteks, seperti ketika data dan
kode datang melalui memory controller yang sama, implementasi hardware
keuntungan efisiensi dari arsitektur Harvard cache mengakses dan setidaknya
beberapa memori akses utama.
Selain itu, CPU
sering memiliki write buffer yang memungkinkan CPU melanjutkan setelah menulis
ke daerah non-cache. The von Neumann sifat memori kemudian terlihat ketika
instruksi ditulis sebagai data oleh CPU dan perangkat lunak harus memastikan
bahwa cache (data dan instruksi) dan menulis penyangga disinkronisasi sebelum
mencoba untuk menjalankan instruksi tersebut hanya ditulis.
Penggunaan
modern dari arsitektur Harvard
Keuntungan
utama dari Harvard murni Akses arsitektur-simultan lebih dari satu memori
sistem-telah dikurangi oleh prosesor Harvard dimodifikasi menggunakan moderen cache CPU sistem. Relatif murni Harvard mesin
arsitektur digunakan terutama dalam aplikasi di mana pengorbanan, seperti
penghematan biaya dan tenaga dari menghilangkan cache, melebihi hukuman
pemrograman dari menampilkan kode dan data alamat ruang yang berbeda.
- Prosesor sinyal digital (DSP) umumnya mengeksekusi kecil, audio atau video algoritma pengolahan yang sangat optimal. Mereka menghindari cache karena perilaku mereka harus sangat direproduksi. Kesulitan mengatasi beberapa ruang alamat menjadi perhatian sekunder untuk kecepatan eksekusi. Akibatnya, beberapa DSP memiliki beberapa kenangan data dalam ruang alamat yang berbeda untuk memfasilitasi SIMD dan VLIW pengolahan. Texas Instruments TMS320 prosesor C55x, untuk satu contoh, memiliki beberapa bus data paralel (dua menulis, membaca tiga) dan satu instruksi bus.
- Mikrokontroler ditandai dengan memiliki sejumlah kecil program ( flash memory ) dan data ( SRAM ) memori, tanpa cache, dan mengambil keuntungan dari arsitektur Harvard untuk kecepatan pemrosesan instruksi oleh bersamaan dan akses data. Penyimpanan terpisah berarti program dan kenangan data mungkin memiliki lebar bit yang berbeda, misalnya menggunakan 16-bit instruksi lebar dan 8-bit data yang lebar. Mereka juga berarti bahwa instruksi prefetch dapat dilakukan secara paralel dengan kegiatan lain. Contohnya termasuk, yang AVR oleh Atmel Corp dan PIC oleh Microchip Technology, Inc .
Bahkan dalam
kasus ini, itu adalah umum untuk menggunakan instruksi khusus untuk memori
program akses seolah-olah itu data untuk tabel-hanya membaca, atau untuk
pemrograman ulang; prosesor tersebut yang dimodifikasi arsitektur Harvard prosesor.
Von Neumann vs Harvard
¨ Ada dua
kelas utama dari arsitektur komputer, yaitu ‘arsitektur Havard’ dan ‘arsitektur
Von Neumann (atau Princeton).
¨ Banyak
desain khusus mikrokontroler dan DSP (Digital Signal Processor) menggunakan
arsitektur Havard.
Arsitektur Harvard
¨ 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.
Arsitektur Von Neumann
¨ 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.
54
thanks infonya gan...
BalasHapus