Sabtu, 04 Oktober 2014

PROGRAM EXECUTION (Organisasi dan Arsitektur Komputer)

PROGRAM EXECUTION


Program execution yaitu eksekusi program dimana semua instruksi-instruksi yang
harus dimuat ke memori utama. Semua sistem operasi mengambil alih dalam proses input yang rumit dan juga sinyal kendali agar pengguna dapat berfikir dengan mudah dan perangkat pun dapat memberikan output sesuai dengan keinginan dari si pemprogram. Menyediakan file-sistem manipulation yang artinya berkas atau juga bisa di sebut file-sistem mempunyai mekanisme proteksi dari sistem operasi untuk mengendalikan pengaksesan terhadap file-sistem.

SIKLUS EKSEKUSI PROGRAM 

Rancangan arsitektur Von Neuman didasarkan pada 3 konsep :

1. Data dan instruksi-instruksi disimpan di memori baca-tulis tunggal
2. Memori dapat dialamati dengan lokasi, tidak tergantung pada jenis data yang berada didalamnya.
3. Eksekusi terjadi dengan cara sekuensial dari instruksi yang satu ke instruksi berikutnya.

Fungsi dasar komputer adalah eksekusi program.
CPU melakukan tugas ini dengan cara eksekusi suatu program.

Proses eksekusi program adalah dengan mengambil pengolahan instruksi yang terdiri dari 2 langkah :

1. Instruksi baca (fetch) CPU dari memori
2. CPU mengeksekusi setiap instruksi

Eksekusi program terdiri dari :
1. Proses pengulangan fetch
2. Eksekusi instruksi

Eksekusi sebuah instruksi terdiri dari sejumlah langkah, pada tahap ini pengolahan instruksi dibagi 2 tahap :

1. Fetch
2. Eksekusi

                                                         PROGRAM EXECUTION



note:

Program Counter (PC) = Address of Instruction
Instruction Register (IR) = Instruction being Executed
Accumulator (AC) = Temporary Storage

Penjelasan Gambar diatas:
  1. Pada Step 1, PC berisi angka 300 dimana angka 300 didapat dari alamat perintah pertama yang diberkan dari memory. Kemudian, perintah dalam bentuk hexadecimal (1940) masuk ke dalam IR sehingga nilai IR menjadi 1940.
  2. Pada Step 2, setelah IR berisi nilai 1940, hal tersebut mengindikasikan AC harus diisi dengan nilai pada alamat 940. Mengapa 940 yang dipilih? Bukan alamat lain seperti 450, 560 atau lainnya, hal tersebut terjadi karena nilai AC yang harus diisi mengikuti nilai dari IR itu sendiri. Dengan kata lain, nilai AC akan menyesuaikan dengan nilai yang terdapat pada IR karena kita akan mengambil 3 digits hexadecimal yang terdapat pada IR.  Dalam contoh ini, nilai IR 1940, maka yang diambil ada nilai yang berada pada alamat 1940 (940), yaitu 0003.
  3. Perintah selanjutnya (5941) di dapat dari alamat 301 sehingga PC akan bernilai menjadi 301 dan IR bernilai 5941. AC akan mengambil nilai yang terdapat pada alamat 941. Namun, AC tidak berubah seperti PC dan IR, AC akan ditambkan dengan nilai yang sebelumnya sudah ada. Sehingga nilai AC saat ini menjadi 0005 (0002+0003). Mengapa AC tidak berubah mutlak atau ditambahkan, karena AC sendiri merupakan penyimpanan sementara sehingga nilainya akan ditambahkan sampai program selesai dieksekusi.
  4. Perintah selanjutnya (2941) yang di dapat dari alamat 302, maka PC bernilai 302 dan IR bernilai 2941. Sedangkan AC tetap karena ini adalah akhir dari eksekusi program. Langkah terakhir adalah memindahkan nilai AC ke alamat memori 941.
 Penghubung antara Processor, Memory dan I/O adalah Bus. Sebuah perintah dapat berpindah dari Processor ke Memory, I/O ke processor dan lainnya dapat terjadi karena adanya Bus. Bentuk bus dalam sebuah komponen komputer adalah berupa garis-garis yang menghubungkan antar perangkat. Ada sekitar 50 hingga ribuan garis yang tersusun dalam sebuah komponen komputer. Tiap garis memiliki fungsi yang berbeda sesuai dengan peletakannya. Namun, secara garis besar, Bus dapat diklasifikasikan menjadi 3 grup berdasarkan fungsinya, yaitu data, address dan control. Secara tersirat, Bus dapat digambarkan pada gambar berikut:


