Minggu, 31 Desember 2017

Teknik-Teknik Pemrosesan Paralel (Tugas 4)

           Suatu komputer serial terdiri atas sebuah unit memori utama untuk penyimpanan data dan instruksi, sebuah CPU untuk menginterpretasikan dan menjalankan instruksi-instruksi tersebut serta piranti-piranti I/O. Setiap operasi komputer, mulai proses fetch awal pada sebuah instruksi sampai eksekusinya untuk menyimpan atau menuliskan hasil-hasilnya, biasanya dilakukan secara sekuensial, yaitu satu per satu. Sebuah komputer paralel mempunyai kemampuan untuk saling tumpang tindih atau menjalankan beberapa operasi ini secara bersamaan waktunya.
       Beberapa cara telah dikembangkan untuk memperkenalkan paralelisme ke dalam arsitektur komputer serial. Beberapa di antaranya adalah sebagai berikut:
  1. Pipelining dapat kita anggap sebagai paralelisme
  2. Unit-unit fungsional berganda (multiple). Daripada memiliki sebuah ALU dalam sebuah CPU untuk menjalankan semua fungsi aritmatika dan logika, kita dapat membangun unit-unit yang terpisah untuk menjalankan fungsi-fungsi yang berbeda. Kita dapat juga memiliki lebih dari satu unit untuk menjalankan suatu fungsi tertentu. Kedua pendekatan itu memungkinkan terjadinya perhitungan paralel.
  3. Tumpang tindih antara operasi-operasi CPU dan I/O. Pada komputer-komputer terdahulu, CPU bertanggung jawab untuk mengarahkan semua operasi I/O dan untuk menjalankan instruksi-instruksi program di dalam memori. Dengan memiliki sebuah prosesor I/O khusus (special purpose) yang menangani semua operasi I/O memungkinkan pelaksanaan instruksi-instruksi program lainnya dijalankan pada waktu yang sama.
  4. Interleaving memori. Interleaving pada memori memungkinkan lebih dari satu word yang di-fetch dari memori pada suatu waktu. Dalam hubungannya dengan teknik-teknik paralelisme lainnya, cara ini dapat digunakan untuk menyediakan instruksi dan data dalam kecepatan yang tinggin.
  5. Multiprograming. Dari titik pandang sistem komputer, multiprograming merupakan jenis paralelisme. Dalam kasus ini, kejadiannya merupakan program-program yang dijalankan secara sekuensial pada interval waktu yang sama.
  6. Multiprosesing. Daripada kita memiliki sebuah CPU dalam sebuah sistem, kita dapat menggunakan beberapa prosesor yang bekerja bersama-sama pada permasalahan yang sama dan menghasilkan paralelisme. Dalam kasus ini, kejadian-kejadian itu dapat berupa bagian dari suatu program tunggal atau suatu program yang benar-benar terpisah. Kejadiannya yang pertama lebih sulit, kecuali jika program-program tersebut ditulis dalam suatu bahasa yang sama.
Arsitektur yang dibahas dalam bab ini menggunakan metode-metode ini, baik secara individual maupun kombinasi, untuk menjalankan paralelisme dalam suatu komputer.

Sistem Input/Output (Tugas 3)

  • Sistem Masukan & Keluaran Komputer
Bagaimana modul I/O dapat menjalankan tugasnya, yaitu menjembatani CPU dan memori dengan dunia luar merupakan hal yang terpenting untuk kita ketahui. Inti mempelajari sistem I/O suatu komputer adalah mengetahui fungsi dan struktur modul I/O. Perhatikan gambar yang menyajikan model generik modul I/O.

Gambar Model generik dari suatu modul I/O

  • Fungsi Modul I/O
