Selasa, 17 Desember 2019

Pipelining dan RISC


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

B.  Konsep Pipeline 
    Pada umumnya, efisiensi sebuah komputer dinilai beerdasarkan kecepatan perangkat keras dan fasilitas-fasilitas perangkat lunak. Penilaian ini disebut sebagai throughput, didefinisikan sebagai jumlah pemrosesan yang dapat dikerjakan dalam suatu interval waktu tertentu. Salah satu teknik yang mendorong peningkatan suatu sistem throughput yang cukup hebat disebut sebagai pemrosesan pipeline. Konsep pemrosesan pipeline dalam suatu komputer mirip dengan suatu baris perakitan dalam suatu pabrik industri. Ambil contoh, sutu proses pembuatan mobil. Ketika sebuah mobil dibuat, mobil tersebut berpindah sepanjang ban berjalan dengan berurutan, melewati beberapa stasiun. Pada setiap stasiun, dikerjakan sebagian proses konstruksi pada mobil itu, kemudian berpindah lagi ke stasiun berikutnya. Perpindahan mobil itu dari satu stasiun ke stasiun lainnya, memungkinkan beberapa mobil berada pada baris perakitan pada waktu yang bersamaan, masing-masing pada stasiun yang terpisah. Dengan demikian, hal ini mengakibatkan kita menghasilkan mobil dari baris perakitan satu persatu secara berurutan. Tanpa teknik baris perakitan seperti ini, pengerjaan suatu mobil tidak dapat dimulai sampai mobil yang sebelumnya benar-benar selesai.  
      Pemrosesan pipeline dalam suatu komputer diperoleh dengan membagi suatu fungsi yang akan dijalankan menjadi beberapa subfungsi yang lebih kecil dan merancang perangkat keras yang terpisah, disebut sebagai tingkatan (stage), untuk setiap subfungsi. Stage-stage itu kemudian dihubungkan bersama-sama dan membentuk sebuah pipeline tunggal (atau pipe) untuk menjalankan fungsi asli tersebut.

C.  Keuntungan dan Kerugian
   Pipelining tidak membantu dalam semua kasus. Ada beberapa kemungkinan kerugian. Pipa instruksi dikatakan sepenuhnya pipelined jika dapat menerima instruksi baru setiap clock cycle. Sebuah pipa yang tidak sepenuhnya pipelined telah menunggu siklus yang menunda kemajuan pipa.
Keuntungan dari Pipelining :
  • 1 waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi dalam kebanyakan kasus( lebih cepat selesai).
  • Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit. Jika pipelining digunakan sebagai pengganti, hal itu dapat menghemat sirkuit & combinational yang lebih kompleks.
     Pemrosesan dapat dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan dalam satu waktu.
Kekurangan Pipelining :
  • Pipelined prosesor menjalankan beberapa instruksi pada satu waktu. Jika ada beberapa cabang yang mengalami penundaan cabang (penundaan memproses data) dan akibatnya proses yang dilakukan cenderung lebih lama.
  • Instruksi latency di non-pipelined prosesor sedikit lebih rendah daripada dalam pipelined setara. Hal ini disebabkan oleh fakta bahwa intruksi ekstra harus ditambahkan ke jalur data dari prosesor pipeline.
  • Kinerja prosesor di pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.
  • 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.
  • 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.

D.   RISC (Reduced Instruction Set Computer)
   RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi dalam komunikasi diantara arsitektur yang lainnya.
·        Sejarah RISC
      Proyek RISC pertama dibuat oleh IBM, stanford dan UC –Berkeley pada akhir tahun 70 dan awal tahun 80an. IBM 801, Stanford MIPS, dan Barkeley RISC 1 dan 2 dibuat dengan konsep yang sama sehingga dikenal sebagai RISC. 
RISC mempunyai karakteristik :
1.      One Cycle Execution Time : satu putaran eksekusi. Prosessor    RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
2.   Large number of registers: Jumlah register yang sangat banyak. RISC di Desain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
3.  Pipelining: adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan.Sehingga proses instruksi lebih efisien.
    Ciri-ciri :
  1. Instruksi berukuran tunggal
  2. Ukuran yang umum adalah 4 byte
  3. Jumlah pengalamatan data sedikit,
  4. Tidak terdapat pengalamatan tak langsung
  5. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika
  6. Tidak terdapat lebih dari satu operand beralamat memori per instruksi
  7. Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
  8. Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .

E.  Instruksi Pipeline
Tahapan pipeline :
  1. Mengambil instruksi dan membuffferkannya
  2. Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut .
  3. Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya .
Instuksi pipeline:
   Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut.Sebagai contoh:
·         Instruksi 1: ADD  AX, AX
·         Instruksi 2: ADD EX, CX
       Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut (ID). Pada menerjemahkan instruksi  1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).

SUMBER

Arsitektur Family Komputer IBM PC



1. Famili IBM PC dan Turunannya
            IBM PC adalah sebutan untuk keluarga komputer pribadi buatan IBM. IBM PC diperkenalkan pada 12 Agustus 1981, dan "dipensiunkan" pada tanggal 2 April 1987. Komputer personal pertamakali muncul setelah diperkenalkan mikroprosesor, yaitu chip tunggal yang terdiri dari set register , ALU dan unit kontrol computer. IBM PC merupakan arsitektur bus tunggal yang disebut PC I/O Channel BUS atau PC BUS. PC BUS melengkapi PC dengan 8 jalur data, 20 jalur alamat, sejumlah jalur kontrol dan ruang alamat fisik PC adalah 1 MB. 
Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga, yakni :
    - IBM 4860 PCjr
    - IBM 5140 Convertible Personal Computer (laptop)
    - IBM 5150 Personal Computer (PC yang asli)
    - IBM 5155 Portable PC (sebenarnya merupakan PC XT yang portabel)
    - IBM 5160 Personal Computer/eXtended Technology
    - IBM 5162 Personal Computer/eXtended Technology Model 286 (sebenarnya merupakan PC AT)
    - IBM 5170 Personal Computer/Advanced Technology

2. Konfigurasi Mikrokomputer Dasar
            Berdasarkan UkurannyaBerdasarkan ukurannya, komputer digolongkan ke dalam micro computer (komputer mikro), mini computer (komputer mini), small computer (komputer kecil), medium computer (komputer menengah), large computer (komputer besar) dan super computer (komputer super).1.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

3. Komponen IBM PC
    - Sistem kontrol BUS : Pengontrol BUS, Buffer Data, dan Latches Alamat
    - Sistem kontrol interuppt : Pengontrol Interuppt
    - Sistem kontrol RAM & ROM : Chip RAM & ROM, Decoder Alamat, dan Buffer
    - Sistem kontrol DMA : Pengontrol DMA
    - Timer : Timer Interval Programmable
    - Sistem kontrol I/O : Interface Paralel Programmable

4. Sistem Software
   System software adalah abstrak, tidak memiliki bentuk fisik. Software tidak dibatasi oleh material serta tunduk pada hukum-hukum fisika atau oleh proses-proses manufaktur. Pengembangan software serta pengelolaan proyek pengembangan software adalah sulit karena kenyataan-kenyataan sebagai berikut: 
  • Kompleks, sehingga sulit untuk dipahami
  • Tidak tampak, maka pengukuran kualitas software agak   sulit dilakukan dan sulit melacak kemajuan pengembangannya
  • Mudah berubah, karena mudah untuk dimodifikasi namun kita sulit sekali melihat terlebih dahulu konsekuensi dari perubahan-perubahan yang dilakukan. 
Software komputer adalah produk yang dihasilkan melalui serangkaian aktivitas proses rekayasa atau pengembangan, yang menghasilkan aktivitas berupa:
  • Dokumen-dokumen yang menspesifikasikan program yang hendak dibangun
  • Program yang dieksekusi komputer
  • Dokumen yang menjelaskan program dan cara kerjanya program
System software
  • Penetapan Alamat Port I/O
  • Penetapan Vector Interrupt
  • ROM BIOS
  • Penetapan Alamat Memori

5. Manfaat Arsitektural Arsitek Komputer
   Ada empat ukuran pokok yang menentukan keberhasilan arsitektur, yaitu manfaat arsitekturalnya yaitu:
  • Aplicability
  • Maleability
  • Expandibility
  • Comptible