Sumber : http://a114308201005201.blogspot.com/2011/11/siklus-eksekusi-program.html 
                 http://iqbalparabi.com/sistem-dan-arsitektur-komputer/
               
             

Kamis, 25 September 2014

CISC dan RISC (ORGANISASI DAN ARSITEKTUR KOMPUTER)



CISC dan RISC

Pada saat ini ada dua konsep populer yang berhubungan dengan desain CPU dan set instruksi:
  • Complex Instruction Set Computing (CISC).
  • Reduce Instruction Set Computing (RISC).
Semua sistem yang lama (komputer mainframe, komputer mini atau komputer mikro) relatif mempunyai sistem CISC. Walaupun sistem sekarang terdiri atas kedua jenis tersebut. Sistem RISCsaat ini lebih populer karena tingkat kerjanya, dibandingkan dengan sistem CISC. Namun karena biayanya tinggi, sistem RISC hanya digunakan ketika diperlukan kecepatan khusus, keandalan dan sebagainya.


CISC (Complex Instruction-Set Computer)

Complex Instruction Set Computer (CISC) adalah sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar.

Karakteristik CISC yg "sarat informasi" ini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat. Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian.

Contoh-contoh prosesor CISC adalah : System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.

  • CISC mempunyai karakteristrik :
  • Instruksi berukuran tunggal
  • Ukuran yang umum adalah 4 byte.
  • Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah.
  • Tidak terdapat pengalamatan tak langsung.
  • Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmetika (misalnya, penambahan dari memori, penambahan ke memori).

RISC (Reduce Instruction Set Computer)

RISC Reduced Instruction Set Computingatau "Komputasi set instruksi yang disederhanakan. Merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Biasanya digunakan pada komputer berkinerja tinggi seperti komputer vektor.

Bahasa pemprograman memungkinkan programmer dapat mengekspresikan algoritma lebih singkat, lebih memperhatikan rincian, dan mendukung penggunaan pemprograman terstruktur, tetapi ternyata muncul masalah lain yaitu semantic gap, yaitu perbedaan antara operasi-operasi yang disediakan oleh HLL dengan yang disediakan oleh arsitektur komputer, ini ditandai dengan ketidakefisienan eksekusi, program mesin yang berukuran besar,dan kompleksitas kompiler.

Set-set instruksi yang kompleks tersebut dimaksudkan untuk :
1. Memudahkan pekerjaan kompiler
2. Meningkatkan efisiensie ksekusi
3. Memberikan dukungan bagi HLL yang lebih kompleks dan canggih.


RISC mempunyai karakteristik :

1. One cycle execution time : satu putaran eksekusi.
2. Prosessor RISC mempunyai CPI (clock per instruction)
3. Pipelining
4. Large number of registers: Jumlah register yang sangat banyak
5. RISC didesain dimaksudkan untuk dapat menampung jumlah register
6. Rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang lebih ringkas
7. RISC memiliki keunggulan dalam hal kecepatannya sehingga banyak digunakan untuk aplikasi- aplikasi yang memerlukan kalkulasi secara intensif.


Perbandingan antara RISC dengan CISC





Cara sederhana untuk melihat kekurangan dan kelebihan dari CISC dan RISC adalah dengan membandingkannya secara langsung. Pada tahap perbandingan ini dicoba dengan menghitung perkalian dua bilangan dalam memori. Memori tersebut terbagi menjadi beberapa lokasi yang diberi nomor 1(baris): 1 (kolom) hingga 6:4. Unit eksekusi bertanggung-jawab untuk semua operasi komputasi. Namun, unit eksekusi hanya beroperasi untuk data yang sudah disimpan kedalam salah satu dari 6 register (A, B, C, D, Eatau F). Misalnya, kita akan melakukan perkalian (product) dua angka, satu di simpan di lokasi 2:3 sedangkan lainnya di lokasi 5:2, kemudian hasil perkalian tersebut dikembalikan lagi kelokasi 2:3.

1.Menggunakan Pendekatan RISC

Prosesor RISC hanya menggunakan instruksi-instruksi sederhana yang bisa dieksekusi dalam satu siklus. Dengan demikian, instruksi ‘MULT’ sebagaimana dijelaskan sebelumnya dibagi menjadi tiga instruksi yang berbeda, yaitu“LOAD”, yang digunakan untuk memindahkan data dari memori kedalam register, “PROD”, yang digunakan untuk melakukan operasi produk (perkalian) dua operan yang berada di dalam register (bukan yang ada di memori) dan “STORE”, yang digunakan untuk memindahkan data dari register kembali kememori. Berikut ini adalah urutan instruksi yang harus dieksekusi agar yang terjadi sama dengan instruksi “MULT” pada prosesor RISC (dalam 4 baris bahasa mesin):

