Gambar 2. Rangkaian reset CPU
Isyarat Pulsa Detak
Crystal-controlled oscillator digunakan untuk pulsa detak pewaktuan dari sistem mikroprosesor. Isyarat kontrol detak menyesuaikan gerakan data dan menentukan
kecepatan operasinya.
Gambar 3. Rangkaian Osilator Detak Frekuensi detak bervariasi dari kecepatan yang relatif rendah 1 MHz pada
mikroprosesor 6502 sampai yang lebih tinggi 12MHz untuk chip 16 bit 6800.
B. Arsitektur CPU
Gambar 4. Arsitektur CPU Internal dari mikroprosesor 8 bit disederhanakan
9
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,
pengirimpenerima disebut penyangga dua arahtransreceiver sering di gunakan juga.
Gambar 5. Penyangga data dan alamat 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 melaluai 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.
10
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
11
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 + 2 = 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.
6.
General Purpose Register Register Multi Guna
Setiap mikroprosesor memiliki sejumlah register multi guna biasa memiliki lebar 8 bit, tapi ada yang 16 bit sebagai tempat penyimpan sementara data
alamat selama program berlangsung.
C. UART