TUGAS 2 ORGANISASI & ARSITEKTUR KOMPUTER#

TUGAS ORGANISASI &ARSITEKTUR KOMPUTER#

1. Sistem Bus serta hubungannya dalam proses : Read dan Write

2. Cara kerja ALU didalam komputer

 

BAB I

PEMBAHASAN

 

1.1  Pengertian Bus

        Pengertian Bus adalah  bagian dari sistem komputer yang berfungsi untuk memindahkan data antar bagian – bagian dalam sistem komputer. Data dipindahkan dari piranti masukan ke CPU, CPU ke memori, atau dari memori ke piranti keluaran. Bus merupakan 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 beroperasi pada kecepatan dan lebar yang berbeda. PC awal mempunyai bus dengan kecepatan 4.77 MHz dan lebar 8 bit yang dikenal dengan bus ISA (Industry Standard Architecture). Kemudian bus diperbaiki menjadi lebar 16 bit dengan kecepatan 8 MHz. Pada tahun 1990 Intel memperkenalkan bus PCI (Pheriperal Component Interconnect), semula dengan lebar 32 bit, sekarang lebar bus 64 bit dan di-run pada kecepatan 133 MHz. 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 dapat dibedakan atas:

1. Data Bus ( Saluran Data )

2. Address Bus ( Saluran Alamat )

3. Control Bus ( Saluran Kendali )

 

1.2  JENIS – JENIS SISTEM BUS

       Saluran bus dapat dipisahkan menjadi dua tipe umum, yaitu dedicated dan multiplexed. Suatu saluran bus dedicated secara permanen diberi sebuah fungsi atau subset fisik komponen-komponen komputer.

       Sebagai contoh dedikasi fungsi adalah penggunaan alamat dedicated terpisah dan saluran data yang merupakan suatu hal yang umum bagi bus. Namun, hal ini bukanlah hal yang penting. Misalnya, alamat dan informasi data dapat ditransmisikan melalui sejumlah saluran yang sama dengan menggunakan saluran address valid control. Pada awal pemindahan data, alamat ditempatkan pada bus dan address valid control diaktifkan. Pada saat ini, setiap modul memiliki periode waktu tertentu untuk menyalin alamat dan menentukan apakah alamat tersebut merupakan modul beralamat. Kemudian alamat dihapus dari bus dan koneksi bus yang sama digunakan untuk transfer data pembacaan atau penulisan berikutnya. Metode penggunaan saluran yang sama untuk berbagai keperluan ini dikenal sebagai time multiplexing.

       Keuntungan time multiplexing adalah memerlukan saluran yang lebih sedikit, yang menghemat ruang dan biaya. Kerugiannya adalah diperlukannya rangkaian yang lebih kompleks di dalam setiap modul. Terdapat juga penurunan kinerja yang cukup besar karena event-event tertentu yang menggunakan saluran secara bersama-sama tidak dapat berfungsi secara paralel. Dedikasi fisik berkaitan dengan penggunaan multiple bus, yang masing-masing bus itu terhubung dengan hanya sebuah subset modul. Contoh yang umum adalah penggunaan bus I/O untuk menginterkoneksi seluruh modul I/O, kemudian bus ini dihubungkan dengan bus utama melalui sejenis modul adapter I/O. Keuntungan yang utama dari dedikasi fisik adalah throughput yang tinggi karena hanya terjadi kemacetan lalu lintas data yang kecil. Kerugiannya adalah meningkatnya ukuran dan biaya sistem.

 

1.3  STRUKTUR SISTEM BUS

       Sebuah bus sistem terdiri dari 50 hingga 100 saluran yang terpisah. Masing-masing saluran ditandai dengan arti dan fungsi khusus. Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi saluran bus dapat diklasifikasikan menjadi tiga kelompok, yaitu saluran data, saluran alamat, dan saluran kontrol. Selain itu, terdapat pula saluran distribusi daya yang memberikan kebutuhan daya bagi modul yang terhubung. 

a)  Data Bus  ( Saluran Data )

      Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Saluran ini secara kolektif disebut bus data. Umumnya bus data terdiri dari 8, 16, 32 saluran. Jumlah saluran diaktifkan dengan lebar bus data. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit, maka jumlah saluran menentukan jumlah bit yang dapat dipindahkan pada suatu saat. Lebar bus data merupakan faktor penting dalam menentukan kinerja sistem secara keseluruhan. Contohnya bila bus data lebarnya 8 bit dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali mengakses modul memori dalam setiap siklus instruksinya.

       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