LOAD A, 2:3
LOAD B, 5:2
PROD A, B
STORE 2:3, A

2.Menggunakan Pendekatan CISC

Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi.

Sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang diberi nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yang berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja.

MULT 2:3, 5:2

CISC
  • Penekanan pada perangkat keras (hardware)
  • Termasuk instruksi kompleks multi-clock
  • Memori-ke-memori: “LOAD” dan “STORE” saling bekerjasama
  • Ukuran kode kecil, kecepatan rendah
  • Transistor digunakan untuk menyimpan instruksi-instruksi kompleks
RISC
  • Penekanan pada perangkat lunak (software)
  • Single-clock, hanya sejumlah kecil instruksi
  • Register ke register: “LOAD” dan “STORE” adalah instruksi - instruksi terpisah
  • Ukuran kode besar, kecepatan (relatif) tinggi
  • Transistor banyak dipakai untuk register memori

Perbandingan fitur antara RICS dengan CISC




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:
  • Baca bagian dari instruksi program yang menyatakan APA yang harus dilakukan (dalam kasus ini adalah instruksi “inc” untuk perintah kenaikkan);
  • Baca lebih lanjut dari instruksi ini yang menyatakan data YANG MANA yang akan dinaikkan (alam kasus ini adalah register “SS”);
  • Setelah dinaikkan, isi dari register ini harus dituliskan kembali ke register yang sebelumnya telah dibaca (alamat register “SS”).

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).
  • 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.


ARM





ARM singkatan dari Advanced RISC Machine adalah arsitektur processor 32-bit yang dikembangkan oleh ARM Limited, dan banyak digunakan oleh perangkat genggam.

Berkat fitur hemat energinya, CPU ARM sangat dominan di pasar perangkat
elektronik genggam. Saat ini, processor ARM menguasai sekitar 75 persen pasar elektronik genggam.

REVOLUSI PC dari waktu ke waktu

mikroprosesor adalah sebuah IC (Integrated Circuit) yang digunakan sebagai otak/pengolah utama dalam sebuah sistem komputer.

Mikroprosesor merupakan hasil dari pertumbuhan semikonduktor.
Pertama kali MIkroprosesor dikenalkan pada tahun 1971 oleh Intel Corp,
yaitu Mikroprosesor Intel 4004 yang mempunyai arsitektur 4 bit.
Dengan penambahan beberapa peripheral (memori, piranti I/O, dsb) Mikroprosesor 4004 di ubah menjadi komputer kecil oleh intel.

Kemudian mikroprosesor ini di kembangkan lagi menjadi 8080 (berasitektur 8bit), 8085, dan kemudian 8086 (berasitektur 16bit).
Dilaen pihak perusahaan semikonduktor laen juga memperkenalkan dan mengembangkan mikroprosesor antara lain Motorola dengan M6800, dan Zilog dengan Z80nya.
Mikroprosesor Intel yang berasitektur 16 bit ini kebanyakan di akhiri oleh angka 86,
akan tetapi karena nomor tidak dapat digunakan untuk merek dagang mereka menggantinya dengan nama pentium untuk merek dagang Mikroprosesor generasi kelima mereka.
Arsitektur ini telah dua kali diperluas untuk mengakomodasi ukuran word yang lebih besar.
Di tahun 1985, Intel mengumumkan rancangan generasi 386 32-bit yang menggantikan rancangan generasi 286 16-bit.
Arsitektur 32-bit ini dikenal dengan nama x86-32 atau IA-32 (singkatan dari Intel Architecture, 32-bit). Kemudian pada tahun 2003, AMD memperkenalkan Athlon 64, yang menerapkan secara lebih jauh pengembangan dari arsitektur ini menuju ke arsitektur 64-bit, dikenal dengan beberapa istilah x86-64, AMD64 (AMD), EM64T atau IA-32e (Intel), dan x64 (Microsoft).
Untuk melihat sejarah perkembangan komponen elektronik bisa dilihat dibawah ini:
  • 1904: Dioda tabung pertama kali diciptakan oleh seorang ilmuwan dari Inggris yang bernama Sir John Ambrose Fleming (1849-1945)
  • 1906: ditemukan trioda hasil pengembangan dioda tabung oleh seorang ilmuwan Amerika yang bernama Dr. Lee De Forest. Yang kemudian terciptalah tetroda dan pentode.
  • Akan tetapi penggunaan dari tabung hampa tersebut tergeser pada tahun 1960 setelah ditemukannya komponen semikonduktor.
  • 1947: Transistor diciptakan di labolatorium Bell.
  • 1965: Gordon Moore dari Fairchild semiconductor dalam sebuah artikel untuk majalan elektronik mengatakan bahwa chip semikonduktor berkembang dua kali lipat setiap dua tahun selama lebih dari tiga dekade.
  • 1968: Moore, Robert Noyce dan Andy Grove menemukan Intel Corp. untuk menjalankan bisnis “INTegrated ELectronics.”
  • 1969: Intel mengumumkan produk pertamanya, RAM statis 1101, metal oxide semiconductor (MOS) pertama di dunia. Ia memberikan sinyal pada berakhirnya era memori magnetis.
  • 1971: Intel meluncurkan mikroprosesor pertama di dunia, 4-bit 4004, yang didesain oleh Federico Faggin.
  • 1972: Intel mengumumkan prosesor 8-bit 8008. Bill Gates muda dan Paul Allen coba mengembangkan bahasa pemograman untuk chip tersebut, namun saat itu masih kurang kuat.
  • 1974: Intel memperkenalkan prosesor 8-bit 8080, dengan 4.500 transistor yang memiliki kinerja 10 kali pendahulunya.
  • 1975: Chip 8080 menemukan aplikasi PC pertamanya pada Altair 8800, sekaligus merevolusi PC

