Jumat, 03 Februari 2017

PROSESOR PARALEL

Ø  Paralel prosesor.
Pararel prosesor adalah suatu prosesor dimana pelaksanaan instruksinya secara bersamaan waktunya.
Sehingga menyebabkan pelaksanaan suatu kejadian :

1. dalam interval waktu yang sama
2. dalam dalam waktu yang bersamaan
3. dalam waktu yang saling tumpang tindih

Ø  Teknik Pemrosesan Paralel
Pada prosesor paralel memiliki beberapa teknik pemrosesan :

1. Pipelining
2. Unit-unit fungsional berganda
3. Tumpang tindih antara operasi CPUdan I/O
4. Interleaving memori
5. Multiprograming
6. Multiprosesing

1. JARINGAN INTERKONEKSI .
    Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu media tertentu. Interkoneksi yang efektif antara prosesor dan modul memorisangat penting dalam lingkungan komputer. Menggunakan arsitektur bertopologi  busbukan merupakan solusi yang praktis karena bus hanya sebuah pilihan yang baik ketika digunakan untuk menghubungkan komponen-komponen dengan jumlah yang sedikit.

    Jumlah komponen dalam sebuah modul IC bertambah seiring waktu. Oleh karena itu, topologi  bus bukan topologi yang cocok untuk kebutuhan interkoneksi komponenkomponen di dalam modul IC. Selain itu juga tidak dapat diskalakan, diuji, dan kurang dapat disesuaikan, serta menghasilkan kinerja toleransi kesalahan yang kecil.

    Di sisi lain, sebuah  crossbar yang ditunjukkan pada  Gambar 2.2  menyediakan interkoneksi penuh diantara semua terminal dari  suatu  sistem  tetapi  dianggap sangat kompleks, mahal untuk membuatnya, dan sulit untuk dikendalikan. Untuk alasan ini jaringan interkoneksi merupakan solusi media komunikasi yang baik untuk sistem komputer dan telekomunikasi. Jaringan ini membatasi jalur-jalur diantara terminal komunikasi yang berbeda untuk mengurangi kerumitan dalam menyusun elemen switching .

2. Mesin SIMD.
   SIMD adalah singkatan dari Single Instruction, Multiple Data, merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk menangani jumlah data yang sangat banyak dalam paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala besar, meski sekarang telah ditemukan pada komputer pribadi.
    Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik data (data point), yang umum terjadi dalam aplikasi multimedia. Salah satu contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap pixel dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit brightness dari porsi warna merah (red), hijau (green), dan biru (blue). Untuk melakukan perubahan brightness, nilai R, G, dan B akan dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke memori.

Prosesor yang memiliki SIMD menawarkan dua keunggulan, yakni:

·    Data langsung dapat dipahami dalam bentuk blok data, dibandingkan dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan menggunakan blok data, prosesor dapat memuat data secara keseluruhan pada waktu yang sama. Daripada melakukan beberapa instruksi "ambil pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi saja, yaitu "ambil semua pixel itu!" (istilah "semua" adalah nilai yang berbeda dari satu desain ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika dibandingkan dengan desain prosesor tradisional yang tidak memiliki SIMD (yang memberikan satu instruksi untuk satu data saja).

·    Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain, sistem SIMD dapat bekerja dengan memuat beberapa titik data secara sekaligus, dan melakukan operasi terhadap titik data secara sekaligus.


3. Mesin MIMD.
     MIMD adalah sebuah singkatan dari, (Multiple Instruction stream-Multiple Data stream)
yaitu sebuah komputer yang memiliki beberapa prosesor yang bersifat otonomus yang mampu melakukan instruksi yang berbeda pada data yang berbeda. Sistem terdistribusi umumnya dikenal sebagai MIMD, entah itu menggunakan satu ruangan memori secara bersama-sama atau sebuah ruangan memori yang terdistribusi.

     Pada sistem komputer MIMD murni terdapat interaksi di antara pemrosesan. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses.
Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara pemroses rendah.

4. ARSITEKTUR PENGGANTI.
Dalam bidang teknik komputer, arsitektur pengganti merupakan konsep perencanaan atau struktur pengoperasian dasar dalam komputer atau bisa dikatakan rencana cetak biru dan deskripsi fungsional kebutuhan dari perangkat keras yang didesain. implementasi perencanaan dari masing-masing bagian seperti CPU, RAM, ROM, Memory Cache, dll.

