Jumat, 09 November 2018

CPU, ALU, DAN SISTEM BUS PADA KOMPUTER


PENGERTIAN CPU
CPU singkatan dari Central Processing Unit, yang merupakan komponen terpenting dari sistem komputer. CPU adalah komponen pengolah data berdasarkan instruksi - instruksi yang diberikan kepadanya.
CPU tersusun atas beberapa komponen diantaranya :
a.       Control Unit : bertugas mengontrol operasi CPU dan secara keseluruhan 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. Dengan demikian tugas dari unit kendali ini adalah:
·         Mengatur dan mengontrol alat input (masukan) dan output (keluaran).
·         Mengambil instruksi dari memori utama.
·         Mengambil data dari memori utama (jika diperlukan) untuk diproses.
·         Mengirim instruksi ke ALU bila ada perhitungan aritmatika dan perbandingan logika, lalau mengawasi kerja dari ALU.
·         Menyimpan hasil proses ke memori utama.

b.      Register : adalah perangkat penyimpanan kecil yang memiliki akses ke kecepatan yang cukup tinggi, yang digunakan untuk menyimpan data atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah atau data untuk diproses lebih lanjut. Dengan analogi, register ini dapat diibaratkan sebagai memori dalam otak ketika kita melakukan pengolahan manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi kenangan, unit kontrol yang mengatur semua aktivitas tubuh dan memiliki tempat untuk melakukan perhitungan dan perbandingan logika.

c.       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 kepadanya. ALU terdiri dari dua bagian yaitu :
a.       Unit arithmetika
b.      Unit logika Boolean

Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika yang terjadi sesuai dengan perintah program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder. Tugas lain dari ALU adalah untuk membuat keputusan dari operasi logika sesuai dengan perintah program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹), kurang dari (<), kurang dari atau sama dengan (£), lebih besar dari (>), dan lebih besar atau sama dengan (³).

FUNGSI  CPU
Fungsi CPU seperti kalkulator, hanya jauh lebih kuat pengolahan daya CPU. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika pada data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti keyboard, scanner, tuas kontrol, dan mouse.
CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU untuk membaca dari media penyimpanan, seperti hard disk, disket, CD, atau tape recorder. Instruksi tersebut kemudian disimpan terlebih dahulu di memori fisik (MAA), yang setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data pada MAA untuk menentukan alamat data yang diinginkan. Ketika program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan CPU dengan MAA. Data tersebut kemudian diterjemahkan menggunakan proses yang disebut sebagai unit pendekoder instruksi yang bisa menerjemahkan instruksi.
ALU dapat melakukan operasi tertentu, termasuk penambahan, perkalian, pengurangan, pengujian kondisi data dalam register, untuk mengirimkan hasil pengolahan kembali ke memori fisik, media penyimpan, atau mendaftar jika akan memproses pengolahan lagi. Selama proses ini terjadi, sebuah unit dalam CPU yang disebut program counter akan memantau instruksi berhasil dieksekusi sehingga instruksi dapat dieksekusi dengan urutan yang benar dan tepat. Data kemudian pergi ke aritmatika dan logika Unit (ALU) yang melakukan kalkulasi dan perbandingan. Data dapat disimpan sementara oleh ALU dalam sebuah lokasi memori yang disebut register yang dapat diambil dengan cepat untuk diolah

SISTEM BUS PADA KOMPUTER  


Cara kerja Pada sistem komputer yang lebih maju, arsitektur komputernya akan lebih kompleks, sehingga untuk meningkatkan performa, digunakan beberapa buah bus. Tiap bus merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang lebih dikenal dengan nama FSB (Front Side Bus) . Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar bus ini digunakan sebuah bridge.

 
®    JENIS – JENIS BUS :
 Berdasar jenis busnya, bus dapat dibedakan menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja, jenis ini disebut Dedicated Bus. Namun apabila bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data maka bus ini disebut Multiplexed Bus. Kekurangan multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat tempat tapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari multipexed bus.
            Struktur 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 :

 1. 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 diakitakan denang 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. Misalnya, bila bus data lebarnya 8 bit, dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali mengakses modul memori dalam setiap siklus instruksinya.

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

 3. Saluran Kontrol : digunakan untuk mengntrol akses ke saluran alamat dan penggunaan data dan saluran alamat. 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 mespesifikasikan 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. Contoh jenis bus yang beredar di pasaran saat ini adalah, PCI, ISA, USB, SCSI, FuturaBus+, FireWire, dan lain-lain. Semua memiliki keunggulan, kelemahan, harga, dan teknologi yang berbeda sehingga akan mempengaruhi jenis-jenis penggunaannya. 