KEGUNAAN PROCESSOR
  • Processor merupakan otak dan pusat pengendali computer yang didukung oleh kompunen lainnya.
  • Processor adalah Sebuah IC yang mengontrol keseluruhan jalannya sebuah sistem komputer.
  • Processor digunakan sebagai pusat atau otak dari komputer yang berfungsi untuk melakukan perhitungan dan menjalankan tugas.

Prosesor adalah chip yang sering disebut “Microprosessor” yang sekarang ukurannya sudah mencapai gigahertz. Ukuran tersebut adalah hitungan kecepatan prosesor dalam mengolah data atau informasi. Merk prosesor yang banyak beredar dipasatan adalah AMD, Apple, Cyrix VIA, IBM, IDT, dan Intel.

Bagian dari Prosesor Bagian terpenting dari prosesor terbagi 3 yaitu : 
  • Aritcmatics Logical Unit (ALU)
  • Control Unit (CU)
  • Memory Unit (MU)





sumber : 




Sabtu, 20 September 2014

Control unit (CU)




Control Unit (CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.

Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor).


Tugas CU
 Tugas dari CU adalah sebagai berikut:
  1. Mengatur dan mengendalikan alat-alat input dan output. 
  2. Mengambil instruksi-instruksi dari memori utama. 
  3. Mengambil data dari memori utama kalau diperlukan oleh proses. 
  4. Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja. 
  5. Menyimpan hasil proses ke memori utama.

Ada 2 macam CU

 

a. Single-Cycle CU

Proses di CUl ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada satu cycle, maka dari itu tidak memerlukan state. Dengan demikian fungsi boolean masing-masing control line hanya merupakan fungsi dari opcode saja. Clock cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu proses men-decode opcode untuk mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang AND), dan pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu gerbang OR). Keempat jenis instruksi adalah “R-format” (berhubungan dengan register), “lw” (membaca memori), “sw” (menulis ke memori), dan “beq” (branching). Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan memori ”R-format” atau ”lw” maka akan sinyal ”Regwrite” akan aktif. Hal lain jika melibatkan memori “lw” atau “sw” maka akan diberi sinyal kontrol ke ALU, yaitu “ALUSrc”. Desain single-cycle ini lebih dapat bekerja dengan baik dan benar tetapi cycle ini tidak efisien.

b. Multi-Cycle CU

Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing-masing output control line dapat ditentukan. Masing-masingnya akan menjadi fungsi dari 10 buah input logic. Jadi akan terdapat banyak fungsi boolean, dan masing-masingnya tidak sederhana. Pada cycle ini, sinyal kontrol tidak lagi ditentukan dengan melihat pada bit-bit instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan CPU; bukan instruksi cycle selanjutnya.

CARA KERJA CONTROL UNIT 

