Senin, 05 Januari 2015

Arsitektur Set Instruksi


    Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions). Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set).

ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI) 
  • Operation Code (opcode) : menentukan operasi yang akan dilaksanakan 
  • Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan 
  • Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan 
  • Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.
Source dan result operands dapat berupa salah Satu diantara tiga jenis berikut ini:
  1. Main or Virtual Memory
  2. CPU Register
  3. I/O Device 
DESAIN SET INSTRUKSI
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek,diantaranya adalah:

1. Kelengkapan set instruksi

2. Ortogonalitas (sifat independensi instruksi)
3. Kompatibilitas :             
    -  Source code compatibility
    -  Object code Compatibility

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:

1. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya

2. Data Types: tipe/jenis data yang dapat olah

    Instruction Format: panjangnya, banyaknya alamat, dsb.
3. Register: Banyaknya register yang dapat digunakan
4. Addressing: Mode pengalamatan untuk operand

FORMAT INSTRUKSI
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction Format). 

 
JENIS-JENIS OPERAND

  • Addresses (akan dibahas pada addressing modes)

  • Numbers :  - Integer or fixed point

                          - Floating point


                          - Decimal (BCD)

  • Characters : - ASCII

                            - EBCDIC
  • Logical Data : Bila data berbentuk binary 0 dan 1

JENIS INSTRUKSI

  1. Data processing: Arithmetic dan  Logic Instructions
  2. Data storage: Memory instructions
  3. Data Movement: I/O instructions
  4. Control: Test and branch instructions

TRANSFER DATA

  • Menetapkan lokasi operand sumber dan operand tujuan.

  • Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.

  • Menetapkan panjang data yang dipindahkan.

  • Menetapkan mode pengalamatan.

Tindakan CPU untuk melakukan transfer data adalah :

     a. Memindahkan data dari satu lokasi ke lokasi lain.

     b. Apabila memori dilibatkan :           

         Menetapkan alamat memori.

         Menjalankan transformasi alamat memori virtual ke alamat

         memori aktual.

         Mengawali pembacaan / penulisan memori

Operasi set instruksi untuk transfer data :

MOVE : memindahkan word atau blok dari sumber ke tujuan

STORE : memindahkan word dari prosesor ke memori.

LOAD : memindahkan word dari memori ke prosesor.

EXCHANGE : menukar isi sumber ke tujuan.

CLEAR / RESET : memindahkan word 0 ke tujuan.

SET : memindahkan word 1 ke tujuan.

PUSH : memindahkan word dari sumber ke bagian paling atas stack.

POP : memindahkan word dari bagian paling atas sumber


ARITHMETIC

Tindakan CPU untuk melakukan operasi arithmetic :

     1. Transfer data sebelum atau sesudah.

     2. Melakukan fungsi dalam ALU.

     3. Menset kode-kode kondisi dan flag.

Operasi set instruksi untuk arithmetic :

    1. ADD : penjumlahan                                5. ABSOLUTE

    2. SUBTRACT : pengurangan                       6. NEGATIVE

    3. MULTIPLY : perkalian                             7. DECREMENT

    4. DIVIDE : pembagian                                8. INCREMENT
    Nomor 5 sampai 8 merupakan instruksi operand tunggal.

LOGICAL 
Tindakan CPU sama dengan arithmetic 
Operasi set instruksi untuk operasi logical :
     1. AND, OR, NOT, EXOR

     2. COMPARE : melakukan perbandingan logika.

     3. TEST : menguji kondisi tertentu.

     4. SHIFT : operand menggeser ke kiri atau kanan menyebabkan

                    konstanta pada ujung bit.

     5. ROTATE : operand menggeser ke kiri atau ke kanan dengan
                       ujung yang terjalin. 

CONVERSI 
  • Tindakan CPU sama dengan arithmetic dan logical. 
  • Instruksi yang mengubah format instruksi yang beroperasi terhadap format data. 
  • Misalnya pengubahan bilangan desimal menjadi bilangan biner. 
Operasi set instruksi untuk conversi :
    1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu bagian

                            memori berdasarkan tabel korespodensi.

     2. CONVERT : mengkonversi isi suatu word dari suatu bentuk
                          ke bentuk lainnya.

INPUT / OUPUT 
Tindakan CPU untuk melakukan INPUT /OUTPUT :
     1. Apabila  memory mapped I/O maka menentukan alamat

        memory mapped.

     2. Mengawali perintah ke modul I/O
Operasi set instruksi Input / Ouput :
     1. INPUT : memindahkan data dari pernagkat I/O tertentu ke

                     tujuan

     2. OUTPUT : memindahkan data dari sumber tertentu ke

                        perangkat I/O

     3. START I/O : memindahkan instruksi ke prosesor I/O untuk

                           mengawali operasi I/O
     4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan
 
