Setiap prosesor memiliki beberapa perbedaan dan keistimewaan, tetapi organisasi dasarnya
terdiri dari arithmatic/logic unit (ALU), register dan control unit (CU).
ALU
ALU melakukan operasi aritmatik dan lojik pada operand-operand. Operand-operand tersebut
disimpan sementara di dalam register. Pada beberapa prosesor hasil operasi disimpan pada
register khusus yang disebut akumulator. Tipe operasi ditentukan oleh control unit yang
mendekode instruksi yang difetch dan kemudian mengumpankan ke ALU dengan sinyal-sinyal
kontrol yang sesuai.
Prosesor juga dapat melakukan operasi biner presisi ganda, untuk mempercepat aplikasi
tertentu. Prosesor ini biasanya merupakan prosesor slave yang dihubungkan dengan prosesor
utama. Prosesor ini sering disebut dengan prosesor aritmatik.
REGISTER
Register mempertukarkan informasi melalui satu atau lebih bus-bus internal. Bus-bus internal
ini memungkinkan terjadinya overlaping operasi-operasi yang dapat meningkatkan kecepatan
CPU. Lebar setiap register--yaitu jumlah bit--biasanya sama dengan bus data internal. Pada
Gambar 3.1 ditunjukkan enam buah register yang masing-masing memiliki fungsi khusus.
Register yang lainnya adalah general purpose register (GPR) yang digunakan untuk
menyimpan alamat dan data sementara selama operasi prosesor.
1. Program Counter (PC): Sebelum mengeksekusi program, PC diisi dengan alamat awal
program. Kemudian ditambah setiap instruksi baru difetch, sehingga PC selalu menunjuk
pada lokasi instruksi berikutnya.
2. Instruction Register (IR): Instruksi-instruksi program terdiri dari opcode dan field
alamat. IR mengekstrak instruksi dari data buffer register hanya bagian opcode-nya saja.
Setelah itu control unit mendekode isi IR dan membangkitkan sinyal kontrol yang
menghidupkan kegiatan sesuai dengan instruksi tersebut.
3. Buffer Register: Buffer register data dan alamat memisahkan bus eksternal dengan bus
internal CPU. Dalam beberapa kasus buffer register dapat berupa gerbang penyangga saja.
Halaman 2-1
Clock Power
Addres
Timing Address
Buffer
Data
Data
Buffer
EC
Control
L ogic
Arithmatic &
Logic Unit
Registers
Control
ROM
Stack
Pointer
Instruction
Register Status
Register
Program
Control Counter
Unit
4. Status Register: Status register menyimpan word status program yang terdiri dari bit-bit
flag dan bit-bit kontrol. Flag diset secara otomatis oleh kejadian tertentu selama operasi
aritmatik dan lojik. Bit kontrol diset oleh program agar meng-enable mode-mode operasi
CPU.
5. Stack Pointer (SP): Stack merupakan lokasi memori yang berdampingan dimana item-
item informasi di dalamnya dapat ditambahkan atau dibuang dengan cara seperti tumpukan
(stack like). SP menunjuk puncak stack, dengan kata lain menyimpan alamat item yang
berada di atas. Stack dapat berambah naik atau turun sepeti Gambar 3.2.
a) Untuk menambah (push) item baru ke dalam stack tersebut, dilakukan dengan
mengurangi SP sehingga menunjuk ke alamat berikut yang lebih rendah.
b) Untuk membuang (pop) suatu item, dilakukan dengan membaca item dari puncak stack
kemudian mengurangi SP untuk menunjuk ke puncak yang baru. Cara ini dikenal dengan
Last-In-First-Out (LIFO).
Halaman 2-2
CONTROL UNIT
Control unit (CU) membangkitkan urutan sinyal yang berasal dari clock. Tipe urutan
sinyal tergantung pada opcode dari masukan yang diberikan dari sumber luar ke CPU.
Masukan eksternal tersebut dapat merupakan permintaan interupsi pada program (interupt
request).
Memory
Item #1 A
(Bottom)
Item #2 A-1
Blok Memori
yang digunakan
Stack Pointer Item #3 A-2
untuk stack
Address
Prosesor menggunakan sejumlah pin atau terminal untuk berhubungan dengan dunia luar.
Antarmuka untuk setiap prosesor tidak selalu sama, baik jumlah pin maupun nama sinyalnya.
Perbedaan dapat timbul karena bertimbangan biaya, sehinga ada satu pin yang dipakai bersama
untuk menghemat biaya. Aspek fungsional antarmuka eksternal terdiri dari beberapa terminal
seperti uraian berikut.
Halaman 2-3
CLOCK Power
Status
Biasanya prosesor memiliki satu atau lebih pin Gnd dan satu atau lebih pin tegangan yang
mengacu pada Gnd.
Prosesor adalah merupakan mesin sinkron yang ergantung pada pulsa clock untuk
sinkroisasi operasinya. Pengaktifan dan pendeaktifan sinyal kontrol berkaitan dengan ujung
(edge) pulsa clock. Pulsa clock disuplai dari sumber eksternal melalui jalur clock.
Bus alamat menentukan lokasi yang akan diakses oleh CPU selama operasi baca atau tulis.
Lokasi dapat berupa lokasi memori atau lokasi I/O, dimana setiap lokasi menyimpan satu byte
dta. Bus alamat akan menentukan seperangkat alamat yang berbeda yang membentuk direct
address space dari prosesor.
Apabila terdapat N jalur alamat, maka address space adalah 2N byte lokasi. Alamat
terrendahnya adalah 0 dan alamat tertingginya adalah 2N-1. Pada prosesor 16-bit, lokasi byte
Halaman 2-4
dipasangkan menjadi lokasi word 16 bit. Byte alamat genap merupakan upper half of word dan
byte alamat ganjil merupakan lower half, seperti ditunjukkan Gambar 2.4. Word biasanya
dialamati dengan upper byte dan sinyal kontrol menunjukkan bahwa ini adalah alamat word,
bukan byte. Pada prosesor 32-bit, lokasi byte dapat dikelompokkan empat kali untuk
membentuk lokasi word 32-bit.
Jalur ini membawa data yang akan ditulis atau dibaca dari lokasi yang diidentifikasi
melalui saluran alamat. Tidak seperti jalur alamat yang hanya satu arah, jalur data dapat
mengirimkan informasi dua arah. Jumlah jalur data akan menenntukan jumlah informasi
maksimum yang dapat ditransfer selama sekali operasi baca atau tulis. Bus data ini merupakan
dasar pengelompokan prosesor. Sebagai contoh apabila jalur data berjumlah delapan, maka
prosesor ini disebut prosesor 8-bit.
1. M/IO* (Memory-I/O). Sinyal ini hanya diperlukan jika prosesor memiliki ruang alamat I/O
yang terpisah. Sebagai contoh pada Gambar 3.4 ditunjukkan ruang alamat I/O yang terpisah
memiliki lokasi 2M byte. Apabila M/IO tinggi menandakan bahwa ada akses memori,
sedangkan I/O mengabaikan sinyal tersebut. Apabila M/IO rendah berarti ada akses I/O.
2. R/W* (Read/Write). menunjukkan arah transfer data. Jika tinggi berarti prosesor membaca
data, dan jika rendah berarti prosesor menulis data.
3. WRD/B* (Word/Byte). Sinyal ini tidak diperlukan pada prosesor 8-bit. Sinyal ini
menunjukkan apakah data yang akan diakses berupa byte atau word.
Halaman 2-5
5. DS (Data Strobe). Snyal ini memiliki dua peran. Pada operasi tulis menunjukkan bahwa
prosesor telah meletakkan informasi pada bus data. Pada operasi baca DS menunjukkan
pada memori (atau I/O) kapan meletakkan informasi pada bus data.
6. READY. Seluruh sinyal kontrol di atas dibangkitkan oleh prosesor. READY dibangkitkan
oleh rangkaian eksternal untuk menunjukkan kesiapan memori dan I/O pada proses transfer
data.
2N-1
2M
2M-1 2M-1
1 1
0 0
(a) (b)
Gambar 3.4 Ruang alamat yang terpisah. (a) Alamat memori. (b) Alamat I/O.
Karena peran prosesor merupakan titik kontrol sentral, prosesor harus selalu selalu
memperhatikan event yang terjadi pada bagian sistem yang lain. Pada prosesor model Gambar
2.3, terdapat dua jalur interupsi yaitu: interrupt request (INTREQ) dan interrupt acknowledge
(INTACK).
Pada prosesor model tersebut, urutan langkah interupsi adalah seperti berikut:
a. Periferal mengaktifkan INTREQ.
b. Apabila program yang sedang dieksekusi prosesor memiliki prioritas yang lebih tinggi,
INTREQ diabaikan. Sebaliknya urutan berjalan seperti berikut.
c. Prosesor menyelesaikan eksekusi instruksi yang sedang dikerjakan agar berhenti dengan
tertib.
d. Setelah menerima jawaban (acknowledgement), periferal memuat kode khusus pada bus
data mengatur INTREQ menjadi rendah.
e. Prosesor menerima kode alamat yang ditunjukan pada langkah sebelumnya dan
mendeaktifkan jalur INTACK.
f. Agar prosesor dapat melanjutkan eksekusi program yang diinterupsi, CPU menyimpan
informasi tertentu dari registernya.
g. Pada titik ini prosesor menggunakan kode alamat khusus untuk menentukan alamat awal
rutin, yaitu subprogram, yang akan melayani periferal.
Halaman 2-6
2.2.6 Jalur Kontrol Bus
Pada prosesor model terdapat tiga macam jalur kontrol bus, yaitu: bus request (BR), jalur bus
grant (BG), dan jalur LOCK. BG melayani jawaban permintaan bus (BR). LOCK
menunjukkan pada peralatan I/O apakah prosesor mengijinkan permintaan bus saat ini.
Instruction cycle
Opcode fetch
T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 T1 T2 T3 T1 T2 T3
Clock
cycle
Halaman 2-7