Kinerja Sistem Untuk mengukur kinerja sistem, ada serangkaian program yang standard yang dijalankan yang biasa di sebut Benchmark pada komputer yang akan diuji.

Ukuran Kinerja CPU:
  • MIPS (Million Instruction PerSecond)
  • MFLOP (Million Floating Point PerSecond)
  • VUP (VAX Unit of Performance)

Ukuran Kinerja I/O Sistem:
  • Operasi Bandwith
  • Operasi I/O Perdetik

Ukuran Kinerja Memori:
  • Memoy Bandwith
  • Waktu Akses Memori
  • Ukuran Memori  

Biaya Sistem
Biaya dapat diukur dalam banyak cara diantaranya:
  • Reliabilitas
  • Kemudahan Perbaikan
  • Konsumsi daya
  • Berat
  • Kekebalan
  • Interface Sistem Software

SUMBER

Unit I/O (Input/Output)

Unit Input/Output (I/O)
     I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya). Fungsi I/O pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal ini dikarenakan kode aplikasi sangat fleksible.
  Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar. Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya data yang berasal dari keyboard atau mouse. Sementara unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya data yang akan ditampilkan pada layar monitor atau printer. Bagian input (masukan) dan juga keluaran (output) ini juga memerlukan sinyal kontrol, antara lain untuk baca I/O (Input/Ouput Read (IOR)) dan untuk tulis I/O (Input/Output Write (IOW)).

Sistem Bus
      Perlu sobat ketahui komputer tersusun atas beberapa komponen penting seperti CPU, memori dan perangkat I/O. Ssytem bus adalah penghubung bagi keseluruhan komponen dalam menjalankan tugasnya.
   Bus system menghubungkan CPU dengan RAM mungkin sebuah buffer memory. Memory penyangga (cache L2 ), Bus system merupakan bus pusat. Bus – bus yang lain merupakan pencabangan dari bus ini.
Didalam PC terdapat 2 Bus yaitu :
1. Bus sistem, yang menghubungkan CPU dengan RAM.
2. Bus I/O, yang menghubungkan CPU dengan komponen-komponen lain.
      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 )

Standar Input Output Interface
    Antarmuka (interface) input output berfungsi sebagai penghubung antara perangkat komputer dengan komputer atau  komputer dengan  perangkat input dan output yang lain.
Spesifikasi-spesifikasi interface harus memiliki :
1.    Mekanik, yaitu bentuk fisik dari port, jumlah pin dan lain-lain.
2.    Tegangan Listrik, yaitu karateristik dari tegangan listrik yang diperlukan untuk pengenal data.
3.    Fungsi, yaitu signal-signal yang diguna atau fungsi pin-pin yang ada. 
     Fungsi-fungsitersebut dapat dikategorikan terhadap 4 yaitu:
    - Data
    - Pengontrol
    - Penguat
    - Penetral (ground).
4.    Prosedur, yaitu prosedur atau langkah-langkah penggunaan signal untuk komunikasi data yang berlaku.

Jenis-jenis Interface yang umum Digunakan dalam Komunikasi Data.
-       Interface EIA RS-232
-       Interface DB-9

Prinsip Kerja Antarmuka Input Output
     Perangkat antarmuka input berada di antara jalur masukan yang sebenarnya dengan unit CPU. Adapun manfaat dari perangkat antarmuka input sendiri yaitu untuk melindungi CPU dari sinyal-sinyal yang dapat merusak kinerja maupun ketahanan CPU tersebut. Modul antarmuka ini berfungsi untuk mengubah sinyal-sinyal masukan dari luar ke sinyal-sinyal yang sesuai (sinkron) dengan tegangan kerja CPU yang bersangkutan. Misalnya, input dari sensor dengan tegangan kerja 24 Volt DC harus diubah menjadi tegangan 5 Volt DC agar sesuai dengan tegangan kerja CPUnya.
      Dengan menggunakan pto-isolator, tak ada sambungan dengan menggunakan kabel antara dunia luar dengan CPU. Keduanya dipisahkan secara optic, dimana sinyal-sinyal disampaikan melalui cahaya. Prinsip kerjanya sederhana, piranti eksternal akan memberikan sinyal untuk menghidupkan LED (dalam opto-isolator), sehingga phototransistor akan menerima cahaya kemudian menghantarkan arus (ON=1). CPU akan melihat sinyal tersebut sebagai logika nol (dimana catu antara kolektor dan emitor turun hingga di bawah 1 volt). Demikian pula sebaliknya, ketika sinyal masukan tak ada lagi, LED akan mati dan phototransistor akan berhenti menghantar (OFF). CPU akan melihat sinyal tersebut sebagai logika satu.