b)      Address Bus ( Saluran Alamat )

  • Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya, bila CPU akan membaca sebuah word data dari memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat. Lebar bus alamat akan menentukan kapasitas memori maksimum sistem. Selain itu, umumnya saluran alamat juga dipakai untuk mengalamati port-port input/outoput. Biasanya, bit-bit berorde lebih tinggi dipakai untuk memilih lokasi memori atau port I/O pada modul. Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
  • Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
  • 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.

c)  Control Bus ( Saluran Kontrol )

      Saluran kontrol digunakan untuk mengntrol akses ke saluran alamat dan penggunaan data. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat untuk mengontrol penggunaannya. Sinyal-sinyal kontrol melakukan transmisi baik perintah maupun informasi pewaktuan diantara modul-modul sistem. Sinyal-sinyal pewaktuan menunjukkan validitas data dan informasi alamat. Sinyal-sinyal perintah menspesifikasikan operasi-operasi yang akan dibentuk. Umumnya saluran kontrol meliputi : memory write, memory read, I/O write, I/O read, transfer ACK, bus request, bus grant, interrupt request, interrupt ACK, clock, reset.

Berikut ini adalah fungsi-fungsi yang terdapat pada control bus ( saluran control ):

  • Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
  • Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
  • 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

Gambar 1.1 Sistem Bus 

Di sistem komputer berbasis mikroprosesor, terdapat 3 jalur yang menjadi tempat mengalirnya proses.

  1. Bus Data yang berfungsi mengalirkan data dari/ke mikroprosesor
  2. Bus Alamat/Address  yang berfungsi mengalamati suatu proses dari/ke memori atau I/O
  3. Bus Kontrol yang berfungsi mengatur proses instruksi yang terjadi dari/ke mikroprosesor.

Diilustrasikan pada gambar berikut : 

Gambar 1.2 Hubungan Bus Data, Bus Address dan Bus Kontrol

        Bus Alamat meminta alamat memori dari sebuah memori atau alamat I/O dari suatu peranti I/O. Jika I/O dialamati, maka bus alamat akan memiliki 16 bit alamat dari 0000H sampai FFFFH. Alamat ini disebut juga port number. Port number akan memilih 1 dari 64K (65535) peranti I/O yang berbeda. Jika alamat memori dialamati, maka Bus Alamat akan berisi alamat memori tersebut. Lebar alamat memori tergantung dari tipe mikroprosesor yang dipakai (sekali lagi dalam satuan bit).

        Bus Data berfungsi mengalirkan data dari/ke mikroprosesor ke/dari alamat memori tujuan atau alamat I/O tujuan. Besar kecepatan transfer bus data bervariasi sesuai dengan mikroprosesor yang dipakai.

         Bus Kontrol berisikan instruksi yang mengatur operasi apakah itu read atau write. Ada 4 tipe kontrol yaitu :

  • MRDC (Memory Read Control) yang menyatakan transfer data dari memori ke mikroprosesor
  • MWTC (Memory Write Control) yang menyatakan transfer data dari mikroprosesor ke memori
  • IORC (I/O Read Control) yang menyatakan transfer data dari peranti I/O ke mikroprosesor
  • IOWC (I/O Write Control) yang menyatakan transfer data dari mikroprosesor ke peranti I/O.

Hubungan ketiganya adalah, misalnya jika kita ingin mentransfer data dari mikroprosesor ke memori. Pertama, bus alamat akan mengalamati address tujuan. Lalu bus kontrol akan memberi sinyal MWTC = 0. Barulah bus data akan mentransfer data ke alamat tujuan.

–   Sistem BUS

  1. Penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya
  2. Komponen komputer :
  3. CPU
    1. Memori
    2. Perangkat I/O

–  Transfer data antar komponen komputer.

  1. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus
  2.  Melihat hasil eksekusi melalui monitor juga menggunakan sistem bus
  3. Kecepatan komponen penyusun komputer harus diimbangi kecepatan dan manajemen busyang baik

