Selasa, 31 Oktober 2017

Set Instruksi dan Teknik Pengalamatan Dalam Komputer (Tugas 2)

Set intruksi berupa jenis intruksi teknik pengalamatan, system bust, CPU dan I/O Set Intruksi Mode & Format Pengalamatan SET INSTRUKSI MATERI OR-AR KOMPUTER KARAKTERISTIK DAN FUNGSI 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: 
  • Main or Virtual Memory 
  • CPU Register 
  • 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).

OPCODE OPERAND REFERENCE OPERAND REFERENCE 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 

* Data processing: Arithmetic dan Logic Instructions
* Data storage: Memory instructions
* Data Movement: I/O instructions
* 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 :
          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

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 berdasrkan 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

ADDRESSING MODES 

Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling umum:
* Immediate
* Direct
* Indirect
* Register
* Register Indirect
* Displacement
* Stack 

 Teknik Pengalamatan

Untuk menyimpan data ke dalam memori komputer, tentu memori tersebut diberi identitas (yang disebut dengan alamat/ address) agar ketika data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai dengan data yang pernah diletakkan di sana.
Teknik pengalamatan ini hampir sudah tidak diperlukan lagi oleh pemakai komputer saat ini karena hampir seluruh software yang beredar di pasaran tidak mengharuskan si pemakai menentukan di alamat mana datanya akan disimpan (semua sudah otomatis dilakukan oleh si software).
Jadi, yang kita pelajari adalah bagaimana kira-kira si software tersebut melakukan teknik pengalamatannya, sehingga data yang sudah kita berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali dengan tepat.
Ada tiga teknik dasar untuk pengalamatan, yakni
·    Pemetaan langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing),
·         Pencarian Tabel (directory look-up), dan
·         Kalkulasi (calculating)

          Pemetaan Langsung
Teknik ini dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat rekam yang berbeda spesifikasinya.
Teknik ini juga dapat dijuluki dengan address space dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak tersedia lagi.

     Teknik Pencarian Tabel
Teknik ini dilakukan dengan cara, mengambil seluruh kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi kunci atribut (misalkan NIM) yang telah disorting (diurut) dan alamat memorinya.
Pencarian yang dilakukan di tabel INDEX akan lebih cepat dilakukan dengan teknik pencarian melalui binary search (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan secara sequential.
Nilai key field (kunci atribut) bersifat address space independent (tidak terpengaruh terhadap perubahan organisasi file-nya), yang berubah hanyalah alamat yang ada di INDEX-nya.

      Teknik Kalkulasi Alamat
Perhitungan (kalkulasi) terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat disebut dengan fungsi hash.
Bisa juga fungsi hash digabungkan dengan teknik pencarian seperti tabel di atas, tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan satu jenis saja (fungsi hash saja atau pencarian tabel saja).


Sumber : http://jovanangga.blogspot.co.id/2012/11/set-instruksi-dan-teknik-pengalamatan.html

Minggu, 01 Oktober 2017

Transfer Register dan Mikrooperasi (Tugas 1)


Bahasa Transfer Register
¢  Sistem digital merupakan interkoneksi modul-modul perangkat keras digital yang melakukan tugas-tugas khusus.
¢  Sistem digital à bervariasi dalam ukuran dan kompleksitas, dari rangkaian dengan sedikit IC sampai rangkaian yang kompleks (komputer digital)
¢  Perancangan dilakukan secara modular à modul-modul tersebut terdiri atas register, dekoder, modul-modul aritmetik, rangkaian pengendali, dll)
¢  Modul digital cocok didefinisikan sebagai register yang berisi dan operasi-operasi yang dilakukan pada register tersebut
¢  Operasi-operasi yang dilakukan dan penyimpanan data pada register disebut dengan mikrooperasi
¢  Mikrooperasi merupakan operasi dasar yang terjadi pada informasi yang disimpan pada satu atau lebih register
¢  Organisasi perangkat keras dari suatu komputer digital didefinisikan dengan menentukan
¢  Set/jenis register yang ada dan fungsinya
¢  Urutan mikrooperasi yang terjadi pada informasi biner yang disimpan pada register
¢  Pengendali yang menginisiasikan urutan mikrooperasi