ttp://id.scribd.com/doc/17220400/Paralel-Prosesor
http://repository.usu.ac.id/bitstream/123456789/19839/4/Chapter%20II.pdf
http://id.wikipedia.org/wiki/SIMD
http://soulofmine.wordpress.com/2011/04/01/parallel-processing/

Pipelining RISC (Reduced Instruction Set Computer)


Pipelining
Pipelining yaitu suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesan. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistemkomputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijalankan oleh microprocessor.
Reduced Instruction Set Computer (RISC, bahasa Inggris untuk “Komputasi set instruksi yang disederhanakan”) adalah filosofi desain untuk prosesor komputer, yang lebih suka menggunakan instruksi mesin sederhana. Istilah ini diciptakan pada tahun 1980 oleh David A. Patterson und Carlo H. Séquin. Dengan pembatasan pada perintah sederhana ini, maka desain chip juga menjadi sederhana dan dimungkinkan detak clock yang tinggi (cepat) untuk Prosesor RISC. Lawan dari filosofi disain RISC adalah Complex Instruction Set Computer (CISC).
RISC vs. CISC
Sebuah set instruksi RISC dibebaskan dari perintah yang kompleks – terutama mereka pada saat menggabungkan akses memori (perlahan) dengan operasi aritmatika (cepat). Dengan demikian, tingkat pipa prosesor (processor pipeline) dapat disetel dengan baik, langkah menjadi lebih pendek, pipeline dapat di clock lebih cepat dan dimanfaatkan lebih berimbang, karena jumlah “penyumbatan” (stalls) berkurang. Alhasil, karakteristik ini menghasilkan keuntungan besar dalam efisiensi. Kecuali itu, perintah sederhana juga dapat dikodekan dengan lebar yang seragam, dan dibandingkan arsitektur CISC upaya dekoder menjadi lebih rendah, sehingga latensi pipeline jauh berkurang.
Set instruksi prosesor CISC biasanya diimplementasikan dalam bentuk microcode, sementara pada prosesor RISC, perintah diterapkan secara individu tertanam. Arsitektur RISC digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor. Selain digunakan dalam komputer vektor, desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari International Business Machine. Selain itu, RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard.


http://gudanglinux.com/glossary/risc-reduced-instruction-set-computer/
http://www.digitalinternals.com/hardware/how-pipelining-improves-cpu-performance/113/

Minggu, 18 Desember 2016

Arsitrktur Family IBM / PC



Arsitektur family IBM PC

IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan "dipensiunkan" pada tanggal 2 April 1987. Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga, yakni
• IBM 4860 PCjr
• IBM 5140 Convertible Personal Computer (laptop)
• IBM 5150 Personal Computer (PC yang asli)
• IBM 5155 Portable PC (sebenarnya merupakan PC XT yang portabel)
• IBM 5160 Personal Computer/eXtended Technology
• IBM 5162 Personal Computer/eXtended Technology Model 286
• IBM 5170 Personal Computer/Advanced Technology

Family IBM PC dan turunannya

   Komputer personal pertamakali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal yang terdiri dari set register , ALU dan unit kontrol computer. IBM PC merupakan arsitektur bus tunggal yang disebut PC I/O Channel BUS atau PC BUS. PC BUS melengkapi PC dengan 8 jalur data, 20 jalur alamat, sejumlah jalur kontrol dan ruang alamat fisik PC adalah 1 MB.

KOMPONEN IBM PC
 1. Sistem Kontrol BUS
 2. Sistem Kontrol Intrerrupt
 3. Sistem Kontrol RAM dan ROM
 4. Sistem Kontrol DMA
 5. Timer
 6. SistemKontrol I/O
Konfigurasi microcomputer dasar

Berdasarkan UkurannyaBerdasarkan ukurannya, komputer digolongkan ke dalam micro computer (komputer mikro), mini computer (komputer mini), small computer (komputer kecil), medium computer (komputer menengah), large computer (komputer besar) dan super computer (komputer super). Micro ComputerMicro Computer (Mikro Komputer) disebut juga dengan nama personal computer (komputer personal) . ukuran main memory komputer mikro sekarang berkisar dari 16 MB sampai lebih dari 128 MB, dengan konfigurasi operand register 8 bit, 16 bit, atau 32 bit. Kecepatan komputer mikro sekarang berkisar 200 Mhz sampai dengan 500 Mhz.Komputer mikro umumnya adalah single-user (pemakainya tunggal), yaitu satu komputer hanya dapat digunakan untuk satu pemakai saja untuk tiap saat.
1. Chipset adalah set dari chip yang mendukung kompatibel yang mengimplementasikan berbagai fungsi tertentu seperti pengontrol interupt, pengontrol bus dan timer.
2. Chip khusus yang di sebut koprosesor yang beroperasi bersama dengan CPU guna meningkatkan fungsionalitasnya