–  Mikroprosesor

  1. Melakukan pekerjaan secara paralel
  2. Program dijalankan secara multitasking
  3. Sistem bus tidak hanya lebar tapi juga cepat

 1. Jenis Data

  a. Memori :

      Memori umumnya terdiri atas N word memori dengan panjang yang sama. Masing–masing word diberi alamat numerik yang unik (0, 1, 2, …N-1). Word dapat dibaca maupun ditulis pada memori dengan kontrol Read dan Write. Lokasi bagi operasi dispesifikasikan oleh sebuah alamat.

  b. Modul I/O :

      Operasi modul I/O adalah pertukaran data dari dan ke dalam komputer. Berdasakan pandangan internal, modul I/O dipandang sebagai sebuah memori dengan operasi pembacaan dan penulisan. Seperti telah dijelaskan pada bab 6 bahwa modul I/O dapat mengontrol lebih dari sebuah perangkat peripheral. Modul I/O juga dapat mengirimkan sinyal interrupt.

  c. CPU :

      CPU berfungsi sebagai pusat pengolahan dan eksekusi data berdasarkan routine–routine program yang diberikan padanya. CPU mengendalikan seluruh sistem komputer sehingga sebagai konsekuensinya memiliki koneksi ke seluruh modul yang menjadi bagian sistem komputer. 

Gambar 1.3 Modul Komputer

Dari jenis pertukaran data yang diperlukan modul–modul komputer, maka struktur interkoneksi harus mendukung perpindahan data.

  • Memori ke CPU : CPU melakukan pembacaan data maupun instruksi dari memori.
  • CPU ke Memori : CPU melakukan penyimpanan atau penulisan data ke memori.
  • I/O ke CPU : CPU membaca data dari peripheral melalui modul I/O.
  • CPU ke I/O : CPU mengirimkan data ke perangkat peripheral melalui modul I/O.
  • I/O ke Memori atau dari Memori : digunakan pada sistem DMA

Sampai saat ini terjadi perkembangan struktur interkoneksi, namun yang banyak digunakan saat ini adalah sistem bus.

–  Prinsip Operasi Bus

  1. Meminta penggunaan bus.
  2. Apabila telah disetujui, modul akan memindahkan data yang diinginkan ke modul yang dituju

–  Hierarki Multiple Bus

Bila terlalu banyak modul atau perangkat dihubungkan pada bus maka akan terjadi penurunan kinerja

Faktor – faktor :

  1. Semakin besar delay propagasi untuk mengkoordinasikan penggunaan bus.
  2. Antrian penggunaan bus semakin panjang.
  3. Dimungkinkan habisnya kapasitas transfer bus sehingga memperlambat data. 

Gambar 1.4 Arsitektur bus jamak tradisional

 

–  Arsitektur bus jamak

    Prosesor, cache memori dan memori utama terletak pada bus tersendiri pada level tertinggi karena modul – modul tersebut memiliki karakteristik pertukaran data yang tinggi.

Pada arsitektur berkinerja tinggi, modul – modul I/O diklasifikasikan menjadi dua,

  • Memerlukan transfer data berkecepatan tinggi
  • Memerlukan transfer data berkecepatan rendah.

Modul dengan transfer data berkecepatan tinggi disambungkan dengan bus berkecepatan tinggi pula,

Modul yang tidak memerlukan transfer data cepat disambungkan pada bus ekspansi 

Gambar 1.5 Arsitektur bus jamak kinerja tinggi

 

1.4  Elemen-Elemen Rancangan Bus

 Rancangan suatu bus dapat dibedakan atau diklasifikasikan oleh elemen-elemen sebagai berikut :

  1. Jenis Bus

Jenis bus dapat dibedakan atas :

  • Dedicated

Merupakan metode di mana setiap bus ( saluran ) secara permanen diberi fungsi atau subset fisik komponen komputer.

  • Time Multiplexed

Merupakan metode penggunaan bus yang sama untuk berbagai  keperluan, sehingga menghemat ruang dan biaya.

     2. Metode Arbitrasi

         Metode arbitrasi adalah metode pengaturan dari penggunaan bus, dan dapat dibedakan atas :

  • Tersentralisasi : menggunakan arbiter sebagai pengatur sentral
  • Terdistribusi    : setiap bus memiliki access control logic

     3. Timing

         Timing berkaitan dengan cara terjadinya event yang diatur pada bus system, dan dapat dibedakan atas :

  • Synchronous

         Terjadinya event pada bus ditentukan oleh clock ( pewaktu )

  • Asynchronous

        Terjadinya sebuah event pada bus mengikuti dan tergantung pada event sebelumnya

     4.  Lebar Bus

         Semakin lebar bus data, semakin besar bit yang dapat ditransfer pada suatu saat.

    5. Jenis Transfer Data

        Transfer data yang menggunakan bus di antaranya adalah :

     1. Operasi Read

     2. Operasi Write

     3. Operasi Read Modify Write

     4. Operasi Read After Write

     5. Operasi Block

 

