Sabtu, 24 Desember 2016

Proses Paralel

Pemrosesan paralel (parallel processing) adalah penggunaaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.
    Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
     Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:
1.     algoritma
2.     bahasa pemrograman
3.     compiler
        Sebagaian besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software. Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing. Yang terdiri dari empat kelompok komputer.


A. Jaringan Interkoneksi
         Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu media tertentu. Interkoneksi yang efektif antara prosesor dan modul memori sangat penting dalam lingkungan komputer. Menggunakan arsitektur bertopologi bus bukan 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
Gambar Arsitektur Crossbaar

          Fungsi jaringan interkoneksi dalam sistem komputer dan telekomunikasi adalah
untuk mengirimkan informasi dari terminal sumber ke terminal tujuan.

Klasifikasi Jaringan Interkoneksi
            
           
Jaringan interkoneksi dapat dibagi menjadi statis atau jaringan langsung (direct
network), dinamis atau jaringan tidak langsung (undirect network), dan hybrid. Jaringan
hybrid adalah jaringan interkoneksi yang memiliki struktur yang rumit. Untuk
selanjutnya akan dibahas lebih tentang jaringan statis dan dinamis dan dalam Tugas
Akhir ini difokuskan pada jaringan interkoneksi dinamis yaitu jaringan switching Omega.
Gambar Klasifikasi Jaringan Interkoneksi

B.  Mesin SIMD dan MIMD
 
      1. SIMD
           Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda. 
          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.

   2. MIMD
           Organisasi komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam kategori ini.
         MIMD (Multiple Instruction stream-Multiple Data stream), pada sistem komputer MIMD murni terdapat interaksi di antara n pemroses. 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.

C. Arsitek 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



Sumber :
http://organkomputer.blogspot.co.id/2013/04/prosesor-paralel.html
http://repository.usu.ac.id/bitstream/123456789/19839/4/Chapter%20II.pdf
sugiartha.staff.gunadarma.ac.id/Downloads/files/42733/Pendahuluan.pdf
http://myanaa-kampus.blogspot.co.id/2010/01/tugas-pemrosesan-parallel-simd-dan-mimd.html

Kamis, 22 Desember 2016

Pipeline Dan RISC (Reduce Intruction Set Komputer)

A. Pipleline


Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer. Bisa  pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti  pada instruksi yang dijaankan oleh microprocessor.

Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi. Dengan penerapan pipeline ini pada microprocessor akan didapatkan peningkatan kinerja microprocessor. Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam waktu yang bersamaan. Secara kasarnya diharapkan akan didapatkan peningkatan sebesar K kali dibandingkan dengan microprocessor yang tidak menggunakan pipeline, apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah K  tahap.

Karena beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar dan lancar. Sedangkan ketergantungan terhadap data bisa muncul, misalnya instruksi yang berurutan memerlukan data dari instruksi yang sebelumnya. Kasus Jump, juga perlu perhatian, karena ketika sebuah instruksi meminta untuk melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan program counter.

1. Intruksi Pada Pipeline

Tahapan pipeline

·         Mengambil instruksi dan membuffferkannya

·        Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut
·        Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya
Intruksi Pipeline

Contoh Pengerjaan Intruksi Tanpa Pipeline

Contoh Pengerjaan Intruksi Menggunakan Pipeline

Dengan adanya pipeline dua instruksi selesai dilaksanakan padadetik keenam (sedangkan pada kasus tanpa pipeline baru selesai pada detik kesepuluh). Dengan demikian telah terjadi percepatan sebanyak 1,67x dari 10T menjadi hanya 6T. Sedangkan untuk  pengerjaan 3 buah instruksi terjadi percepatan sebanyak 2, 14x dari 15T menjadi hanya 7T.
Untuk kasus pipeline sendiri, 2 instruksi dapat dikerjakan dalam 6T (CPI = 3) dan instruksi dapat dikerjakan dalam 7T (CPT = 2,3) dan untuk 4 instruksi dapat dikerjakan dalam 8T (CPI =2). Ini berarti untuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI = 1,04). Pada kondisi ideal CPI akan harga 1.


B. RISC (Reduce Intruction Set Computer)

                            1. Pengertian RISC
