Sabtu, 17 November 2018

Pembahasan Tentang bas CPU dan ALU


1. CPU
CPU ( Central Processing Unit ) merupakan perangkat keras computer yang memiliki fungsi untuk menerima dan melaksanakan perintah dan data dari perangat lunak. CPU merupakan otak dari computer. Tanpa adanya CPU, maka computer tidak akan berfungsi sebagai mestinya. CPU memiliki fungsi untuk menjalankan program yang telah disimpan dalam memori utama, dengan cara mengambil intruksi kemudian menguji intruksi dan mengeksekusinya sesuai alur perintah. Fungsi CPU :
1.    CPU akan mengatur dan mengendalikan alat-alat input output.
2.    CPU mampu mengambil intruksi-intruksi dari memori utama
3.    CPU akan mengambil data dari memori utama untuk di proses
4.    CPU akan mengirimkan intruksi ke ALU jika ada perhitungan aritmatika.
5.    CPU akan mengawasi kerja dari ALU .
6.    CPU akan menyimpan hasil proses ke memori utama.

 Kompenen Utama CPU
Dalam mewujudkan fungsi dan tugasnya, CPU tersusun atas beberapa komponen, yaitu Arithmetic  and Logic  Unit  (ALU), Control Unit, Registers, dan CPU Interconnections.


 Gambar 1. komponen internal CPU

·                      Arithmetic  and Logic  Unit  (ALU), 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. Seperti  istilahnya, ALU  terdiri  dari  dua  bagian, yaitu unit  arithmetika  dan unit  logika  boolean, yang  masing  – masing memiliki spesifikasi tugas tersendiri.
·                     Control Unit, bertugas mengontrol operasi CPU dan secara keselurahan mengontrol komputer sehingga  terjadi  sinkronisasi  kerja  antar  komponen dalam  menjalankan fungsi  – fungsi operasinya. Termasuk  dalam  tanggung  jawab unit  kontrol  adalah mengambil  instruksi  –instruksi dari memori utama dan menentukan jenis instruksi tersebut.
·                     Registers, adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data.Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya.
·                     CPU Interconnections, adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register – register dan juga dengan bus – bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan/keluaran.

 2. Sistem Bus
1.      PENGERTIAN BUS SYSTEM 
Sistem bus atau bus system dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur –jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus. 

2BUS
       Pengertian bus adalah bagian dari sistem komputer yang berfungsi untuk memindahkan data antar bagian- bagian d lam sistem komputer. Data dipindahkan dari piranti masukan ke CPU, CPU ke memori, atau dari memori ke piranti keluaran. Bus meruppakan jalur komunikasi yang dibagi pemakai suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Sistem bus adalah sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU, Memori, I/O). Sistem bus adalah penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya.
         Bus System dapat dibedakan atas :
1.      Data Bus ( Saluran Data )
2.      Address Bus ( Saluran Alamat )
3.      Control Bus ( Saluran Kendali )

      Struktur sistem bus
   a)      Data bus ( Saluran Data )
Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Saluran ini secara kolektif disebut bus data. Umunya bus data terdiri dari 8, 16, 32 saluran.
   b)     Address Bus ( Saluran Alamat ) 

1.      Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya , bila CPU akan membaca sebuah word dat adari memroi, maka CPU akan menaruh alamt word yang dimaksud pada saluran alamat.
2.      Digunakan untuk mengirinkan alamat word pada memori yang akan diakses CPU.
3.      Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
4.      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 hardwarenya.

   c)    Control Bus ( Saluran Control )
Saluran kontrol digunakan untuk mengontrol akses ke saluran alamat dan penggunaan data. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat unruk mengintrol penggunaanya.

3. ALU (Arithmatic Logical Unit)
Pengertian ALU
ALU atau yang biasa disebut dengan Arithmetic Logical Unit adalah suatu komponen dalam sistem komputer yang memiliki 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 dalamALU di simpan ke dalam memori 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. 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.

Fungsi ALU
Fungsi ALU (Arithmetic Logical Unit)  adalah untuk melakukan suatu proses data yang berbentuk angka dan logika, seperti data matematika dan statistika. ALU terdiri dari register-register untuk menyimpan informasi. Tugas utama dari ALU adalah melakukan perhitungan aritmatika (matematika) dan melakukan keputusan dari operasi sesuai dengan instruksi program yaitu operasi logika (logical operation).  Sirkuit yang digunakan oleh ALU ini disebut dengana dder karena Adder  digunakan untuk memproses operasi aritmetika, maka Adder juga sering disebut rangkaian kombinasional aritmetika. Ada 3 jenis Adder yaitu:
·                     Rangkaian Adder  yang hanya menjumlahkan dua bit disebut Half Adder. 
·                     Rangkaian Adder  yang menjumlahkan tiga bit disebut Full Adder.
·                     Rangkaian Adder yang menjumlahkan banyak bit disebut paralel Adder. 

Cara Kerja ALU