A.  PCI

            PCI adalah singkatan dari Peripheral Component Interconnect dan merupakan bus yang tidak tergantung pada prosesor, berbandwith tinggi serta dapat berfungsi sebagai mezzanine atau bus peripheral. PCI memberikan sistem yang lebih baik bagi subsistem I/O berkecepatan tinggi , seperti : graphic display adapter, network interface controller, dan disc controller.

PCI dirancang untuk mendukung bermacam-macam konfigurasi berbasiskan mikroprosesor, baik sistem mikroprosesor tunggal ataupun sistem mikroprosesor jamak.

B.  Future Bus +

    1.    Future Bus + adalah standar bus asinkron berkinerja tinggi yang dibuat oleh IEEE dan didasarkan atas:

    2.    Tidak tergantung pada arsitektur, prosesor dan teknologi tertentu.

    3.    Memiliki protokol transfer asinkron dasar.

    4.    Menyediakan dukungan bagi sistem-sistem yang fault tolerant dan memiliki reliabilitas yang tinggi.

    5.    Menawarkan dukungan langsung terhadap memori berbasis cache yang dapat digunakan bersama.

    6.    Memberikan definisi transportasi pesan yang kompetibel

–  Proses aliran data pada siklus pengambilannya! 

  • Pada saat siklus pengambilan (fetch cycle), instruksi dibaca dari memori.
  • PC berisi alamat instruksi berikutnya yang akan diambil.
  • Alamat ini akan dipindahkan ke MAR dan ditaruh di bus alamat.
  • Unit kontrol meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR dan kemudian dipindahkan ke IR.
  • PC naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya.
  • Siklus selesai, unit kontrol memeriksa isi IR untuk menentukan apakah IR berisi operand specifier yang menggunakan pengalamatan tak langsung.

–  Proses aliran data pada siklus tak langsung! 

  • N bit paling kanan pada MBR, yang berisi referensi alamat, dipindahkan ke MAR.
  • Unit kontrol meminta pembacaan memori, agar mendapatkan alamat operand yang diinginkan ke dalam MBR.
  • Siklus pengambilan dan siklus tak langsung cukup sederhana dan dapat diramalkan.
  • Siklus instruksi (instruction cycle) mengambil banyak bentuk karena bentuk bergantung pada bermacam-macam instruksi mesin yang terdapat di dalam IR.
  • Siklus meliputi pemindahan data di antara register-register, pembacaan atau penulisan dari memori atau I/O, dan atau penggunaan ALU.

–  Proses aliran data pada siklus interupsi! 

  • Isi PC saat itu harus disimpan sehingga CPU dapat melanjutkan aktivitas normal setelah terjadinya interrupt.
  • Cara : Isi PC dipindahkan ke MBR untuk kemudian dituliskan ke dalam memori.
  • Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit kontrol.
  • Lokasi ini berupa stack pointer.
  • PC dimuatkan dengan alamat rutin interrupt.
  • Akibatnya, siklus instruksi berikutnya akan mulai mengambil instruksi yang sesuai.

1.5  KETERKAITAN DAN CONTOH SISTEM BUS

        Sebuah komputer memiliki beberapa bus agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya.

        Bus disusun secara hierarkis karena setiap bus yang memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah satu bus yang ada. Sebagai contoh, kartu grafis AGP akan dihubungkan ke bus AGP. Beberapa perangkat lainnya (utamanya chipset atau kontrolir) akan bertindak sebagai jembatan antara bus-bus yang berbeda. Contoh sebuah kontrolir bus SCSI dapat mengubah sebuah bus menjadi bus SCSI, baik itu bus PCI atau bus PCI Express.

–  Hubungan sistem bus dalam proses read dan write

                                                                           

                                                                                     BAB 2 

                                                                                PEMBAHASAN

2.1. PENGERTIAN ARITHMETIC AND LOGIC UNIT (ALU)

       Arithmatic and Logic Unit (ALU) adalah salah satu bagian/komponen dalam sistem didalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (seperti penjumlahan, pengurangan dan beberapa logika lain). ALU bekerja sama dengan memori, dimana 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.