RISC (Reduce Intruction Set Computer) atau komputasi set instruksi yang disederhanakan merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vector. Desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor intel 960, Itanium (IA64) dari Intel Copration. Selain itu RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan strong ARM.

                    2. Perkembangan RISC
Ide dasar prosesor RISC sebenarnya bisa dilacak dari apa yang disarankan oleh von Neumann pada tahun 1946. Von Neumann menyarankan agar rangkaian elektronik untuk konsep logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem agar ber&ungsi atau karena frekuensi penggunaannya cukup tinggi (Hueden, 1992 : 18). jadi ide tentang RISC, yang pada dasarnya adalah untuk menyederhanakan realisasi perangkat keras prosesor dengan melimpahkan sebagian besar tugas kepada perangkat lunaknya, telah ada pada komputer elektronik pertama. Seperti halnya prosesor RISC, komputer elektronik pertama merupakan komputer eksekusi-langsung yang memiliki instruksi sederhana dan mudah didekode.
Hal yang sama dipercayai juga oleh Seymour Cray, spesialis pembuat superkomputer. Pada tahun 1975, berdasarkan kajian yang dilakukannya, Seymour Cray menyimpulkan bahwa penggunaan register sebagai tempat manipulasi data menyebabkan ran'angan instruksi menjadi sangat sederhana. Ketika itu perancang prosesor lain lebih banyak membuat instruksi-instruksi yang merujuk ke memori daripada ke register seperti rancangan Seymour Cray. Sampai akhir tahun 1980an komputer-komputer rancangan Seymour Cray, dalam bentuk superkomputer seri Cray, merupakan komputer-komputer dengan kinerja sangat tinggi. Pada tahun 1975, kelompok peneliti di IBM di bawah pimpinan George radin, mulai merancang komputer berdasar konsep John Cocke. Berdasarkan saran John Cocke, setelah meneliti &rekuensi pemanfaatan instruksi hasil kompilasi suatu program, untuk memperoleh prosesor berkinerja tinggi tidak perlu diimplementasikan instruksi kompleks ke dalam prosesor bila instruksi tersebut dapat dibuat dariinstruksi-instruksi sederhana yang telah dimilikinya.
a. Prosesor RISC Berkeley
Kelompok David Patterson dari Universitas California memulai proyek RISC pada tahun 1980 dengan tujuan menghindari kecenderungan perancangan prosesor yang perangkat instruksinya semakin komplekscsehingga memerlukan peran'angan rangkaian kontrol yang semakin rumitcdari waktu ke waktu. Hipotesis yang diajukan adalah bahwa implementasi instruksi yang kompleks ke dalam perangkat instruksi prosesor justru berdampak negatif pemakaian instruksi tersebut dalam kebanyakan program hasil komplikasi (Heudin, 1992 : 22). Apalagi, instruksi kompleks itu pada dasarnya dapat disusun dari instruksi-instruksi sederhana yang telah dimiliki.
Rancangan prosesor RISC-1 ditujukan untuk mendukung bahasa C, yang dipilih karena popularitasnya dan banyaknya pengguna. Realisasi rancangan diselesaikan oleh kelompok Patterson dalam waktu 6 bulan. Fabrikasi dilakukan oleh MOVIS dan XEROX dengan menggunakan teknologi silikon NMOS (N-channel Metal-oxide Semiconductor) 2 mikron. Hasilnya adalah sebuah 'hip rangkaian terpadu dengan 44.500 buah transistor (Heudin, 1992 : 230). Chip RISC-1 selesai dibuat pada musim panas dengan kecepatan eksekusi ( mikrosekon per instruksi (pada frekuensi detak 1,5 MHz), 4 kali lebih lambat dari kecepatan yang ditargetkan. Tidak tercapainya target itu disebabkan terjadinya sedikit kesalahan perancangan, meskipun kemudian dapat diatasi dengan memodifikasi rancangan assemblernya. Berdasarkan hasil evaluasi, meskipun hanya bekerja pada frekuensi detak 1,5 MHz dan mengandung kesalahan perancangan, RISC-1 terbukti mampu mengeksekusi program bahasa C lebih cepat dari beberapa prosesor cISC, yakni MC6800, Z8002, VAX-11/780, dan PDP-11/70. Hampir bersamaan dengan proses fabrikasi RISC-1, tim Berkeley lain mulai bekerja untuk meranrang RISC-2. Chip yang dihasilkan tidak lagi mengandung kesalahan sehingga mencapai kecepatan operasi yang ditargetkan, 330 nanosekon tiap instruksi (Heudin, 1992 : 27-28).
RISC-2 hanya memerlukan luas chip 25% dari yang dibutuhkan RISC-1 dengan 75% lebih banyak register. Meskipun perangkat instruksi yang ditanamkan sama dengan perangkat instruksi yang dimiliki RISC-1, tetapi di antara keduanya terdapat perbedaan mikroarsitektur perangkat kerasnya. RISC-2 memiliki 138 buah register yang disusun sebagai 8 jendela register, dibandingkan dengan 78 buah register yang disusun sebagai 6 jendela register. Selain itu, juga terdapat perbedaan dalam hal organisasi alur-pipa (pipeline) . RISC-1 memiliki alur-pipa dua tingkat sederhana dengan penjeputan (fetch) dan eksekusi instruksi yang dibuat tumpang-tindih, sedangkan RISC-2 memiliki 3 buah alur-pipa yang masing-masing untuk penjemputan instruksi, pembacaan operan dan eksekusinya, dan penulisan kembali hasilnya ke dalam register. Sukses kedua proyek memacu tim Berkeley untuk mengerjakan proyek SOAR (Smalltalk on RISC) yang dimulai pada tahun 1983.
b. RICS Stanford
Sementara proyek RISC-1 dan RISC-2 dilakukan kelompok Patterson di Universitas  California, pada tahun 1981 itu juga John Hennessy dari Universitas Stanford mengerjakan proyek MIPS (Microprocessor without interlocked Pipeline Stages). Pengalaman riset tentang optimasi kompilator digabungkan dengan teknologi perangkat keras RISC merupakan kunci utama proyek MIPS ini. Tujuan utamanya adalah menghasilkan chip mikroprosesor serbaguna 32-bit yang dirancang untuk mengeksekusi secara efsien kode-kode hasil kompilasi (Heudin, 1992 : 34). Perangkat instruksi prosesor M!PS terdiri atas 31 buah instruksi yang dibagi menjadi 4 kelompok, yakni kelompok instruksi isi dan simpan, kelompok instruksi operasi aritmetika dan logika, kelompok instruksi pengontrol, dan kelompok instruksi lain-lain. MIPS menggunakan lima tingkat alur-pipa tanpa perangkat keras saling-kunci antar alur-pipa tersebut, sehingga kode yang dieksekusi harus benar-benar bebas dari konfik antar alur-pipa.
Direalisasi dengan teknologi NMOS 2 mikron, prosesor MIPS yang memiliki 24.000 transistor ini memiliki kemampuan mengeksekusi satu instruksi setiap 500 nanodetik. Karena menggunakan lima tingkat alur-pipa bagian kontrol prosesor MIPS ini menyita luas chip dua kali lipat dibanding dengan bagian kontrol pada prosesor RISC. MIPS memiliki 16 register dibandingkan dengan 138 buah register pada RISC-2. Hal ini bukan masalah penting karena MIPS memang dirancang untuk mebebankan kerumitan perangkat keras ke dalam perangkat lunak sehingga menghasilkan perangkat keras yang jauh lebih sederhana dan lebih efsien. Perangkat keras yang sederhana akan mempersingkat waktu perancangan, implementasi, dan perbaikan bila terjadi kesalahan. Sukses perancangan MIPS dilanjutkan oleh tim Stanford dengan merancang mikroprosesor yang lebih canggih, yakni MIPS-X. Perancangan dilakukan oleh tim riset MIPS sebelumnya ditambah 6 orang mahasiswa, dan dimulai pada musim panas tahun 1984. Rancangan MIPS-X banyak diperbaruhi oleh MIPS dan RISC-2 dengan beberapa perbedaan utama :
·         Semua instruksi MIPS-X merupakan operasi tunggal dan dieksekusi dalam satu siklus detak
·         Semua instruksi M!PS-X memiliki format tetap dengan panjang instruksi 32-bit
·         MIPS-X dilengkapi pendukung koprosesor yang efsien dan sederhana
·        MIPS-X dilengkapi pendukung untuk digunakan sebagai prosesor dasar dalam sistem multiprosesor memori-bersama (shared memory)
·         MIPS-X dilengkapi chace instruksi dalam-chip yang cukup besar (2 kilobyte)
·         M!PS-X difabrikasi dengan teknologi CMOS-2 mikron.