Komponen IBM PC

1. Sistem Kontrol BUS : Pengontrol BUS, Buffer Data, dan Latches Alamat
2. Sistem Kontrol Interrupt : Pengontrol Interrupt
3. Sistem Kontrol RAM dan ROM : Chip RAM dan ROM, Decoder Alamat, dan Buffer
4. Sistem Kontrol DMA : Pengontrol DMA
5. Timer : Timer Interval Programmable
6. Sistem Kontrol I/O : Interface Paralel Programmable
https://id.wikipedia.org/wiki/IBM_PC
https://www.scribd.com/doc/33173222/Dasar-Sistem-Mikrokomputer-Mikroprosesor
http://www.academia.edu/24360633/ARSITEKTUR_IBM_SERVER

Listrik I/O


Sistem I/O


   Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan.

   Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah I/O, yaitu:


Perintah control


   Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.
Perintah test.

Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk mengetahui operasi – operasi I/O yang dijalankan serta mendeteksi kesalahannya.
Perintah read.

Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.
Perintah write. Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.

Perangkat I/O terprogram merupakan perangkat I/O komputer yang dikontrol oleh program. Contohnya, perintah mesin in, out, move. Perangkat I/O terprogram tidak sesuai, untuk pengalihan data dengan kecepatan tinggi karena dua alasan yaitu:
Memerlukan overhead (ongkos) yang tinggi, karena beberapa perintah program harus dieksekusi untuk setiap kata data yang dialihkan antara peralatan eksternal dengan memori utama.
Banyak peralatan periferal kecepatan tinggi memiliki mode operasi sinkron, yaitu pengalihan data dikontrol oleh clock frekuensi tetap, tidak tergantung CPU.


Bus System adalah lintasan komunikasi yang menghubungkan dua atau lebih komponen-komponen komputer.
Sebuah bus yang menghubungkan komponen-komponen utama komputer disebut sebagai Bus System. Biasanya sebuah Bus System terdiri dari 50 hingga 100 saluran yang terpisah.



Bus System itu sendri dapat dibedakan menjadi 3 yaitu:
1. Data Bus ( Saluran Data )
2. Address Bus ( Saluran Alamat )
3. Control Bus ( Saluran Kendali )


Selain itu ada 3 jenis Interkoneksi dalam komputer, yaitu :
1. CPU Interconnection










2. I/O Interconnection






3. Memory Interconnection





Pengaksesan Peralatan I/O


I/O biasanya di akses dengan menggunakan perintah atau entupsi

Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai berikut :
Pemroses memberi instruksi ke perangkat I/O kemudian melanjutkan melakukan pekerjaan lainnya.
Perangkat I/O akan menginterupsi meminta layanan saat perangkat telah siap bertukar data dengan pemroses.
Saat menerima interupsi perangkat keras (yang memberitahukan bahwa perangkat siap melakukan transfer), pemroses segera mengeksekusi transfer data.

Keunggulan :

– Pemroses tidak disibukkan menunggui dan menjaga perangkat I/O untuk memeriksa status perangkat.

Kelemahan :
Rate transfer I/O dibatasi kecepatan menguji dan melayani operasi perangkat.
Pemroses terikat ketat dalam mengelola transfer I/O. Sejumlah intruksi harus dieksekusi untuk tiap transfer I/O.




Dengan DMA (direct memory access).

DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan perangkat I/O. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA controller dengan mengirim informasi berikut :
Perintah penulisan/pembacaan.
Alamat perangkat I/O.
Awal lokasi memori yang ditulis/dibaca.
Jumlah word (byte) yang ditulis/dibaca.

Setelah mengirim informasi-informasi itu ke DMA controller, pemroses dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta ke/dari memori secara langsung tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirim sinyal interupsi ke pemroses. Sehingga pemroses hanya dilibatkan pada awal dan akhir transfer data. Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA lepas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.

DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO). Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke pengendali DMA, sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamatalamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.