2.2. SEJARAH ALU

       Aritmetika  yang terbatas pada jumlah yang sangat kecil artifak kecil yang menunjukkan konsep yang jelas penambahan (+) dan pengurangan (-), yang paling terkenal menjadi tulang Ishango dari Afrika tengah, datang dari suatu tempat antara 20.000 dan 18.000 SM.

      Jelas bahwa Babel memiliki pengetahuan yang kokoh dari hampir semua aspek aritmetika dasar oleh 1800 SM, sejarawan meskipun hanya bisa menebak metode yang digunakan untuk menghasilkan hasil aritmetika, seperti yang ditunjukkan. Misalnya, dalam tablet tanah liat Plimpton 322, yang muncul menjadi daftar Pythagoras tiga kali lipat, tetapi tanpa kerja untuk menunjukan bagaimana daftar ini awalnya diproduksi. Demikian pula, Mesir Rhin Mathematical Papyrus (berasal dari sekitar 1650 SM, meskipun jelas salinan teks yang lebih tua dari sekitar 1850 SM) menunjukan bukti penambahan (+), pengurangan (-), perkalian (x), dan pembagian (/) yang digunakan dalam sebagian unit sistem.

      Nicomachus merangkum filsafat Pythagoras pendekatan angka, dan hubungan mereka satu sama lain, dalam Pengenalan aritmatika. Pada saat ini, operasi aritmatika dasar adalah urusan yang sangat rumit, itu adalah metode yang dikenal sebagai “Metode orang-orang Indian” (Latin Modus Indorum) yang menjadi aritmatika yang kita kenal sekarang. Aritmatika India jauh lebih sederhana daripada aritmatika Yunani karena kesederhanaan system angka India, yang memiliki nol dan notasi nilai tempat. Abad ke – 7 Syria Severus Sebokht uskup disebutkan metode ini dengan kekaguman, namun menyatakan bahwa Metode dari India ini tak tertuliskan. Orang-orang Arab belajar metode baru ini dan menyebutkan  Fibonacci (juga dikenal dengan Leonardo dari Paris) memperkenalkan “Metode dari Indian” ke Eropa pada 1202. Dalam bukunya Liber Abaci, Fibonacci mengatakan bahwa dibandingkan dengan metode baru ini, semua metode lain telah kesalahan. Dalam Abad Pertengahan. Aritmatika adalah satu dari tujuh seni liberal diajarkan di universitas.

2.3. 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. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder. 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 arithmatika.

2.4. 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 menggunakan operator logika, yaitu :

       a. sama dengan (=)

       b. tidak sama dengan (<>)

       c. kurang dari (<)

       d. kurang atau sama dengan dari (<=)

       e. lebih besar dari (>)

       f. 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.

2.5. STRUKTUR DAN CARA KERJA PADA ALU

        ALU akan bekerja setelah mendapat perintah dari Control Unit yang terletak pada processor. Contorl 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 suatuperintah 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 Control 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 Ineger Bilangan integer (bulat) tidak dikena 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)
  2. karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 1111111
  3. kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
  4. kemudian, dengna 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.

2.6. ADDER

       Adder merupakan rangkain ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan. Karena adder digunakan untuk memproses operasi aritmatika, maka adder juga sering disebut rangkaian kombinasional aritmatika. Ada 3 jenis Adder, yaitu:

  1. Rangkaian adder yang hanya menjumlahkan dua bit disebut Half Adder.
  2. Rangkaian adder yang hanya menjumlahkan tiga bit disebut Full Adder.
  3. Rangkaian adder yang menjumlahkan banyak bit disebut Paralel Adder.

1. Half Adder.

         Rangkain half adder merupakan dasar bilangan biner yang masing-masing hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap.

  1. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0.
  2. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 1.
  3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. Dengan nilai pindahan Cy (Carry Out) = 1.

Dengan demikian, half adder memiliki dua masukan (A dan B), dan dua keluaran (S dan Cy). 

A

B

S

Cy

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan nilai logika dari gerbang XOR, sedangkan nilai logika Cy sama dengan gerbang logika  AND. Dari tabel diatas, dapat dibuat rangkaian half adder.

2. Full Adder

Full adder adalag mengolah data penjumlahan 3 bit bilangan atau lebih (bit tidak terbatas), oleh karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel dibawah ini.

A

B

C

S

Cy

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

3. Paralel Adder

         Paralel Adder adalah rangkaian Full Adder yang disusun secara paralel dan berfungsi untuk menjumlahkan bilangan biner berapa pun bitnya, tergantung jumlah Full Adder yang diparalelkan. Gambar dibawah ini menunjukan Paralel Adder yang terdiri dari 4 buah Full Adder yang disusun paralel sehingga membentuk sebuah penjumlahan 4 bit.

 

Tinggalkan komentar