CPU,Sistem Bus dan ALU
1.1 Pengertian CPU
CPU ( Central Processing Unit ) secara umum juga diartikan sebagai komponen utama atau otak utama dari sebuah perangkat seperti komputer maupun smartphone yang masuk dalam kategori hardware dengan kemampuan melaksanakan perintah, instruksi, dan seluruh aktivitas baik dengan bahasa aritmatika, output serta input secara keseluruhan dalam sebuah sistem di perangkat tersebut. Kecepatan eksekusi processor tergantung pada frekuensinya, satuannya adalah MHz ( Mega Hertz ) atau GHz ( Giga Hertz, dimana 1 GHz = 1000 MHz ).
1.2 Cara Kerja CPU
Saat data dan atau instruksi dimasukkan ke Processing-devices, pertama sekali diletakkan di MAA ( melalui Input-storage ), apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage. Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register ( dalam hal ini Operand-register )
Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di akumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di akumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage hasil pengolahan akan ditampilkan ke Output Devices.
1.3 Fungsi CPU
CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan tombol, pemindai, tuas kontrol, maupun mouse. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpanan, seperti cakram kertas, 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 di dekode dengan menggunakan unit proses yang disebut sebagai pendekoder instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit aritmatika 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, pengurangan, perkalian, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya ke memori fisik, media penyimpanan, 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.
1.4 Komponen CPU
a.
Arithmatic Logic Unit ( ALU )
Arithmatic Logic Unit bertugas membentuk fungsi - fungsi pengolahan data komputer. ALU sering disebut mesin bahasa ( Machine Language ) karena bagian ini mengerjakan instruksi - instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya, ALU terdiri dari dua bagian utama, yaitu unit aritmatika dan unit logika boolean, yang masing - masing memiliki spesifikasi 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 Arithmatic ), dan lain - lain.
Arithmatic Logic 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 dikenal dengan nama Arithmatic Logic 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 kompleks seperti perintah ADD untuk menambahkan bilangan, atau DEVIDE untu pembagian dari suatu bilangan. Selain perintah atematika yang lebih kompleks, 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 Bahasa Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction ser yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.
b. Control Unit ( CU )
Control Unit ( CU ) 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.
Pada awal - awal desain komputer, CU diimplementasikan sebagai sebuah mikroprogram yang disimpan di dalam tempat penyimpanan kontrol ( Control Store ). Beberapa word dari mikroprogram dipilih oleh microsequencer dan bit yang datang dari word - word tersebut akan secara langsung mengontrol bagian - bagian berbeda dari perangkat tersebut, termasuk diantaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing - masing dengan CU sebagai pemantaunya ( Supervisor ). Control Unit ( CU ) juga berfungsi untuk bersinkronasi antar komponen. Tugas dari CU adalah sebagai berikut :
a) Mengatur dan mengendalikan alat - alat input dan output
b) Mengambil instruksi - instruksi dari memori utama
c) Mengambil data dari memori utama kalau diperlukan oleh proses
d) Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika
e) Menyimpan hasil proses ke memori utama
Selain memiliki tugas dan fungsi, control unit juga dibedakan menjadi 2 macam, yaitu :
a) Single-Cycle CU
Proses di CU 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-decode opcode untuk mengelompokkannya menjadi empat macam instruksi, yaitu "R-format" untuk berhubungan dengan register, "lw" untuk membaca memori, "sw" untuk menulis ke memori, dan "beq" untuk branching. Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan memori "R-format" atau "lw" maka 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 CU
Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing - masing output control 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 istruksi cycle selanjutnya.
c. Register
Register adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya. Jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak bisa diibaratkan sebagai CPU, yang berisi ingatan - ingatan, suatu 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 yang paling kecil, dan harga tiap bit nya 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, 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.
a) Set Register
Apabila bit ini bernilai 0, maka register data dapat diupdate setiap detiknya, namun apabila bit ini bernilai 1, maka register data tidak dapat diupdate. Bit ini tidak akan berpengaruh terhadap kondisi reset.
b) Register - Register Kontrol
Register - register untuk komunikasi dengan unit - unit diluar CPU :
Arithmatic Logic Unit bertugas membentuk fungsi - fungsi pengolahan data komputer. ALU sering disebut mesin bahasa ( Machine Language ) karena bagian ini mengerjakan instruksi - instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya, ALU terdiri dari dua bagian utama, yaitu unit aritmatika dan unit logika boolean, yang masing - masing memiliki spesifikasi 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 Arithmatic ), dan lain - lain.
Arithmatic Logic 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 dikenal dengan nama Arithmatic Logic 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 kompleks seperti perintah ADD untuk menambahkan bilangan, atau DEVIDE untu pembagian dari suatu bilangan. Selain perintah atematika yang lebih kompleks, 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 Bahasa Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction ser yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.
b. Control Unit ( CU )
Control Unit ( CU ) 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.
Pada awal - awal desain komputer, CU diimplementasikan sebagai sebuah mikroprogram yang disimpan di dalam tempat penyimpanan kontrol ( Control Store ). Beberapa word dari mikroprogram dipilih oleh microsequencer dan bit yang datang dari word - word tersebut akan secara langsung mengontrol bagian - bagian berbeda dari perangkat tersebut, termasuk diantaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing - masing dengan CU sebagai pemantaunya ( Supervisor ). Control Unit ( CU ) juga berfungsi untuk bersinkronasi antar komponen. Tugas dari CU adalah sebagai berikut :
a) Mengatur dan mengendalikan alat - alat input dan output
b) Mengambil instruksi - instruksi dari memori utama
c) Mengambil data dari memori utama kalau diperlukan oleh proses
d) Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika
e) Menyimpan hasil proses ke memori utama
Selain memiliki tugas dan fungsi, control unit juga dibedakan menjadi 2 macam, yaitu :
a) Single-Cycle CU
Proses di CU 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-decode opcode untuk mengelompokkannya menjadi empat macam instruksi, yaitu "R-format" untuk berhubungan dengan register, "lw" untuk membaca memori, "sw" untuk menulis ke memori, dan "beq" untuk branching. Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan memori "R-format" atau "lw" maka 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 CU
Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing - masing output control 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 istruksi cycle selanjutnya.
c. Register
Register adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya. Jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak bisa diibaratkan sebagai CPU, yang berisi ingatan - ingatan, suatu 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 yang paling kecil, dan harga tiap bit nya 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, 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.
a) Set Register
Apabila bit ini bernilai 0, maka register data dapat diupdate setiap detiknya, namun apabila bit ini bernilai 1, maka register data tidak dapat diupdate. Bit ini tidak akan berpengaruh terhadap kondisi reset.
b) Register - Register Kontrol
Register - register untuk komunikasi dengan unit - unit diluar CPU :
- MAR ( Memory
Address Register ), digunakan untuk menyatakan alamat lokasi
operand dalam memori yang akan dibaca atau ditulis oleh CPU
- MBR / MDR ( Memory
Buffer atau Data Register ), digunakan untuk
tempat penyimpanan data sementara yang baru saja dibaca atau yang akan
ditulis ke memori
- PC ( Program
Counter ), digunakan untuk menyatakan alamat lokasi instruksi
yang akan dibaca oleh CPU dari memori
Jenis -
jenis register :
- Register data,
digunakan untuk menyimpan angka - angka dalam bilangan bulat ( Integer )
- Register alamat,
digunakan untuk menyimpan alamat - alamat memori dan juga untuk mengakses
memori
- Register general
purpose, digunakan untuk menyimpan angka dan alamat secara sekaligus
- Register
floating point, digunakan untuk menyimpan angka - angka bilangan titik
mengambang ( Floating Point )
- Register
konstanta, digunakan untuk menyimpan angka - angka tetap yang hanya dapat
dibaca ( bersifat read-only )
- Register vector,
digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh
prosesor SIMD
- Register special
purpose, digunakan untuk menyimpan data internal prosesor seperti halnya
instruction pointer, stack pointer, dan status
- Register yang
spesifik terhadap model mesin, digunakan untuk menyimpan data internal
prosesor atau pengaturan yang berkaitan dengan prosesor itu sendiri
d.
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. Memori merupakan piranti komputer yang digunakan sebagai media penyimpanan data dan informasi saat menggunakan komputer. Memori merupakan bagian yang penting dalam komputer modern dan letaknya di dalam CPU. Sebagian besar komputer memiliki hierarki memori yang terdiri atas tiga level, yaitu :
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. Memori merupakan piranti komputer yang digunakan sebagai media penyimpanan data dan informasi saat menggunakan komputer. Memori merupakan bagian yang penting dalam komputer modern dan letaknya di dalam CPU. Sebagian besar komputer memiliki hierarki 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. Memori ini
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. Memori ini diukur sebagai kumpulan
dari 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.
Memori merupakan media penyimpanan data pada
komputer, yang mana media penyimpanan data dalam komputer dibedakan menjadi 2
jenis, yaitu :
a. 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 internal dibedakan menjadi beberapa macam, yaitu :
a) ROM ( Read Only Memory )
ROM adalah jenis memori yang isinya tidak hilang ketika tidak mendapatkan 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.
b) CMOS ( Complementary Meta-Oxyde Semiconductor )
CMOS adalah jenis chip yang memerlukan daya listrik dari baterai. Chip ini berisi memori 64 byte yang isinya dapat diganti. Pada CMOS inilah berbagai pengaturan dasar komputer dilakukan, misalnya piranti yang digunakan untuk memuat sistem operasi dan termasuk pula tanggal dan jam sistem.
c) RAM ( Random Access Memory )
RAM 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.
d) DRAM ( Dynamic RAM )
DRAM adalah jenis RAM yang secara berkala harus disegarkan oleh CPU agar data yang terkandung didalamnya tidak hilang. DRAM merupakan salah satu tipe RAM yang terdapat di dalam PC.
e) SDRAM ( Synchronous Dynamis RAM )
SDRAM adalah jenis RAM yang merupakan kelanjutan dari DRAM namun telah disinkronisasi oleh clock sistem dan memiliki kecepatan lebih tinggi daripada DRAM. Cocok untuk sistem dengan bus yang memiliki kecepatan sampai 100 MHz.
f) Cache Memory
Cache memory merupakan memori berkapasitas terbatas, memori ini berkecepatan tingi dan lebih mahal dibandingkan memori 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.
b. Memori Eksternal
Memori eksternal merupakan memori tambahan yang berfungsi untuk menyimpan data atau progam. Contohnya adalah hardisk, floppy disk, dan lain - lain. Hubungan antara chace memory, memori utama, dan konsep dasar memori eksternal yaitu menyimpan data bersifat tetap ( non volatile ), baik pada saat komputer aktif atau tidak. 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 penyimpanan permanen untuk membantu fungsi RAM dan yang kedua untuk mendapatkan memori murah dengan kapasitas yang tinggi bagi penggunaan jangka panjang.
2. Sistem Bus
Sistem bus dalam arsitektur
komputer merujuk pada bus yang digunakan oleh sistem komputer untuk
menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah
sebutan untuk jalur dimana data dapat mengalir dalam komputer. Jalur - jalur
ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih.
Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh
CPU melalui perantara sistem busa. 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 internal dibedakan menjadi beberapa macam, yaitu :
a) ROM ( Read Only Memory )
ROM adalah jenis memori yang isinya tidak hilang ketika tidak mendapatkan 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.
b) CMOS ( Complementary Meta-Oxyde Semiconductor )
CMOS adalah jenis chip yang memerlukan daya listrik dari baterai. Chip ini berisi memori 64 byte yang isinya dapat diganti. Pada CMOS inilah berbagai pengaturan dasar komputer dilakukan, misalnya piranti yang digunakan untuk memuat sistem operasi dan termasuk pula tanggal dan jam sistem.
c) RAM ( Random Access Memory )
RAM 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.
d) DRAM ( Dynamic RAM )
DRAM adalah jenis RAM yang secara berkala harus disegarkan oleh CPU agar data yang terkandung didalamnya tidak hilang. DRAM merupakan salah satu tipe RAM yang terdapat di dalam PC.
e) SDRAM ( Synchronous Dynamis RAM )
SDRAM adalah jenis RAM yang merupakan kelanjutan dari DRAM namun telah disinkronisasi oleh clock sistem dan memiliki kecepatan lebih tinggi daripada DRAM. Cocok untuk sistem dengan bus yang memiliki kecepatan sampai 100 MHz.
f) Cache Memory
Cache memory merupakan memori berkapasitas terbatas, memori ini berkecepatan tingi dan lebih mahal dibandingkan memori 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.
b. Memori Eksternal
Memori eksternal merupakan memori tambahan yang berfungsi untuk menyimpan data atau progam. Contohnya adalah hardisk, floppy disk, dan lain - lain. Hubungan antara chace memory, memori utama, dan konsep dasar memori eksternal yaitu menyimpan data bersifat tetap ( non volatile ), baik pada saat komputer aktif atau tidak. 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 penyimpanan permanen untuk membantu fungsi RAM dan yang kedua untuk mendapatkan memori murah dengan kapasitas yang tinggi bagi penggunaan jangka panjang.
2. Sistem Bus
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 Standart Architecture ). Kemudian bus diperbaiki menjadi lebar 16 bit dengan kecepatan 8 MHz. Pada tahun 1990 Intel memperkenalkan bus PCI ( Pheripheral 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 sistem bus terdiri dari 50 hingga 100 saluran yang terpisah. Sistem bus dibedakan menjadi beberapa jenis, yaitu :
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, dan 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. Contonya bila bus data lebarnya 8 bit dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali mengakses modul memori dalam setiap instruksinya.
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/output. 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, untuk mengirim alamat word pada memori yang akan diakses CPU, dan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul dan semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.
c) Control Bus ( Saluran Kendali )
Saluran kontrol digunakan untuk mengontrol akses ke saluran alamat dan penggunaan data. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat 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.
3. ALU
- PENGERTIAN
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.
- OPERASI PADA ALU
- TUGAS DAN FUNGSI ALU
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.
- STRUKTUR DAN CARA KERJA PADA ALU
ALU (Arithmethic and Logic 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 integer (bulat) tidak dikenal oleh komputer dengan basis 10. Agar komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b; -0=(10000000)b]. Seperti kita ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan metode 2′s complement. Metode 2′s complement adalah metode yang digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara berikut:
1. ubah angka 18 menjadi biner (00010010)b
2. karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
3. kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
4. kemudian, dengan sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi irelevansi.
Referensi:
- banjirochiko.xyz/2014/09/aritmetic-logic-unit-alu.html
- siswantongeblog./sistem-bus.html
- https://id.wikipedia.org/wiki/Unit_Pemroses_Sentral
- sridianti.com/pengertian-cpu-fungsi-dan-bagian.html
Comments
Post a Comment