3. Sifat-Sifat RISC
1.       Semua atau setidak-tidaknya sebagian besar (80%) instruksi harus dieksekusi dalam satu siklus clock.
2.       Semua instruksi harus memiliki satu ukuran standar, yaitu sama dengan ukuran kata dasar (basic word length).
3.       Jumlah jenis instuksinya harus kecil, tidak melebihi 128
4.       Jumlah format isntruksinya harus kecil, tidak melebihi kira-kira 4
5.       Jumlah addressing mode harus kecil, tidak melebihi kira-kira 4
6.       Akses ke memori hanya dilakukan dengan instruksi load dan store.
7.       Semua operasi, kecuali operasi load dan store merupakan operas register ke register di dalam CPU.
8.       Memiliki hardwired control unit.
9.       Memiliki relati& banyak register serbaguna internal CPU

4.Karakteristik RISC
Arsitektur RISC memiliki beberapa karakteristik diantaranya :
1.       Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.


2.       Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit Control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.


3.       Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.

4.       Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan Beld yang tetap pendekodean op'ode dan pengaksesan operand register dapat dilakukan secara bersama-sama.

RISC perlu memperhatikan karakteristik eksekusi instruksi. Adapun aspek-aspek komputasinya adalah :

a.       Operasi-operasi yang dilakukan

