Makalah Sistem Komputer Kelas 11 tentang CPU, Set interuksi, dan Format Pengalamatan


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)
·                     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, 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

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 :
  1. Memindahkan data dari satu lokasi ke lokasi lain.
  2. 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 :
  1. MOVE : memindahkan word atau blok dari sumber ke tujuan
  2. STORE : memindahkan word dari prosesor ke memori.
  3. LOAD : memindahkan word dari memori ke prosesor.
  4. EXCHANGE : menukar isi sumber ke tujuan.
  5. CLEAR / RESET : memindahkan word 0 ke tujuan.
  6. SET : memindahkan word 1 ke tujuan.
  7. PUSH : memindahkan word dari sumber ke bagian paling atas stack.
  8. 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.













Previous
Next Post »