STANDART I/O Interface


Suatu alat yang digunakana untuk menghubungkan suatu piranati dengan CPU melalui BUS
Fungsi Umum:
Mensinkronkan data transfer antara CPU dan piranti I/O
Fungsi Detail :
1. Penyedia status piranti I/O bagi CPU
2. Memiliki kemampuan interupsi / DMA
3. Mampu mentransfer instruksi CPU ke piranti
4. Mampu berfungsi sebagai buffer storage data transfer
5. Mampu melakukan pengujian kesamaan data
6. Mampu mendecode dan mengencode data
7. Memiliki fasilitas khusus: Konversi data paralel ke serial, Encoding karakter F1,F2
BACKSPACE, DELETE dan lain-lain
8. Menyediakan sinyal status operasi


Strukrur Interface :
1. Register : Kendali (CR) :mencatat instruksi dan informasi dalam piranti
Status (SR) : mencatat status piranti dan mengeluarkan pesan kesalahan
Data Input (IDR) dan Data Ouput : sebagai buffer data untuk operasi input dan output
2. BUS
Receiver : menangani data input
Transciever : sirkuit bidirectional data menangani input maupun output
Driver / Buffer Bus : sirkuit tri state yang menyimpan informasi bus.


Sistem Prosessor I/O
n General Purpose komputer yang berisi sejumlah saluran DMA, CPU tersendiri dan menjalankannya secara paralel
n Fungsi :
Sebagai piranti front end yang menangani setiap aspek I/O dan menyediakan pengendali I/O khusus yang disebut I/O Channel


Instruksi IOP :
1. Instruksi Transfer Data
Input (pembacaan), Output (penulisan) dan membaca informasi status
2. Instruksi General Purpose
Instruksi aritmatika, logika, percabangan (konversi, prioritas operasi, evaluasi alamat, jump instruksi)
3. Instruksi Kendali
Instruksi untuk menangani fungsi piranti I/O khusus yang tidak terlibat dalam transfer data contoh : memindahkan head R/W untuk menentukan lokasi track dan record pada disk.


Format Instruksi IOP :
1. Field Opcode : representasi jenis operasi
2. Field Alamat Memori : alamat awal blok memori yang digunakan untuk transfer
3. Field Word Count : jumlah word yang harus ditransfer
4. Field Kendali : untuk fungsi-fungsi piranti I/O khusus
5. Filed Status : untuk tujuan komunikasi dan pencatatan.


http://1305262.blog.upi.edu/2015/02/16/sistem-input-output-pada-sistem-operasi/
http://www.4shared.com/office/nTJ3iM_t/5_sistem_memori_komputer.html
http://www.pojokku.com/2014/09/sistem-bus-pada-komputer-dan-jenisnya.html

Minggu, 06 November 2016

Central Processing Unit (CPU)


Bus adalah Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai sub sistem. Karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi yang dapat digunakan bersama. Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sistem komputer.
Sistem bus adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antar komponen komputer sangatlah mendominasi kerja suatu computer. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus, begitu juga kita dapat melihat hasil eksekusi melalui monitor juga menggunakan system bus.
Cara Kerja Sistem Bus
·        Pada sistem komputer yang lebih maju, arsitektur  komputernya akan lebih kompleks, sehingga 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.

ALU merupakan bagian inti dari suatu sistem komputer. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatik atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi aritmatik dengan dasar pertambahan, sedang operasi aritmatik yang lainnya seperti pengurangan, perkalian dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatik ini disebut adder.
Tugas lain ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu =, <>, <, >, <+, >=. ALU juga sering disebut mesin bahasa karena ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri.
Fungsi Aritmatika pada sebuah ALU.
Ada banyak jenis angka yang berbeda dan untuk setiap jenis angka yang berbeda tersebut ada perbedaan cara untuk mewakili angka di dalam sistem komputer.  Berbagai jenis data yang berbeda biasanya mencakup bilangan bulat, bilangan real, dan bilangan desimal berkode-biner. Pada umumnya, data digambarkan dalam notasi sign-magnitude, one’s complememnt atau two’s complement. Karena itu logika ALU untuk proses tertentu merupakan fungsi dari jenis angka yang sedang diproses dan bagaimana mereka direpresentasikan. Jika bilangan bulat digambarkan dalam notasi sign-magnitude, maka penambahan pertama-tama dikerjakan dengan memeriksa sign bit dan kemudian menambah atau mengurangi angka, tergantung pada magnitude relatifnya.