Antarmuka Output
     Tak berbeda dengan antarmuka masukan, unit keluaran juga perlu adanya perangkat antarmuka untuk memberikan perlindungan CPU dengan peralatan eksternal. Skema perangkat antarmuka keluaran PLC.
      Cara kerjanya sama dengan perangkat antarmuka masukan. Bedanya, perangkat yang menyalakan dan mematikan LED didalam opto-isolator sekarang adalah CPU, sedangkan yang membaca keadaan arus pada photo-transistor, yaitu perangkat eksternal

Pengaksesan I/O terdiri dari dua cara yaitu :
1.      Memory mapped I/O
      Dimana piranti 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 sebagai 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
·    Instruksi I/O mengaktifkan baris kendali read/write pada port I/O, sedangkan instruksi memori akan mengaktifkan baris kendali read/write pada memori

SUMBER
http://saktiosuryowidagdo.blogspot.com/2016/11/tugas-5-unit-inputoutput.html

Central Processing Unit (CPU)


A.    Central Processing Unit (CPU)
            Central Processing Unit (CPU) adalah otak dari komputer anda. CPU menangani semua instruksi yang anda berikan pada komputer anda, dan semakin cepat ia melakukan hal ini, semakin baik. Pelajari tentang bagaimana proses instruksi CPU dan bagaimana insinyur komputer terus akan datang dengan cara untuk membuatnya berjalan lebih cepat.

·         Pengertian CPU
            Central Processing Unit (CPU) dari sebuah komputer adalah bagian dari hardware yang melaksanakan instruksi dari program komputer. Ia melakukan aritmatika, logis, dan operasi input / output dasar dari sebuah sistem komputer. CPU adalah seperti otak dari komputer – setiap instruksi, tidak peduli seberapa sederhana, harus melalui CPU. Jadi katakanlah anda menekan huruf ‘k’ pada keyboard anda dan muncul di layar – CPU komputer anda adalah apa yang membuat ini mungkin. CPU kadang-kadang disebut sebagai unit pusat prosesor, atau prosesor untuk singkatnya. Jadi, ketika anda melihat spesifikasi komputer di toko elektronik lokal anda, biasanya mengacu pada CPU sebagai prosesor. Ketika kita mulai melihat berbagai komponen CPU dan bagaimana mereka berfungsi, ingat bahwa itu adalah semua tentang kecepatan. Ketika kita menggunakan komputer kita ingin perintah yang dilakukan sangat cepat. Ketika perintah menjadi lebih rumit (misalnya, menciptakan animasi 3D atau mengedit file video), kita menuntut lebih banyak dari CPU. Dengan demikian, kemajuan teknologi yang telah kita lihat dalam teknologi prosesor sebagian besar telah didorong oleh kebutuhan untuk kecepatan.
  
·         Fungsi CPU
            CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmetika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan tombol, pemindai, tuas kontrol, maupun tetikus. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (MAA), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada MAA dengan menentukan alamat data yang dikehendaki.
            Saat sebuah program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara CPU dengan MAA. Data kemudian didekode dengan menggunakan unit proses yang disebut sebagai pendekoder instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit aritmetika dan logika (ALU) yang melakukan kalkulasi dan perbandingan. Data bisa jadi disimpan sementara oleh ALU dalam sebuah lokasi memori yang disebut dengan register supaya dapat diambil kembali dengan cepat untuk diolah. ALU dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik, media penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi. Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan penghitung program akan memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat dieksekusi dengan urutan yang benar dan sesuai.

B.     Sistem 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 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. Sedangkan jenis-jenis bus itu sendiri juga dikelompokkan berdasarkan masingmasing kriteria, tapi disini akan di jelaskan Jenis Bus berdasarkan fungsinya. 