b.      perand-operand yang digunakan

c.       Pengurutan eksekusi.


Sumber :
http://www.academia.edu/9124108/Pengertian_Pipeline
http://www.academia.edu/18365931/Makalah_CISC_and_RISC



Rabu, 21 Desember 2016

Arsitektur Famili Komputer IBM PC

                     

                      IBM ( International Business Machines) merupakan sebuah perusahaan hardware yang mengembangkan software - software yang sudah ada seperti UNIX dan WINDOWS. Oleh karena itu IBM sendiri merupakan sebuah perusahaan bukan system operasi, hanya saja IBM mencoba mengembangkan OS yang telah ada seperti OS dari UNIX dan LINUX. 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 antara lain:
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 (sebenarnya merupakan PC AT)
IBM 5170 Personal Computer/Advanced Technology

A. Famili IBM PC Dan Turunannya
                   Komputer personal pertama kali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal   yang terdiri dari set register, ALU dan unit control komputer. 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.

B. Konfigurasi Mikro Komputer Dasar

                  Berdasarkan UkurannyaBerdasarkan ukurannya, komputer digolongkan ke dalam microcomputer (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.

C. Komponen  IBM PC
·         Sistem Kontrol BUS: Pengontrol BUS, Buffer Data, dan Latches Alamat
·         Sistem Kontrol Interrupt: Pengontrol Interrupt
·         Sistem Kontrol RAM dan ROM: Chip RAM dan ROM, Decoder Alamat, dan Buffer
·         Sistem Kontrol DMA: Pengontrol DMA
·         Timer: Timer Interval Programmable
·         Sistem Kontrol I/O: Interface Paralel Programmable


Sumber :
http://www.academia.edu/28409476/arsitektur_famili_komputer
http://icikomputer.blogspot.co.id/2015/09/arsitektur-famili-komputer-ibm.html
http://www.docfoc.com/arsitektur-family-ibm-pc-dan-turunannya

Minggu, 18 Desember 2016

Unit Input / Output


                  Dalam dunia teknologi komputer ada istilah input dan output yang sering terdengar ditelinga kita. Input dan output atau dikenal dengan lambang I/O ini termasuk bagian sistem mikroprosesor yang digunakan untuk menghubungkan komputer dengan perangkat luar, misalnya keyboard, mouse, printer, monitor, dll.

Pengertian input
Input adalah (masukkan) unit/perangkat luar yang dipasang sesuai dengan slot atau portnya masing-masing untuk memasukkan atau mentransfer data dari luar ke dalam mikroprosesor untuk di proses dan diterjemahkan secara digital.
Fungsi input device
Fungsi Input device
pada komputer adalah untuk menerima masukkan data dari perangkat luar yang disambungkan menuju mikroprosesor dan diterjemahkan menjadi sebuah informasi. Data input device yang masuk ke mikroprosesor bisa berupa data signal input atau data maintance input. Signal input berupa data yang masuk ke mikroprosesor dan maintance input berupa program yang dipakai untuk menerjemahkan data signal input. Contoh perangkat input device atau unit input device adalah keyboard, mouse, scanner, webcam, microphone, CD, hardisk dan lain-lain

Pengertian output
Output adalah (keluaran) unit/perangkat luar yang digunakan untuk menampilkan atau menerjemahkan data yang keluar dari mikroprosesor komputer. Perangkat luar yang menangkap output dari sistem mikroprosesor ini misalnya data digital yang ditampilkan pada layar monitor, atau data script yang dicetak pada printer dan sebagainya.
Fungsi output deviceFungsi input device  pada komputer adalah untuk menerima keluaran data dari mikroprosesor CPU komputer yang telah diterjemahkan sehingga dapat berupa gambar, tulisan, suara dan sebagainya. Contoh perangkat output device yang biasanya digunakan untuk menerima hasil olahan komputer seperti printer, monitor, speaker, dan sebagainya.
                                  

A. Sistem Bus

        BUS merupakan 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 )