Fungsi logika pada sebuah ALU

Dibandingkan fungsi aritmatika, fungsi logika pada ALU lebih sederhana. Untuk segala operasi logika yang ingin diterapkan, hanya perlu memuat sejumlah ngerbang logika tertentu untuk operasi tersebut (satu untuk setiap pasangan bit input). Kesederhanaan fungsi logika ini disebabkan oleh tidak adanya sinyal lateral carry-borrow seperti yang dibutuhkan pada fungsi aritmatika. Semua operasi logika secara ketat dijalankan pada posisi bit tunggal dengan tidak menggunakan informasi dari posisi bit sebelumnya atau pengiriman informasi apapun ke posisi bit berikutnya.
ALU dapat diset untuk menangani berapapun jumlah operasi-mikro logika.  Empat operasi logika dasar biasanya adalah AND, OR, NOR, dan XOR sedangkan operasi logika lainnya yang tidak tercakup secara eksplisit dapat diturunkan dari keempat operasi dasar ini. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder. Kebanyakan operasi komputer dieksekusi dalam unit aritmatika dan logika pada prosesor.
Perhatikanlah suatu contoh umum : Misalkan dua bilangan yang  berada dalam memori ditambahkan. Bilangan tersebut dibawa  ke  prosesor  dan  penambahan  yang  sesungguhnya dilakukan oleh  ALU.  Jumlah tersebut kemudian disimpan dalam memori atau tetap dalam prosesor untuk segera digunakan operasi aritmatika atau logika yang lain misalnya, perkalian, pembagian, atau perbandingan bilangan, diawali dengan membawa operan yang diperlukan ke prosesor, di mana operasi tersebut dilakukan oleh ALU. Pada saat operan dibawa ke prosesor, operan tersebut disimpan dalam elemen penyimpanan kecepatan tinggi yang disebut  register. Tiap  register dapat menyimpan satu word data. Waktu akses ke register lebih cepat daripada waktu akses ke unit cache tercepat hirarki memori.
Pada beberapa sistem komputer untuk memperingan dan membantu tugas ALU dari CPU ini diberi suatu peralatan tambahan yang disebut coprocessorsehingga khususnya proses perhitungan serta pelaksanaan pekerjaan pada umumnya menjadi lebih cepat.

Central Logic Unit

Bertugas mengatur dan mengendalikan semua peralatan yang ada di sistem komputer, yaitu :
- mengatur dan mengendalikan alat-alat input dan output
- mengambil instruksi-instruksi dari memori utama
- mengambil data dari memori utama untuk diproses
- mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU
- mengirim hasil proses ke memori utama untuk disimpan dan pada saatnya disajikan ke alat output.

Set Register
Register merupakan perangkat memori sementara yang menyimpan data. Register membantu CPU dalam melaksanakan instruksi. Mereka dikelola oleh unit kontrol. Register berfungsi untuk tempat penyimpanan yang berisi data dan informasi lainnya yang sering dibutuhkan ketika sebuah program sedang berjalan. Register dimaksudkan untuk dapat diakses dengan sangat cepat. Yang termasuk register di antaranya adalah register uji dan instruksi. Register instruksi berisi instruksi CPU sedangkan register uji dimaksudkan untuk menyimpan hasil kerja yang dilakukan oleh CPU.


Macam-macam Jenis dan Fungsi Register

Berikut ini jenis dan fungsi dari masing-masing Register yaitu :

1. General Purpose Register (Register Serbaguna)

Register untuk keperluan umum yang terdiri atas :

a. Register AX (Accumulator register) berfungsi sebagai tempat:
Sementara hasil suatu operasi arithmetika atau logika (AL, AH, AX dan EAX)

- Memasukkan nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi (register AH).
- Menyimpan bilangan yang dikalikan (reg AL, AX, EAX) dan setengan bagian terkecil (LSB) dari hasil perkalian (register DX-AX dan EDX-EAX).
- Menyimpan setengah bagian terkecil(LSB) sebuah bilangan dibagi (DX-AX dan EDX-EAX) dan hasil bagi (AL, AX, EAX).

b. Register BX (Base Register)
Base register adalah register untuk menyimpan alamat offset data yang terletak di memori (BL, BH, BX dan EBX)

c. Register CX (Counter Register)
Counter register adalah register serbaguna yang berfungsi sebagai:

- Pencacah untuk operasi loop (CX dan ECX)
- Pencacah untuk operasi shift dan rotate (CL)
- Pencacah (counter) untuk operasi string (CX)

d. Register DX (Data register)
Data register adalah register serbaguna yang berfungsi sebagai :

- Penyimpan hasil perkalian 16 bit (DX-AX) dan 32 bit (EDX-EAX).
- Penyimpan hasil pembagian (DX-AX dan EDX-EAX)
- Penyimpan data hexadesimal (kode ASCII) di reg DL untuk dicetak di layar monitor.

2. Pointer Register
Register ini untuk menunjukkan alamat sebuah data di lokasi memori, dipakai saat operasi perpindahan data (dari/ke memori), operasi stack (PUSH/POP) dan penunjukkan alamat suatu instruksi. Berikut adalah macam-macam pointer register: SP (Stack Pointer) dan ESP, BP (Base Pointer) dan IP (Instruction Pointer).

3. Index Register
Sama dengan pointer register, sering digunakan untuk menunjukkan alamat sebuah data di lokasi memori pada operasi string. Macam-macam register Index adalah : SI (Source Index), DI (Destination Index).

4. Segment Register
Segment register membentuk alamat memori untuk data. Pada operasi real mode suatu segment register akan berbeda dengan segment register pada operasi protected mode. Yang termasuk ke dalam segment register antara lain :

- Code segment -> untuk menunjukkan alamt instruksi berikutnya.
- Data segment -> untuk menunjukkan alamat data pada transfer register
- Extra segment -> register tambahan untuk operasi string
- Stack segment -> dengan SP u/ menunjukkan stack dan memanggil suatu prosedur (CALL) dan mengarah ke program utama (RET).
- FS dan GS register -> register tambahan u/ segmen memori yang besar.

5. Flag Register
Berfungsi untuk menunjukkan status (keadaan) sesaat dari mikroprosessor.
Bit-bit pada flag akan mengalami perubahan, tergantung proses yang baru saja berlangsung. Adapun kode bit yaitu sebagai berikut :

- C (carry) -> 1=ada carry out 0= tdk ada carry out
- P (Parity) -> 1=paritas genap 0= paritas ganjil
- A (auxxiliary carry) -> 1=ada carry 0=tdk ada carry
- Z (zero) -> 1=hasilnya nol 0=hasilnya bukan nol
- S (sign) -> 1=hasilnya negatif 0=hasilnya positif
- T (trap) -> bila diset 1 dimungkinkan melakukan debugging.
- I (interrupt) -> 1= pin INTR enable 0=pin INTR disable
- D (direction) -> 1=cacahan turun 0=cacahan naik
- (Overflow) -> menunjukkan adanya kelebihan kapasitas atau tidak
- IOPL (input-output privalege level) -> untuk protected mode
- NT (nested task) -> indikasi dari penggabungan dengan operasi lain.
- RF (resume) -> untuk debugging
- VF (Virtual mode) -> untuk operasi virtual pada protected mode
- AC (alignment check) -> untuk data word dialamati ke memori

Register merupakan tempat menyimpan data sementara yang berada dalam CPU. Register terdiri atas 5 bagian yaitu : General Purpose Register, Pointer Register, Index Register, Segment Register, Flag Register. Fungsi setiap register bermacam-macam sesuai peruntukannya yang telah diatur oleh pembuat mikroprosesor.

Referensi :


