Arsitektur Von Neumann ( atau mesin von
neumann ) adalah arsitektur yang diciptakan oleh John Von Neumann ( 1903 - 1957
). Arsitektur ini digunakan oleh hampir semua komputer saat ini. Arsitektur Von Neumann menggambarkan komputer dengan empat
bagian utama yaitu Unit Aritmatika dan Logis (ALU) yang merupakan bagian
dari unit kontrol (cpu), media penyimpanan (memory), dan alat masukan (input)
dan hasil/keluaran (output) secara kolektif dinamakan I/O. Dibawah ini adalah
gambar arsitektur Von Neumann.
1.
Masukan (input)
Perangkat ini memiliki
fungsi sebagai media untuk memasukkan data ke dalam processor untuk diolah
guna menghasilkan informasi yang diperlukan. Input devices atau perangkat
masukan yang umumnya digunakan personal computer (PC) adalah keyboard dan
mouse, keyboard dan mouse adalah unit yang menghubungkan user (pengguna) dengan
komputer. Selain itu terdapat joystick, yang biasa digunakan untuk bermain
games atau permainan dengan komputer. Kemudian scanner, untuk memindai gambar
agar dapat di olah secara digital. Touch panel, dengan menggunakan sentuhan
jari user dapat melakukan suatu proses akses file sebagai pengganti mouse.
Microphone, untuk merekam suara ke dalam komputer dan masih banyak lagi.
2.
Pemroses (cpu)
CPU atau Central Processing Unit
merupakan tempat pemroses dari intruksi-intruksi program, bentuknya berupa chip
yang terdiri dari jutaan IC. CPU terdiri dari dua bagian utama yaitu
Unit Kendali (control unit) serta Unit Aritmatika dan Logika (ALU). Disamping
itu, CPU mempunyai beberapa alat penyimpan yang berukuran kecil yang
disebut dengan register.
a) Unit Kendali (control unit)
Unit ini bertugas 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. Tugas dari unit kendali ini
adalah :
Ø Mengatur dan mengendalikan alat-alat
input dan output.
Ø Mengambil instruksi-instruksi dari
memori utama.
Ø Mengambil data dari memori utama
(jika diperlukan) untuk diproses.
Ø Mengirim instruksi ke ALU bila ada
perhitungan aritmatika serta mengawasi kerja dari ALU.
Ø Menyimpan hasil proses ke memori
utamab) Unit Aritmatika dan Logika (ALU)
Tugas utama dari ALU adalah
melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan
instruksi program. ALU melakukan operasi aritmatika dengan dasar penjumlahan
sehingga sirkuit elektronik yang digunakan disebut adder. Tugas lain dari ALU
adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi
program. Operasi logika meliputi perbandingan dua operand dengan menggunakan
operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (<> ),
kurang dari (<), kurang atau sama dengan (<= ), lebih besar dari (>),
dan lebih besar atau sama dengan (>=).
Cara kerja CPU
Unit Pemproses Pusat atau
CPU ( central processing unit) berperanan untuk memproses arahan, melaksanakan
pengiraan dan menguruskan laluan informasi menerusi system komputer. Unit atau
peranti pemprosesan juga akan berkomunikasi dengan peranti input , output dan
storan bagi melaksanakan arahan-arahan berkaitan.Unit Aritmatika dan Logika,
atau Arithmetic Logic Unit (ALU), adalah alat yang melakukan pelaksanaan dasar
seperti pelaksanaan aritmatika (tambahan, pengurangan, dan semacamnya),
pelaksanaan logis (AND, OR, NOT), dan pelaksanaan perbandingan (misalnya,
membandingkan isi sebanyak dua slot untuk kesetaraan). Pada unit inilah dilakukan “kerja” yang
nyata.Unit kontrol menyimpan perintah sekarang yang dilakukan oleh komputer,
memerintahkan ALU untuk melaksanaan dan mendapat kembali informasi (dari
memori) yang diperlukan untuk melaksanakan perintah itu, dan memindahkan kembali
hasil ke lokasi memori yang sesuai. Sekali
yang terjadi, unit kontrol pergi ke perintah berikutnya (biasanya ditempatkan
di slot berikutnya, kecuali kalau perintah itu adalah perintah lompatan yang
memberitahukan kepada komputer bahwa perintah berikutnya ditempatkan di lokasi
lain).
3.
Penyimpanan (memory)
Memory merupakan media penyimpanan
data pada Komputer, jenis memory dibagi menjadi dua yaitu.
a) RAM (Random Access Memory)
RAM adalah memory utama bagi
Komputer yang memegang arahan data yang akan diproses oleh Processor, Ram
sendiri bersifat volatile. Artinya data yang disimpan didalamnya akan hilang
ketika tidak di aliri arus listrik. Jenis RAM sangat bervariasi, diantaranya :
Ø DRAM (Dynamic RAM) adalah
jenis RAM yang secara berkala harus disegarkan oleh CPU agar data
yang terkandung didalamnya tidak hilang.
Ø SDRAM (Synchronous Dynamic
RAM) adalah jenis RAM yang paling umum digunakan pada PC masa
sekarang. RAM ini disinkronisasi oleh clock sistem dan memiliki kecepatan lebih
tanggi dari pada DRAM.
Ø SRAM (Statik RAM) adalah
jenis memory yang tidak perlu penyegaran oleh CPU agar data yang terdapat
didalamnya tetap tersimpan dengan baik. RAM jenis ini memiliki kecepatan lebih
tinggi dari pada DRAM.
Ø RDRAM (Rambus Dynamic RAM)adalah
jenis memory yang lebih cepat dan lebih mahal dari pada SDRAM.
Ø EDORAM (Extended Data Out
RAM) adalah jenis memory yang digunakan pada sistem yang
menggunakan Pentium.
Ø DDR (Double Data Rate) tipe
RAM yang menggunakan teknologi double clock cycle. DDR sekarang sudah semakin
berkembang dengan munculnya DDR2 dan DDR3 yang memiliki kecepatan yang sangat
tinggi.
Kedepannya mungkin jenis-jenis RAM
akan terus berkembang, karena semakin berkembang pulasistem komputer yang ada
saat ini. Sehingga untuk menunjang kebutuhan komputasi yang tinggi dibutuhkan
performa komputer yang maksimal.
b) ROM (Read Only Memory)
ROM ini sifatnya permanen, artinya
program / data yang disimpan di dalam ROM ini tidak mudah hilang atau berubah
walau aliran listrik di matikan. Proses menyimpan data pada ROM tidak dapat
dilakukan dengan mudah, namun membaca data dari ROM dapat dilakukan dengan
mudah. Sampai saat ini ada berbagai jenis ROM yang pernah beredar dan terpasang
pada komputer, antara lain PROM (Programmable Read Only Memory), EPROM (Erasable
Programmable Read Only Memory), EAROM (Electronically Alterable Read Only Memory), EEPROM (Electrically Erasable
Programmable Read Only Memory), dan Flash Memory.
Cara kerja Memory
Memori menyimpan berbagai
bentuk informasi sebagai angka biner. Informasi
yang belum berbentuk biner akan dipecahkan (encoded) dengan sejumlah
instruksi yang mengubahnya menjadi sebuah angka atau urutan angka-angka.
Sebagai contoh: Huruf F disimpan sebagai angka desimal 70 (atau angka biner )
menggunakan salah satu metode pemecahan. Instruksi yang lebih kompleks bisa
digunakan untuk menyimpan gambar, suara, video, dan berbagai macam informasi.
Informasi yang bisa disimpan dalam satu sell dinamakan sebuah byte.
4.
Keluaran (output)
Perangkat output adalah perangkat
komputer yang digunakan untuk menampilkan atau menyampaikan informasi kepada
penggunanya. Informasi yang ditampilkan oleh komputer merupakan hasil dari
pemrosesan yang telah dilakukan oleh komputer. Informasi yang diteruskan oleh
komputer melalui perangkat output dapat berupa tampilan di layar hasil cetakan,
suara, dan sebagainya.
Cara kerja I/O
I/O : membolehkan komputer mendapatkan informasi dari dunia
luar, dan menaruh hasil kerjanya di sana, dapat berbentuk fisik (hardcopy) atau
non fisik (softcopy). Ada berbagai macam alat I/O, dari yang akrab keyboard,
monitor dan disk drive, ke yang lebih tidak biasa seperti webcam (kamera web,
printer, scanner, dan sebagainya
Komputer
adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah
dirumuskan. Kata computer semula dipergunakan untuk menggambarkan orang yang
perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu,
tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal
mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah
aritmatika, tetapi komputer modern dipakai untuk banyak tugas yang tidak
berhubungan dengan matematika.
Dalam arti seperti itu terdapat alat seperti slide rule, jenis kalkulator
mekanik mulai dari abakus dan seterusnya, sampai semua komputer elektronik yang
kontemporer. Istilah lebih baik yang cocok untuk arti luas seperti
"komputer" adalah "yang mengolah informasi" atau
"sistem pengolah informasi." Selama bertahun-tahun sudah ada beberapa
arti yang berbeda dalam kata "komputer", dan beberapa kata yang
berbeda tersebut sekarang disebut disebut sebagai komputer.
Kata computer secara umum pernah dipergunakan untuk mendefiniskan orang yang
melakukan perhitungan aritmatika, dengan atau tanpa mesin pembantu. Menurut
Barnhart Concise Dictionary of Etymology, kata tersebut digunakan dalam bahasa
Inggris pada tahun 1646 sebagai kata untuk "orang yang menghitung"
kemudian menjelang 1897 juga digunakan sebagai "alat hitung mekanis".
Selama Perang Dunia II kata tersebut menunjuk kepada para pekerja wanita
Amerika Serikat dan Inggris yang pekerjaannya menghitung jalan artileri perang
dengan mesin hitung.
Charles Babbage mendesain salah satu mesin hitung pertama yang disebut mesin
analitikal. Selain itu, berbagai alat mesin sederhana seperti slide rule juga
sudah dapat dikatakan sebagai komputer.
Perintah yang dibicarakan di atas bukan perintah seperti bahasa manusiawi.
Komputer hanya mempunyai dalam jumlah terbatas perintah sederhana yang
dirumuskan dengan baik. Perintah biasa yang dipahami kebanyakan komputer ialah
"menyalin isi sel 123, dan tempat tiruan di sel 456",
"menambahkan isi sel 666 ke sel 042, dan tempat akibat di sel 013",
dan "jika isi sel 999 adalah 0, perintah berikutnya anda di sel 345".
Instruksi diwakili dalam komputer sebagai nomor - kode untuk
"menyalin" mungkin menjadi 001, misalnya. Suatu himpunan perintah
khusus yang didukung oleh komputer tertentu diketahui sebagai bahasa mesin
komputer. Dalam praktiknya, orang biasanya tidak menulis perintah untuk
komputer secara langsung di bahasa mesin tetapi memakai bahasa pemrograman
"tingkat tinggi" yang kemudian diterjemahkan ke dalam bahasa mesin
secara otomatis oleh program komputer khusus (interpreter dan kompiler).
Beberapa bahasa pemrograman berhubungan erat dengan bahasa mesin, seperti
assembler (bahasa tingkat rendah); di sisi lain, bahasa seperti Prolog
didasarkan pada prinsip abstrak yang jauh dari detail pelaksanaan sebenarnya
oleh mesin (bahasa tingkat tinggi).
Siklus Fetch – Eksekusi
Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori.
Terdapat
register dalam CPU yang
berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program
Counter (PC). PC akan menambah satu hitungannya setiap kali CPU
membaca instruksi.
Instruksi
– instruksi yang dibaca akan dibuat dalam register instruksi (IR). Instruksi –
instruksi ini dalam bentuk kode – kode binner yang dapat diinterpretasikan oleh
CPU kemudian dilakukan aksi yang diperlukan. Aksi – aksi ini dikelompokkan
menjadi empat katagori, yaitu :
·
CPU – Memori,
perpindahan data dari CPU ke memori dan sebaliknya.
·
CPU –I/O, perpindahan data dari CPU
ke modul I/O dan sebaliknya.
·
Pengolahan Data,
CPU membentuk sejumlah operasi aritmatika dan logika terhadap data.
·
Kontrol, merupakan instruksi untuk
pengontrolan fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi.
Perlu diketahui bahwa siklus eksekusi untuk suatu instruksi dapat melibatkan
lebih dari sebuah referensi ke memori. Disamping itu juga, suatu instruksi
dapat menentukan suatu operasi I/O.
ØInstruction
Address Calculation (IAC),
yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan
dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi
sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori
memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
Ø Instruction
Fetch (IF), yaitu membaca atau pengambil instruksi dari
lokasi memorinya ke CPU.
ØInstruction
Operation Decoding (IOD), yaitu menganalisa instruksi
untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan
digunakan.
ØOperand
Address Calculation (OAC), yaitu menentukan alamat
operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
ØOperand
Fetch (OF), adalah mengambil operand dari memori atau
dari modul I/O.
ØData
Operation (DO), yaitu membentuk operasi yang diperintahkan
dalam instruksi.
ØOperand
store (OS), yaitu menyimpan hasil eksekusi ke dalam
memori.
Fungsi Interrupt
Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan
instruksi dalam CPU kepada routine interupsi. Hampir semua modul (memori dan
I/O) memiliki mekanisme yang dapat menginterupsi kerja CPU.
Tujuan interupsi secara
umum untuk menejemen pengeksekusian routine instruksi agar
efektif dan efisien antar
CPU dan modul – modul I/O maupun memori. Setiap komponen komputer dapat
menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU
disamping itu kecepatan eksekusi masing – masing modul berbeda sehingga dengan
adanya fungsi interupsi ini dapat sebagai sinkronisasi kerja antar modul. Macam
– macam kelas sinyal
interupsi :
·
Program, yaitu interupsi yang
dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program.
Contohnya: arimatika overflow, pembagian nol, oparasi ilegal.
·
Timer, adalah interupsi yang
dibangkitkan pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem operasi
menjalankan fungsi tertentu secara reguler.
·
I/O, sinyal interupsi yang
dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi error dan
penyelesaian suatu operasi.
·
Hardware failure, adalah
interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori.
Dengan adanya mekanisme interupsi, prosesor dapat digunakan untuk mengeksekusi instruksi
– instruksi lain. Saat suatu modul telah selesai menjalankan tugasnya dan siap
menerima tugas berikutnya maka modul ini akan mengirimkan permintaan interupsi
ke prosesor. Kemudian prosesor akan menghentikan eksekusi yang dijalankannya
untuk menghandel routine interupsi. Setelah program interupsi selesai maka
prosesor akan melanjutkan eksekusi programnya kembali. Saat sinyal interupsi
diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi
diterima/ditangguhkan dan interupsi ditolak. Apabila interupsi ditangguhkan,
prosesor akan melakukan hal – hal dibawah ini :
1.
Prosesor menangguhkan eksekusi program yang
dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat
instruksi berikutnya yang akan dieksekusi dan data lain yang relevan.
2. •
ALU
melakukan inti operasi : perkalian, penjumalahan, pengurangan, dll.
•
Unit
I/O menangani aliran data eksternal.
\Kunci utama arsitektur von Neumann
adalah unit pemrosesan sentral (CPU), yang memungkinkan seluruh fungsi komputer
untuk dikoordinasikan melalui satu sumber tunggal. Adapun cara kerja model Von
Neumann, yaitu :
·
Main
memory menyimpan data dan program
·
BUS
mentransfer data, alamat dan mengontrol signal. Baik itu dari atau ke memory
maupun dari atau ke perangkat lainnya.
·
CPU
·
Control
Unit menangkap intruksi dan mengeksekusinya.
·
ALU
(Arithmetic Logic Unit) melakukan operasi (menambah, mengurangi, dll)
·
Register
9Fast Memory) menyimpan hasil sementara dan informasi kontrol (alamat instruksi
berikutnya).
·
Perangkat
I/O menjadi tepat penghubung antara user dan komputer.
Cara Kerja Von Neumann Nomor ( 3 )
Cara kerjanya adalah satu CPU mengeksekusi instruksi satu
persatu dan menjemput atau menyimpan data satu persatu. Adapun karakteristik
model SIMD ini :
·
Mendistribusi
proses ke sejumlah besar hardware.
·
Beroperasi
terhadap berbagai elemen data yang berbeda
·
Melaksanakan komputasi yang sama terhadap semua elemen
data