Anda di halaman 1dari 9

Sistem Komputer

BAB I
ORGANISASI PROCESSOR
Komputer adalah sebuah sistem yang berinteraksi dengan cara tertentu dengan
dunia luar. Interaksi dengan dunia luar dilakukan melalui perangkat peripheral dan saluran
komunikasi. Perhatikan gambar 1.2,terdapat empat struktur utama:
a) Central Processing Unit (CPU), berfungsi sebagai pengontrol operasi komputer dan
pusat pengolahan fungsi fungsi komputer. Kesepakatan, CPU cukup disebut sebagai
processor (prosesor) saja.
b) Memori Utama, berfungsi sebagai penyimpan data.
c) I/O, berfungsi memindahkan data ke lingkungan luar atau perangkat lainnya.
d) System Interconnection, merupakan sistem yang menghubungkan CPU, memori utama
dan I/O.

1. Struktur CPU ( ALU, Control Unit dan Register )


Komponen yang paling menarik namun paling kompleks adalah CPU. Struktur CPU
terlihat
pada gambar 1.2, dengan struktur utamanya adalah :
a. CU (Control Unit) : berfungsi mengendalikan operasi yang dilaksanakan sistem
komputer.
b. ALU (Aritmetic Logic Unit) : untuk komputasi yaitu melakukan operasi aritmatika &
logika
c. Register, berfungsi sebagai penyimpan internal bagi CPU tempat operan-operan
dari operasi yang akan dilakukan.
d. CPU Interconnection, berfungsi menghubungkan seluruh bagian dari CPU.
2. ALU
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 arithmetika dan unit logika boolean,
yang masing masing memiliki spesifikasi tugas tersendiri.
ALU dapat melakukan 4 macam operasi arithmetika matematika yaitu : penjumlahan,
pengurangan, pembagian dan perkalian, selain itu juga dapat melakukan operasi logika
yang biasannya berisi operasi perbandingan.
Tiga kondisi yang dapat ditest oleh operasi logika :
1. Equal-to condition (=)
2. Less-than condition (<)
3. Greather-than condition (>)
3. Control Unit
Control Unit, bertugas mengontrol operasi CPU dan secara keselurahan 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.

4. Register Internal ( Program Counter, Accumulator, Index Register, Stack Pointer )


Registers, 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.
Register dapat dikategorikan menjadi 2 : register yg terlihat pemakai (pemrogram) dan
register untuk kendali & status.
1. Register yg terlihat pemakai (pemrogram)
Pemrogram dapat memeriksa isi dari register-register tipe ini. Beberapa instruksi
disediakan untuk mengisi (memodifikasi) register tipe ini. Terdiri dari 2 jenis :
1.1 Register Data : menyimpan suatu nilai untuk beragam keperluan
a. General purpose register, digunakan untuk beraneka ragam keperluan pada
suatu instruksi mesin yang melakukan suatu operasi terhadap data.
b. Special purpose register, digunakan untuk menampung operasi floating point,
menampung limpahan operasi penjumlahan atau perkalian.
1.2 Register Alamat : berisi alamat data di memori utama, alamat instruksi di
memori utama,bagian alamat yang digunakan dalam penghitungan alamat lengkap
a. Register Indeks (index register)
Pengalamatan berindeks merupakan salah satu mode pengalamatan popular.
Pengalamatan melibatkan penambahan indeks ke nilai dasar untuk memperoleh
alamat efektif
b. Register penunjuk segmen (segment pointer register)
Pada pengalamatan bersegmen, memori dibagi menjadi segmen-segmen.
Segmen berisi satu blok memori yang panjangnya dapat bervariasi.Untuk
mengacu memori bersegmen digunakan pengacuan terhadap segmen dan offset
di segmen itu. Register pengalamatan bersegmen sangat penting dalam
manajemen memori.
c. Register penunjuk stack (stack pointer register)
Instruksi yang tak memerlukan alamat karena alamat operan ditunjuk register
penunjuk stack. Operasi-operasi terhadap stack :
- instruksi push : menyimpan data pada stack, dengan meletakkan data di
puncak stack
- instruksi pop : mengambil data dari puncak stack.
d. Register penanda (flag register)
Isi register merupakan hasil operasi dari pemroses. Register berisi kondisi-kondisi
yang dihasilkan pemroses berkaitan dengan operasi yang baru saja dilaksanakan.
Register ini terlihat oleh pemakai tapi hanya dapat diperbaharui oleh pemroses
sebagai dampak (efek) operasi yang dijalankannya.
2. Register untuk kendali & status
Digunakan untuk mengendalikan operasi pemroses, kebanyakan tidak terlihat oleh
pemakai. Sebagian dapat diakses dengan instruksi mesin yang dieksekusi dalam
mode kontrol atau kernel sistem operasi.
2.1 Register untuk alamat dan buffer, terdiri dari :
a. MAR (Memory Address Register)
Untuk mencatat alamat memori yang akan diakses (baik yang akan ditulisi
maupun dibaca)
b. MBR (Memory Buffer Register) : Untuk menampung data yang akan ditulis ke
memori yang alamatnya ditunjuk MAR atau untuk menampung data dari memori
(yang alamatnya ditunjuk oleh MAR) yang akan dibaca.
c. I/O AR (I/O Address Register) : Untuk mencatat alamat port I/O yang akan
diakses(baik akan ditulisi / dibaca).
d. I/O BR (I/O Buffer Register) : Untuk menampung data yang akan dituliskan ke
port yang alamatnya ditunjuk I/O AR atau untuk menampung data dari port (yang
alamatnya ditunjuk oleh I/O AR) yang akan dibaca.
2.2 Register untuk eksekusi instruksi
a. PC (Program Counter) : mencatat alamat memori dimana instruksi di
dalamnya akan dieksekusi
b. IR (Instruction Register) : menampung instruksi yang akan dilaksanakan