ARSITEKTUR SET INSTRUKSI



  Arsitektur Set Instruksi
Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada). ISA merupakan sebuah spesifikasi dari Pullman semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain. ISA kadang-kadang digunakan untuk membedakan kumpulan karakteristik yang disebut di atas dengan mikroarsitektur prosesor, yang merupakan kumpulan teknik desain prosesor untuk mengimplementasikan set instruksi (mencakup microcode, pipeline, sistem cache, manajemen daya, dan lainnya). Komputer-komputer dengan mikroarsitektur berbeda dapat saling berbagi set instruksi yang sama. Sebagai contoh, prosesor Intel Pentium dan prosesor AMD Athlon mengimplementasikan versi yang hampir identik dari set instruksi Intel x86, tetapi jika ditinjau dari desain internalnya, perbedaannya sangat radikal. Konsep ini dapat diperluas untuk ISA-ISA yang unik seperti TIMI yang terdapat dalam IBM System/38 dan IBM IAS/400. TIMI merupakan sebuah ISA yang diimplementasikan sebagai perangkat lunak level rendah yang berfungsi sebagai mesin virtual.
TIMI didesain untuk meningkatkan masa hidup sebuah platform dan aplikasi yang ditulis untuknya, sehingga mengizinkan platform tersebut agar dapat dipindahkan ke perangkat keras yang sama sekali berbeda tanpa harus memodifikasi perangkat lunak (kecuali yang berkaitan dengan TIMI). Hal ini membuat IBM dapat memindahkan platform AS/400 dari arsitektur mikroprosesor CISC ke arsitektur mikroprosesor POWER tanpa harus menulis ulang bagian-bagian dari dalam sistem operasi atau perangkat lunak yang diasosiasikan dengannya. Ketika mendesain mikroarsitektur, para desainer menggunakan Register Transfer Language (RTL) untuk mendefinisikan operasi dari setiap instruksi yang terdapat dalam ISA. Sebuah ISA juga dapat diemulasikan dalam bentuk perangkat lunak oleh sebuah interpreter. Karena terjadi translasi tambahan yang dibutuhkan untuk melakukan emulasi, hal ini memang menjadikannya lebih lambat jika dibandingkan dengan menjalankan program secara langsung di atas perangkat keras yang mengimplementasikan ISA tersebut. Akhir-akhir ini, banyak vendor ISA atau mikroarsitektur yang baru membuat perangkat lunak emulator yang dapat digunakan oleh para pengembang perangkat lunak sebelum implementasi dalam bentuk perangkat keras dirilis oleh vendor.

1.1. Jenis instruksi
·        Data procecessing: Arithmetic dan Logic Instructions

Data processing adalah jenis pemrosesan yang dapat mengubah data menjadi informasi atau pengetahuan. Pemrosesan data ini sering menggunakan komputer sehingga bisa berjalan secara otomatis. Setelah diolah, data ini biasanya mempunyai nilai yang informatif jika dinyatakan dan dikemas secara terorganisir dan rapi, maka istilah pemrosesan data sering dikatakan sebagai sistem informasi. Kedua istilah ini mempunyai arti yang hampir sama, pemrosesan data mengolah dan memanipulasi data mentah menjadi informasi (hasil pengolahan), sedangkan sistem informasi memakai data sebagai bahan masukan dan menghasilkan informasi sebagai produk keluaran.

·        Data storage: Memory instructions

Sering disebut sebagai memori komputer, merujuk kepada komponen komputer, perangkat komputer, dan media perekaman yang mempertahankan data digital yang digunakan untuk beberapa interval waktu. Penyimpanan data komputer menyediakan salah satu tiga fungsi inti dari komputer modern, yakni mempertahankan informasi. Ia merupakan salah satu komponen fundamental yang terdapat di dalam semua komputer modern, dan memiliki keterkaitan dengan mikroprosesor, dan menjadi model komputer yang digunakan semenjak 1940-an.
Dalam penggunaan kontemporer, memori komputer merujuk kepada bentuk media penyimpanan berbahan semikonduktor, yang dikenal dengan sebutan Random Access Memory (RAM), dan kadang-kadang dalam bentuk lainnya yang lebih cepat tapi hanya dapat menyimpan data secara sementara. Akan tetapi, istilah “computer storage” sekarang secara umum merujuk kepada media penyimpanan massal, yang bisa berupa cakram optis, beberapa bentuk media penyimpanan magnetis (seperti halnya hard disk) dan tipe-tipe media penyimpanan lainnya yang lebih lambat ketimbang RAM, tapi memiliki sifat lebih permanen, seperti flash memory.

·        Data Movement: I/O instructions

Data Movement
Proses data movement ini adalah memindahkan (dapat diakatakan membackup juga) data – data dari database yang berupa data, indeks, grand, schema, dan lain – lain ketempat baru. Tempat baru ini bisa ke dalam database baru atau memang untuk dibackup saja.
Data movement terdiri dari 2 bagian besar yaitu:
·         Load & Upload [difokuskan untuk memindahkan data yang berupa indeks atau data itu sendiri alias isi dari database tersebut]
·         Export & Import [memindahkan data secara lengkap, mulai dari grand, schema, dan seluruhnya]