1.       Data Bus
Lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran.
Tujuan : agar mentransfer word dalam sekali waktu.
Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit

2.       Address Bus
Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data, mengirim alamat word pada memori yang akan diakses CPU, dan digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya

3.       Control Bus
Digunakan untuk mengontrol bus data, bus alamat dan seluruh modul yang ada. Karena bus data dan bus alamat digunakan oleh semua komponen maka diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini.
Sinyal – sinyal kontrol terdiri atas :
·         Sinyal pewaktuan yaitu Sinyal pewaktuan menandakan validitas data dan alamat
·         Sinyal–sinyal perintah yaitu Sinyal perintah berfungsi membentuk suatu operasi
Arsitektur Bus Sistem



B. Standar I/O Interface
           Interface atau antarmuka adalah Penghubung antara dua sistem atau alat media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber daya mengalir dari satu subsistem ke subsistem yang lainnya. Keluaran (output) dari suatu subsistem akan menjadi masukan (input) untuk subsistem lainnya dengan melalui penghubung.

B.1 Interface Aplikasi I/O
                Ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk, sebenarnya aplikasi tersebut harus dapat membedakan jenis disk apa yang akan diaksesnya. Untuk mempermudah pengaksesan, sistem operasi melakukan standarisasi cara pengaksesan pada peralatan Input/Output. Pendekatan inilah yang dinamakan interface aplikasi Input/Output.
                 Interface aplikasi Input/Output melibatkan abstraksi, enkapsulasi, dan software layering. Abstraksi dilakukan dengan membagi-bagi detail peralatan-peralatan Input/Output ke dalam kelas-kelas yang lebih umum. Dengan adanya kelas-kelas yang umum ini, maka akan lebih mudah untuk membuat fungsi-fungsi standar(interface) untuk mengaksesnya. Lalu kemudian adanya device driver pada masing-masing peralatan Input/Output, berfungsi untuk enkapsulasi perbedaan-perbedaan yang ada dari masing-masing anggota kelas-kelas yang umum tadi. Device driver mengenkapsulasi tiap -tiap peralatan Input/Output ke dalam masing-masing 1 kelas yang umum tadi(interface standar). Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller dari subsistem Input/Output pada kernel. Karena hal ini, subsistem Input/Output dapat bersifat independen dari Hardware.
                Karena subsistem Input/Output independen dari hardware maka hal ini akan sangat menguntungkan dari segi pengembangan hardware. Tidak perlu menunggu vendor sistem operasi untuk mengeluarkan support code untuk hardware-hardware baru yang akan dikeluarkan oleh vendor hardware.
Contoh IO Interface