Ketika sebuah komputer pertama kali diaktifkan power-nya, maka computer tersebut menjalankan operasi bootstrap. Operasi ini akan membaca sebuah instruksi dari suatu lokasi memory yang telah diketahui sebelumnya dan mentransfer instruksi tersebut ke control unit untuk dieksekusi. Instruksi-intruksi dibaca dari memory dan dieksekusi sesuai dengan urutan penyimpanannya.
Program counter dari suatu computer menyediakan suatu cara untuk menyimpan lokasi instruksi berikutnya. Urutan eksekusi berubah dengan memindah lokasi intruksi baru ke program counter sebelum pembacaan (fetch) instruksi dikerjakan. Sebuah intruksi merupakan kalimat imperatif pendek yang sudah dapat menjelaskan makna dari perintah tersebut. Suatu intruksi terdiri dari: 
1.subjek (komputernya) 
2.verb (suatu kode operasi yang mengindikasikan pekerjaan apa yang akan   dilaksanakan) 
3.objek (operands) yang mengidentifikasikan nilai data atau lokasi memory. 
Ketika intruksi-intruksi diterima oleh Control Unit, operation code akan mengaktifkan urutan logic untuk mengeksekusi intruksi-intruksi tersebut. Satu eksekusi program terdiri dari beberapa instruction cycle yang menjadi komponen penyusun dari program tersebut. Sedangkan untuk setiap instruction cycle terdiri dari beberapa sub cycle lagi seperti ftech cycle, indirect cycle, execute cucle,  dan interrupt cycle. Setiap sub cycle ini disusun dari beberapa perintah dasar yang disebut micro operation.


Control Unit sistem komputer yang berfungsi berbagai pengatur kerja utama didalam sistem CPU terdiri dari:

  • Seguencing Logic : merupakan rangkaian digital yang digerakkan untuk mengatur urutan oprasi intrnal CPU,sedangkan penggeraknya adalah program atau mikro program yang ditanam pada Control Unit Memory.
  • Control Unit Register dan Decoder : berperan sebagai register tempat meletakkan dan menterjemahkan instruksi. Instruksi tersebut adalah salah satu instruksi yang dapat dipahami oleh prosesor atau CPU  Register dan Decoder ini dapat menuliskan kode atau pesan yang meng indikasikan hasil    operasi.
  • Control Memory : berfungsi untuk mengawasi penyimpanan data.  
Sumber : http://id.wikipedia.org/wiki/Unit_Kendali 



Sabtu, 13 September 2014

ORGANISASI DAN ARSITEKTUR KOMPUTER

  

ARSITEKTUR SISTEM KOMPUTER SECARA GLOBAL 

Tidak ada suatu ketentuan khusus tentang bagaimana seharusnya struktur sistem sebuah komputer. Setiap ahli dan desainer arsitektur komputer memiliki pandangannya masing-masing. Akan tetapi, untuk mempermudah kita memahami detail dari sistem operasi serta perlu memiliki pengetahuan umum tentang struktur sistem komputer. Arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer.
Arsitektur komputer juga dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, Abstraksi dari sebuah arsitektur komputer dan hubungannya dengan bagian perangkat keras, firmware, assembler, kernel, sistem operasi, dan perangkat lunak aplikasinya.

 Operasi Sistem Komputer 

Secara umum, sistem komputer terdiri atas CPU dan sejumlah device controller yang terhubung melalui sebuah bus yang menyediakan akses ke memori. Umumnya, setiap device controller bertanggung jawab atas sebuah hardware spesisfik. Setiap device dan CPU dapat beroperasi secara konkuren untuk mendapatkan akses ke memori. Adanya beberapa hardware ini dapat menyebabkan masalah sinkronisasi. Karena itu untuk mencegahnya sebuah memory controller ditambahkan untuk sinkronisasi akses memori.
Gambar 1-12.
Arsitektur Umum Komputer Pada sistem komputer yang lebih maju, arsitekturnya lebih kompleks. Untuk meningkatkan performa, digunakan beberapa buah bus . Tiap bus merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang lebih dikenal dengan nama FSB (Front Side Bus) . Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar bus ini digunakan sebuah bridge . Tanggung jawab sinkronisasi bus yang secara tak langsung juga mempengaruhi sinkronisasi memori dilakukan oleh sebuah bus controller atau dikenal sebagai bus master . Bus master akan mengendalikan aliran data hingga pada satu waktu, bus hanya berisi data dari satu buah device . Pada prakteknya bridge dan bus master ini disatukan dalam sebuah chipset . 
Gambar 1-13. Arsitektur PC Modern
  
 NB:
GPU = Graphics Processing Unit; AGP = Accelerated Graphics Port; HDD = Hard Disk Drive; FDD = Floppy Disk Drive; FSB = Front Side Bus; USB = Universal Serial Bus; PCI = Peripheral Component Interconnect; RTC = Real Time Clock; PATA = Pararel Advanced Technology Attachment; SATA = Serial Advanced Technology Attachment; ISA = Industry Standard Architecture; IDE = Intelligent Drive Electronics/Integrated Drive Electronics; MCA = Micro Channel Architecture; PS/2 =Sebuah port yang dibangun IBM untuk menghubungkan mouse ke PC;

