A. Arsitektur Dasar
Komputer
Arsitektur
komputer berhubungan dengan perancangan blok-blok dasar (memory, processor & input/output device) dan bagaimana
interaksi antar blok tersebut.
Arsitek komputer
memilih dan membangun interkoneksi antar blok dengan mempertimbangkan, antara
lain : kecepatan, harga dan kehandalannya. Komputer berarsitektur Von Neuman
terdiri dari 3 komponen utama yaitu : Central
Processing Unit (CPU), memory, dan I/O
device (piranti masukan/keluaran).
Arsitektur von Neumann
Arsitektur Von Neumann
Arsitektur von Neumann (atau Mesin
Von Neumann) adalah arsitektur yang diciptakan oleh John von Neumann (1903-1957). Arsitektur ini
digunakan oleh hampir semua komputer saat ini.
Konsep
arsitektur von Neumann ini adalah pembagian komputer menjadi 2 bagian secara
garis besar: memori dan prosesor, di mana data
terletak di dalam memori, dan prosesor adalah yang
memanipulasi data.
Gambar 1. Arsitektur Dasar Komputer
Van Neuman
Keterangan :
- CPU,
adalah otak dari sistem
komputer dan berfungsi mengorganisasikan semua operasi yang terjadi di dalam
komputer. Operasi tersebut meliputi operasi perpindahan/transfer
data, operasi aritmatika & logika, serta operasi pengendalian I/O device serta seluruh sumber
daya (resources) yang
dikendalikan oleh CPU.
- Memory, berfungsi sebagai penyimpan data
maupun instruksi-instruksi program. Memori terdapat 2 jenis, yaitu:
a.
RAM,
untuk menyimpan data dan
instruksi-instruksi program yang sedang dijalankan oleh komputer dan bersifat
sementara (temporary), yaitu
data/instruksi akan hilang jika catu daya dimatikan.
b.
ROM,
untuk menyimpan instruksi-instruksi initial
boot up (yaitu instruksi-instruksi yang dijalankan ketika komputer baru dihidupkan).
Instruksi-instruksi tersebut berfungsi untuk mempersiapkan komputer agar dapat
digunakan sebagaimana mestinya. Instruksi-instruksi tersebut bersifat permanent.
BIOS
BIOS, singkatan dari Basic Input
Output System, dalam sistem komputer IBM PC atau kompatibelnya (komputer yang berbasis
keluarga prosesor Intel x86) merujuk kepada kumpulan rutin perangkat
lunak yang mampu melakukan hal-hal berikut:
1.
Inisialisasi
(penyalaan) serta pengujian terhadap perangkat keras (dalam proses yang disebut
dengan Power On Self Test, POST)
2. Memuat dan menjalankan sistem operasi
3. Mengatur beberapa konfigurasi dasar dalam komputer (tanggal, waktu,
konfigurasi media penyimpanan, konfigurasi proses booting, kinerja, serta kestabilan
komputer)
4.
Membantu
sistem operasi dan aplikasi dalam proses pengaturan perangkat keras dengan
menggunakan BIOS Runtime Services.
BIOS menyediakan
antarmuka komunikasi tingkat rendah, dan dapat mengendalikan banyak jenis
perangkat keras (seperti keyboard). Karena kedekatannya dengan perangkat keras,
BIOS umumnya dibuat dengan menggunakan bahasa rakitan (assembly) yang digunakan oleh
mesin yang bersangkutan.
Istilah BIOS
pertama kali muncul dalam sistem operasi CP/M, yang
merupakan bagian dari CP/M yang dimuat pada saat proses booting dimulai yang berhadapan secara langsung
dengan perangkat keras (beberapa mesin yang menjalankan CP/M
memiliki boot loader sederhana dalam ROM). Kebanyakan versi DOS memiliki sebuah berkas yang disebut "IBMBIO.COM" (IBM PC-DOS) atau "IO.SYS" (MS-DOS) yang berfungsi sama seperti halnya CP/M disk BIOS.
Kata BIOS juga
dapat diartikan sebagai "kehidupan" dalam tulisan Yunani (Βίος).
Dalam BIOS,
terdapat beberapa komponen dasar, yakni sebagai berikut:
Contoh dari CMOS Setup (Phoenix
BIOS)
Program
BIOS Setup yang
memungkinkan pengguna untuk mengubah konfigurasi komputer (tipe harddisk, disk
drive, manajemen daya listrik, kinerja komputer, dll) sesuai keinginan. BIOS
menyembunyikan detail-detail cara pengaksesan perangkat keras yang cukup rumit
apabila dilakukan secara langsung.
Driver untuk perangkat-perangkat keras dasar, seperti video adapter, perangkat input, prosesor, dan beberapa perangkat lainnya untuk sistem
operasi dasar 16-bit (dalam
hal ini adalah keluarga DOS).
Program
bootstraper utama yang
memungkinkan komputer dapat melakukan proses booting ke dalam sistem operasi yang terpasang.
BIOS juga sering
disebut sebagai ROM BIOS karena pada awalnya BIOS disimpan dalam chip memori hanya baca (ROM) dalam motherboard. Mengapa disimpan di dalam ROM, adalah agar BIOS dapat
dieksekusi pada waktu komputer dinyalakan, tanpa harus menunggu untuk
menyalakan perangkat media penyipanan terlebih dahulu (yang memakan waktu
lama). BIOS dalam komputer PC modern disimpan dalam chip ROM yang dapat ditulisi ulang
secara elektrik
atau Flash ROM. Karena itulah, sekarang sebutan Flash BIOS lebih populer
dibandingkan dengan ROM BIOS. Berikut ini adalah beberapa chip ROM yang
digunakan sebagai tempat penyimpanan BIOS.
Tipe
ROM
|
Cara
penulisan
|
Dapat
dihapus
|
Jenis
BIOS
|
Tidak
|
ROM BIOS
|
||
PROM Writer
|
Tidak
|
ROM BIOS
|
|
EPROM/PROM Writer
|
Ya, dengan menggunakan EPROM
Rewriter atau menyinarinya dengan sinar ultraviolet tepat pada lubang kuarsa bening.
|
ROM BIOS
|
|
EEPROM/EPROM/PROM Writer
|
Ya, dengan menggunakan EEPROM
Rewriter, atau secara langsung secara elektrik dari papan sirkuit dengan menggunakan perangkat lunak
EEPROM Programmer.
|
ROM BIOS
|
|
EEPROM Writer atau software yang
dapat menulisi Flash ROM
|
Ya, dengan menggunakan EEPROM
Writer, atau langsung secara elektrik dari papan sirkuit dengan menggunakan perangkat
lunak Flash BIOS Programmer.
|
Flash BIOS
|
Tampilan yang
dikeluarkan oleh BIOS saat NVRAM mengalami kerusakan atau
saat baterai litium CR-2032 habis dayanya atau dicabut dari
slotnya
Meskipun BIOS disimpan dalam memori hanya baca, konfigurasi BIOS tidak
disimpan dalam ROM, (hal ini disebabkan oleh sifat ROM yang statis) melainkan
sebuah chip terpisah yang disebut sebagai Real-time clock (RTC),
yang berupa sebuah Non-Volatile Random Access Memory (NVRAM). NVRAM juga sering disebut sebagai Complimentary
Metal-Oxide Random Access Memory (CMOS
RAM), karena menggunakan metode pembuatan CMOS. Karena menggunakan metode
pembuatan CMOS, NVRAM membutuhkan daya yang sangat kecil agar dapat bekerja.
Meskipun disebut non-volatile, NVRAM sebenarnya merupakan sebuah chip
yang volatile, sehingga data yang tersimpan di dalamnya dapat terhapus
dengan mudah jika daya listrik yang menghidupinya terputus. Oleh karena itu,
NVRAM "dihidupi" oleh sebuah baterai (mirip baterai kalkulator atau jam) dengan bahan Litium dengan seri CR-2032. Sebuah baterai Litium
CR-2032 dapat menghidupi NVRAM selama tiga hingga lima tahun. Jika daya dalam baterai habis,
atau daya yang disuplainya terputus (akibat dicabut dari slotnya), maka semua
konfigurasi akan dikembalikan ke kondisi standar, sesuai ketika BIOS tersebut
diprogram oleh pabrikan. BIOS umumnya memberikan laporan CMOS Checksum Error
atau NVRAM Checksum Error.
Saat ini, ada
beberapa perusahaan penyedia BIOS, yakni sebagai berikut:
Award
Software, yang meluncurkan Award BIOS, Award Modular BIOS, dan Award
Medallion BIOS
Phoenix
Technologies, yang meluncurkan Phoenix BIOS, dan setelah melakukan
merjer dengan Award Software, meluncurkan Phoenix-Award BIOS.
Microids Research
Para OEM (Original Equipment Manufacturer), seperti Hewlett-Packard/Compaq, IBM/Lenovo, Dell Computer,
dan OEM-OEM lainnya.
BIOS kadang-kadang juga disebut sebagai firmware karena merupakan sebuah perangkat lunak yang disimpan dalam media penyimpanan yang bersifat hanya-baca. Hal
ini benar adanya, karena memang sebelum tahun 1995, BIOS selalu disimpan dalam
media penyimpanan yang tidak dapat diubah. Seiring dengan semakin kompleksnya
sebuah sistem komputer , maka BIOS pun kemudian disimpan dalam EEPROM atau Flash memory yang
dapat diubah oleh pengguna, sehingga dapat di-upgrade (untuk mendukung
prosesor yang baru muncul, adanya bug yang mengganggu kinerja
atau alasan lainnya). Meskipun demikian, proses update BIOS yang tidak
benar (akibat dieksekusi secara tidak benar atau ada hal yang mengganggu saat
proses upgrade dilaksanakan) dapat mengakibatkan motherboard mati mendadak, sehingga komputer pun
tidak dapat digunakan karena perangkat yang mampu melakukan proses booting (BIOS) sudah tidak ada atau
mengalami kerusakan.
Oleh karena itu, untuk menghindari
kerusakan (korupsi) terhadap BIOS, beberapa motherboard memiliki BIOS cadangan . Selain itu,
kebanyakan BIOS juga memiliki sebuah region dalam EEPROM/Flash memory yang
tidak dapat di-upgrade, yang disebut sebagai "Boot Block".
Boot block selalu dieksekusi pertama kali pada saat
komputer dinyalakan. Kode ini dapat melakukan verifikasi terhadap BIOS, bahwa
kode BIOS keseluruhan masih berada dalam keadaan baik-baik saja (dengan
menggunakan metode pengecekan kesalahan seperti checksum, CRC, hash dan
lainnya) sebelum mengeksekusi BIOS. Jika boot block mendeteksi bahwa
BIOS ternyata rusak, maka boot block akan meminta pengguna untuk
melakukan pemrograman BIOS kembali dengan menggunakan floppy disk yang berisi program flash memory
programmer dan image BIOS yang sama atau lebih baik. Pembuat motherboard
sering merilis update BIOS untuk menambah kemampuan produk mereka atau
menghilangkan beberapa bug yang mengganggu.
BIOS telah lama
digunakan dalam industri PC, yakni semenjak IBM PC dirilis pada tanggal 21 Agustus 1981. Karena BIOS masih berjalan pada modus real (real-mode) yang lambat, maka para desainer PC
bersepakat untuk mengganti BIOS dengan yang lebih baik dari BIOS yaitu EFI (Extensible Firmware Interface) yang diturunkan dari arsitektur IA-64
(Itanium). Rencananya, hal
ini akan direalisasikan pada komputer baru pada tahun 2008.
3. Input-Output Devices,
berfungsi sebagai piranti penghubung dengan dunia luar (piranti eksternal). Adapun
piranti-piranti tersebut adalah:
Ø Layar Monitor
Ø Printer
Ø Mouse
Ø Keyboard
Ø Scanner, dan lain-lain.
Ketiga komponen itu saling dihubungkan dengan 3 bus yang disebut struktur
bus, yaitu:
Ø Data
bus, untuk
melewatkan data
Ø Control
bus, untuk
melewatkan sinyal kendali
Ø Addres
bus, untuk
melewatkan alamat data
Untuk lebih memperjelas
mengenai CPU dapat dijabarkan sbb:
Gambar 2. Arsitektur Internal Mikroprosesor (CPU)
a.
ALU, berfungsi untuk menangani operasi-operasi aritmatika
dan operasi logika.
b.
Control Unit, berfungsi mengatur
semua proses internal (transfer data, interupsi, pengendalian jalannya program,
control I/O device, serta semua resources pada mikro prosesor).
c.
Register, pada dasarnya register adalah memori yang dapat
di akses dengan sangat cepat. Operasi-operasi aritmatika & logika yang
komplek membutuhkan tempat penyimpan
sementara, untuk meyimpan hasil dari tahapan operasi tersebut. Proses transfer data
dari memori ke media penyimpan perlu penampung sementara.
SISTEM
BERDASAR MIKROPROSESOR
A. Mikroprosesor
Mikroproseor
adalah merupakan piranti VLSI yang dapat
diprogram untuk melaksanakan sejumlah fungsi dan instruksi. Dalam sebuah sistem
mikroprosesor chip ini disebut unit
pengolah pusat / CPU/MPU. CPU terdiri dari tiga bagian :
1.
Arithmatic and Logic Unit (ALU)
2.
Control Unit (CU)
3.
Register
ALU
berfungsi melakukan operasi–operasi yang sesuai dengan instruksi yang
diberikan, sedang CU berfungsi dan bertangguang jawab untuk melakukan
penyesuaian pada operasi sejumlah unit di dalam sistem, termasuk
mikroprosesornya dan mengatur pewaktuan instruksi serta aliran data di dalam
CPU, juga antara CPU dengan unit lainnya di dalam sistem. Mikroperosesor ada yang dikemas dalam bentuk
DIL (Dual In-Line) 40 pin. Kapasitas
atau ukuran bit, dari suatu mikroprosesor
chip ditentukan oleh jumlah cacah bit
data yang dapat ditanganinya. Chip 4 bit memiliki kapasitas
data 4 bit sedang chip 8 bit memiliki kapasitas data 8 bit dan seterusnya. Jenis yang paling
paling banyak digunakan adalah mikroprosesor 8 bit untuk PC yaitu prosesor Z-80 dari Zilog, 6502 dari Intel dan
6800 dari Motorola.
Mikroprosesor
16 bit seperti Z-80 dari Zilog, 8086
dari Intel dan 6800 dari Motorola, juga banyak digunakan dalam PC atau komputer
pribadi serta piranti-piranti pengendali mini. Organisasi dasar sistem
berdasar mikroprosesor 8 bit dapat pada
Gambar 1 di bawah ini :
Gambar : system berdasar mikroprosesor 8-bit
Gambar 1. Organisasi dasar sistem berdasar mikroprosesor (8 bit)
Gambar 1. Menunjukan hubungan antar elemen yang satu dengan elemen yang
lain, dalam sebuah sistem yang umum. Sistem
tersebut terdiri dari :
- CPU
(Central Processing Unit)
- Memory Chip (RAM & ROM)
- Address Decoder Chip
- Input-Output Interface Chip ( PIO & UART)
- Struktur
Bus
Ø CPU adalah chip tunggal yang berisi semua rangkaian yang diperlukan untuk
mengartikan dan melaksanakan instruksi program dalam bentuk manipulasi data,
operasi logika dan aritmatika, pewaktuan dan pengendalian sistem.
Ø RAM & ROM adalah berisi sejumlah lokasi
memori dimana data dalam bentuk bit tersimpan. Secara normal setiap lokasi memori
akan menyimpan karakter sebanyak 8-bit (1
byte). Setiap lokasi memori mempunyai alamat unik 16-bit sehingga memiliki kawasan alamat antara 0000 sampai FFFF atau 216 = 65536 = 64K alamat. Dengan
jumlah halaman memori 28 = 256, dan setiap halaman memori
berisi 28 = 256 lokasi
memori.
Ø Input-Output
Interface Chip, akan
menghubungkan sistem ke piranti eksternal, dalam Gambar 1. diperlihatkan dua
tipe piranti I/O yaitu PIO (Parallel
Input-Output) atau sering disebut PIA (Parallel
Interface adapter) yang berfungsi sebagai antar-muka I/O yang dapat diprogram
dan bertindak sebagai antar-muka paralel. UART (Universal Asynchronous Receiver-Transmitter) yang menyediakan
antar-muka seri. Unit I/O interface
bersifat bi-directional, yang
menyediakan sambungan dari dan ke sistem dengan piranti-piranti pheriperal seperti untuk keyboard, VDU (Visual Display Unit) dan transducer
atau unit penggerak motor stepper,
LED dan relay.
Ø Address
Decoder Chip, akan
memilih chip yang sesuai untuk
dialamati CPU.
Ø Struktur Bus, bus adalah sekelompok kawat
penghubung yang digunakan sebagai jalur
informasi digital yang memiliki fungsi umum. Terdapat tiga jenis bus
dalam sistem berdasar mikroprosesor :
a.
Bus
Data (Data Bus) berfungsi untuk
mentransfer data antara CPU dan elemen-elemen lain di dalam sistem. Oleh sebab
itu, data harus dimasukkan dan dikeluarkan dari mikroprosesor maka bus data
harus bersifat bi-directional.
b.
Bus
Alamat (Address Bus) berfungsi untuk
membawa data alamat dari lokasi memori, untuk mengambil data agar dapat dibaca,
atau untuk menyimpan agar dapat ditulis ke lokasi memori. Bus alamat juga
difungsikan untuk mengalamati elemen-elemen lain di dalam sistem seperti unit I/O interface. Bus alamat adalah uni-directional yaitu mampu membawa
informasi digital 16 bit secara
serentak .
c.
Bus
Control (Control Bus), berfungsi
membawa semua isyarat kontrol dari CPU. Jumlah jalur kontrol bergantung pada
mikroprosesor yang digunakan dan juga rancangan sistemnya.
Bus kontrol melakukan
4 fungsi utama:
1.
Penyesuai
memori
2.
Penyesuai
I/O
3.
Penjadwalan
CPU, misalnya : interupsi
4.
Tugas lain seperti untuk reset dan detak.
Interupsi
Pada
piranti pheriperal seperti printer
perlu didahulukan maka program utama dapat di interupsi secara sementara oleh
isyarat kontrol interupsi. Setelah selesai melayani piranti pheriperal tersebut CPU akan kembali ke program
semula yang dimulai dari titik setelah interupsi. Interupsi ada dua yaitu :
1.
Interupsi
IRQ (Interrupt
Request) yaitu CPU akan menyelesaikan instruksi yang sedang dikerjakan
sebelum menanggapi instruksi tersebut.
Halt,
merupakan jenis
lain dari isyarat yang terinterupsi yang akan menghentikan program utama untuk
sementara sehingga sumber luar atau piranti lain dapat menjalankan program yang
berbeda.
2.
Reset
Reset
merupakan jenis
interupsi yang menolak semua masukan dan menghentikan pelaksanaan program di
dalam CPU serta mengawali kembali mikroprosesor. Gambar 2 menunjukkan rangkaian
reset untuk sebuah mikroprosesor.
Jika, tombol Reset ditekan, maka C1 akan dilucuti muatannya dan pin reset akan bernilai/berlogika 0,
sehingga operasi baca dan tulis akan dihentikan. Jika tombol reset dilepas maka C1 akan terisi muatan lagi melalui R1
sehingga pin reset akan bernilai 1,
dan mikroprosesor akan melakukan urutan awal sehingga CPU akan ke awal program.
Baca dan Tulis
CPU akan menentukan arah transfer data dari dan ke
mikroprosesor. Fungsi ini dilakukan dengan cara membaca dan menulis ke jalur kontrol.
Pada operasi baca yaitu pada saat CPU menerima data dari memori, jalur baca
akan aktif sehingga memungkinkan data dapat ditransfer ke CPU. Pada operasi
tulis yaitu pada saat CPU mengirim data ke memori, jalur tulis akan aktif
sehingga data dapat dikirim dari CPU ke memori.
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)
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.
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.
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 + 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.
- 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
UART (Universal
Asynchronous Receiver-Transmiter) disebut juga ACIA (Asyncnronous Comunication interface Adapter) memiliki dua mode
operasi, yaitu:
- Mode
Transmiter (pengiriman), yaitu UART akan mengambil
data paralel dan mengubahnya dalam aliran data seri yang berisi karakter
star, stop dan karakter yang sama.
- Mode Receiver
(penerimaan), yaitu UART akan mengambil aliran bit seri dan mengubahnya ke
dalam data paralel.
Gambar 7. Sambungan CPU, UART & piranti periperal
seperti printer
CPU akan menentukan mode operasi dari UART :
- Saat mode pengiriman
UART menerima data paralel dari CPU & mengubahnya ke dalam data seri untuk
piranti pheriperal.
- Saat mode penerimaan
UART menerima data seri dari CPU dan mengubahnya ke dalam data paralel
untuk piranti pheriperal.
Untuk meyakinkan bahwa pengiriman terjadi
saat pheriperal siap menerima data,
maka dalam rangkaian tersebut ditambahkan jalur handshaking. Sebelum CPU mulai mengirim informasi ke piranti pheriperal, maka dikirim dulu pesan Request to Send, dan pada saat piranti
siap menerima data, piranti tersebut akan mengirim pesan Clear to Send. CPU akan mengosongkan data ke dalam register UART.
Demikian juga sebaliknya saat piranti pheriperal
akan mengirim data ke CPU pesan IRQ (Interrupt
Request) dikirimkan ke UART & selanjutnya diteruskan ke CPU.
Berdasarkan diagram blok fungsional dasar di
atas, UART terdiri dari 3 elemen yaitu pengirim, penerima & kontrol logika.
Ø Pengirim, terdiri atas
sebuah latch untuk menjaga data parallel sebelum diubah kealiran data seri
& sebuah register geser (Shift
Register) untuk melakukan pengubahan data paralel ke seri.
Gambar
8. Diagram Blok UART
Ø Penerima,
terdiri atas shift register untuk
mengubah data seri ke paralel & sebuah latch
untuk menjaga data seri agar stabil sampai CPU memerlukannya.
Ø UART
dapat diprogram secara penuh khususnya untuk menentukan mode operasinya (mode
pengiriman atau penerimaan). UART adalah piranti asinkron yang memerlukan bit awal & akhir untuk setiap kata
digital yang dikirimkan dari dan ke CPU. Operasi
sinkron dapat dilakukan jika bit awal
& akhir tidak diperlukan. USART (Universal Synchronous / Asynchronous Receiver-Transmitter)
menyediakan fasilitas untuk sinkron.
D. PIO
Chip
Parallel Input-Output menyediakan jalur paralel yang
disebut port, sehingga memungkinkan
CPU dapat berinteraksi dengan piranti periperal (yang memerlukan bit data paralel).
Gambar
9. Sambungan antara CPU, PIO & piranti periperal
Pada Gambar 9. tersebut ditunjukkan input/output port 8 bit (P0 s/d P7),
meskipun biasanya terdapat dua atau tiga (input/output)
port 8 bit. I/O port bersifat dua
arah dimana setiap bit dapat diprogram
sebagai bit keluaran atau bit masukan, jalur handshake line dimanfatkan seperti halnya pada UART.
Pemrograman PIO dapat dilaksanakan dengan
menyusun port-port PIO agar
menyerupai alamat memori, sehingga sebagian ruang memori dipakai secara
eksklusif untuk operasi unit I/O. Teknik ini disebut sebagai memory mapped I/O, digunakan oleh
mikroprosesor seperti 6502 & 6800.
Mikroprosesor lain seperti Z-80 dan 8080 menggunakan instruksi I/O
khusus untuk menginstruksikan PIO agar melakukan transfer data antara sistem mikroprosesor
dan piranti periperal. Selain itu transfer data dapat dilakukan tanpa
intervensi langsung dari CPU, teknik ini disebut sebagai Direct Memory Access (DMA), yang memanfaatkan chip pengendali DMA yang memberikan transfer data yang sangat
cepat.
Gambar 10. Diagram Blok PIO
Gambar 10. di atas menunjukkan diagram blok
internal dari chip PIO memory mapped,
DDR adalah register 8 bit yang
digunakan untuk menentukan arah tiap bit
dari port PIO, apakah bertindak
sebagai masukan / keluaran. Contoh di dalam sistem mikroprosesor 6502 logika 0
di dalam DDR menentukan bit tersebut sebagai
masukan, dan logika 1 sebagai keluaran.
Lebih lanjut, OF (hex) akan menentukan P0 – P3 sebagai masukan dan P4 – P7 sebagai
keluaran. Output data register
berfungsi untuk menjaga data parallel tetap stabil untuk dibaca piranti
periperal, input data register berfungsi
untuk menjaga agar data paralel yang datang
tetap stabil sampai CPU siap membacanya.
Himpunan instruksi(Instruction Set), instruksi-instruksi tersebut diumpankan ke mikroprosesor
chip dalam bentuk bilangan biner 8 bit disebut Operational Code (Op-Code) berikut datanya yang disebut operand. Menulis program dengan sandi
mesin merupakan pekerjaan panjang & menjemukan biasanya program ditulis
dengan menggunakan alphabet, lalu diterjemahkan ke serangkaian Op-Code & operand. Bentuk paling sederhana dari
terjemahannya adalah assembler, yang
memanfaatkan bahasa pemrograman rakitan (Assembly
Programing Language).
Dalam bahasa assembler,
tiap Op-Code memiliki sandi mnemonic,
seperti :
a.
LDA untuk load accumulator
b. ADC
untuk Add With Carry
c.
JMP untuk Jump, dan seterusnya.
Instruction set
dapat dikelompokkan menjadi tiga kelompok (sub himpunan)
1.
Pengiriman
data yang memuat pergerakan data antara CPU dan lokasi memori, contoh
a.
Memuat accumulator dengan isi memory
(LDA).
b.
Menyimpan isi accumulator ke dalam memory
(STA).
c.
Memuat register X dengan isi
memori (LDX).
2.
Aritmatika & logika berisi instruksi-instruksi untuk melakukan
operasi aritmatika & logika, Contoh:
a.
Menjumlahkan dua bilangan dengan carry (ADC).
b.
Mengurangi
dua bilangan dengan carry (SBC).
c.
Mengoprasikan
AND pada dua bilangan (AND).
d.
Mengoprasikan
EXOR pada dua bilangan (XOR).
e.
Menggeser
kanan secara logika (LSR).
f.
Menggeser kiri secara aritmatika
(ASL).
3. Tes
& cabang menyediakan fasilitas bagi mikroprosesor untuk melakukan serangkaian operasi dengan cara melompat atau
mencabang ke bagian lain dari program, contoh
a. Melompat
ke subrutin (JSR).
b. Mencabang
jika hasilnya negatif (BMI).
c. Mencabang
jika sama (BEQ).
terima kasih...tapi sayang gambarnya hilang.
pict?? kosong?
Posting Komentar