C. Pengaksesan Peralatan I/O
C.1.  Metode Pengaksesan I/O
Pengaksesan I/O terdiri dari dua cara yaitu :
1. Memory mapped I/O
Dimana pirabti I/O dihubungkan sebagai lokasi memory virtual dimana port I/O tergantung pada memori utama.
Karakteristik memory mapped I/O antara lain :
• Port I/O dihubungkan ke bus alamat
• Piranti input sebagai bagian memory yang memberikan data ke bus data. Piranti output ssebagai bagian memori yang memiliki data tersimpan di dalamnya.
2. I/O mapped I/O
Piranti I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori, dimana port I/O tidak tergantung pada memori utama.
karakteristik I/O mapped I/O :
• Port I/O tidak tergantung memori utama
• Transfer informasi dilakukan di bawah kendali sinyal control yang menggunakan instruksi INPUT dan OUTPUT
• Operasi I/O tergantung sinyal kendali dari CPU
• Intruksi I/O mengaktifkan baris kendali read/write pada port I/O, sedangkan instruksi memori akan mengaktifkan baris kendali read/write pada memori
• Ruang memory dan ruang alamat I/O menyatu, sehingga dapat memiliki alamat yang sama.
C.2. Metode Operasi Sistem I/O
1. I/O Terprogram
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.
2. I/O Instruksi (Demand Driven)
Driven I/O memungkinkan proses tidak membuang-buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah-perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
3. Direct Memory Access (DMA)
Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt–Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access. Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi.
C.3. Metode Transfer Data Perangkat I/O
Metode transfer data perangkat input/output terdapat dua macam yaitu, metode software dan metode hardware. Pada metode software, tugas-tugas mengenai operasi input/output dibuat ke dalam suatu program yang dijalankan oleh CPU. Sehingga CPU tidak terbebani secara total dalam operasi I/O. Pada metode hardware, program memberikan tanggungjawab pelaksanaan operasi I/O ke unit hardware lain yang disebut DMA Controller.

Sumber :
http://panduankomputer-laptop.blogspot.com/2016/10/pengertian-input-dan-output.html
http://www.pojokku.com/2014/09/sistem-bus-pada-komputer-dan-jenisnya.html
http://kurniadwisandra.blogspot.co.id/2014/06/system-bus-address-data-control-bus.html
http://irpanpebriyansyah.blogspot.co.id/2012/11/1-unit-inputoutput-io-2-arsitektur_8862.html
http://hausenka.blogspot.co.id/2015/09/metode-pengaksesan-io.html
http://hausenka.blogspot.co.id/2015/09/metode-pengaksesan-io.html



Sabtu, 05 November 2016

CPU

A. Pegertian CPU
             
            CPU (Central Processing Unit) adalah otak atau sumber dari komputer yang mengatur dan memproses seluruh kerja komputer. CPU ini berbentuk IC yang diberi nama sesuai dengan tipenya, misalnya 8088 untuk PC XT dan 80286 untuk PC AT,Pentium IV dan sebagainya. Karena CPU ini berada pada suatu board (papan) yang disebut motherboard dan terletk dalam kotak (casing), sekarang ini orang jadi cenderung menyebut kotak berisi catu daya, disk drive dan motherboard sebagai CPU/ kotak CPU. Di dalam kotak CPU biasanya terdapat 2 buah disket drive yang diberi nama disket drive A dan disket drive B. selain disket drive ada juga yang mempunyai hard disk dan CD ROM.
B. Fungsi  CPU
              
           Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama. Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utama dan mengeksekusinya satu persatu sesuai dengan alur perintah. Pekerjaan ini dilakukan dalam dua tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute). Proses membaca dan melaksankan ini dilakukan berulang-ulang sampai semua instruksi yang terdapat di memori utama dijalankan atau komputer dimatikan. Proses ini dikenal juga sebagai siklus fetch-eksekusi.
1. Sistem BUS

        Sistem Bus yaitu Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Karakteristik penting sebuah bus ialah bahwa bus merupakan media transmisi yang dapat dipakai secara bersamaan. Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sistem komputer.
         Suatu Komputer terdiri dengan beberapa unsur penting seperti CPU, memori, perangkat Input/Output. setiap computer saling terhubung dan membentuk saling terkait fungsinya. Sistem bus adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antara komputer sangatlah terkait dengan mendominasikan  kerja suatu computer. Data atau program yang tersimpan di sebuah memori dapat diakses dan dieksekusi CPU melalui bantuan sistem bus, dengan demikian kita dapat melihat hasil eksekusi melalui monitor juga menggunakan sistem bus.
