Sabtu, 05 Oktober 2013

Arsitektur Von Neuman dan Intruksi Komputer


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