Transfer Register
¢  Register komputer disimbolkan dengan huruf kapital (kadang-kadang diikuti dengan angka indeks) untuk menunjukkan fungsi dari register
¢  Contoh:
  MAR (memory address register) à yang digunakan untuk menyimpan alamat memori
  PC (Program Counter), IR (Instruction Register), R1 (register prosesor), dll
¢  Flip-flop dalam register n-bit dinomori dengan 0 hingga n-1. Dengan indeks 0 adalah pada flip-flop yang paling kanan



¢  Transfer informasi antara satu register ke register yang lain ditunjukkan dengan simbol ¬
¢  Pernyataan R2 ¬ R1
   menunjukkan bahwa terjadi transfer isi register R1 ke register R2. Isi register R1 tidak berubah
¢  Transfer yang terjadi dibawah kendali sinyal kontrol dapat dinyatakan dengan pernyataan if-then
¢  If (P=1) then (R2 ¬ R1)
   dengan P adalah sinyal kendali yang dibangkitkan oleh bagian pengendali
¢  Variabel kendali P sering disebut dengan control function
¢  Control function berupa variabel Boolean yang bernilai 0 atau 1
¢  Operasi transfer register yang melibatkan control function dapat dicontohkan sbb
            P:  R2 ¬ R1
¢  Pernyataan di atas menunjukkan bahwa operasi transfer register dieksekusi hanya jika P=1

Register Transfer
 


¢  N-output register R1 dihubungkan dengan n-input register R2
¢  Register R2 mempunyai load input yang diaktifkan oleh variabel kendali P
¢  Variabel kendali disinkronisasi dengan clock yang masuk ke register ® P diaktifkan pada saat terjadi pulsa naik pada saat t. Pada saat transisi berikutnya pada t+1, terjadi transfer data dari R1 ke R2
¢  Pernyataan T:  R2 ¬ R1,  R1 ¬ R2
   menunjukkan operasi penukaran data pada dua register pada clock yang bersamaan hanya terjadi pada saat T=1


Transfer Bus dan Memori

¢  Komputer digital mempunyai banyak register ® diperlukan jalur yang memungkinkan terjadinya pertukaran data antar register
¢  Jumlah jalur akan semakin banyak jika tiap register saling dihubungkan secara fisik
¢  Cara yang efisien untuk transfer informasi antar register digunakan sistem common bus (bus bersama)
¢  Struktur bus terdiri atas set jalur bersama, satu untuk tiap bit register, hanya satu transfer bit yang diijinkan pada saat tertentu
¢  Sinyal kendali akan menentukan register mana yang dipilih oleh bus pada saat transfer
¢  Salah satu cara untuk membentuk sistem common-bus adalah dengan menggunakan multiplekser. Multiplekser akan menyeleksi register sumber dan kemudian meletakkan informasi biner pada bus
¢  Sistem bus untuk 4 register


¢  Masing-masing register terdiri atas 4-bit, dengan indeks 0 .. 3
¢  Bus terdiri atas empat multiplekser 4x1, masing-masing mempunyai 4 input data dengan indeks 0 .. 3, dan 2-bit input selektor S1 dan S0

¢  Jalur seleksi S1S0 akan memilih 4-bit pada salah satu register dan menempatkannya pada common-bis 4 jalur. Saat S1S0 = 00, semua data berindeks 0 akan terpilih dan diletakkan pada sistem bus ® sehingga terpilih register A

¢  Sistem bus akan memilih k register dengan masing-masing berukuran n-bit untuk menghasilkan common bus n-jalur
  Jumlah multiplekser yang diperlukan adalah n (jumlah bit tiap-tiap register)
  Ukuran multiplekser adalah kx1