- Cara Kerja Sistem BUS
  1. Pada sistem komputer akan lebih maju, jika arsitektur komputernya  diciptakan dengan lebih kompleks, sehingga tingkatannya lebih  performa, dan di pakai beberapa buah bus. Bus tersebut merupakan jalur akses data antara beberapa device yang berbeda.
  2. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dikaitkan oleh Otak bus dengan tegangan yang atau biasa disebut dengan sebutan FSB (Front Side Bus) .
  3. Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang tegangannya lebih rendah yang terkait dengan bus lain yang lebih cepat sampai ke Otak bus. Untuk komunikasi antar bus ini dapat digunakan sebuah bridge.
- Jenis BUS

Sedangkan jenis-jenis bus itu sendiri juga dikelompokkan berdasarkan masingmasing kriteria, tapi disini akan di jelaskan Jenis Bus menurut fungsinya masing - masing . Langsung saja berikut Jenis-jenis Bus Berdasarkan Fungsi :
§  Data Bus :
- Berfungsi untuk mengirim data, membawa data dari dan ke perangkat atau periferal
- Terdiri atas bagian tertentu atau jalur penghantar, 8, 16, 32 dan 64 bahkan lebih jalur paralel
- Data ditransmisikan dalam dua jalur, yaitu dari CPU atau mesin proseses ke unit memori atau modul I/O dan sebaliknya.
- Semakin lebar bus maka semakin besar data yang dapat dikirim sewaktu - waktu.
§  Control Bus:
- Berfungsi untuk mensinkronkan proses penerimaan dan pengiriman data.
- Untuk menentukan memori atau port agar siap ditulis atau dibaca.
- Sinyal Kontrol: RD, WR, IO/M
- Sinyal Read dan write : untuk mencari data dari perangkat
§  Address Bus:
- Membawa informasi agar dapat mengetahui tempat suatu perangkat atau periferal
- Untuk memilih tempat memori atau port yang akan ditulis atau dibaca
- Untuk mengatur rute data, muncul dari mana, tujuannya ke mana.
- Bersifat searah, cpu memberikan alamat yang bertujuan untuk mengatur periferal mana yang dituju. Contoh memori mana yang dicari atau I/O mana yang dituju.
- Semakin besar bus alamat, akan semakin banyak range lokasi tempat yang dapat di temukan.
- Jumlah alamat yang dapat dicari pada Bus alamat yaitu sebanyak jumlah yang di tentukan.

2. ALU

 - Pengertian ALU
Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja besama-sama memori, di mana hasil dari perhitungan di dalam ALU di simpan ke dalam memori.
Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner (two’s complement). ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU.

         - Operasi Pada ALU
Operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU melakukan operasi aritmatika yang lainnya seperti pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. ALU melakukan operasi aritmatika dengan dasar pertambahan, sedang operasi aritmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder.

       - Tugas Dan Fungsi ALU
Tugas dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :
a.           sama dengan (=)tidak sama dengan (<>)kurang dari (<)kurang atau sama dengan dari (<=)lebih besar dari (>)lebih besar atau sama dengan dari (>=)

        Arithmatic Logical Unit (ALU) Juga Bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi dan tugas tersendiri. Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain. Arithmetic Logical Unit (ALU) merupakan unit penalaran secara logic.
ALU ini merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut.
ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan.
Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenis prosesor,kecuali untuk prosesor yang compatible dengannya.
Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.
Struktur dan cara kerja ALU

ALU akan bekerja setelah mendapat perintah dari Control Unit yang terletak pada processor. Control Unit akan memberi perintah sesuai dengan komando yang tertulis(terdapat) pada register. Jika isi register memberi perintah untuk melakukan proses penjumlahan, maka PC akan menyuruh ALU untuk melakukan proses penjumlahan. Selain perintah, register pun berisikan operand-operand. Setelah proses ALU selesai, hasil yang terbentuk adalah sebuah register yang berisi hasil atau suatu perintah lainnya. Selain register, ALU pun mengeluarkan suatu flag yang berfungsi untuk memberi tahu kepada kita tentang kondisi suatu processor seperti apakah processor mengalami overflow atau tidak.
ALU (Arithmethic and Logic Unit) adalah bagian dari CPU yang bertanggung jawab dalam proses komputasi dan proses logika. Semua komponen pada CPU bekerja untuk memberikan asupan kepada ALU sehingga bisa dikatakan bahwa ALU adalah inti dari sebuah CPU. Perhitungan pada ALU adalah bentuk bilangan integer yang direpresentasikan dengan bilangan biner. Namun, untuk saat ini, ALU dapat mengerjakan bilangan floating point atau bilangan berkoma, tentu saja dipresentasikan dengan bentuk bilangan biner. ALU mendapatkan data (operand, operator, dan instruksi) yang akan disimpan dalam register. Kemudian data tersebut diolah dengan aturan dan sistem tertentu berdasarkan perintah control unit. Setelah proses ALU dikerjakan, output akan disimpan dalam register yang dapat berupa sebuah data atau sebuah instruksi.
Selain itu, bentuk output yang dihasilkan oleh ALU berupa flag signal. Flag signal ini adalah penanda status dari sebuah CPU. Bilangan integer (bulat) tidak dikenal oleh komputer dengan basis 10. Agar komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b; -0=(10000000)b].
Seperti kita ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan metode 2′s complement. Metode 2′s complement adalah metode yang digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara berikut:
1.             ubah angka 18 menjadi biner (00010010)b
2.             karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
3.             kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
4.             kemudian, dengan sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi irelevansi.
3. Control Unit (CU)
      