Langsung saja berikut Jenis-jenis Bus Berdasarkan Fungsi :
-       Data bus:
·         Berfungsi untuk mentransfer data, membawa data dari dan ke perangkat atau peripheral.
·         Terdiri atas beberapa jalur penghantar, 8, 16, 32 bahkan 64 bahkan lebih jalur parallel.
·         Data ditransmisikan dalam dua arah, yaitu dari CPU atau mikroprosesor ke unit memori atau Modul I/O dan sebaliknya.
·         Semakin lebar bus maka semakin besar data yang dapat ditransfer sekali waktu.
-       Control Bus:
·         Berfungsi untuk mensinkronkan proses penerimaan dan pengiriman data.
·         Untuk mengatur memori atau port agar siap ditulis atau dibaca.
-       Sinyal Kontrol: RD, WR, IO/M
-       Sinyal Read dan write : untuk mengakses data ke dan dari perangkat
-       Address Bus:
·         Membawa informasi untuk mengetahui lokasi suatu perangkat atau peripheral
·         Untuk memilih lokasi memori atau port yang akan ditulis atau dibaca
·         Untuk menentukan rute data, bersumber dari mana, tujuannya ke mana.
·         Bersifat searah, cpu memberikan alamat yang bertujuan untuk menentukan periferal mana yang dituju. Contoh memori mana yang dituju atau I/O mana yang dituju.
·         Semakin besar bus alamat, akan semakin banyak range lokasi yang dapat dialamati.
·         Jumlah alamat yang dapat dituju pada Bus alamat adalah sebanyak 2n. n jumlah jalur bus alamat.

C.    Pengertian dan Cara Kerja Arithmatic Logical Unit (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 output register, sebelum disimpan dalam memori.
            Pada saat sekarang ini sebuah chip/IC dapat mempunyai beberapa ALU sekaligus yang memungkinkan untuk melakukan kalkulasi secara paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC 74LS382/HC382ALU (TTL). IC ini terdiri dari 20 kaki dan beroperasi dengan 4×2 pin data input (pinA dan pinB) dengan 4 pin keluaran (pinF).
            Arithmatic Logical Unit (ALU), fungsi unit ini 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) yang terjadi sesuai dengan instruksi program. Rangkaian pada ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Adder digunakan untuk memproses operasi aritmetika, Adder juga disebut rangkaian kombinasional aritmatika.

·         Arithmatic Logical 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.
            Pada saat sekarang ini sebuah chip/IC dapat mempunyai beberapa ALU sekaligus yang memungkinkan untuk melakukan kalkulasi secara paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC 74LS382/HC382ALU (TTL). IC ini terdiri dari 20 kaki dan beroperasi dengan 4×2 pin data input (pinA dan pinB) dengan 4 pin keluaran (pinF).
            Arithmatic Logical Unit (ALU), fungsi unit ini 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) yang terjadi sesuai dengan instruksi program. Rangkaian pada ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan de 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.

D.    PENGERTIAN CU ( CONTROL UNIT )
            CU memiliki kepanjangan dari Control Unit . Pengertian Control Unit adalah salah satu unit dari Processor (CPU) yang memiliki fungsi mengontrol atau pengendali dari operasi yang dilakukan oleh ALU ( Arithmetic Logical Unit ) CPU . Output CU akan mengatur aktivitas dari unit lainnya dari perangkat CPU. Pada awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store).  Control Unit dan ALU membentuk suatu unit tersendiri yang disebut Central Processing Unit (CPU).


·         FUNGSI CU ( Control Unit )
1.      Mengatur dan mengontrol peralatan dari input dan output.
2.      Mengambil perintah-perintah  dari memori utama.
3.      Mengambil data dari memori utama kalau diperlukan oleh proses.
4.      Mengirim instruksi ke ALU ketika ada proses yang bersifat perhitungan aritmatika atau perbandingan.
5.      Logika serta mengawasi kerja.
6.      Menyimpan hasil proses kedalam memori utama.

Proses tiga langkah karakteristik unit control :
1.      Menentukan elemen dasar prosesor
2.      Menjelaskan operasi mikro yang akan dilakukan prosesor
3.      Menentukan fungsi-fungsi yang harus dilakukan unit control agar menyebabkan pembentukan operasi mikro