Jika komputer dinyalakan, yang dikenal dengan nama booting, komputer akan menjalankan bootstrap program yaitu sebuah program sederhana yang disimpan dalam ROM yang berbentuk chip CMOS (Complementary Metal Oxide Semiconductor) . Chip CMOS modern biasanya bertipe EEPROM(Electrically Erasable Programmable Read Only Memory), yaitu memori non-volatile (tak terhapus jika power dimatikan) yang dapat ditulis dan dihapus dengan pulsa elektronik. Lalu bootsrap program ini lebih dikenal sebagai BIOS (Basic Input Output System) .

Sumber : http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/2003/49/produk/SistemOperasi/c12.html

BAGIAN-BAGIAN PENYUSUN KOMPUTER 

 

Untuk saat ini, komputer bukan lagi barang mewah. Karena komputer sudah menjadi kebutuhan yang sangat membantu dalam kegiatan manusia. Mulai dari ngetik, bermain game, browsing internet sampai dengan pekerjaan yang khusus yang menggunakan komputer misalnya komputasi data.

Untuk lebih mengenal komputer khususnya komputer pribadi, maka ada baik mengenal terlebih dahulu komponen-komponen yang menyusun sebuah komputer PC, khususnya komponen yang disebut dengan perangkat keras atau hardware. Sebagaimana disebutkan dalam tulisan sebelumnya, pada dasarnya hardware komputer itu tersusun atas tiga jenis komponen, yaitu komponen Input, Prosesor dan Output. Dengan demikian, komponen-komponen penyusun komputer PC juga tidak akan lepas dari ketiga jenis komponen tersebut.  Hanya saja nama-nama komponen penyusunnya berbeda-beda.

Komponen Input merupakan komponen yang berfungsi sebagai masukkan atau divais yang menjadi alur masukan ke komponen prosesor. Sementara komponen Prosesor merupakan komponen yang berperan untuk menangkap data masukan dari komponen input dan mengolah data tersebut berdasarkan program khusus. Dan komponen output adalah komponen yang berfungsi sebagai keluaran atau menampilkan data hasil data masukan yang sudah diproses atau diolah sehingga akan berguna bagi manusia sebagai penggunanya atau yang membutuhkan data keluaran tersebut.

Komponen komputer yang termasuk pada komponen Input adalah:
  1. Keyboard, merupakan komponen yang berfungsi untuk memberikan masukan berupa data-data alfanumerik dan data ASCII lainnya.
  1. Mouse. merupakan komponen yang sangat berfungsi dalam komputer yang menggunakan sistem operasi berbasis GUI, dimana dalam pengopersiannya akan berhubungan dengan pointer yang ada di layar monitor yang befungsi untuk mempercepat atau mempermudah dalam pengoperasian perintah-perintah program dalam komputer.
  1. Trackpad, Trackball, sama dengan mouse. Yang membedakannya adalah bentuknya.
  1. Pen, digunakan sebagai pengganti pionter mouse. Biasanya digunakan pada komputer yang memiliki layar sentuh. Untuk memerikan perintah tertentu, tidak lagi menggunakan mouse, tapi tinggal menyentuhkan pen ke GUI di layar sentuh.
  1. Microphone, komponen masukan yang memberikan data masukan berupa data suara.
  1. Scanner, digunakan untuk memindai gambar yang akan dimasukkan ke dalam sistem komputer menjadi berbentuk digital.
Komponen komputer yang termasuk pada komponen Output adalah:
  1. Monitor, komponen yang menampilkan proses atau apa yang sedang dikerjakan oleh komputer. Termasuk menampilkan data hasil pengolahan.
  1. Printer, untuk menampilkan atau mencetak data dari komputer.
  1. Plotter, sama dengan printer. Yang membedakannya adalah kemampuan pencetakan datanya.
  1. Speaker atau Buzzer. Untuk menyampaikan informasi atau data hasil pengolahan dalam bentuk gelombang suara.