¢  Contoh
   Common bus untuk 8 register 16 bit, memerlukan 16 buah multiplekser dengan ukuran 8x1
¢  Transfer informasi dari bus ke register tujuan dapat dilakukan dengan cara:
  menghubungkan jalur bus ke input register tujuan
  mengaktifkan kendali pada register yang terpilih
¢  Transfer register dapat disimbolkan sebagai
               BUS ¬ C,   R1 ¬ BUS
¢  Register C diletakkan di bus, dan isi BUS dimuat ke register R1 dengan cara mengaktifkan input kendalinya. Jika tidak memperhatikan sistem bus, pernyataan diatas dapat ditulis sebagai R1 ¬ C



Bus 3-State
¢  Sistem bus dapat dibangun dari gerbang 3-keadaan
¢  Gerbang 3-keadaan adalah rangkaian digital yang mempunyai 3-keadaan. 2-keadaan adalah logika ‘0’ dan ‘1’, dan keadaan ke-3 adalah keadaan high impedance
¢  Keadaan high impedance ® seperti rangkaian terbuka, yang berarti output terputus dan tidak dalam keadaan ‘0’ atau ‘1’
¢  Simbol Buffer 3-state

 

¢  Bagian input: input normal dan input kendali. Input kendali menentukan keadaan output. Input kontrol berlogika ‘1’, output dalam kondisi enable, dan akan berlaku seperti buffer konvensional. Jika input kontrol berlogika ‘0’, maka output akan dalam kondisi disable dan gerbang dalam keadaan high impedance
¢  Konstruksi sistem bus dengan buffer 3-state



¢  Untuk membentuk common bus 4-register n-bit menggunakan 3-state buffer, diperlukan n rangkaian dengan empat buffer masing-masing (seperti pada gambar sebelumnya). Masing-masing grup 4 buffer menerima satu significant bit dari empat register


Transfer Memori
¢  Transfer informasi dari memori disebut dengan operasi READ
¢  Transfer informasi baru dan kemudian disimpan pada memori disebut dengan operasi WRITE
¢  Memori disimbolkan dengan M
¢  Unit memori menerima alamat dari register yang disebut dengan address register (AR). Data ditransfer ke register, disebut dengan data register (DR). Operasi baca dapat disimbolkan:
                      Read:   DR  ¬  M(AR)
     Terjadi transfer informasi ke register DR dari memori dengan alamat yang tersimpan dalam register AR
¢  Operasi write: mentransfer isi data register ke memori M pada alamat yang terpilih
¢  Anggap input data adalah register R1 dan alamat tersimpan pada AR. Operasi write dapat disimbolkan sebagai:
               Write:    M(AR) ¬ R1
   Yang akan menyebabkan transfer informasi dari R1 ke memori dengan alamat yang ditentukan oleh register AR

Mikrooperasi Aritmetik
¢  Mikrooperasi merupakan operasi dasar yang terdapat pada data yang tersimpan dalam register
¢  Mikrooperasi diklasifikasikan dalam 4 kategori:
  Mikrooperasi transfer register
  Mikrooperasi aritmetika
  Mikrooperasi logika
  Mikrooperasi penggeseran (Shift)
¢  Mikrooperasi aritmetika dasar: penjumlahan, pengurangan, increment, decrement, dan shift
¢  Mikrooperasi penjumlahan disimbolkan sebagai:
          R3 ¬ R1 + R2
   menyatakan bahwa isi register R1 dijumlahkan dengan isi register R2 dan hasilnya ditransfer di register R3
¢  Tabel Mikrooperasi Aritmetika Dasar


¢  tidak termasuk operasi perkalian dan pembagian ® karena lebih kompleks