·         INPUT CONTROL UNIT
Berfungsi untuk menerima  dan membaca inputan kemudian meneruskan atau disimpan ke Memory. Yang termasuk dalam inputan Control Unit :
a.      Clock / pewaktu
            Clock / pewaktu adalah cara unit control dalam menjaga waktunya. Unit control menyebabkan sebuah operasi mikro (atau sejumlah operasi mikro yang bersamaan) dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu siklus prosesor.
b.      Register instruksi
            Register instruksi adalah opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus eksekusi.
c.       Flag
            Flag adalah bagian Input Control Unit yang diperlukan untuk menentukan status prosesor dan hasil operasi ALU sebelumnya.
d.      Sinyal control 
            Sinyal control adalah sinyal untuk mengontrol bus  adalah Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti sinyal-sinyal interupsi dan acknowledgement.

·         OUTPUT CONTROL UNIT
Berfungsi untuk menerima hasil pengolahan data dari CPU melalui memori. Yang termasuk dalam Output Control Unit :
  1. Sinyal control didalam prosesor terdiri dari dua macam: sinyal-sinyal yang menyebabkan data dipindahkan dari register yang satu keregister yang lainnya, dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.
  2. Sinyal control bagi Bus adalah Control sinyal ini juga terdiri dari dua macam: sinyal control bagi memori dan sinyal control bagi modu-modul I/O.

·         MACAM-MACAM CONTROL UNIT
a. Single-Cycle CU
            Proses di CUl ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada satu cycle, maka dari itu tidak memerlukan state. Dengan demikian fungsi boolean masing-masing control line hanya merupakan fungsi dari opcode saja. Clock cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu proses men-decodeopcode untuk mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang AND), dan pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu gerbang OR). Keempat jenis instruksi adalah “R-format” (berhubungan dengan register), “lw” (membaca memori), “sw” (menulis ke memori), dan “beq” (branching). Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan memori ”R-format” atau ”lw” maka akan sinyal ”Regwrite” akan aktif. Hal lain jika melibatkan memori “lw” atau “sw” maka akan diberi sinyal kontrol ke ALU, yaitu “ALUSrc”. Desain single-cycle ini lebih dapat bekerja dengan baik dan benar tetapi cycle ini tidak efisien.
b. Multi-Cycle CUa
            Unit kontrol yang multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing-masing outputcontrol line dapat ditentukan. Masing-masingnya akan menjadi fungsi dari 10 buah input logic. Jadi akan terdapat banyak fungsi boolean, dan masing-masingnya tidak sederhana. Pada cycle ini, sinyal kontrol tidak lagi ditentukan dengan melihat pada bit-bit instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan CPU; bukan instruksi cycle selanjutnya.

E.     REGISTER
            Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.


            Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti "register 8-bit", "register 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain.
            Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tetapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.

Jenis register
Register terbagi menjadi beberapa kelas:
  • Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
  • Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk    mengakses memori.
  • Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
  • Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
  • Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phinulltruefalsedan lainnya.
  • Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
  • Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
  • Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.

F.     Memori
            Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori biasanya disebut juga dengan istilah : computer storage, computer memory atau memory, merupakan piranti komputer yang digunakan sebagai media penyimpan data dan informasi saat menggunakan komputer. Memory merupakan bagian yang penting dalam komputer modern dan letaknya di dalam CPU (Central Processing Unit). Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu:
physical Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU.
            Primary Memory (executable memory), berada di level tengah. Contohnya, RAM. Primary Memory diukur dengan satu byte dalam satu waktu, secara relatif dapat diakses dengan cepat, dan bersifat volatile (informasi bisa hilang ketika komputer dimatikan). CPU mengakses memori ini dengan instruksi single load dan store dalam beberapa clock cycle.
            Secondary Memory, berada di level bawah. Contohnya, disk atau tape. Secondary Memory diukur sebagai kumpulan dari bytes (block of bytes), waktu aksesnya lambat, dan bersifat non-volatile (informasi tetap tersimpan ketika komputer dimatikan). Memori ini diterapkan di storage device, jadi akses meliputi aksi oleh driver dan device.