2.3 Register untuk informasi status


Register ini berupa satu register / kumpulan register. Kumpulan register ini disebut
PSW (Program Status Word). PSW berisi kode-kode kondisi pemroses ditambah
informasi-informasi status lain, yaitu :
Sign
Flag ini mencatat tanda yang dihasilkan operasi yang sebelumnya dijalankan
Zero
Flag ini mencatat apakah operasi sebelumnya menghasilkan nilai nol
Carry
Flag ini mencatat apakah dihasilkan carry (kondisi dimana operasi penjumlahan/
perkalian menghasilkan bawaan yang tidak dapat ditampung register
akumulator)
Equal
Flag ini mencatat apakah operasi menghasilkan kondisi sama dengan
Interupt enable/disable
Flag ini mencatat apakah interrupt sedang dapat diaktifkan atau tidak
Supervisor
Flag ini mencatat mode eksekusi yang dilaksanakan, yaitu mode supervisor atau
bukan. Pada mode supervisor maka seluruh instruksi dapat dilaksanakan sedang
untuk mode bukan mode supervisor(mode user) maka beberapa instruksi kritis
tidak dapat diaktifkan.
Jawablah soal latihan berikut pada lembaran kertas folio bergaris !
1. Sebutkan komponen utama CPU dan jelaskan fungsi utama masing-masing
komponen !
2. Sebutkan secara lengkap beberapa fungsi dari komponen-komponen CPU pada soal
nomer 1 !
3. Jelaskan yang dimaksud dengan bahasa mesin pada komputer !
4. ALU memiliki 2 bagian yang masing-masing memiliki tugas yang berbeda. Sebutkan
dan jelaskan operasi yang dikerjakan pada bagian-bagian tersebut.
5. Jelaskan yang dimaksud fetch dan execute pada siklus instruksi!
6. Jelaskan urutan proses eksekusi instruksi mulai dari instruction fetch oleh CPU !
7. Dalam proses instruksi terdapat dua memori, yaitu memori internal dan eksternal
dalam siklus instruksi !
8. Sebutkan 2 kategori register, kemudian berikan penjelasan dan contoh pada
masing-masing kategori !
9. Sebutkan dan jelaskan 2 jenis register utama yang dibutuhkan saat terjadi sikus
instruksi !