Gambar 2. 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. 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.

                       
 4. REGISTER
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses, dan dibentuk oleh 16 titik elektronis di dalam chip mikroprosessor itu sendiri. Dengan adanya tempat-tempat penampungan data sementara ini, proses pengolahan akan bisa dilakukan secara jauh lebih cepat dibandingkan apabila data-data tersebut harus diambil langsung dari lokasi-lokasi memori.Register yang dibahas di sini adalah register-register yang terdapat pada mikroporsesor keluarga Intel dari 80386-80486, yang mana terdiri dari : general purpose register (register serbaguna), pointer register (register pointer), index register (register indeks), segment register (register segmen), dan flag register (register status). Register-register tersebut semuanya menggunakan register 32-bit, kecuali register segmen yang hanya memiliki lebar 16-bit. Selain sebagai register 32-bit, register lain (selain register segmen) dapat digunakan sebagai register 16-bit, dan khusus untuk register serbaguna dapat digunakan untuk register 8-bit. Pada masa mikroprosesor 16-bit, semua registernya adalah 16-bit, kecuali register serbaguna yang dapat berfungsi sebagai register 16-bit dan 8-bit. Sedangkan pada masa mikroprosesor 8-bit register-registernya adalah register 8-bit, kecuali register status yang lebarnya 16-bit.
Berikut adalah penjelasan dari masing-masing register di atas.
General Purpose Register (Scratch-Pad Register), terdiri dari:
·         AX (AH + AL) - Accumulator Register
·         BX (BH + BL) - Base Register
·         CX (CH + CL) - Counter Register
·         DX (DH + DL) - Data Register
- Segment Register
·         CS - Code Segment Register
·         DS - Data Segment Register
·         SS - Stack Segment Register
·         ES - Extra Segment Register
- Pointer Register
·         IP - Instruction Pointer Register
·         SP - Stack Pointer Register
·         BP - Base Pointer Register
- Index Register
·         SI - Source Index Register
·         DI - Destination Index Register
- Flag Register

·         GENERAL PURPOSE REGISTER

General Purpose Register terdiri dari emapt register yang mempunyai kemampuan 16 bit dan dapat dibagi menjadi Register Low dan High Bits yang masing-masing berkemampuan 8 bit.

Register AX
Register AX merupakan register aritmatik, karena register ini selalu dipakai dalam operasi penambahan, pengurangan, perkalian dan pembagian.
Setiap register general purpose mempunyai Register Low dan Register High, maka untuk AX register low-nya adlaah AL dan register high-nya adalah AH. Register AH merupakan tempat menaruh nilai service number untuk beberapa Interrupt tertentu.

Register BX
Register BX adalah salah satu dari dua register base Addressing Mode yang dapat mengambil atau menulis langsung dari atau ke memori.

Register CX
Register CX merupakan suatu counter untuk meletakkan jumlah lompatan pada Loop yang anda lakukan.

Register DX
Register DX memiliki 3 tugas antara lain:
Membantu AX dalam proses perkalian dan pembagian, terutama perkalian dan pembagian 16 bit.
DX merupakan register offset dari DS
DX bertugas menunjukkan nomor port pada operasi port

·         POINTER REGISTER

Pointer Register bertugas untuk menyimpan offset dari relative address.

Register IP
Pasangan register IP adalah register CS yang merupakan register terpenting untuk menunjukkan baris perintah program. Pada pertama program dijalankan register ini akan langsung menunjuk pada awal program.

Register SP
Pasangan register SP adalah register SS yang digunakan untuk operasi stack. Pada saat program pertama dijalankan register ini akan menunjuk pada byte terakhir stack.

Register BP
Register BP mempunyai fungsi yang sama dengan register BX yaitu dapat menulis dan membaca ke atau dari memori secara langsung. 
Perbedaannya adalah BX menulis dan membaca dengan segment SS (Stack Segment).
Register BP digunakan juga dalam komunikasi anatara bahasa komputer, seperti PASCAL dengan Assembler ataupun Turbo C dengan Assembler.


·         INDEX REGISTER

Index Register terdiri dari dua register yaitu register DI dan SI, dimana kedua register ini merupakan register yang dipakai untuk melakukan Operasi String.
Kedua register ini sering digunakan untuk menulis dan membaca ke atau dari memori seperti BX dan BP

·         FLAG REGISTER


| X | X | X | X | O | D | I |T | S | Z | X | A | X | P | X | C |

Flag Bits:
O - Overflow Flag
D - Direction Flag
I - Interrupt Flag
T - Trap Flag
S - Sign Flag
Z - Zero Flag
A - Auxiliary Carry Flag
P - Parity Flag
C - Carry Flag
X - Reserved (kosong)

Flag register ini merupakan suatu komposisi register 16 bit dengan ketentuan  seperti gambar diatas, dimana komposisi bit nya dapat mengecek apakah sesuatu berfungsi atau tidak.

SUMBER:

http://fhariedzth-killms.blogspot.co.id/2012/11/central-processing-unit-cpu.html
https://reddevil2893.wordpress.com/2013/12/05/pengertian-alu-arithmetic-logical-unit-dan-sitem-bus/
https://id.wikipedia.org/wiki/Bus_sistem
http://simuk-warrior.blogspot.co.id/2015/06/pengertian-bus-system-sistem-bus.html


Tidak ada komentar:

Posting Komentar