SISTEM DASAR MIKROKOMPUTER
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 :
2. 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-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 (Βίος).
Komponen BIOS
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
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.
ROM dan NVRAM
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
Mask ROM
Photolithography
Tidak
ROM
BIOS
Programmable
Flash ROM
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
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.
Pembuat BIOS
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.
American Megatrends Incorporated (AMI) yang merilis AMI BIOS, dan AMI
WinBIOS.
Microids Research
Para OEM (
Original Equipment Manufacturer
), seperti Hewlett-Packard/Compaq,
IBM/Lenovo, Dell Computer, dan OEM-OEM lainnya.
Update BIOS
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
Masa depan BIOS
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).
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
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 :
1. CPU (Central Processing Unit) 2. Memory Chip (RAM & ROM) 3. Address Decoder Chip
4. Input-Output Interface Chip ( PIO & UART) 5. 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-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 :
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 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
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
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
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 :
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
UART (Universal Asynchronous Receiver-Transmiter) disebut juga ACIA (Asyncnronous Comunication interface Adapter) memiliki dua mode operasi, yaitu: a. Mode Transmiter (pengiriman), yaitu UART akan mengambil data paralel dan
mengubahnya dalam aliran data seri yang berisi karakter star, stop dan karakter yang sama.
b. 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 :
a. Saat mode pengiriman UART menerima data paralel dari CPU & mengubahnya ke dalam data seri untuk piranti pheriperal.
b. Saat mode penerimaan UART menerima data seri dari CPU dan mengubahnya ke dalam data paralel untuk piranti pheriperal.
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
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
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).