BAB II
KARAKTERISTIK SET INSTRUKSI
Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan oleh CPU. Pada bahasa
mesin, setiap instruksi berbentuk pola bit biner. Disebut juga machine code (bahasa
mesin), aslinya juga berbentuk biner atau bahasa assembly. Agar dapat dimengerti
manusia, dibuatlah representasi simbolik yang biasanya berupa singkatan (disebut
mnemonic). Misal ADD, SUB, LOAD, dll. Sedangkan alamat operand direpresentasikan
seperti : ADD A,B
Beberapa contoh simbolik instruksi dalam bahasa manusia :
a. ADD : Add (Jumlahkan)
b. SUB : Substract (Kurangkan)
c. MUL : Multiply (kalikan)
d. DIV : Devide (bagi)
e. LOAD : Load (mengambil data dari register / memori)
f. STOR : Store (simpan data ke register / memori)
g. MOVE : Move (pindakhan data dari satu tempat ke tempat lain)
h. SHR : shift kanan data
i. SHL : shift kiri data,
j. dll
1) Element-element Instruksi (Op Code, Source Operand, Result Operand, Next Instruction
Reference)
a. Operation Code (OpCode)
Berisi kode operasi / perintah yang akan dilakukan, kode operasi ini dalam bentuk
biner.
b. Source Operand Reference
Operasi dapat berasal lebih dari satu sumber. Operand source ini berisi input operasi /
operasi masukan.
c. Result Operand Reference
Result Operand berisi hasil atau keluaran operasi.
d. Next Instruction
Elemen ini menginformasikan CPU posisi intruksi berikutnya yang harus diambil dan
dieksekusi.
Dalam sebuah instruksi,tidak harus semua elemen ini dicantumkan tergantung
kebutuhan jenis instruksi atau jumlah operand yang bisa diolah. Instruksi terdiri dari
bebrapa field yang sesuai dengan elemen dalam instruksi tersebut. Susunan elemen ini
disebut dengan format instruksi.
Misal instruksi dengan 2 alamat operand (yang diartikan dari bentuk biner):
ADD A,B A & B suatu alamat register
Source
Result
Opcode
Operand
Operand
Refereren Refereren
ce
ce
4 bits
6 bits
6 bits
ADD
A
B
16 bits
Gambar. Contoh format operand
Berikut ini beberapa contoh beberapa format instruksi yang dilakukan untuk
menyelesaikan perintah aritmatik:
a. Contoh Format Instr 3 Alamat

c. Contoh Format Instr 2 Alamat

Bentuk umum: [OPCODE] [AH], [AO1],


[AO2]
Satu alamat hasil, dua alamat
operand (AO)
Misal: SUB Y, A, B
- Bentuk algoritmik: Y A B

Bentuk umum: [OPCODE] [AH], [AO]


Satu alamat hasil merangkap operand,
satu
alamat operand
Misal: SUB Y, B
- Bentuk algoritmik: Y Y B

- Arti: Kurangkan isi Reg A dengan isi Reg


B,
kemudian simpan hasilnya di Reg Y.
Bentuk ini tidak umum digunakan di
komputer
Mengoperasikan banyak register
sekaligus
Program lebih pendek
Contoh :
A, B, Y adalah register
Program: Y = (A B)
SUB Y, A, B
YAB
Memerlukan 1 operasi
b. Contoh Format Instr 1 Alamat
Bentuk umum: [OPCODE] [AO]
Satu alamat operand, hasil disimpan
di
accumulator
Misal: SUB B
- Bentuk algoritmik: AC AC B
- Arti: Kurangkan isi Acc. dengan isi Reg
B,
kemudian simpan hasilnya di Acc.
Bentuk ini digunakan di komputer
jaman
dahulu
Hanya mengoperasikan satu register,
tapi
program menjadi bertambah panjang
Contoh :
A, B, Y adalah register
Program: Y = (A B)
LOAD A
AC A
SUB B
AC AC B
DIV Y
AC AC / Y
STOR Y
Y AC

- Arti: Kurangkan isi Reg Y dengan isi Reg B,


kemudian simpan hasilnya di Reg Y.
Bentuk ini masih digunakan di komputer
sekarang
Mengoperasikan lebih sedikit register,
tapi
panjang program tidak bertambah terlalu
banyak
Contoh :
A, B, Y adalah register
Program: Y = (A B)
MOVE Y, A
YA
SUB Y, B
Y Y- B
Memerlukan 2 operasi
d. Contoh Format Instr 0 Alamat
Bentuk umum: [OPCODE] [O]
Semua alamat operand implisit,
disimpan
dalam bentuk stack. Operasi yang
biasanya
membutuhkan 2 operand, akan mengambil
isi
stack paling atas dan di bawahnya
Misal: SUB
- Bentuk algoritmik: S[top] S[top-1]
S[top]
- Arti: Kurangkan isi Stack no.2 dari atas
dengan isi Stack paling atas,kemudian
simpan hasilnya di Stack paling atas
Ada instruksi khusus Stack: PUSH dan
POP
Contoh :
A, B, Y adalah register
Program: Y = (A B)
PUSH A
S[top] A
PUSH B
S[top] B
SUB
S[top] A - B
POP Y Out S[top]