Binary Adder
¢  Untuk mengimplementasikan mikrooperasi penjumlahan dengan hardware, diperlukan register untuk menyimpan data sementara dan komponen digital yang membentuk operasi penjumlahan. Rangkaian digital yang digunakan untuk penjumlahan adalah full-adder.
¢  Rangkaian digital yang digunakan untuk menjumlahkan dua bilangan biner disebut dengan binary adder
¢  Binary adder dibentuk dari rangkaian full-adder yang di-kaskade-kan. Carry output dari full-adder dihubungkan dengan input carry full-adder berikutnya
¢  Rangkaian Binary Adder 4-bit




Binary Adder-Subtractor
¢  Pengurangan bilangan biner dapat dilakukan dengan operasi komplemen
¢  Pengurangan A - B dapat dilakukan dengan penjumlahan A dengan 2’s complement dari B
¢  Penjumlahan dan pengurangan dapat dikombinasikan menjadi satu rangkaian bersama dengan menggunakan gerbang XOR pada tiap full-adder
¢  Rangkaian
 





¢  Input M sebagai pengendali operasi
¢  M = 0 ® sebagai adder
   Saat M = 0, diperoleh B Å 0 = B. Full adder menerima B dengan carry input 0 sehingga akan mengerjakan A plus B
¢  M = 1 ® sebagai subtractor
   Saat M = 1, diperoleh B Å 1 = B’ dan C0 = 1. Karena B’ + 1 merupakan operasi 2’s complement dari B, maka full adder akan mengerjakan operasi A - B


Binary Incrementer
¢  Mikrooperasi increment menambah satu ke bilangan yang ada pada register
¢  Contoh: nilai 0110 akan menjadi 0111 setelah diincrement
¢  Mikrooperasi dapat diimplementasikan dengan counter biner
¢  Cara yang lain: dapat diimplementasikan dengan menggunakan half-adder
¢  Rangkaian Binary Incrementer

 


Rangkaian Aritmetik
¢  Mikrooperasi aritmetik dapat diimplentasikan dalam sebuah rangkaian aritmetik. Komponen dasar penyusunnya adalah paralel adder. Dengan mengontrol input data ke adder, memungkinkan untuk memperoleh operasi aritmetika yang berbeda

Rangkaian Aritmetik - One Stage of Arithmetic Circuit
 





¢  Terdiri dari 4 full-adder dan 4 buah multiplekser untuk memilih operasi yang berbeda
¢  Terdapat 2 input 4 bit A dan B dan 4-bit output D. Input A terhubung langsung dengan input X pada adder. 4 bit input B terhubung dengan input multiplekser. Multiplekser juga menerima data komplemen B, logika ‘0’ dan ‘1’. Multiplekser dikendalikan oleh input selektor S1 dan S0.
¢  Keluaran binary adder dihitung dari penjumlahan aritmetik berikut
              D = A + Y + Cin
   dengan A adalah bilangan biner 4-bit, Y adalah bilangan biner 4 bit. Cin adalah carry input. Dengan mengatur Y dan input seleksi S1 dan S0 dan membuat Cin ‘1’ atau ‘0’, dimungkinkan untuk membuat 8 mikrooperasi aritmetik




Mikrooperasi Logika
¢  Merupakan operasi biner terhadap string atau bit yang disimpan pada register
¢  Sebagai contoh, mikrooperasi XOR terhadap register R1 dan R2 disimbolkan dengan pernyataan:
         P:     R1 ¬ R1Å R2
   yang menyatakan bahwa mikrooperasi logika dieksekusi untuk setiap bit individual jika variabel kendali P = 1
¢  Contoh:
 
¢  Digunakan simbol spesial untuk mikrooperasi OR, AND, dan komplemen, yaitu Ú, Ù
¢  Contoh:
          P + Q: R1 ¬ R2 + R3, R4 ¬ R5 Ú R6
+ menunjukkan penjumlahan aritmetik
 Ú menunjukkan operasi OR




¢  Tabel Kebenaran untuk 16 Fungsi
 