Modul I/O adalah suatu komponen dalam sistem komputer yang bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut dengan memori utama ataupun dengan register – register CPU. Dalam mewujudkan hal ini, diperlukan antarmuka internal dengan komputer (CPU dan memori utama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi – fungsi pengontrolan.

Fungsi dalam menjalankan tugas bagi modul I/O dapat dibagi menjadi beberapa katagori, yaitu:
• Kontrol dan pewaktuan.
• Komunikasi CPU.
• Komunikasi perangkat eksternal.
• Pem-buffer-an data.
• Deteksi kesalahan.

Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer. Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih perangkat dengan pola tidak menentu dan kecepatan transfer komunikasi data yang beragam, baik dengan perangkat internal seperti register – register, memori utama, memori sekunder, perangkat peripheral. Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan. Contoh kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah – langkah berikut ini :
1. Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
2. Modul I/O memberi jawaban atas permintaan CPU.
3. Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan
mengirimkan perintah ke modul I/O.
4. Modul I/O akan menerima paket data dengan panjang tertentu dari peripheral.
5. Selanjutnya data dikirim ke CPU setelah diadakan sinkronisasi panjang data dan kecepatan transfer oleh modul I/O sehingga paket – paket data dapat diterima CPU dengan baik.

Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan modul I/O akan melibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih. Adapun fungsi komunikasi antara CPU dan modul I/O meliputi proses – proses berikut :
• Command Decoding, yaitu modul I/O menerima perintah – perintah dari CPU yang dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read sector, Scan record ID, Format disk.
• Data, pertukaran data antara CPU dan modul I/O melalui bus data.
• Status Reporting, yaitu pelaporan kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status kondisi Busy atau Ready. Juga status bermacam – macam kondisi kesalahan (error).
• Address Recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheral yang dikontrolnya.

Pada sisi modul I/O ke perangkat peripheral juga terdapat komunikasi yang meliputi
komunikasi data, kontrol maupun status. Perhatikan gambar berikut.
 Gambar Skema suatu perangkat peripheral

Fungsi selanjutnya adalah buffering. Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada CPU. Umumnya laju transfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpan.
Fungsi terakhir adalah deteksi kesalahan. Apabila pada perangkat peripheral terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut. Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis, kertas habis, dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.

  • Struktur Modul I/O
Terdapat berbagai macam modul I/O seiring perkembangan komputer itu sendiri, contoh yang sederhana dan fleksibel adalah Intel 8255A yang sering disebut PPI (Programmable Peripheral Interface). Bagaimanapun kompleksitas suatu modul I/O, terdapat kemiripan struktur, seperti terlihat pada gambar.

Gambar Blok diagram struktur modul I/O

Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga saluran, yaitu saluran data, saluran alamat dan saluran kontrol. Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini.

-----------------------------------------------------------------------------------------------------------------
TUGAS TAMBAHAN

Prose Pembangkitan
Pembangkitan tenaga listrik sebagian besar dilakukan dengan cara memutar generator sinkron sehingga didapat tenaga listrik dengan tegangan bolak-balik tiga fasa. Energi mekanik yang diperlukan untuk memutar generator sinkron didapat dari mesin penggerak generator atau biasa disebut penggerak mula (pime mover). Mesin penggerak generator yang banyak digunakan dalam praktik, yaitu : mesin diesel, turbin uap, turbin air, dan turbin gas. Mesin-mesin penggerak generator ini mendapat energi dari:
  • Proses pembakaran bahan bakar (mesin-mesin termal)
  • Air terjun (turbin air)
         Jadi, sesungguhnya mesin penggerak generator melakukan konversi energi primer menjadi energi mekanik penggerak generator. Proses konversi energi primer menjadi energi mekanik menimbulkan "produk" sampingan berupa limbah dan kebisingan yang perlu dikendalikan agar tidak menimbulkan masalah lingkungan.
         Dari segi ekonomi teknik, komponen biaya penyediaan tenaga listrik yang terbesar adalah biaya pembangkitan, khususnya biaya bahan bakar. Oleh sebab itu, berbagai teknik untuk menekan biaya bahan bakar terus berkembang, baik dari segi unit pembangkit secara individu maupun dari segi operasi sistem tenaga listrik secara terpadu.
          Pusat listrik adalah tempat di mana proses pembangkitan tenaga listrik dilakukan. Mengingat proses pembangkitan tenaga listrik merupakan proses konversi energi primer (bahan bakar atau potensi tenaga air) menjadi energi mekanik penggerak generator, di mana selanjutnya energi mekanik ini diubah menjadi energi listrik oleh generator, maka dalam pusat listrik umumnya terdapat:

a. Instalasi Energi Primer, yaitu instalasi bahan bakar atau instalasi tenaga air.
b. Instalasi Mesin Penggerak Generator, yaitu instalasi yang berfungsi sebagai pengubah energi primer menjadi energi mekanik penggerak generator. Mesin penggerak ini dapat berupa ketel uap beserta turbin uap, mesin diesel, turbin gas, atau turbin air.
c. Instalasi Pendingin, yaitu instalasi yang berfungsi mendinginkan instalasi mesin penggerak yang menggunakan bahan bakar.
d. Instalasi Listrik, yaitu instalasi yang secara garis besar terdiri dari:
  • Instalasi Tegangan Tinggi, yaitu instalasi yang menyalurkan energi listrik yang dibangkitkan generator.
  • Instalasi Tegangan Rendah, yaitu instalasi alat-alat bantu dan instalasi penerangan.
  • Instalasi Arus Searah, yaitu instalasi yang terdiri dari baterai aki beserta sistem pengisian dan jaringan arus searah yang terutama digunakan untuk proteksi, kontrol, dan telekomunikasi.


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