Control Unit Adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan /kendali / kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalamCPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPUtersebut. Pada awal  – awal desain komputer, CU diimplementasikan sebagai ad-hoc logic  yang susahuntuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan didalam tempat penyimpanan kontrol (control store). Pada hardwire implementation control unitsebagai combinational circuit yang dibuat berdasarkan control signal yang akan dikeluarkan. Jadiuntuk setiap control signal memiliki rangkaian logika tertentu pada control unit yang dapatmenghasilkan control signal yang dimaksud. Secara umum untuk metode ini digunakan PLA(programmable logic array) untuk merepresentasikan control signal.Control unit dari sebuah prosesor memiliki 2 peran penting. Pertama, control unit mengatur  processor agar melakukan semua micro-operation dalam urutan yang benar. Kedua, control unitmenghasilkan control signal yang memastikan supaya semua micro-operation dieksekusi.Control signal tersebut secara umum menyebabkan salah satu dari hal berikut: pembukaanatau penutupan dari gerbang-gerbang logika, transfer data antara register-register, dan pengoperasianALU.
4. Register
            Register tidak dapat dilepaskan dari mikroprosessor, sebab pada mikroprosessor terdapat register yang berfungsi untuk menyimpan sementara hasil dari tahapan operasi arithmetika dan logika pada mikroprosessor. Register dalam bahasa rakitan menggunakan real mode memory yang sesuai dengan mikroprosessor Intel generasi 8088 s/d Pentium.
Register yang terdapat pada mikroprosessor Intel terdiri dari :
·         General purpose register (register serbaguna)
·         Pointer register (register pointer)
·         Index register (register indeks)
·         Segment register (register segment)
·         Flag register (register status).
Semua register di atas lebarnya 32 bit, kecuali register segment (CS, DS, ES, SS, FS dan GS) hanya 16 bit. Register 32 bit dapat digunakan sebagai register 16 bit, kecuali register General purpose register dapat dibagi menjadi 8 bit (AL,AH, BL, BH, CL, CH, DL dan DH) yang berasal dari 16 bit (AX, BX, CX, DX). Register 32 bit diberi kode di depan register dengan E misalnya: EAX, EBX, ECX dan EDX.
Macam-macam Jenis dan Fungsi Register. Berikut ini jenis dan fungsi dari masing-masing Register yaitu :
1.     General Purpose Register (Register Serbaguna)

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)  adalah register untuk menyimpan alamat offset data yang terletak di memori (BL, BH, BX dan EBX)
c.     Register CX (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) 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.
a.         Data segment -> untuk menunjukkan alamat data pada transfer register
b.         Extra segment -> register tambahan untuk operasi string
c.         Stack segment -> dengan SP u/ menunjukkan stack dan memanggil suatu prosedur (CALL) dan mengarah ke program utama (RET).
d.         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.

Sumber: hasanudin.staff.gunadarma.ac.id/Downloads/files/32415/Central+Processing+Unit.doc
http://www.blognovi.com/2016/04/apa-itu-sistem-bus-dalam-komputer.html
http://www.kampusbaru.net/2016/03/pengertian-register-memory-alu-variabel.html
https://id.scribd.com/doc/151024992/Pengertian-Control-Unit