Jika dilihat, load tersebut behubungan dengan import dan upload berhubungan dengan export.
Load berfungsi untuk memasukan data / transaksi ke sebuah table. Dapat dikatakan juga insert, replace, atau update. Sedangkan upload berfungsi untuk membuat dari data table ke fisik / file. Kelemahan load adalah dalam prosesnya bisa saja terjadi data yang tidak berpindah secara sempurna.

Upload Parameter
·             Limit [membatasi beberapa record]
·             Sample [mencari sample yang telah ditentukan]
·                When [berdasarkan kondisi]

Dan pada upload, hanya satu parameter saja yang dapat berjalan alias tak bisa berjalan bersamaan apabila parameternya lebih dari 1.

Bulk Data Movement (Software Pendukung)
·        ETL [Extrat Transform Load], software yang focus terhadap data warehouse
·         Replication and Propagation, software yang memonitoring source database dan target, dan         yang dihasilkan oleh software ini adalah pencatatatn log.

Perlu diperhatikan juga hak akses dalam load & unload, import & export minimal adalah akses select.

Distribution Database
Dalam distribution database terdapat 3 istilah yaitu:
1.     Autonomi [idependent], untuk tabel umum akses yang diberikan berbeda dari setiap user.
2.     Isolation [standalone], untuk tabel khusus (privacy) itu terpisah dari user.
3.     Transparancy [all user], akses tabel terpisah dari user tetapi user masih dapat mengaksesnya.


1.2. TEKNIK PENGALAMATAN
Ada 3 teknik dasar untuk pengalamatan, yaitu:

1.      Pemetaan langsung
Pemetaan langsung (direct mapping), terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing).

a)     Pengalamatan Mutlak
Untuk teknik pengalamatan ‘alamat mutlak’ ini, tidak terlalu mempermasalahkan kunci atribut karena diminta langsung menuliskan di mana alamat record yang akan di masukkan. Jika kita menggunakan hard disk atau magnetic drum, ada dua cara dalam menentukan alamat memorinya, yaitu (1) cylinder addressing dan (2) sector addressing. Jika kita menggunakan cylinder addressing, maka kita harus menetapkan nomor-nomor dari silinder (cylinder), permukaan (surface), dan record, sedangkan bila kita menggunakan sector addressing, maka kita harus menetapkan nomor-nomor dari sektor (sector), lintasan (track), dan permukaan (surface). Teknik ini mudah dalam pemetaan (pemberian) alamat memorinya. Sulitnya pada pengambilan (retrieve) data kembali, jika data yang kita masukkan banyak, kita bisa lupa di mana alamat record tertentu.

b)     Pengalamatan relatif
Teknik ini menjadikan atribut kunci sebagai alamat memorinya, jadi, data dari NIM dijadikan bertipe numeric(integer) dan dijadikan alamat dari record yang bersangkutan. Cara ini memang sangat efektif untuk menemukan kembali record yang sudah disimpan, tetapi sangat boros penggunaan memorinya. Tentu alamat memori mulai dari 1 hingga alamat ke sekian juta tidak digunakan karena nilai dari NIM tidak ada yang kecil. Pelajari keuntungan dan kerugian lainnya.Teknik ini termasuk dalam katagori address space dependent.

2.      Pencarian Tabel (directory look-up)
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. Jadi, sewaktu dilakukan pencarian data, tabel yang pertama dibaca adalah tabel INDEX itu, setelah ditemukan atribut kuncinya, maka data alamat yang ada di sana digunakan untuk meraih alamat record dari data (berkas/ file/ tabel) yang sebenarnya. 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.

3.      Kalkulasi (calculating).
pada teknik pencarian tabel kita harus menyediakan ruang memori untuk menyimpan tabel INDEX-nya, maka pada teknik ini tidak diperlukan hal itu. Yang dilakukan di sini adalah membuat hitungan sedemikian rupa sehingga dengan memasukkan kunci atribut record-nya, alamatnya sudah dapat diketahui. Tinggal masalahnya, bagaimana membuat hitungan dari kunci atribut itu sehingga hasilnya bisa efisien (dalam penggunaan memori) dan tidak berbenturan nilainya (menggunakan alamat yang sama).

1.3. Desain Set Instruksi
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:
·         Kelengkapan set instruksi
·         Ortogonalitas (sifat independensi instruksi)
·         Kompatibilitas: – Source code compatibility – Object code Compatibility

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
·         Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya.
·           Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.
·         Register: Banyaknya register yang dapat digunakan 4 Addressing: Mode pengalamatan untuk operand

Sumber