Implementasi Hardware
¢  One stage of logic circuit






Aplikasi
¢  Mikrooperasi logika berguna untuk memanipulasi bit-bit secara individual atau sebagaian bit yang tersimpan pada register
¢  Dapat digunakan untuk memanipulasi nilai bit, men-delete kelompok bit tertentu, atau meng-insert-kan bit tertentu pada register
¢  Contoh-contoh berikut menunjukkan bit pada register A akan dimanipulasi dengan menggunakan mikrooperasi. Register A adalah register prosesor
Aplikasi - Selective-set
¢  Operasi selective-set >>> membuat nilai bit pada register A bernilai ‘1’ dengan cara membuat bit ‘1’ pada register B




¢  Kedua operand dioperasikan OR


Aplikasi - Selective-complement
¢  Membalik (mengkomplemenkan) bit-bit register A dengan bit ‘1’ pada register B


¢  Kedua operand dioperasikan XOR

Aplikasi - Selective-clear
¢  Meng-clear bit-bit register A dengan nilai ‘1’ pada register B
Mikrooperasi logika sebagai berikut



Aplikasi - Operasi Mask
¢  Meng-clear bit-bit register A dengan nilai bit ‘0’ pada register B




¢  Kedua operand dioperasikan AND

Aplikasi - Operasi Insert
¢  Memasukkan nilai baru ke dalam kelompok bit
¢  Dilakukan dengan cara masking dan kemudian meng-OR-kan dengan nilai yang diinginkan






Aplikasi – Clear
¢  Membandingkan dua register A dan B dan menghasilkan 0 jika dua bilangan sama
 


Mikrooperasi Geser
¢  Mikrooperasi geser digunakan untuk transfer data serial
¢  Juga digunakan bersama-sama dengan operasi aritmetika, logika dan pengolahan data lain
¢  Data pada register dapat digeser kiri atau kanan

Mikrooperasi Geser - Geser Logika
¢  Geser logika adalah transfer 0 melalui input serial
¢  Simbol: shl dan shr
¢  Contoh:
          R1 ¬ shl R1
          R2 ¬ shr R2
¢  merupakan mikrooperasi yang menggeser 1 langkah ke kiri isi register R1 atau menggeser 1 langkah ke kanan isi register R2


Mikrooperasi Geser - Geser Circular (rotasi)
¢  Merotasikan bit register melalui kedua ujungnya tanpa mengalami kehilangan informasi
¢  Dilakukan dengan menghubungkan output serial dengan input serialnya
¢  Menggunakan simbol: cil dan cir

Mikrooperasi Geser – Tabel




Mikrooperasi Geser - Penggeseran Aritmetik
¢  Merupakan mikrooperasi yang menggeser bilangan biner bertanda ke kiri atau ke kanan
¢  Arithmetic shift-left: mengalikan dengan 2
¢  Arithmetic shift-right: membagi dengan 2
¢  harus tidak mengubah bit tanda karena tanda bilangan harus sama saat dibagi atau dikalikan dua

¢  Arithmetic Shift-Right




¢  Arithmetic Shift-Left: insert bit ‘0’ ke R0, dan geser semua bit ke kiri. Jika terjadi perubahan bit tanda berarti terjadi overflow. Overflow Vs dapat dideteksi dengan:
¢  Vs = 0 ® tidak overflow, Vs =1 ® overflow

Mikrooperasi Geser - Implementasi Hardware
¢  Implementasi dilakukan dengan menggunakan paralel load
¢  Informasi dapat ditransfer melalui register secara paralel dan kemudian digeser ke kiri ataupun ke kanan
¢  Dalam konfigurasi ini, diperlukan pulsa clock untuk memuat data ke register, dan clock lain untuk menginisiasi pergeseran
 









Arithmetic Logic Shift Unit
¢  Aritmetik, logika dan rangkaian penggeseran dapat dikombinasikan menjadi sebuah ALU dengan variabel selektor bersama