Sebuah komputer moderen/digital dengan program yang
tersimpan di dalamnya
merupakan sebuah system yang memanipulasi dan memproses informasi menurut kumpulan instruksi yang diberikan. Sistem tersebut dirancang dari modul-modul
hardware seperti :
1. Register
2. Elemen aritmatika dan
logika
3. Unit pengendali
4. Unit memori
5. Unit masukan/keluaran (I/O)
Komputer dapat
dibagi menjadi 3 bagian utama, yaitu
:
1.
Unit pengolahan
pusa(CPU)
2.
Unit masukan/keluara (I/O)
3. Unit memori
Organisasi dasar dari sebuah komputer dapat ditunjukan pada blok diagaram pada gambar di bawah ini :
Konsep Bus
Bus adalah sekelompok kawat atau sebuah jalur fisik yang berfungsi menghubungkan
register-register dengan unit-unit fungsional yang berhubungan dengan tiap-tiap modul.
Informasi saling dipertukarkan
di antara modul dengan melalui bus.
Di dalam diagram tersebut program disimpan
dalam unit memori utama yang berhadapan dengan piranti I/O melalui CPU. CPU membaca dari atau menulis ke memori,
dengan
mengirimkan alamat word
ke unit memori
melalui bus address kemudian menerima
atau mengirimkan data melalui bus data. Data dipertukarkan
antara CPU dan Unit I/O juga dengan menggunakan bus data. Operasi disinkronisasikan
oleh dua bus control
dengan sinyal kendali yang
dikirimkan oleh CPU
dan sinyal acknowledgment
serta sinyal interupsi yang diterima oleh CPU.
Di dalam
CPU terdapat beberapa bagian diantaranya yaitu
:
Unit kontrol
CPU bertugas mengontrol komputer
sehingga terjadi sinkronisasi kerja antar
komponen dalam menjalankan
fungsi-fungsi operasinya. termasuk dalam tanggung
jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan
menentukan jenis instruksi tersebut. Bila ada
instruksi untuk perhitungan aritmatika
atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke
ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi
untuk disimpan, dan pada
saatnya akan disajikan ke alat output. Dengan demikian
tugas
dari unit kendali ini adalah:
•Mengatur dan
mengendalikan
alat-alat input
dan output.
•Mengambil
instruksi-instruksi dari
memori utama
•Mengambil
data dari memori utama (jika diperlukan) untuk
diproses.
•Mengirim instruksi
ke ALU bila
ada perhitungan
aritmatika
atau perbandingan logika
serta mengawasi kerja dari ALU.
•Menyimpan hasil proses ke memori
utama.
ARITHMATIC LOGIC
UNIT
unit
yang bertugas untuk melakukan operasi
aritmetika dan operasi logika berdasar
instruksi yang
ditentukan.
ALU sering di sebut
mesin
bahasa
karena
bagian ini ALU
terdiri dari dua bagian,
yaitu
unit
arithmetika dan
unit
logika
boolean
yang masing-masing memiliki spesifikasi
tugas
tersendiri. Tugas
utama
dari ALU adalah
melakukan semua perhitungan
aritmatika (matematika) yang terjadi sesuai
dengan
instruksi program. ALU melakukan semua
operasi aritmatika dengan dasar
penjumlahan sehingga sirkuit elektronik yang digunakan
disebut adder.
Tugas lain dari ALU adalah melakukan keputusan
dari suatu operasi logika
sesuai dengan
instruksi program. Operasi
logika meliputi
perbandingan dua operand dengan menggunakan
operator logika tertentu, yaitu sama
dengan (=),
tidak
sama dengan (¹ ), kurang
dari (<),
kurang atau
sama dengan
(£ ),
lebih besar dari (>), dan
lebih besar atau sama dengan
(³ ).
Fungsi Arithmetic Logic UniT
Melakukan suatu proses data yang berbentuk angka dan logika, seperti data matematika
dan statistika
Melakukan
keputusan dari operasi sesuai dengan instruksi program
yaitu
operasi logika (logical operation).
Melakukan perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program
Membantu Control Unit saat melakukan perhitungan aritmatika (ADD, SUB) dan
logika (AND, OR, XOR, SHL,
SHR)
Gambar fungsi ALU dalam
Stuktur Dasar Sistem Komputer
CONTROL LOGIC
UNIT
Bagian dari
komputer yang menggenerasi
signal yang mengontrol operasi
komputer. Tugas Control
Unit adalah mengontrol
sisklus Mesin Von Neumann :
1. Menjemput instruksi berikutnya yang
akan
dijalankan dari
memori, menempatkannya dalam register instruksi (IR) dan menambahkan (Increment) PC
untuk menunjukkan atau
mengarahkan
ke instruksi
beikutnya
yang ada dalam
memori,
2. Mendekode dan menjalankan instruksi yang baru saja
dijemput.
Unit kontrol menghasilkan signal kontrol yang
mengatur komputer. Untuk komputer yang sangat sederhana,unit
control ini bisa mengirim
microorder,yakni
signal individual yang
dikirimkan melalui jalur kontrol dedicated,untuk mengontrol komponen dan peralatan individual.
Yang lebih umum
dilakukan oleh unit control
adalah menghasilkan set mikroorder secara
serempak dari pada microorder individual.set mikrooder yang
dihasilkan oleh unit kontrol pada sekali saat disebut
microinstruction.
Operasi Mikro
Operasi Mikro untuk
kendali logika ( Control
Logic Unit ) yang tugasnya untuk mengatur seluruh aktifitas perangkat keras di dalam komputer dan juga untuk memindahkan data antar register.
Salah satu cara dalam melakukan operasi mikro tersebut dengan menggunakan bahasa
transfer register
/ Register Transfer Language
(RTL).RTL adalah sebuah bahasa yang
digunakan untuk menjabarkan atau melaksanakan
operasi
mikro.
Untuk mengungkapkan bahasa RTL ini dapat digunakan notasi RTL yang merupakan aturan penulisan
pemberian instruksi
RTL.
Contoh notasi tersebut
antara lain :
Artinya
isi
register A1 dan A2 dijumlahkan dengan menggunakan sirkuit adder
biner dan hasil jumlahnya ditransfer
ke register A3.
Namum apabila dilakukan pengulangan penjumlahan akan menyebabkan overflow dan untuk menampung
overflow tersebut digunakan register 1-bit yaitu V sebagai register
overflow serta pelengkap A3.
CLU bertugas untuk :
1. Memberi suatu instruksi dari memori
2. Memberi
kode
pada instruksi
untuk
menentukan
operasi
mana
yang akan
dilaksanakan
3. Menentukan sumber dan tujuan
data di dalam perpindahan data
4. Mengeksekusi
operasi yang dilakukan
Setelah menginterpretasi kode biner suatu instruksi,
CLU menghasilkan
serangkaian perintah kendali, yang disebut
sebagai instruksi mikro (microinstruction ) atau
operasi mikro.
Instruksi mikro merupakan
operasi
primitif
tingkat rendah yang bertindak
secara langsung pada sirkuit logika suatu komputer dan mengatur fungsi-fungsi sebagai berikut
:
1. Membuka/menutup
suatu gerbang ( gate
) dari sebuah
register ke sebuah bus
2. Mentransfer
data sepanjang bus
3. Memberi inisial sinyal-sinyal kendali seperti READ, WRITE, SHIFT, CLEAR dan
SET
4. Mengirimkan
sinyal-sinyal
waktu
5. Menunggu sejumlah
periode waktu tertentu
6. Menguji bit-bit tertentu dalam
sebuah register
Perancangan CLU
Terdapat 2 pendekatan
dalam
perancangan
CLU, yaitu
:
1. Hardwired atau
Random Logic
Sejumlah gerbang ( gate ), counter dan register saling
dihubungkan untuk menghasilkan sinyal-sinyal kendali. Setiap rancangan
memerlukan sekelompok peranti logika dan
hubungan yang berbeda-beda.
2. Microprogrammed
Control
Dibentuk serangkaian
instruksi mikro (
program mikro ) yang disimpan dalam sebuah
memori kendali ( biasanya sebuah ROM ) dalam CLU. Waktu yang diperlukan dan sinyal kendali yang dihasilkan didapat
dengan menjalankan
suatu program mikro
Microinstruction decoder menghasilkan dan mengeluarkan mikroorder yang
di dasarkan pada mikrointruksi dan
op
code intruksi
yang akan di jalankan .yang terakhir
sequncer
menyinkronkan aktivitas dari
komponen
unit
kontrol.squencer adalah bagian inti (jantung) dari unit control.dia
mempunyai dua mode operasi yang
berbeda yaitu:
a. Operasi biasa
Selama operasi biasa (ordinary operation ),squencer menghasilkan signal kontrol yang
mengatur unit kontrol
b.
Start up mesin
Selama start up mesin ,unit kontrol
memunculkan dan menandai berbagai macam
register.
CPU Interconnections
adalah sistem koneksi dan
bus
yang menghubungkan komponen internal
CPU,yaitu ALU,
unit
kontrol
dan register-register dan juga dengan bus-bus
eksternal
CPU yang menghubungkan dengan
sistem lainnya, seperti
memori
utama, piranti
masukan/keluaran.
Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses
cukup
tinggi,
yang digunakan
untuk
menyimpan data dan/atau instruksi
yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan
data saat di olah ataupun
data untuk pengolahan
selanjutnya. 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", atau "register 64-bit"
dan lain-lain. Register
ini dikategorikan
menjadi dua, yaitu:
1. register yang terlihat pemakai,
Register-register tipe ini terlihat oleh pemakai (pemrogram), pemrogram dapat memeriksa
dan
beberapa instruksi dapat digunakan untuk mengisi (memodifikasi)
isi register tipe ini. Register
tipe
ini
terdiri dari dua
jenis, yaitu:
1. Data Register : Digunakan untuk menyimpan angka-angka dalam bilangan bulat
(integer)
2. Addres Register : Digunakan untuk menyimpan alamat-alamat memori dan juga untuk
mengakses memori.
2. register untuk kendali status.
Beragam register tipe
ini digunakan untuk mengendalikan operasi pemroses.
Kebanyakan tidak terlihat oleh pemakai. Sebagiannya
dapat diakses dengan instruksi mesin yang dieksekusi dalam
mode kontrol atau kernel sistem
operasi.
Register untuk kendali status
antara lain:
- register untuk alamat
dan buffer (address
and buffer register)
- register untuk eksekusi
intruksi (instruction
execution
register)
- register untuk informasi status
(status information register)
SIC (SIMPLIFIED INSTRUCTIONAL COMPUTER)
Komputer yang
didasarkan pada SIC ini merupakan komputer yang termasuk dalam perancangan arsitektur yang sangat sederhana dan komputer ini dipersembahkan oleh BECK (1985).
Struktur Mesin
SIC
terdiri dari :
1. CPU
2. Unit memori
3. Minimal
satu unit prinati I/O
Untuk CPU yang digunakan terdiri dari 13 register khusus, seperti yang ada pada table di
bawah
ini.
NO
|
REGISTER
|
UKURAN (bit)
|
NAMA
|
1
|
A
|
24
|
Accumulator
|
2
|
X
|
15
|
Register Index
|
3
|
L
|
15
|
Register Linkage
|
4
|
PC
|
15
|
Program
Counter
|
5
|
IR
|
24
|
Instruction
Register
|
6
|
MBR
|
24
|
Memori Buffer
Register
|
7
|
MAR
|
15
|
Memori Address
Register
|
8
|
SW
|
11
|
Status Word
|
9
|
C
|
2
|
Counter
|
10
|
INT
|
1
|
Interrupt Flag
|
11
|
F
|
1
|
Fetch Cycle Flag
|
12
|
E
|
1
|
Execute Cycle Flag
|
13
|
S
|
1
|
Start
/ Stop Flag
|
Format
instruksi pada mesin SIC :
Keterangan :
OP = OPCODE
8 bit yang menerangkan operasi-mikro yang
akan
dijalankan
IX = flag indeks yang menunujukkan mode pengalamatan yang harus digunakan
AD = alamat untuk
memori operand 15 bit
· Pengalamatan
langsung (direct
addressing) yaitu operand disimpan
di dalam M[AD]
· Pengalamatan berindeks (index addressing) yaitu operand disimpan di dalam M[AD = (X)] dengan bit IX bernilai 1
Penggunaan register-register
pada
SIC
1. Register A = register yang digunakan
untuk proses perhitungan
2. Register X = register yang digunakan
untuk mode pengalamatan
berindex
3. Register
PC =
register yang menyimpan alamat instruksi
berikutnya
4. Register L = register yang menyimpan alamat asal sebelum melakukan subroutines
5. Register IR = register yang menyimpan
instruksi yang sedang dikerjakan
6. Register MBR = register yang digunakan untuk proses masukan atau keluaran data dari
memori
7. Register MAR = register yang menyimpan alamat memori untuk proses pembacaan atau
penulisan
8. SW = register yang berisi informasi status relatif terhadap
instruksi sebelumnya
9. C = register yang membangkitkan
signal waktu
t0,
t1, t2, t3
10. INT = register yang menentukan apakah signal
interrupt
telah diterima
11. F = register yang digunakan
dalam proses”siklus
fetch’
12. E = register
khusus yang
digunakan dalam proses
“siklus eksekusi’
13. S = register yang akan mengaktifkan
register
C
Kumpulan Instruksi
SIC
Ada 21 instruksi SIC yang
digunakan, dimana pada instruksi ini m menunjukkan address
memori dari operand dan (m) menunjukkan nilai yang disimpan pada address memori
tersebut. Opcode instruksinya ditulis
dalam notasi heksadesimal.
· JSUB dan RSUB merupakan dua instruksi yang berhubungan dengan subrutin. JSUB
menyimpan PC saat ini ke L
dan kemudian melompat ke subrutin dengan menyimpan operand ke
PC.
RSUB kembali dari subrutin
dengan melompat ke lokasi
yang dinyatakan oleh L.
· Instruksi
TD digunakan untuk menguji piranti I/O sebelum berusaha untuk membaca
dari atau menulis ke piranti tersebut.Hasil pengujian
tersebut disimpan di
dalam kode kondisi (condition code), field CC, pada SW.
Panjang
field ini 2 bit dan digunakan untuk mewakili salah
satu dari tiga nilai <, =,
>
Jika
instruksi TD dijalankan, nilai field CC aka di-set
menurut
kode berikut :
< menunjukkan bahwa piranti telah
siap
= menunjukan bahwa piranti sedang sibuk
dan tidak dapat
digunakan pada saat
itu
> menunjukkan bahwa piranti tidak beroperasi
· Instruksi
COMP digunakan juga untuk men-set field CC. Nilai yang disimpan field
CC setelah sebuah
instruksi COMP setelah sebuah
instruksi COMP menggambarkan
hubungan antara A dan
operand instruksi
· Instruksi IRT
digunakan oleh
interrupt handler
agar menyebabkan lompatan
kembali ke tempat dimana CPU berada sebelum intrupsi terjadi.
Jika interupsi
terjadi, CPU akan menyimpan PC saat ini ke dalam memori pada
address
0.
Untuk kembali dari sebuah interupsi
, isi dari alamat memori ini harus
di-load kembali ke dalam PC.
· Instruksi-instruksi lainnya adalah
operasi aritmatika dan logika, transfer dari pengendalian(jump), loading register, storing register atau membaca dan menulis
ke piranti I/O.
Cara Kerja CPU
Saat data dan/atau instruksi dimasukkan ke processing-devices,
pertama sekali diletakkan di RAM (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 di 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 Accumulator.
Apabila
hasil
pengolahan telah
selesai, maka Control
Unit
akan mengambil hasil pengolahan di Accumulator
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.
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 ketik,pemindai,
tuas kontrol, maupun
tetikus. CPU
dikontrol menggunakan sekumpulan
instruksi
perangkat lunak
komputer. Perangkat
lunak tersebut dapat dijalankan
oleh CPU dengan membacanya
dari media penyimpan, seperti
cakram
keras, disket, cakram padat,
maupun pita perekam. Instruksi-instruksi
tersebut kemudian disimpan
terlebih dahulu pada memori fisik (RAM),yang mana setiap instruksi
akan diberi
alamat unik yang
disebut alamat memori. Selanjutnya, CPU dapat mengakses data- data pada RAM 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 RAM. Data kemudian didekode
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,
perkalian, pengurangan, pengujian kondisi terhadap data dalam
register,
hingga mengirimkan hasil pemrosesannya
kembali ke memori fisik, media
penyimpan, 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.
CPU BUILDING BLOCKS







