Gambar 4. Arsitektur CPU Internal (dari mikroprosesor 8 bit disederhanakan)
Hubungan
ke chip lain dalam sistem dilakukan
lewat data bus, address bus & control
bus. Mikroprosesor merupakan inti dari sistem, bekerja menurut daur umpan
dan eksekusi (Fetch and Execute).
Selama fase umpan CPU menerima instruksi dari lokasi memori (tempat program
disimpan). Umpan diterima mikroprosesor yang akan menempatkan alamat dari
lokasi memori pada address bus,
sehingga akan mengaktifkan jalur kontrol baca bekerja. Address decoder chip akan memilih memory chip yang sesuai untuk meletakkan isi alamat (yaitu
instruksi dalam bentuk kata 8 bit
tersandi) yang disebut Op-Code pada data bus. CPU menerima instruksi
& menyimpannya ke dalam register internal yang disebut instruction register (IR).
Selama fase eksekusi, instruksi yang diterima CPU akan disandikan dan
dieksekusi. Yang dilakukan dengan cara CPU membangkitkan isyarat pewaktuan
& kontrol yang diperlukan untuk melaksanakan instruksi tersebut. Dalam fase
eksekusi tersebut terdapat operasi aritmatika sederhana (seperti penjumlahan /
pengurangan atau transfer data yang lebih rumit dari dan ke piranti pheriperal / memory).
Kedua fase fetch and execute,
memerlukan waktu >1 pulsa detak
(lebih dari satu pulsa detak). Saat suatu instruksi selesai dilaksanakan alamat
bus yang memulai kembali daur-umpan dan eksekusi (fetch and execute).
1) Penyangga
bus
Dalam sistem, bus berfungsi menghubungkan
mikroprosesor ke semua piranti memori dan interface,
tapi mikroprosesor dari MOS sering tidak memadai untuk sistem yang besar,
sehingga digunakan penyangga bus, untuk mempertinggi kemampuan dari penyangga
bus. Ada dua
jenis penyangga / penggerak bus, yaitu pengirim (transmitter) untuk menggerakkan bus & penerima (receiver) untuk mendengarkan bus. Pada
bus dua arah (seperti data bus, pengirim/penerima disebut penyangga dua arah/transreceiver) sering di gunakan juga.
Penyannga tiga kondisi juga sering dipakai
untuk memutuskan bus dari mikroprosesor.
Cara ini dipakai jika piranti eksternal digunakan untuk mengendalikan sistem
dari CPU on-board. Di dalam CPU
hubungan antara elemen-elemen yang ada dilakukan melalui data bus internal 8 bit & jalur kontrol dari blok
pewaktuan & logika kontrol. Data bus internal dihubungkan dengan data bus
sistem, lewat penyangga dua arah (transreceiver)
logika kontrol dan pewaktuan dilakukan oleh isyarat kontrol untuk keseluruhan
sistem. Satu-satunya isyarat kontrol diumpankan ke CPU adalah interupsi yang
masuk ke dalam instruction decoder (ID)
untuk menghentikan operasi mikroprosesor.
Gambar 5. Penyangga data
dan alamat
2) Unit Aritmatika dan Logika
Berfungsi melakukan fungsi aritmatika dan
fungsi logika (seperti operasi NAND atau OR) pada 2 bilangan, sehingga ALU
harus memiliki dua input yaitu : Input A untuk bilangan 1, & Input B untuk bilangan 2. Kedua bilangan
tersebut pertama kali disimpan dalam 2 register 8 bit, accumulator (ACC)
untuk input A dan sebuah register
sementara (Temp) untuk input B setelah operasi ALU selesai,
hasilnya akan disimpan dalam ACC menggantikan isi yang lama.
3) Instruction
Register (IR)
IR merupakan register 8 bit yang digunakan untuk menyimpan instruksi tersandi, yaitu saat instruksi tersebut
digunakan atau sampai instruksi berikutnya diumpankan dan disimpan, begitu
seterusnya.
4) Instruction
Decoder (ID)
ID yaitu berupa instruksi tersandi adalah kata 8 bit yang dinamakan Operational
Code (Op-Code). Setiap instruksi
(seperti tambah atau simpan) memiliki sandi atau kode yang berbeda atau dengan
kata lain setiap mikroprosesor memilki Op-Code yang berbeda
yang disajikan dalam bentuk instruction
set. Op-Code yang
tersimpan akan diumpankan ke ID dari IR. Decoder akan merinci sandi / kode tersebut
dan menginstruksikan “ TIMING AND CONTROL LOGIC” Untuk membangkitkan isyarat
pewaktuan dan kontrol yang diperlukan untuk melaksanakan instruksi tersebut.
5) Program
Counter (PC)
PC atau pencacah program digunakan untuk
melacak program dan meyakinkan bahwa CPU menerima instruksi yang sesuai dengan
urutan yang ditentukan oleh program.
Telah diketahui bahwa mikroprosesor akan
melaksanakan tugas menurut urutan tertentu yang disebut program. Program adalah
berisi sejumlah instruksi, dan setiap instruksi berisi Op-Code, sedang data
yang akan diproses disebut Operand.
Instruksi-instruksi disusun dalam urutan logika tertentu dan disimpan secara
berurutan pada lokasi memori, yang disebut alamat program. Tabel bawah ini
menggambarkan konstruksi dari program :
PC berupa register 16 bit yang berisi alamat lokasi program, berikut ini merupakan
penjelasan dari tabel di atas :
Ø
Untuk memulai program, CPU
menempatkan alamat awal (Starting
Address) 0A20 (tempat operator 1 disimpan) dalam program, yang selanjutnya
akan ditempatkan pada address bus
untuk mengumpan instruksi pertama. Instruksi 1 akan diumpankan ke CPU lewat data bus & disimpan dalam IR. Pada
kondisi ini pencacah program akan bertambah menjadi 0A20 + 1 = 0A21, operator 1
tidak memiliki data, sehingga segera dapat dilaksanakan. Setelah instruksi 1
selesai dilaksanakan maka CPU memberitahu pencacah program untuk mendapatkan
isi (0A21) ke dalam bus alamat (address
bus) untuk mengumpankan instruksi 2, dan menyimpannya dalam IR. Jika ini terjadi pencacah program akan bertambah menjadi
0A21 + 1 = 0A22, yang berisi data (operand
2). Operator 2 akan disampaikan, tapi tidak bisa diselesaikan tanpa data yang sesuai yaitu berupa bilangan
yang tersimpan dalam suatu lokasi atau ditambahkan ke bilangan lain yang sudah
ada dalam ACC lalu operand 2 akan
diumpankan dengan menempatkan isi pencacah program, 0A22 pada address bus. Operand 2 muncul pada data
bus, saat pencacah program bertambah menjadi 0A23 (0A22 + 1). Saat
instruksi 2 selesai dilaksanakan, pencacah program akan meletakkan isinya yang
baru, 0A23 ke address bus untuk
mengumpan instruksi 3, dan seterusnya.
Ø
Sebuah
instruksi dapat berisi lebih dari 1
operand 8 bit sebagai contoh dua operand
8 bit diperlukan untuk mengakomodasi alamat 16 bit.
Posting Komentar