CPU
·
Central
Processing Unit
·
Merupakan
komponen terpenting dari sistem komputer
·
Komponen
pengolah data berdasarkan instruksi yang diberikan kepadanya
·
Dalam
mewujudkan fungsi dan tugasnya, CPU tersusun atas beberapa komponen
Komponen
Utama CPU
·
Arithmetic
and Logic Unit (ALU)
·
Control
Unit
·
Registers
·
CPU
Interconnections
Arithmetic
and Logic Unit (ALU)
·
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, yaitu unit aritmetika dan unit logika boolean, yang
masing-masing memiliki spesifikasi tugas tersendiri.
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.
Registers
·
Media
penyimpanan internal CPU yang digunakan saat proses pengolahan data.
·
Memori
ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah
ataupun data untuk pengolahan selanjutnya.
CPU
Interconnections
·
Sistem
koneksi dan bus yang menghubungkan komponen internal dan bus-bus eksternal CPU.
·
Komponen
internal CPU yaitu ALU, unit kontrol dan register-register.
·
Komponen
eksternal CPU : sistem lainnya, seperti memori utama, piranti masukan/keluaran.
Fungsi CPU
·
Menjalankan
program-program yang disimpan dalam memori utama dengan cara mengambil
instruksi-instruksi, menguji instruksi tersebut dan mengeksekusinya satu
persatu sesuai alur perintah.
·
Pandangan
paling sederhana proses eksekusi program adalah dengan mengambil pengolahan
instruksi yang terdiri dari dua langkah, yaitu : operasi pembacaan instruksi
(fetch) dan operasi pelaksanaan instruksi (execute).
Sturktur CPU
Register Data Dan Alamat
a. Segment Pointer : Register yang menyimpan alamt
berbasis Segmen dimana mungkiin terdapat beberapa register misalnya satu
register untuk system operasi dqan satu register untuk proses saat itu.
b.Register Index : register yang menyimpan
alamat-alamat yang terindeks dan autoindexed
c.Stack Pointer :register yang memiliki fungsi
operasi Push & Pop, Operasi push menambah bagian atas daftar,
menyembunyikan semua item yang sudah di stack, atau menginisialisasi stack jika
kosong. Operasi pop menghapus item dari bagian atas daftar, dan mengembalikan
nilai ini ke pemanggil.Sebuah pop mengungkapkan baik yang sebelumnya telah
tersembunyi, atau hasil dalam daftar kosong.
Register yang penting bagi Eksekusi Instruksi
a. Program Counter (PC) adalah register yang digunakan
untuk menyimpan alamat lokasi darimemori utama yang berisi instruksi yang
sedang diproses. Selama pemrosesan instruksi oleh CPU, isi dari PC diubah
menjadi alamat dari memori utama yang berisi instruksi berikutnya yang mendapat
giliran akan diproses, sehingga bila pemrosesan sebuah instruksi selesai maka
jejak instruksi selanjutnya di memori utama dapat dengan mudah didapatkan
b. Instruction Register (IR) digunakan untuk
menyimpan instruksi yang sedang diproses.
c. Memory data register (MDR) digunakan untuk
menampung data atau instruksi hasil pengiriman dari memori utama ke CPU atau
menampung data yang akan direkam ke memori utama dari hasil pengolahan oleh
CPU.
d Memori
Address Register (MAR) : register yang berisi alamat sebuah lokasi didalammemori
e. Memori Buffer Register(MBR) : register yang
berisi sebuah Word data yang akan dituliskan ke dalam memori atau Word yang
terakhir dibaca
f. General
purpose register, yaitu register yang mempunyai kegunaan umum yang berhubungan
dengan data yang sedang diproses. Sebagai contoh, register jenis ini yang
digunakan untuk menampung data yang sedang diolah disebut dengan operand
register, sedang untuk menampung hasil pengolahan disebut accumulator
Memahami Karakteristik Set interuksi (operand dan
Operasi) untuk memecahkan masalah dengan menggunakan flowchat
ELEMEN-ELEMEN
INSTRUKSI
1.
Operation Code (Opcode)
menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
2. Source Operand Reference
operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.
3. Result Operand Reference
Merupakan hasil atau keluaran operasi.
4. Next Instruction Reference
elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.
2. Source Operand Reference
operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.
3. Result Operand Reference
Merupakan hasil atau keluaran operasi.
4. Next Instruction Reference
elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
TIPE-TIPE INSTRUKSI
*.Pengolahan data
(data processing)
Meliputi
operasi-operasi aritmatika dan logika. Operasi aritmatika memiliki kemampuan
komputasi
untuk pengolahan data
numerik. Sedangkan instruksi logika beroperasi terhadap bit-bit word sebagai
bit, bukannya sebagai
bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
*.Perpindahan data
(data movement)
berisi instruksi
perpindahan data antar register maupun modul I/O.
untuk dapat diolah
oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan
data operand yang
diperlukan.
*.Penyimpanan data
(data storage)
berisi
instruksi-instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting
dalam operasi
komputasi, karena data tersebut akan digunakan untuk operasi berikutnya,
minimal untuk ditampilkan
pada layar harus diadakan penyimpanan walaupun sementara.
*.Kontrol aliran
program (program flow control)
berisi instruksi
pengontrolan operasi dan percabangan. Instruksi ini berfungsi untuk
pengontrolan status dan mengoperasikan percabangan ke set instruksi lain.
TIPE-TIPE
OPERAND
* Addresses
* Numbers :
– Integer or
fixed point => sebuah integer yang skala dengan faktor tertentu.
Penting untuk dicatat bahwa faktor skala ditentukan oleh jenis, itu adalah sama
untuk semua nilai dari jenis fixed-titik tertentu.
– Floating point
=> sebuah bilangan yang digunakan untuk menggambarkan sebuah nilai yang
sangat besar atau sangat kecil
– Decimal (BCD
)=> sistem pengkodean bilangan desimal yang metodenya mirip dengan
bilangan biner biasa; hanya saja dalam proses konversi, setiap simbol dari
bilangan desimal dikonversi satu per satu, bukan secara keseluruhan seperti
konversi bilangan desimal ke biner biasa.)
* Characters :
– ASCII (American
Standard Code for Information Interchange) => suatu standar internasional
dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat
universal, contohnya 124 adalah untuk karakter "|". Ia selalu
digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks.
– EBCDIC (Extended
Binary Coded Decimal Interchange Code) => kode 8 bit untuk huruf
yang dipakai pada sistem operasi komputer merk IBM, seperti z/OS, OS/390, VM,
VSE, OS/400, serta i5/OS
* Logical Data :
Bila data berbentuk binary: 0 dan 1
4. TIPE-TIPE
OPERASI
1. TRANSFER
DATA
- Menetapkan lokasi operand
sumber dan operand tujuan.
- Lokasi-lokasi tersebut dapat
berupa memori, register atau bagian paling atas daripada stack.
- Menetapkan panjang data yang
dipindahkan.
- Menetapkan mode pengalamatan.
- Tindakan CPU untuk melakukan
transfer data adalah :
- Memindahkan data dari satu
lokasi ke lokasi lain.
- Apabila memori dilibatkan :
- Menetapkan alamat memori.
- Menjalankan transformasi alamat
memori virtual ke alamat memori aktual.
- Mengawali pembacaan / penulisan
memori
Operasi set instruksi untuk transfer data :
- MOVE : memindahkan word atau
blok dari sumber ke tujuan
- STORE : memindahkan word dari
prosesor ke memori.
- LOAD : memindahkan word dari
memori ke prosesor.
- EXCHANGE : menukar isi sumber
ke tujuan.
- CLEAR / RESET : memindahkan
word 0 ke tujuan.
- SET : memindahkan word 1 ke
tujuan.
- PUSH : memindahkan word dari
sumber ke bagian paling atas stack.
- POP : memindahkan word dari
bagian paling atas sumber
2. ARITHMETIC
Tindakan CPU untuk melakukan operasi arithmetic :
1. Transfer data sebelum atau sesudah.
2. Melakukan fungsi dalam ALU.
3. Menset kode-kode kondisi dan flag.
Operasi set instruksi untuk arithmetic :
1. ADD :
penjumlahan
5. ABSOLUTE
2. SUBTRACT : pengurangan
6. NEGATIVE
3. MULTIPLY : perkalian
7. DECREMENT
4. DIVIDE : pembagian
8. INCREMENT
Nomor 5 sampai 8 merupakan instruksi operand tunggal.
3. LOGICAL
Tindakan CPU sama dengan arithmetic
Operasi set instruksi untuk operasi logical :
1. AND, OR, NOT, EXOR
2. COMPARE : melakukan perbandingan logika.
3. TEST : menguji
kondisi tertentu.
4. SHIFT : operand menggeser
ke kiri atau kanan menyebabkan konstanta pada ujung bit.
5. ROTATE : operand menggeser ke kiri atau
ke kanan dengan ujung yang terjalin.
4. CONVERSI
Tindakan CPU sama dengan arithmetic dan logical.
Instruksi yang mengubah format instruksi yang beroperasi
terhadap format data.
Misalnya pengubahan bilangan desimal menjadi bilangan biner.
Operasi set instruksi untuk conversi :
1. TRANSLATE : menterjemahkan nilai-nilai dalam suatu
bagian memori berdasarkan tabel korespodensi.
2.CONVERT : mengkonversi isi suatu word dari suatu bentuk ke
bentuk lainnya.
5. INPUT
/ OUTPUT
Tindakan CPU untuk melakukan INPUT /OUTPUT :
1. Apabila memory mapped I/O maka menentukan alamat memory
mapped.
2. Mengawali perintah ke modul I/O
Operasi set instruksi Input / Ouput :
1. INPUT : memindahkan data dari pernagkat I/O tertentu ke
tujuan
2. OUTPUT : memindahkan data dari sumber tertentu ke perangkat
I/O
3. START I/O : memindahkan instruksi ke prosesor I/O untuk
mengawali operasi I/O
4. TEST I/O : memindahkan informasi dari sistem I/O ke tujuan
6. TRANSFER
CONTROL
Tindakan CPU untuk transfer control :
Mengupdate program counter untuk subrutin , call / return.
Operasi set instruksi untuk transfer control :
- JUMP (cabang) : pemindahan
tidak bersyarat dan memuat PC dengan alamat tertentu.
- JUMP BERSYARAT : menguji
persyaratan tertentu dan memuat PC dengan alamat tertentu atau
tidak melakukan apa tergantung dari persyaratan.
- JUMP SUBRUTIN : melompat
ke alamat tertentu.
- RETURN : mengganti isi PC dan
register lainnya yang berasal dari lokasi tertentu.
· EXECUTE :
mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruk
- SKIP : menambah PC sehingga
melompati instruksi berikutnya.
- SKIP BERSYARAT : melompat atau
tidak melakukan apa-apa berdasarkan pada persyaratan
- HALT : menghentikan eksekusi
program.
- WAIT (HOLD) : melanjutkan
eksekusi pada saat persyaratan dipenuhi.
- NO OPERATION : tidak ada
operasi yang dilakukan
7. CONTROL
SYSTEM
Hanya dapat dieksekusi ketika prosesor berada dalam keadaan
khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area
khusus, biasanya digunakan dalam sistem operasi.Contoh : membaca atau mengubah
register kontrol.
Arsitektur dan Desain Set Instruksi
Set Instruksi (bahasa Inggris: Instruction Set,
atau Instruction Set Architecture (ISA)) didefinisikan sebagai suatu
aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara
umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai,
jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi,
eksepsi, dan operasi I/O eksternalnya (jika ada).
ISA merupakan sebuah spesifikasi dari kumpulan semua
kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native
form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya
disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan.
ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM
PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.
Karakteristik
dan Fungsi Set Instruksi
Operasi dari CPU ditentukan oleh instruksiinstruksi
yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai
instruksi mesin (mechine instructions) atau instruksi komputer (computer
instructions). Kumpulan dari instruksi-instruksi yang berbeda yang dapat
dijalankan oleh CPU disebut set Instruksi (Instruction Set).
Jenis-jenis Set Instruksi
Data Processing/Pengolahan Data: instruksi-instruksi
aritmetika dan logika.
Data Storage/Penyimpanan Data: instruksi-instruksi
memori.
Data Movement/Perpindahan Data: instruksi I/O.
Control/Kontrol: instruksi pemeriksaan dan
percabangan.
Instruksi aritmetika (arithmetic instruction)
memiliki kemampuan untuk mengolah data numeric. Sedangkan instruksi logika
(logic instruction) beroperasi pada bit-bit word sebagai bit, bukan sebagai
bilangan. Operasi-operasi tersebut dilakukan terutama dilakukan untuk data di
register CPU. Instruksi-inslruksi memori diperlukan untuk memindah data yang
terdapat di memori dan register.
Instruksi-instruksi I/O diperlukan untuk memindahkan
program dan data kedalam memori dan mengembalikan hasil komputasi kepada
pengguna. Instruksi-instruksi kontrol digunakan untuk memeriksa nilai data,
status komputasi dan mencabangkan ke set instruksi lain.
Contoh
penyelesaian masalah algoritma menggunakan FlowChart :
1.
Algoritma kelulusan mahasiswa
Diberikan
nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama
dengan60maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari
60 makadinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai
mahasiswa
Jika nilai > = 60
maka
Keterangan = lulus
Tetapi jika salah
Keterangan = tidak
lulus
Tulis nama dan
keterangan.
Tahapan Pembuatan
Program:
1. Mendefinisikan
masalah dan menganalisanya. Mencangkup : tujuan pembuatan,parameter
yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, danbahasa
pemrograman yang digunakan.
2. Merealisasikan
dengan langkah-langkah sebagai berikut :
Memahami mode dan Format Pengalamatan
*Mode Pengalamatan INHERENT
Dalam mode pengalamatan
inherent, semua informasi yang dibutuhkan untuk operasi telah diketahui
otomatis oleh CPU, dan tidak dibutuhkan operan eksternal dari memori atau dari
program. Operan yang digunakan hanyalah register internal dari CPU atau data
dalam stack. Karena itu operasi ini hanyalah terdiri dari satu byte instruksi.
*Mode Pengalamatan IMMEDIATE
Dalam mode pengalamatan
immediate, operan terkandung di dalam byte yang langsung mengikuti kode
operasi. Mode ini digunakan saat suatu harga atau konstanta diketahui saat
program dibuat dan tidak akan dirubah selama eksekusi program. Operasi dengan
mode ini membutuhkan dua byte instruksi, satu untuk kode operasi dan satu lagi
untuk data byte.
*Mode Pengalamatan DIRECT
Mode pengalamatan direct
mirip dengan mode pengalamatan extended kecuali bahwa upper byte dari alamat
operan selalu dianggap $00. Karena itu, hanya lower-byte dari operan yang diperlukan
untuk dimasukkan dalam instruksi. Pengalamatan direct menyebabkan efisiensi
alamat dalam 256 byte pertama dalam memori. Area ini dinamakan dengan direct
page dan mengandung on-chip RAM dan register I/O. Pengalamatan direct ini
efisien bagi memori program dan waktu eksekusi. Dalam mode ini instruksi
terdiri dari dua byte, satu untuk kode operasi dan satu lagi untuk alamat
operan.
*Mode Pengalamatan EXTENDED
Dalam mode pengalamatan
extended, alamat dari operan terkandung dalam dua byte yang mengikuti kode
operasi. Pengalamatan extended ini dapat digunakan untuk mengakses semua lokasi
dalam memori mikrokontroler termasuk I/O, RAM, ROM, dan EPROM. Karena itu
operasi ini membutuhkan tiga byte, satu untuk kode operasi, dan dua untuk
alamat dari operan.
*Mode Pengalamatan INDEXED
Dalam mode pengalamatan
indexed, alamat efektif adalah variabel dan tergantung pada dua faktor: 1) isi
index register saat itu dan 2) nilai offset yang terkandung dari byte yang
mengikuti kode operasi. Terdapat tiga jenis pengalamatan indexed yang didukung
oleh CPU keluarga M68HC05, yaitu: no-offset, 8-bit offset, dan 16-bit offset.
Dalam mode pengalamatan indexed-no offset, alamat efektif dari operan
terkandung dalam index register 8-bit. Karena itu, mode pengalamatan ini dapat
mengakses 256 lokasi memori (dari $0000 sampai $00FF). Instruksi mode ini
membutuhkan satu byte instruksi.
Machine Code, Opcode , Mnemonic, Operation,
Addressing Mode.
· Elemen
Instruksi Mesin
1. Operation
code (Op code)
Menspesifikasi
operasi yang akan dilakukan. Kode operasi berbentuk kode biner
2. Source
Operand reference
Operasi
dapat berasal dari lebih satu sumber. Operand adalah input operasi
3. Result
Operand reference
Merupakan
hasil atau keluaran operasi
4. Next
Instruction Reference
Elemen
ini menginformasikan CPU posisi instruksi berikutnya yang harus
diambil dan dieksekusi
· Mnemonic
Kode
operasi (opcode) direpresentasi kan dengan singkatan – singkatan, yang disebut
mnemonic.
• Mnemonic
mengindikasikan suatu operasi bagi CPU.
Contoh
mnemonic adalah :
– ADD
= penambahan
– SUB
= substract (pengurangan)
– LOAD
= muatkan data ke memori
• Setiap
opcode simbolik memiliki representasi biner yang tetap dan
programer dapat menetapkan
lokasi masing – masing operand
Operand
dari Operation
1. Memori
ke memori.
Dalam
hal ini data berasal dan kembali ke memori, dan tahap operasi secara umum
adalah :
a.
Ambil nilai operand dari memori
b.
Eksekusi operasi yang diperlukan
c.
Kembalikan hasilnya ke memori
2. Memori
ke register.
Yaitu
memindah nilai dari data kememori ke register. Satu nilai data berasal dari
memori dan satu lagi dari register. Hasil eksekusi dikembalikan ke memori atau
ke register dimana operand berasal.
3. Register
ke register.
Dalam
hal ini digunakan sejumlah register untuk menyimpan seluruh nilai data yang
akan digunakan dalam komputasi. Data harus diambil dari memori oleh sederet
instruksi sebelum komputasi dimulai. Setelah komputasi dilakukan maka hasilnya
dikembalikan lagi dengan register
· Addressing
Mode ( Mode Pengalamatan )
Mengatasi
keterbatasan format instruksi :
– Dapat
mereferensi lokasi memori yang besar
– Mode
pengalamatan yang mampu menangani keterbatasan tersebut :
1. Masing
– masing prosesor menggunakan mode pengalamatan yang berbeda – beda.
2. Memiliki
pertimbangan dalam penggunaannya.
ConversionConversion EmoticonEmoticon