Daftar Pustaka :

https://www.dosenpendidikan.com/pengertian-komponen-dan-fungsi-cpu-  lengkap-dengan-cara-kerjanya/





ARSITEKTUR SET INSTRUKSI


DEFINISI SET INSTRUKSI
Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karena aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.
Sebuah instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti darimana asal operand-operand dan kemana hasil-hasil akan ditempatkan. Subyek umum untuk menspesifikasikan di mana operand-operand berada (yaitu, alamat-alamatnya) disebut pengalamatan
Pada beberapa mesin, semua instruksi memiliki panjang yang sama, pada mesin-mesin yang lain mungkin terdapat banyak panjang berbeda. Instruksi-instruksi mungkin lebih pendek dari, memiliki panjang yang sama seperti, atau lebih panjang dari panjang word. Membuat semua instruksi memiliki panjang yang sama lebih muda dilakukan dan membuat pengkodean lebih mudah tetapi sering memboroskan ruang, karena semua instruksi dengan demikian harus sama panjang seperti instruksi yang paling panjang.

®    Aspek-aspek yang harus dipertimbangkan sebelum menyelesaikan set instruksi:
a  .      Kenyamanan pemrograman : jumlah instruksi, programmer lebih suka mempunyai sebanyak mungkin instruksi supaya operasi yang tepat dapat dikerjakan oleh rangkaian instruksi.
b .  Pengalamatan yang fleksibel : Programmer senang jika memungkinkan semua mode pengalamatan operand ada di dalam arsitektur.
c  .  Jumlah General Purpose Register (GPR) : Jika CPU mempunyai register yang banyak, proggrammer memperoleh pemrosesan dan transfer data yang cepat.
d   .    Target segmen pasar : Sasaran bidang aplikasi untuk komputer memrlukan operasi-operasi khusus untuk pemrosesan data yang efisien.
e.       Kinerja sistem : Jika sebuah program mempunyai instruksi sedikit, kinerja sistem meningkat karena waktu yang digunakan oleh CPU dalam pengambilan instruksi berkurang.

ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI)
a   .  Operation Code (opcode) : menentukan operasi yang akan dilaksanakan.
b  .  Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan.
c   .  Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan.
d  . Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.

®    Source dan result operands dapat berupa salah satu diantara tiga jenis berikut ini:
1.      Main or Virtual Memory
2.      CPU Register
3.      I/O Device

JENIS – JENIS INSTRUKSI
a  . Data Processing (Pengolahan Data) adalah : instruksi-instruksi aritmetika dan logika. Instruksi aritmetika memiliki kemampuan untuk mengolah data numeric, sedangkan instruksi logika beroperasi pada bit-bit word sebagai bit bukan sebagai bilangan. Operasi-operasi tersebut dilakukan terutama untuk data di register CPU.
b . Data Storage (Penyimpanan Data) adalah : instruksi-instruksi memori. Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
c  . Data Movement (Perpindahan Data) adalah : instruksi I/O. Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data ke dalam memori dan mengembalikan hasil komputansi kepada pengguna.
d   . Control (Kontrol) adalah : instruksi pemeriksaan dan percabangan. Instruksi-instruksi control digunakan untuk memeriksa nilai data, status komputansi dan mencabangkan ke set instruksi lain.

DESAIN SET INSTRUKSI
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi instruksi)
3. Kompatibilitas :      
    -  Source code compatibility
    - Object code Compatibility

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

PENGALAMATAN
Program biasanya ditulis dalam bahasa tingkat tinggi, yang memungkinkan program untuk menggunakan konstanta, variable local dan global, pointer, dan array. Pada saat mentranslasi program bahsa tingkat tinggi menjadi bahasa assembly, compiler harus mampu mengimplimentasi konstruksi ini menggunakan fasilitas yang disediakan dalam set instruksi computer dimana program akan dijalankan. cara yang berbeda dalam menentukan lokasi suatu operand ditetapkan dalam suatu instruksi yang disebut sebagai mode pengalamatan.

ADDRESSING MODES
Jenis-jenis addressing modes (Teknik Pengalama-tan) yang paling umum:
1.      Immediate
2.      Direct
3.      Indirect
4.      Register
5.      Register Indirect
6.      Displacement
7.      Stack 

·         Gambar Addressing Mode


Daftar Pustaka :
farhana.salim.staff.gunadarma.ac.id/Downloads/files/62054/M7%2C+M8+-+SET+INSTRUKSI+DAN+PENGALAMATAN.pdf
novrina.staff.gunadarma.ac.id/Downloads/files/63877/BAB+9+set+instruksi.doc