Jenis Memori (Media Penyimpanan)
Memori merupakan media penyimpanan data pada komputer, yang mana media penyimpanan data dalam computer dibagi menjadi 2 jenis yaitu :
·         Memori Internal
            Memori jenis ini dapat diakses secara langsung oleh prosesor. Memori internal memiliki fungsi sebagai pengingat. Dalam hal ini yang disimpan di dalam memori utama dapat berupa data atau program. Memori biasa terbagi dibedakan menjadi dua macam: ROM dan RAM. Selain itu, terdapat pula memori yang disebut CACHE MEMORI, CMOS, DRAM, SDRAM, DIMM.
  1. ROM (Read-Only-Memory a.k.a firmware)
            Adalah jenis memori yang isinya tidak hilang ketika tidak mendapat aliran listrik dan pada awalnya isinya hanya bisa dibaca. ROM pada komputer disediakan oleh vendor komputer dan berisi program atau data. Di dalam PC, ROM biasa disebut BIOS (Basic Input/Output System) atau ROM-BIOS.
  1. CMOS (Compmentary Meta-Oxyde Semiconductor)
            Adalah jenis cip yang memerlukan daya listrik dari baterai. Cip ini berisi memori 64-byte yang isinya dapat diganti. Pada CMOS inilah berbagai pengaturan dasar komputer dilakukan, misalnya peranti yang digunakan untuk memuat sistem operasi dan termasuk pula tanggal dan jam sistem. CMOS merupukan bagian dari ROM.
  1. RAM (Random-Access Memory)
            Adalah jenis memori yang isinya dapat diganti-ganti selama komputer dihidupkan dan bersifat volatile. Selain itu, RAM mempunyai sifat yakni dapat menyimpan dan mengambil data dengan sangat cepat.
  1. DRAM (Dynamic RAM)
            Adalah jenis RAM yang secara berkala harus disegarkan oleh CPU agar data yang terkandung di dalamnya tidak hilang. DRAM merupakan salah satu tipe RAM yang terdapat dalam PC.
  1. SDRAM (Sychronous Dynamic RAM)
            Adalah jenis RAM yang merupakan kelanjutan dari DRAM namun telah disnkronisasi oleh clock sistem dan memiliki kecepatan lebih tinggi daripada DRAM. Cocok untuk sistem dengan bus yang memiliki kecepatan sampai 100 MHz.
  1. DIMM (dual in-line memory module)
            Berkapasitas 168 pin, kedua belah modul memori ini aktif, setiap permukaan adalah 84 pin. Ini berbeda daripada SIMM yang hanya berfungsi pada sebelah modul saja. Mensuport 64 bit penghantaran data. SDRAM (synchronous DRAM) menggunakan DIMM. Merupakan penganti dari DRAM, FPM (fast page memory) dan EDO. SDRAM pengatur (synchronizes) memori supaya sama dengan CPU clock untuk pemindahan data yang lebih cepat. Terdapat dalam dua kecepatan yaitu 100MHz (PC100) dan 133MHz (PC133). DIMM 168 PIN. DIMM adalah jenis RAM yang terdapat di pasaran.
  1. CACHE MEMORY
            Memori berkapasitas terbatas, memori ini berkecepatan tinggi dan lebih mahal dibandingkan memory utama. Berada diantara memori utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu kepada memori utama tetapi di cache memory yang kecepatan aksesnya yang lebih tinggi, metode menggunakan cache memory ini akan meningkatkan kinerja sistem. Cache memory adalah tipe RAM tercepat yang ada, dan digunakan oleh CPU, hard drive, dan beberapa komponen lainnya.

·         Memori Eksternal
            Merupakan memori tambahan yang berfungsi untuk menyimpan data atau program.Contoh: Hardisk, Floppy Disk dll. Hubungan antara Chace Memori, Memori Utama dan Konsep dasar memori eksternal adalah : Menyimpan data bersifat tetap (non volatile), baik pada saat komputer aktif atau tidak. Memori eksternal biasa disebut juga memori eksternal yaitu perangkat keras untuk melakukan operasi penulisan, pembacaan dan penyimpanan data, di luar memori utama. Memori eksternal mempunyai dua tujuan utama yaitu sebagai penyimpan permanen untuk membantu fungsi RAM dan yang untuk mendapatkan memori murah yang berkapasitas tinggi bagi penggunaan jangka panjang.

Sumber