TRANSFER CONTROL 
Tindakan CPU untuk transfer control :
Mengupdate program counter untuk subrutin , call / return. 
Operasi set instruksi untuk transfer control :
    1. JUMP (cabang) : pemindahan tidak bersyarat dan memuat PC     

                                dengan alamat tertentu.

    2. JUMP BERSYARAT : menguji persyaratan tertentu dan memuat PC dengan alamat
                                     tertentu atau  tidak melakukan apa tergantung dari persyaratan.

    3. JUMP SUBRUTIN : melompat ke  alamat tertentu.

    4. RETURN : mengganti isi PC dan register lainnya yang berasal

                        dari lokasi tertentu.

    5. EXECUTE : mengambil operand dari lokasi tertentu dan

                         mengeksekusi sebagai instruksi

    6. SKIP : menambah PC sehingga melompati instruksi

                 berikutnya.

    7. SKIP BERSYARAT : melompat atau tidak melakukan apa-apa

                                   berdasarkan pada persyaratan

    8. HALT : menghentikan eksekusi program.

    9. WAIT (HOLD) : melanjutkan eksekusi pada saat persyaratan

                              dipenuhi.

  10. NO OPERATION : tidak ada operasi yang dilakukan.
  
CONTROL SYSTEM
Hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan dalam sistem operasi. Contoh : membaca atau mengubah register kontrol. 

JUMLAH ALAMAT (NUMBER OF ADDRESSES) 
  • Salah satu cara tradisional untuk menggambarkan arsitektur prosessor adalah dengan melihat jumlah alamat yang terkandung dalam setiap instruksinya. 
  • Jumlah alamat maksimum yang mungkin diperlukan dalam sebuah instruksi :
             1.  Empat Alamat (dua operand, satu hasil, satu untuk alamat instruksi
                                         berikutnya)

             2. Tiga Alamat (dua operand, satu hasil)

             3. Dua Alamat (satu operand merangkap hasil, satunya lagi operand)

             4. Satu Alamat (menggunakan accumulator untuk menyimpan operand dan
                                     hasilnya) 

Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan
1. O – Address Instruction

2. 1 – Addreess Instruction.

3. N – Address Instruction

4. M + N – Address Instruction
 Macam-macam instruksi menurut sifat akses terhadap memori atau register
1. Memori To Register Instruction

2. Memori To Memori Instruction

3. Register To Register Instruction

Sumber : Mata Kuliah Mikroprosesor Bpk. Dr. Joko Purnomo







Minggu, 02 November 2014

Arsitektur Komputer



PENGERTIAN ARSITEKTUR KOMPUTER

     Arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer. Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya). Dalam hal ini, implementasi perencanaan dari masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cacheRAMROMcakram keras, dll). Pada dasarnya arsitektur komputer adalah terdiri dari elemen sebagai berikut:

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

1.Prosesor atau Central Processing Unit (CPU)
     CPU merupakan tempat untuk melakukan pemrosesan instruksi-instruksi dan pengendalian sistem komputer. Pada perkembangan komputer modern, setiap prosesor terdiri atas:

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

  • Arithmatic Logical Unit (ALU)

           Arithmatic Logical 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.

  • Bus

          Bus merupakan penghubung antara semua komponen CPU. Bus berupa sekumpulan kabel-kabel paralel untuk mentransmisikan alamat (address), data, dan sinyal-sinyal kontrol.

2.Memori
        Memori adalah bagian dari komputer yang digunakan untuk menyimpan program atau instruksi dan data-data. Beberapa pakar komputer menggunakan istilah store atau storage untuk menamakan memori, meskipun kata storage sering digunakan untuk menamakan tempat penyimpanan disket. Peran memori sangat penting supaya program maupun data dapat disimpan pada sistem komputer, sehingga lebih memudahkan dalam pengoperasian komputer. Terdapat dua jenis memori dalam sistem komputer, yaitu memori utama dan memori sekunder.

  • Memori Utama

         Dalam sebuah sistem komputer, memori utama berfungsi untuk menyimpan program yang sedang atau akan dijalankan dalam prosesor. Untuk mengimbangi kinerja prosesor yang cenderung sangat cepat, kecepatan akses memori juga harus relatif cepat, meskipun tidak secepat prosesor. Setiap lokasi penyimpanan dalam memori ditunjukkan melalui sebuah alamat (address) dengan panjang sesuai ukuran memori, biasanya dalam bilangan heksadesimal. Besar kapasitas memori diukur dengan satuan bit atau byte. Satu alamat memori dapat menyimpan 8-32 bit bilangan biner tergantung dari jenis memori.

  • Memori Sekunder

      Dalam sebuah sistem komputer, memori sekunder berfungsi untuk menyimpan program maupun data dalam bentuk file dalam ukuran yang cukup besar. Karena sifatnya yang non-volatile, data dan program dapat disimpan secara permanen meskipun mesin sedang dimatikan. Memori sekunder dapat melakukan proses penulisan, pembacaan, dan penghapusan data.

