Selasa, 20 November 2018

CPU, ALU, DAN SISTEM BUS PADA KOMPUTER

Pengertian CPU


CPU merupakan singkatan dari Central Prosessor Unit yang sering diartikan oleh manusia sebagai tubuh maupun dari otak sikomputer. Selain dapat mengolah berbagai hitungan Aritmatika, CPU juga dapat mengolah data-data yang telah masuk kedalam komputer dan menyimpannya kedalam hardisk maupun alat penyimpanan lainnya melalui perintah prosessor yang ada di CPU. CPU sendiri terbuat dari lempengan yang berbahan silicon yang terdiri atas 10 juta transitor yang biasa disebut “chip”. Perkembangan CPU dari waktu ke waktu semakin meningkat. Awal munculnya processor, yakni hadir dengan microprocessornya yang di buat oleh INTEL, satu-satunya produsen pada masa itu untuk pembuatan processor. Namun, sekarang ini sudah banyak perusahaan-perusahaan yang membuat processor


ALU (Arithmatic Logical Unit)

Pengertian ALU (Arithmatic Logical Unit)
Arithmatic Logical Unit (ALU), adalah komponen 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. Adapun alur proses dari ALU yang ditunjukan oleh gambar dibawah ini:
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 complementALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register, sebelum disimpan dalam memori. Processor terdiri dari  4 elemen yang melakukan sistem operasi terhadap data, 4 elemen itu adalah instruksi, petunjuk instruksi, beberapa register dan ALU (Arithmetic Logic Unit). Adalah sebuah petunjuk instruksi akan memberi tahu processor dimana instruksi dari sebuah aplikasi diletakkan di memori.
Penjelasan Cara processor melakukan tugas :
Penunjuk instruksi mengarahkan fetch instruksi ke sebuah spot di memori yang menampung sebuah instruksi. Fetch kemudian membaca instruksi tersebut dan memberikannya ke dekoder instruksi, kemudian mengamati instruksi tersebut dan menentukan langkah selanjutnya untuk melengkapi instruksi tersebut. Kemudian ALUmengerjakan perintah yang diminta instruksi seperti : menambah data, membagi data, atau memanipulasi data yang ada. Setelah itu processor akan menerjemahkan dan mengerjakan instruksi, unit kontrol memberitahukan fetch instruksi untuk menangkap instruksi berikutnya di memori. Proses akan ini berlangsung terus menerus, dari satu instruksi ke instruksi berikutnya, dalam suatu langkah yang rumit, untuk menciptakan hasil yang diingikan dan dapat dilihat di monitor. Untuk meyakinkan semua itu berjalan dalam satu kesatuan waktu, bagian itu memerlukan suatu clock generator. Clock generator meregulasi setiap langkah yang dikerjakan processor. Seperti sebuah metronome, sebuah clock generator mengirim pulsa-pulsa elektrik untuk menentukan langkah yang harus dikerjakan processor. Pulsa tersebut diukur dalam jutaan langkah per detik, atau megahertz, yang dikenal sebagai ukuran kecepatan processor. Semakin banyak pulsa dibuat, semakin cepat kerja processor. 
Untuk meningkatkan kinerja komputer, pembuat chip processor menempatkan sebuah Arithmetic Logic Unit (ALU) di dalam processor. Secara teoritis ini berarti pemrosesan dapat dilakukan dua kali lebih cepat dalam satu langkah. Sebagai tambahan multiple ALU, kemudian diintegrasikan Floating Point Unit ke dalam processor. FPU ini menangani angka dari yang paling besar hingga yang paling kecil (yang memiliki banyak angka di belakang koma). Sementara FPU menangani kalkulasi semacam itu, ALU menjadi bebas untuk melakukan tugas lain dalam waktu yang bersamaan, untuk meningkatkan kinerja. Processor menambah kecepatan pemrosesan instruksi dengan melakukan pipelining instruksi, atau menjalankan instruksi secara paralel satu dengan yang lainnya. Eksekusi dari sebuah instruksi memerlukan langkah yang terpisah, contoh : fetching dan dekoding sebuah instruksi. Processor harus menyelesaikan sebuah instruksi secara keseluruhan sebelum melanjutkan ke instruksi berikutnya. Sekarang sirkuit yang berbeda menangani langkah yang terpisah tersebut. Begitu sebuah instruksi telah selesai dalam satu langkah untuk dilanjutkan ke langkah berikutnya, transistor yang mengerjakan langkah pertama bebas untuk mengerjakan instruksi berikutnya, sehingga akan mempercepat kerja pemrosesan. Sebagai tambahan untuk meningkatkan kinerja processor adalah dengan memprediksi cabang-cabang instruksi, yaitu memperkirakan lompatan yang akan dilakukan sebuah program dapat dilakukan; eksekusi secara spekulatif, yaitu mengeksekusi cabang instruksi yang ada di dapat; dan penyelesaian tanpa mengikuti urutan, yakni kemampuan untuk menyelesaikan sebuah seri instruksi tidak berdasarkan urutan normal.

 Sistem BUS
Pengertian Sistem Bus 
Bus adalah Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal ,digunakan untuk menghubungkan berbagai subsistem. Karakteristik penting sebuah bus adalah bus merupakan media transmisi yang dapat digunakan bersama. Sejumlah perangkat yang terhubung ke bus dan suatu sinyal yang ditransmisikan oleh salah satu perangkat ini dapat ditermia oleh salah satu perangkat yang terhubung ke bus.Bila 2 buah perangkat melakukan transmisi dalam waktu yang bersamaan, maka sinyal-sinyalnya akan bertumpang tindih dan menjadi rusak. Dengan demikain, hanya sebuah perangkat saja yang akan berhasil melakukan transimi pada suatu saat tertentu. Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sistem komputer. Suatu Komputer tersusun dari beberapa komponen penting seperti CPU, memori, perangkat Input/Output. setiap computer saling berhubungan membentuk kesatuan fungsi. Sistem bus adalah  sebagai penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya. Transfer data antar komponen komputer sangatlah mendominasi kerja suatu computer. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus, begitu juga kita dapat melihat hasil eksekusi melalui monitor juga menggunakan sistem bus. Pada sistem komputer yang lebih modern, arsitektur komputernya  akan  lebih kompleks, sehingga dapat 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.
Karakteristik Bus adalah :
1.    Jumlah Interupsi Menentukan banyak perangkat independen yang melakukan I/O.
2.    Ukuran bus data eksteral berakibat pada kecepatan operasional I/O.
3.    Ukuran bus alamat menentukan banyak memori yang ditunjuk board ekspansi.
4.    Kecepatan clock maksimum yang dapat diakomadasi bus berakibat pada kinerja.
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.
Interkoneksi Bus.
1.   Bus Data
Jalur data yang dilalu informasi ke dan dari  mikroprosesor data bus. Adalah jalur‐jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing‐masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini 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. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel, jumlah saluran diartikan dengan lebar bus data.
2.   Address Bus
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca. 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. Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel. Lebar bus alamat akan menentukan kapasitas memori maksimum sistem. Selain itu, umumnya saluran alamat juga dipakai untuk mengalamati port-port input/outoput
3.   Control Bus

Digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. 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. Terdiri atas 4 samapai 10 jalur paralel.

ARSITEKTUR SET INSTRUKSI

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

Comments system

Disqus Shortname