Memerlukan 4 operasi
Memerlukan 4 operasi
2) Tipe-Tipe Instruksi yang dikerjakan dalam CPU
a. Data Processing adalah tipe instruksi yang melakukan proses operasi aritmatik dan
logic.
Operasi aritmatik adalah operasi matematika untuk mengolah data numerik,
seperti : ADD, SUB, DIV, dsb
Operasi logic adalah operasi logika beroperasi terhadap bit-bit word, sehingga
instruksi ini dapat digunakan untuk mengolah data / instruksi lain. Operasi ini
dapat seperti; AND. OR, NOT, EXOR, dsb
b. Data Storage (memory) adalah berisi instruksi penyimpanan ke memori. Instruksi
penyimpanan sangat penting dala operasi komputasi karena data tersebut akan
digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus
diadakan penyimpanan walaupun sementara.

c. Data Movement adalah tipe instruksi yang berisi instruksi untuk melakukan
perpindahan / transfer data (seperti : STOR, LOAD, MOVE, Exchange, dsb). Untuk
dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas.
d. Program flow control adalah tipe instruksi yang melakukan kontrol terhadap data
operasi dn percabangan (JUMP, HALT, return, dsb). Operasi ini berguna untuk
mengontrol status dan mengoperasikan percabangan ke set instruksi lain.
3) Tipe-Tipe Operand (Address, Numbers, Characters, Logical Data)
Rata rata operasi hanya membutuhkan regidter sebagai tempat membaca /
menyimpan operand. Namun adakalanya register tidak memiliki operand yang diminta,
sehingga merujuk pada tempat penyimpanan lain (memory RAM, chace, modul I/O, dll).
4) Tipe-Tipe Operasi (Data Transfer, Arithmetic, Logical, Conversion, I/O, System Control,
Transfer of Control)
Berikut ini beberapa tipe operasi beserta kode operasinya.
Tipe Operasi
Kode operasi
Keterangan
Perpindahan
Move
Memindahkan word atau blok dari sumber ke tujuan
dat
Store
Memindahkan word dari prosesor ke memori
Load
Memindahkan word dari memori ke prosesor
Exchange
Menukar
5) Instruksi Percabangan
6) Memacahkan masalah ( contoh-contoh kasus ) yang dimulai dengan flowchart atau
struktogram, listing program
Jawablah soal latihan berikut pada lembaran kertas folio bergaris !
1. Jelaskan yang dimaksud dengan set instruksi !
2. Jelaskan yang dimaksdu dengan mnemonic !
3. Untuk dapat dieksekusi oleh CPU instruksi harus berisi elemen-elemen informasi secara
lengkap. Sebutkan dan jelaskan element dalam instruksi !
3. Buatlah format instruksi / perintah yang digunakan untuk mengerjakan operasi X = (A +
B C)
a. Format Instruksi 3 Alamat
b. Format Instruksi 2 Alamat
c. Format Instruksi 1 Alamat
d. Format Instruksi 0 Alamat
4. Tidak semua format instruksi terdiri dari semua elemen bergantung pada tipe instruksi.
Sebutkan dan jelaskan tipe-tipe instruksi !
5. Dalam sebuah instruksi harus berisi operand dan operasi. Jelaskan yang perbedaan
operand dan operasi !
6. Sebutkan dan jelaskan tipe-tipe operand !
7. Sebutkan dan jelaskan tipe-tipe operasi !