3.Input-Output

  • Input

            Perangkat input merupakan peralatan yang dapat digunakan untuk menerima data yang akan diolah ke dalam komputer. Perangkat ini yang digunakan oleh pengguna untuk melakukan interaksi dengan komputer agar komputer melaksanakan perintah yang diberikan oleh penggunanya. Prinsip kerja yang dilakukan perangkat input adalah merubah perintah yang dapat dipahami oleh manusia kepada bentuk yang dipahami oleh komputer.

  • Output

       Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara. Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf,angka, simbol khusus), image (dalam bentuk grafik atau gambar), suara, dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form). Peralatan output dapat berupa:
  • Hard-copy device, yaitu alat yang digunakan untuk mencetak tulisan dan image pada media keras seperti kertas atau film.
  • Soft-copy device, yaitu alat yang digunakan untuk menampilkan tulisan dan image pada media lunak yang berupa sinyal elektronik. 
  • Drive device atau driver, yaitu alat yang digunakan untuk merekam simbol dalam bentuk yang hanya dapat dibaca oleh mesin pada media seperti magnetic disk atau magnetic tape. Alat ini berfungsi ganda, sebagai alat output dan juga sebagai alat input.
Sumber :

http://id.wikipedia.org/wiki/Arsitektur_komputer 
http://indrarmcf.blogspot.com/2014/01/penjelasan-organisasi-arsitektur.htm 
http://nenisayang.blogspot.com/ 
http://riesaelektro.blogspot.com/  

Sabtu, 01 November 2014

STRUKTUR DASAR DAN ORGANISASI KOMPUTER


Sebuah komputer moderen/digital dengan program yang tersimpan di dalamnya merupakan sebuah sistem yang memanipulasi dan memproses informasi menurut kumpulan instruksi yang diberikan. Sistem tersebut dirancang dari modul-modul hardware seperti :
1. Register
2. Elemen aritmatika dan logika
3. Unit pengendali
4. Unit memori
5. Unit masukan/keluaran (I/O)

Komputer dapat dibagi menjadi 3 bagian utama, yaitu :
1. Unit pengolahan pusat (CPU)
CPU merupakan bagian fungsional yang utama dari sebuah sistem komputer, dapat dikatakan bahwa CPU merupakan otak dari sebuah komputer. Di dalam CPU inilah semua kerja komputer dilakukan. Hal-hal yang perlu dilakukan CPU adalah:

1. Membaca, mengkodekan dan mengeksekusi instruksi program
2. Mengirim data dari dan ke memori, serta dari dan ke bagian input/output.
3. Merespon interupsi dari luar.

2. Unit memori
MEMORI Adalah bagian fungsional komputer yang berfungsi untuk menyimpan program dan data.

• RAM (Random Access Memory)

Adalah memori yang dapat dibaca atau ditulisi. Data dalam sebuah RAM bersifat volatile, artinya data akan terhapus bila catu daya dihilangkan. Karena sifat RAM yang volatile ini, maka program computer tidak tersimpan di RAM. RAM hanya digunakan untuk mcnyimpaii data seinantara, yang ticlak begilu vital saal aliran daya terpiilus.

• ROM (Read Only Memory)

adalah memori yang hanya dapat dibaca. Data yang tersimpan dalam ROM bersifat non-volatile, artinya data tidak akan lerhapus meskipun catu daya IcrpuWis. Kaicna sil’alnya yang dcinikiaii, maka ROM dipergunakan untuk menyimpan program. Ada beberapa tipe ROM, diantaranya ROM murni, PROM, dan EPROM.

3. Unit masukan/keluaran (I/O)
Input
Perangkat input merupakan peralatan yang dapat digunakan untuk menerima data yang akan diolah ke dalam komputer. Perangkat ini yang digunakan oleh pengguna untuk melakukan interaksi dengan komputer agar komputer melaksanakan perintah yang diberikan oleh penggunanya. Prinsip kerja yang dilakukan perangkat input adalah merubah perintah yang dapat dipahami oleh manusia kepada bentuk yang dipahami oleh computer.

Output
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara. Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, simbol khusus), image (dalam bentuk grafik atau gambar), suara, dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form). Peralatan output dapat berupa:
  • Hard-copy device, yaitu alat yang digunakan untuk mencetak tulisan dan image pada media keras seperti kertas atau film.
  • Soft-copy device, yaitu alat yang digunakan untuk menampilkan tulisan dan image pada media lunak yang berupa sinyal elektronik.
·         Drive device atau driver, yaitu alat yang digunakan untuk merekam simbol dalam bentuk yang hanya dapat dibaca oleh mesin pada media seperti magnetic disk atau magnetic tape. Alat ini berfungsi ganda, sebagai alat output dan juga sebagai alat input.
Untuk lebih memahami konsep komputer anda bisa perhatikan strktur organisasi komputer berikut penjelasannya :

1. Input Device (Alat Masukan)
Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer

2. Output Device (Alat Keluaran)
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.

3. I/O Ports
Bagian ini digunakan untuk menerima ataupun mengirim data ke luar sistem. Peralatan input dan output di atas terhubung melalui port ini.

4. CPU (Central Processing Unit)
PU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit) sebagai pengontrol kerja komputer.

5. Memori
Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal. Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu, dan ROM (Read Only Memory) yaitu memori yang haya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan.

6. Data Bus
Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel.

7. Address Bus
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca. Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.

8. Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 samapai 10 jalur paralel.

Sumber :