Komponen komputer yang termasuk pada komponen Pemroses adalah Prosesor beserta dengan perangkat pendukungnya:
  1. Prosesor, merupakan komponen utama pemrosesan data. Di dalam komponen ini seluruh data diproses berdasarkan program yang dijalankan.
  1. Motherboard, merupakan komponen yang menjadi tempat semua komponen berhubungan. Semua komponen mulai dari input, prosesor hingga output, berhubungan melalui komponen ini.
  1. Hard Disk, merupakan komponen yang berfungsi untuk menyimpan data dan program yang diperlukan oleh seluruh komponen (komputer). Komponen lainnya yang fungsinya sama dengan hard disk adalah Disk Drive (CD, DVD), Floppy-Drive.
  1. Memori (RAM), merupakan tempat penyimpanan data dan program yang sifatnya sementara yang digunakan untuk mempercepat proses dari kerja prosesor.
Komponen Perantara antara Prosesor dengan Input dan Output. Komponen ini umumnya berbentuk komponen tambahan berupa kartu atau Slot/Port:

    • Kartu VGA, merupakan perantara antara Prosesor (dan komponen pendukungnya) dengan layar penampil (monitor).
    • Kartu Audio, merupakan perantara antara Prosesor (dan komponen pendukungnya) dengan speaker.
    • Kartu Firewire, merupakan perantara antara Prosesor (dan komponen pendukungnya) dengan komponen input berkecepatan tinggi seperti kamera video.
    • Kartu TV Tuner, merupakan perantara antara Prosesor (dan komponen pendukungnya) dengan komponen input untuk menerima siaran televisi.
    • Kartu Capture, merupakan perantara antara Prosesor (dan komponen pendukungnya) dengan komponen input yang digunakan untuk menangkap aliran video analog.
    Sumber : http://ciburuan.wordpress.com/2010/03/17/komponen-penyusun-komputer-pribadi-pc/

 INTERKONEKSI ANTAR KOMPONEN KOMPUTER

Interkoneksi antar komponen dan analisanya
Pada Sistem Komputer, terdiri dari 4 bagian komponen, yaitu sebagai berikut :
1. Pemroses
  • Berfungsi untuk mengendalikan operasi komputer dan melakukan fungsi pemrosesan data.
  • Pemroses melakukan operasi logika dan mengelola aliran data dengan membaca instruksi dari memori dan mengeksekusinya.
  • Langkah kerja pemroses :
    • Mengambil instruksi biner dari memori
    • Mendekode instruksi menjadi aksi sederhana
    • Melakukan aksi
  • 3 Tipe operasi komputer :
    • Operasi aritmatika (ADD, SUBSTRACT, MULTIPLY, DIVIDE)
    • Operasi logika (OR, AND, XOR, INVERTION)
    • Operasi pengendalian (LOOP, JUMP)
  • Pemroses terdiri dari :
    • ALU (Aritmatic Logic Unit), berfungsi untuk melakukan operasi aritmatika dan logika
    • CU (Control Unit), berfungsi untuk mengendalikan operasi yang dilaksanakan sistem komputer.
    • Register-register, berfungsi untuk :
      • Membantu pelaksanaan operasi yang dilakukan pemroses
      • Sebagai memori yang bekerja secara cepat, biasanya untuk tempat operand-operand dari operasi yang akan dilakukan.
      • Terbagi menjadi register data dan register alamat.
      • Register data terdiri dari general dan special purpose register.
      • Register alamat berisi :
        • Alamat data di memori utama
        • Alamat instruksi
        • Alamat untuk perhitungan alamat lengkap
        • Contoh : register indeks, register penunjuk segmen, register penunjuk stack, register penanda (flag)
  • Pemroses melakukan tugasnya dengan mengeksekusi instruksi-instruksi di program dengan mekanisme instruksi sebagai berikut :.
    • Pemroses membaca instruksi dari memori (fetch)
    • Pemroses mengeksekusi instruksi (execute)
  • Eksekusi program berisi pengulangan fetch dan execute. Pemrosesan satu instruksi disebut satu siklus instruksi (instruction cycle).
Gambar 1-1 : Siklus Eksekusi Instruksi
2. Memori
  • Berfungsi untuk menyimpan data dan program
  • Biasanya volatile, tidak dapat mempertahankan data dan program yang disimpan bila sumber daya energi (listrik) dihentikan.
  • Konsep program tersimpan (stored program concept), yaitu program (kumpulan instruksi) yang disimpan di suatu tempat (memori) dimana kemudian instruksi tersebut dieksekusi.
  • Setiap kali pemroses melakukan eksekusi, pemroses harus membaca instruksi dari memori utama. Agar eksekusi dilakukan secara cepat maka harus diusahakan instruksi tersedia di memori pada lapisan berkecepatan akses lebih tinggi. Kecepatan eksekusi ini akan meningkatkan kinerja sistem.
  • Hirarki memori berdasarkan kecepatan akses :
    • Register (tercepat)
    • Cache memory ; Memori berkapasitas terbatas, berkecepatan tinggi yang lebih mahal dibanding memori utama. Cache memory adalah diantara memori utama dan register, sehingga pemroses tidak langsung mengacu memori utama tetapi di cache memory yang kecepatan aksesnya lebih tinggi.
    • Main memory
    • Disk cache (buffering) ; Bagian memori utama untuk menampung data yang akan ditransfer dari/ke perangkat masukan/keluaran dan penyimpan sekunder. Buffering dapat mengurangi frekuensi pengaksesan dari/ke perangkat masukan/keluaran dan penyimpan sekunder sehingga meningkatkan kinerja sistem.
    • Magnetic disk
    • Magnetic tape, optical disk (paling lambat)