BAB III
Mode dan format pengalamatan
Suatu mode pengalamatan dapat digunakan untuk menentukan suatu alamat tempat
untuk dimana operand akan di fetch. Beberapa teknik semacam ini dapat meningkatkan
kecepatan pelaksanaan instruksi dengan menurunkan jumlah referensi pada memori
utama dan meningkatkan jumlah referensi pada register kecepatan tinggi. Mode
pengalamatan ini menjabarkan suatu aturan untuk menginterpresetasikan atau
memodifikasi field alamat dari instruksi sebelum operand di referensikan. Pada semua
mode pengalamatan lainnya, operand yang sesungguhnya tidak disimpan pada field
alamat tetapi beberapa nilai di jabarkan dan di gunakan untuk menentukan operasi
operand.
Mode pengalamatan merupakan salah satu cara untuk mengatasi keterbatasan format
instruksi. Selain itu juga dapat dilakukan dengan mereferensi lokasi memori yang besar.
Masing masing prosesor menggunakan mode pengalamatan yang berbeda beda.
Memiliki pertimbangan dalam penggunaannya. Ada beberapa teknik pengalamatan :
1. Inherent
Semua informasi yang dibutuhkan untuk operasi telah diketahui oto,atis oleh CPU dan
tidak membutuhkan operand eksternal dari memoeri atau dari program. Operasi yang
digunakan hanyalah register internal dan CPU atau data stack.
2. Immediate
Bentuk pengalamatan ini yang paling sederhana. Operand benar benar ada dalam
instruksi atau bagian dari instruksi artinya operand sama dengan field alamat. Dalam
penggunaan pengalamatan ini memiliki keuntungan dan kerugian, yaitu :
Keuntungan :
Mode ini adalah tidak adanya referensi memori selain dari instruksi yang diperlukan
untuk memperoleh operand.
Menghemat siklus instruksi sehingga proses keseluruhan akan cepat.
Kerugiannya :
Ukuran bilangan dibatasi oleh ukuran field alamat
Contoh : ADD 5 artinya tambahkan 5 pada akumulator.
3. Direction, disebut juga pengalamatan langsung
Kelebihan :
Field alamat berisi efektif address sebuah operand.
Teknik ini banyak digunakan pada komputer lama dan komputer kecil.
Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus.
Kelemahan :
Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan
panjang word
Contoh : ADD A artinya tambahkan isi pada lokasi alamat A ke akumulator
4. Indirect
Disebut juga mode pengalamatan tak langsung. Field alamat mengacu pada alamat
word di dalam memori, yang pada gilirannya akan berisi alamat operand yang panjang
Contoh : ADD (A) artinya tambahkan isi yang ditunjuk oleh isi alamat A ke akumulator
Keuntungan :
Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.
Kerugian :
Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses
operasi
5. Extended
Alamat dari operand terkandung dalam
2 byte yang mengikuti kope operasi.
Penglamatan extended ini bisa digunakan untuk mengakses semua lokasi dalam memoeri
mikrokontroler termasuk I/O, RAM, ROM, dan EPROM. Karena itu operasi terdiri dari 3 byte,
satu untuk operasi dan dua untuk alamat dari operan.

6. Indexed
Alamat efektif adalah variable dan tergantung pada dua factor : 1) Isi index register
saat itu, 2) nilai offset yang terkandung dari byte yang mengikuti kode operasi.
Terdapat 3 jenis pengalamatn indexed yang didukung oleh CPU keluarga M68HC05,
yaitu no-offset, 8-bit offset, dan 16-offset. Dalam mode pengalamatan no-offset,
alamat terdiri dari operan yang terkandung dalam index 8-bit.
Seperti yang telah disebutkan pada bab sebelumnya, bahwa dalam sebuah instruksi
system komputer memiliki beberapa istilah yang berhubungan dengan instruksi. Machine
language adalah representasi tertulis machine code (kode masin) adalah kode operasi
suatu mesin tertentu. Bahasa ini bersifat khusus untuk mesin tertentu dan dimengerti
langsung oleh mesin, sehingga pelaksanaan proses sangat cepat. Abstraksi bahasa ini
adalah kumpulan kombinasi kode biner 0 dan 1 yang sangat tidak alamiah bagi
kebanyakan orang, karena itu disebut bahasa mesin tingkat rendah.
Kode komputer yang tidak alamaiah tersebut membuat manusia ingin membuat
bahasa yang dimengerti manusia sebagai representasi simbolik dari bahasa mesin agar
mudah dalam pembuatan kode program utnuk menjalankan instruksi yang diinginkan
manusia. Bahasa ini simbolik ini disebut dengan bahasa mnemonic. Dalam proses eksekusi
instruksi, sebuah instruksi terdiri dari sebuah kode operasi (Opcode). Opcode adalah
perintah yang akan diproses dalam sebuah instruksi. Opcode ini yang akan disispkan
dalam sebuah mode pengalamatan (Addressing Mode).
Jawablah soal latihan berikut pada lembaran kertas folio bergaris !
1. Carilah informasi tentang data stack, akumulator, alamat word, byte !
2. Jelaskan tentang mnemonic, Operation, Machine Code, Addressing Mode.
3. Jelaskan perbedaan khusus dari beberapa teknik pengalamatan.

Anda mungkin juga menyukai