TUGAS ORGANISASI DAN ARSITEKTUR KOMPUTER # “SET INTRUKSI”

 

   SET INSTRUKSI

            Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karna aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.

            Sebuah instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti darimana asal operand-operand dan kemana hasil-hasil akan ditempatkan. Subyek umum untuk menspesifikasikan di mana operand-operand berada (yaitu, alamat-alamatnya) disebut pengalamatan

             Pada beberapa mesin, semua instruksi memiliki panjang yang sama, pada mesin-mesin yang lain mungkin terdapat banyak panjang berbeda. Instruksi-instruksi mungkin lebih pendek dari, memiliki panjang yang sama seperti, atau lebih panjang dari panjang word. Membuat semua instruksi memiliki panjang yang sama lebih muda dilakukan dan membuat pengkodean lebih mudah tetapi sering memboroskan ruang, karena semua instruksi dengan demikian harus sama panjang seperti instruksi yang paling panjang.

Tugas No.1

TRANSFER DATA 

  • Menetapkan lokasi operand sumber dan operand tujuan.
  • Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas dari pada 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 :
        1. Menetapkan alamat memori.
        2. Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
        3. 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

         arithmetic unit (unit artimetika) secara lazim merupakan istilah yang berhubungan dengan processor (Central Processing Unit / CPU). Ya, arithmetic unit, atau yang juga disebut dengan arithmetic logical unit (ALU) merupakan salah satu komponen yang terdapat di dalam processor. ALU seringkali dianalogikan sebagai “mesin” dari processor karena komponen ini memungkinkan komputer untuk dapat melakukan kalkulasi matematika, seperti penambahan (addition), pengurangan (substraction), atau perkalian (multiplication).

Tindakan CPU untuk melakukan operasi arithmetic : 

         a. Transfer data sebelum atau sesudah. 

         b. Melakukan fungsi dalam ALU. 

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

 

LOGIKA

 

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

  •  Apabila memory mapped I/O maka menentukan alamat memory mapped.
  •  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

 

CONTROL UNIT

           Control unit Adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan / kendali / kontrol terhadap operasi yangdilakukan 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). Pada hardwire implementation control unit sebagai combinational circuit yang dibuat berdasarkan control signal yang akan dikeluarkan. Jadi untuk setiap control signal memiliki rangkaian logika tertentu pada control unit yang dapat menghasilkan control signal yang dimaksud. Secara umum untuk metode ini digunakan PLA (programmable logic array) untuk merepresentasikan control signal.

           Control unit dari sebuah prosesor memiliki 2 peran penting. Pertama, control unit mengatur processor agar melakukan semua micro-operation dalam urutan yang benar. Kedua, control unit menghasilkan control signal yang memastikan supaya semua micro-operation dieksekusi.

  • Keluaran-keluaran unit control
    1. Sinyal control didalam prosesor: terdiri dari dua macam: sinyal-sinyal yang menyebabkan data dipindahkan dari register yang satu keregister yang lainnya, dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu
    2. Sinyal control bagi bus control; sinyal ini juga terdiri dari dua macam:
        1. Sinyal control bagi memori
        2. sinyal control bagi modu-modul I/O
  • 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.
  • Cara Kerja Control Unit
    1. 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.
    2. 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.

     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.

 

Tugas No. 2

  • X = ( A + B x C ) / ( D – E x F )
  • 3 Alamat

         MPY X,B,C

         ADD X,X,A

         MPY Y,E,F

         SUB Y,D,Y

         DIV X,X,Y

         5 operator / operasi

  • 2 Alamat

         MOV X,B

         MPY X,C

        ADD X,A

        MOV Y,E

        MPY Y,F

        SUB D,Y

        DIV X,Y

        7 operator / operasi

  • 1 Alamat

         LOAD E

         MPY F

         STOR X

         LOAD D

         SUB X

         STOR X

         LOAD B

         MPY C

         ADD A

         DIV X

         STOR X

         11 operator / operasi

  • 0 Alamat

         PUSH A

         PUSH B

         PUSH C

         MPY

         ADD

         PUSH D

         PUSH E

         PUSH F

         MPY

         SUB

         DIV

         POP X

        12 operator / operasi