3. Perangkat Masukan dan Keluaran (I/O)
  • Adalah perangkat nyata yang dikendalikan chip controller di board sistem atau card.
  • Controller dihubungkan dengan pemroses dan komponen lainnya melalui bus.
  • Controller mempunyai register-register untuk pengendaliannya yang berisi status kendali.
  • Tiap controller dibuat agar dapat dialamati secara individu oleh pemroses sehingga perangkat lunak device driver dapat menulis ke register-registernya sehingga dapat mengendalikannya.
  • Sistem operasi lebih berkepentingan dengan pengendali dibanding dengan perangkat fisik mekanis
  • Perangkat I/O juga memindahkan data antara komputer dan lingkungan eksternal.
  • Lingkungan eksternal dapat diantarmuka (interface) dengan beragam perangkat, seperti :
    • Perangkat penyimpan sekunder
    • Perangkat komunikasi
    • Terminal
4. Interkoneksi antar Komponen
  • Adalah struktur dan mekanisme untuk menghubungkan antar komponen dalam sistem komputer yang disebut bus.
  • Bus terdiri dari tiga macam, yaitu :
    • Bus alamat (address bus) ; Berisi 16, 20, 24 jalur sinyal paralel atau lebih. CPU mengirim alamat lokasi memori atau port yang ingin ditulis atau dibaca di bus ini. Jumlah lokasi memori yang dapat dialamati ditentukan jumlah jalur alamat. Jika CPU mempunyai N jalur alamat maka dapat mengalamati 2 pangkat N (2N) lokasi memori dan/atau port secara langsung.
    • Bus data (data bus) ; Berisi 8, 16, 32 jalur sinyal paralel atau lebih. Jalur-jalur data adalah dua arah (bidirectional). CPU dapat membaca dan mengirim data dari/ke memori atau port. Banyak perangkat pada sistem yang dihubungkan ke bus data tetapi hanya satu perangkat pada satu saat yang dapat memakainya.
    • Bus kendali (control bus); Berisi 4-10 jalur sinyal paralel. CPU mengirim sinyal-sinyal pada bus kendali untuk memerintahkan memori atau port. Sinyal bus kendali antara lain :
      • Memory read ; Untuk memerintahkan melakukan pembacaan dari memori.
      • Memory write ; Untuk memerintahkan melakukan penulisan ke memori.
      • I/O read ; Untuk memerintahkan melakukan pembacaan dari port I/O.
      • I/O write ; Untuk memerintahkan melakukan penulisan ke port I/O.
  •  Mekanisme pembacaan ; Untuk membaca data suatu lokasi memori, CPU mengirim alamat memori yang dikehendaki melalui bus alamat kemudian mengirim sinyal memory read pada bus kendali. Sinyal tersebut memerintahkan ke perangkat memori untuk mengeluarkan data pada lokasi tersebut ke bus data agat dibaca CPU.
  • Interkoneksi antar komponen ini membentuk satu sistem sendiri, seperti ISA (Industry Standard Architecture), EISA (Extended ISA) dan PCI (Peripheral Component Interconnect).
  • Secara fisik interkoneksi antar komponen berupa “perkawatan”.
  • Interkoneksi memerlukan tata cara atau aturan komunikasi agar tidak kacau (chaos) sehingga mencapai tujuan yang diharapkan.
Analisa saya :

Secara fisik interkoneksi antar komponen berupa perkawatan. Tetapi komponen interkoneksi sesungguhnya tidak hanya perkawatan tapi juga tata cara atau aturan atau juga protokol komunikasi di antara elemen-elemen terhubung yang berkomunikasi agar tidak kacau sehingga dapat mencapai tujuan yang diharapkan. Interkoneksi antara CPU, memori dan perangkat masukan/kluaran dihubungkan oleh BUS yang dibagi menjadi 3 BUS :Address bus, Data bus dan Control bus.