Sejarah Singkat Mikroprosesor
Mikroprosesor
pertama kali diciptakan adalah Intel 4004, yang diperkenalkan tahun 1971.
Prosesor ini sangat sederhana, hanya bisa melakukan operasi sebesar 4 bit per
waktu. Aplikasi prosesor ini adalah untuk menyusun kalkulator elektronik
portabel.
Mikroprosesor
pertama yang digunakan untuk keperluan rumahan adalah Intel 8080 yang
diperkenalkan pertama kali pada tahun 1974. Prosesor ini berukuran 8 bit.
Digunakan pertama kali pada kit Altair. Kit buatan MITS yang diperkenalkan pada
tahun 1975 inilah yang dianggap sebagai cikal bakal komputer personal yang
pertama. Namun yang dinamakan PC seperti yang sekarang diperkenalkan pertama
kali oleh IBM pada tahun 1982, yang disebut IBM PC. Komputer ini menggunakan
prosesor Intel 8088 yang sebenarnya telah diperkenalkan pada tahun 1979.
Mikroprosesor
yang digunakan pada PC dari waktu ke waktu juga berubah. Secara kronologis,
prosesor-prosesor yang digunakan sampai pada tahun 2002 adalah 8088, 80286, 80386,
80486, Pentium, Pentium II, Pentium III, Pentium III, dan Pentium IV. Sebagai
bahan perbandingan, prosesor pentium 4 memiliki kecepatan 5000 kali lebih cepat
dari pada prosesor 8088.
CPU
terdiri atas dua bagian utama yang dinamakan unit kontrol (Control Unit)
dan ALU (Arithmetic and Logic Unit)
- Unit kontrol berfungsi untuk mengendalikan seluruh komponen dalam sistem komputer, seperti layaknya otak manusia yang mengontrol seluruh syaraf dalam tubuh sehingga seluruh anggota tubuh dapat digerakkan atau dikendalikan. Pengendalian yang dilaksanakan oleh unit ini di dasarkan pada instruksi-instruksi yang terdapat pada program komputer. Setiap instruksi diterjemahkan ke dalam bentuk tindakan yang sesuai dengan maksud instruksi bersangkutan.
- Unit aritmetika dan logika berperan dalam melaksanakan operasi-operasi perhitungan (aritmetika) seperti pengurangan, penjumlahan, dan pengalian maupun operasi pembandingan (logika) seperti membandingkan suatu nilai bernilai nol atau tidak.
Selain
kedua komponen tersebut, CPU memiliki sejumlah register. Register adalah memori
dalam CPU yang mempunyai kecepatan sangat tinggi, yang digunakan untuk berbagai
operasi dalam CPU. Tipe register bermacam-macam, antara lain yaitu register
instruksi, register alamat, dan register akumulator.
Untuk
melakukan suatu operasi terhadap data yang berbeda dalam memori utama, data
mula-mula disalin dari memori ke register-register dalam CPU. Unit kontrol yang
menangani hal ini bisa berarti perintah atau data. Selanjutnya data
diterjemahkan dan diproses. Jika terdapat operasi aritmetika atau logika, ALU
segera mengambil alih peran tersebut. Hasil sementara permrosesan akan ditaruh
pada akumulator dan setelah itu dapat dituangkan dalam bentuk algoritma (urutan
proses) seperti berikut:
- LOAD nilai dari satu lokasi di memori ke sebuah register;
- LOAD nilai dari lokasi lain di memori ke register yang lain;
- ADD kedua nilai dan hasilya disimpan dalam register akumulator;
- STORE isi akumulator ke dalam suatu lokasi di memori.
- Selesai.
Mikroprosesor Superskalar
Prosesor
yang dapat memproses satu instruksi dalam sebuah siklus (pulsa dari clock)
biasa disebut prosesor skalar atau tradisional. Yang termasuk dalam golongan
ini adalah keluarga Intel x86 (misal 80486) yang digunakan pada IBM PC dan
kompatibelnya dan keluarga motorola 68000 yang digunakan pada komputer Apple.
Adapun CPU yang dapat menjalankan lebih dari satu instruksi per-siklus
dinamakan CPU superskalar. Yang termasuk dalam kategori ini adalah prosesor
Pentium (Intel), Power PC (INM-Motorola-Apple), K5 (AMD), dan generasi
berikutnya, M1 (Cyrix), dan Nx586 (NexGen).
CPU
superskalar dapat menjalankan lebih dari satu instruksi per siklus disebabkan
adanya lebih dari satu ALU, sebagaimana dalam gambar di bawah ini. Dengan
keadaan ini, unit kontrol akan mengevaluasi dua buah instruksi secara
berpasangan. Jika kedua instruksi dapat dieksekusi secara serentak maka
masing-masing akan dikirim ke ALU yang berbeda. Jika tidak, masing-masing
instruksi diproses pada siklus yang berbeda.
PENGANTAR ARSITEKTUR
MCS-51 (AT89C51/AT89S51)
Memori
Internal 89S51
Memori internal 89S51
terdiri dari 3 bagian yaitu ROM, RAM dan SFR
1. ROM
/ Read Only Memory adalah memori tempat menyimpan program / source code.
Sifat ROM adalah non-volatile, data atau
program tidak akan hilang walaupun tegangan supply tidak ada.
Kapasitas ROM tergantung dari tipe
mikrokontroler. Untuk AT89S51 kapasitas ROM adalah 4Kbyte.
ROM pada AT89S51 menempati addres 0000
sampai dengan 0FFF.
2. RAM
/ Random Access Memory adalah memori tempat penyimpanan data sementara.
Sifat RAM adalah volatile, data akan
hilang jika tegangan supply tidak ada.
Kapasitas RAM
tergantung pada tipe mikrokontroler. Pada AT89S51 RAM di bagi menjadi dua yaitu
:
·
LOWER 128byte yang menempati address 00
sampai dengan 7F.
RAM ini dapat di akses dengan
pengalamatan langsung (direct) maupun tak langsung (indirect)
Contoh :


Mov @R0,
#120 ; Pindahkan data 120 ke RAM pada
address sesuai isi RO.
·
UPPER 128 byte yang menempati address 80
sampai dengan FF. Address ini sama dengan address SFT meski secara fisik
benar-benar berbeda.
RAM ini hanya dapat di akses dengan
pengalamatan tak langsung saja.
3.
SFR / Special Function Register adalah
register dengan fungsi tertentu. Misalnya, register TMOD dan TCON adalah timer
control register yang berfungsi mengatur timer mikrokontroler.
SFT
pada AT89S51 menempati address 80 sampai dengan FF.
Keterangan :
Gambar di atas adalah peta memori internal 89S51 yang
terdiri dari RAM, SFR dan ROM
Tampak bahwa ada kesamaan address antara RAM, SFR dan ROM
yaitu address 00 sampai dengan FF
Atas pertimbangan inilah maka biasanya source code ditulis
setelah address 00FF yaitu 0100 pada ROM
Hal ini di maksudkan agar data RAM dan SFR tidak terisi oleh
byte source code.
mikroprosessor
Mikroprosesor yang dipelajari di lab
adalah mikroprosesor 8085. mikroprosesor ditanamkan kedalam trainer kit midicom
intel 8085. trainer kit mikroprosesor ini memiliki : PIO(Paralel Input Output)
0 dengan address 50 dan PIO 1 dengan address 40EPROM dengan alamat
0000- 3FFFRAM 5buah dengan alamat
6000-FFFF
TIMER
MEMORYDECODER
Sebuah konektor serial RS232 digunakan untuk keyboard, dan output video dihubungkan menggunakan monitor. Terdapat tombol merah [RESET], digunakan jika trainer kit mengalami error. Kit ini memiliki super cap, yang akan digunakan untuk menjaga agar RAM dapat menyimpan data walaupun supply dimatikan. super cap ini cukup untuk menjaga data pada RAM setidaknya dalam kurun waktu 2 minggu sejak trainer kit tidak diberi catu daya. Sebuah konektor serial RS232 digunakan untuk keyboard, dan output video dihubungkan menggunakan monitor. Terdapat tombol merah [RESET], digunakan jika trainer kit mengalami error. Kit ini memiliki super cap, yang akan digunakan untuk menjaga agar RAM dapat menyimpan data walaupun supply dimatikan. super cap ini cukup untuk menjaga data pada RAM setidaknya dalam kurun waktu 2 minggu sejak trainer kit tidak diberi catu daya.
MEMORYDECODER
Sebuah konektor serial RS232 digunakan untuk keyboard, dan output video dihubungkan menggunakan monitor. Terdapat tombol merah [RESET], digunakan jika trainer kit mengalami error. Kit ini memiliki super cap, yang akan digunakan untuk menjaga agar RAM dapat menyimpan data walaupun supply dimatikan. super cap ini cukup untuk menjaga data pada RAM setidaknya dalam kurun waktu 2 minggu sejak trainer kit tidak diberi catu daya. Sebuah konektor serial RS232 digunakan untuk keyboard, dan output video dihubungkan menggunakan monitor. Terdapat tombol merah [RESET], digunakan jika trainer kit mengalami error. Kit ini memiliki super cap, yang akan digunakan untuk menjaga agar RAM dapat menyimpan data walaupun supply dimatikan. super cap ini cukup untuk menjaga data pada RAM setidaknya dalam kurun waktu 2 minggu sejak trainer kit tidak diberi catu daya.
pada bagian kanan dari trainer kit terdapat 8 buah led yang digunakan sebagai indikator output 8 bit atau 1 byte.
ketika akan melakukan coding, lalu menyimpan di memory, maka data harus disimpan di address 7000-FFFF. karena address 6000-7000 digunakan untuk sistem.
Register-register pada trainer kit diantaranya adalah :
A 8 bit
B
C
D
E
H
L
M
F
S
P
PC 16bit
register PC (Program Counter) menunjukan alamat berikutnya yang akan dieksekusi.
simulasi untuk upcounter
H
L
M
F
S
P
PC 16bit
register PC (Program Counter) menunjukan alamat berikutnya yang akan dieksekusi.
simulasi untuk upcounter
setelah midicom dinyalakan, tekan spacebar. tekan H pada keyboard, tekan ENTER muncul beberapa pilihan instruksi untuk kit ini. diantaranya yang akan digunakan adalah assembly. assembly ini digunakan untuk mengetahui bahasa mesin dari bahasa assembly yang kita masukan. tekan A, ENTER muncul assemble dengan address 0000. tekan ESC untuk kembali, lalu ketik A 8000, maksudnya adalah kita akan masuk ke address 8000 tempat kita akan menyimpan data upcounter kita. setelah masuk ke address 8000, ketik MVI A,00 maksudnya adalah move data 00 to register A. tekan ENTER, maka diantara ADDRESS dan bahasa assembly yang dimasukan akan muncul kode mesin 3E00 yang akan dijalankan oleh mikroprosesor. lalu ketikan OUT 50 maksudnya adalah data yang dimasukan akan dikeluarkan pada address 50 yaitu PIO 0. seperti yang disinggung diatas, address PIO 0 adalah 50. lalu akan muncul kode mesin D350 sebagai bahasa mesin untuk output pada address 50. ketikan INR A maksudnya register A datanya akan increase atau ditambah 1 setiap dieksekusi.(INR digunakan untuk menambah dengan 1, DCR digunakan untuk mengurangi dengan 1). akan muncul kode mesin 3C. selanjutnya adalah looping kode ini dengan mengetikan JMP 8002 maksudnya, kode akan diJUMP dimulai dari address 8002. juga akan muncul kode mesin untuk JMP 8002 yaitu C30280. Setelah proses coding dilakukan, selanjutnya kita akan melakukan disasemmbly, yaitu untuk melihat apakah kode yang tadi dimasukan sesuai dengan yang dikehendaki. tekan ESC, untuk kembali ke awa, lalu tekan D 8000, lalu ENTER maksudnya kita akan melakukan disasembly untuk address 8000. akan muncul address, bahasa mesin, dan bahasa assembly yang tadi dimasukan. setelah diketahui kode yang dimasukan sesuai dengan yang dikehendaki, maka akan dilakukan TRACE. yaitu proses penjejakan dari kode yang telah kita masukan tadi, sekaligus mengetahui apakah kode untuk upcounter yang tadi berjalan atau tidak. perlu diketahui bahwa kode ini akan muncul berupa kode biner pada 8 buah led yang ada pada kit midicom. tekan ESC, untuk kembali ke awal. tekan T 8000 maksudnya adalah melakukan trace pada address 8000, tempat kita menyimpan kode untuk upcounter. tekan ENTER secara terus menerus untuk menjalankan kode, sehingga LED indikator menyala sesuai dengan kode biner untuk upcounter yaitu :
0000 0000 biner untuk desimal 0
0000 0001 biner untuk desimal 1
0000 0010 biner untuk desimal 2
0000 0011 biner untuk desimal 3
0000 0100 biner untuk desimal 4
0000 0101 biner untuk desimal 5
0000 0110 biner untuk desimal 6 dan seterusnya
PRAKTEK -1
BASIC I//O P1 SEBAAGAI INPUUT
Langkahh:
|
Langkahh:
|
1.
Hubungkaan PORT DT551 MinSysn dengan PORRT INPUTDT‐‐51 trainer bboard.
2.
Hubungkaan CONTROLL DT‐51 Min Sys dengan CONTROL DDT‐51 trainer board.
3.
Hubungkaan DT‐51 MinSys dengann PC mengguunakan kabeel serial
4.
Hubungkaan Dt‐51 MInnSys dengannsumber teggangan
Skema Rangkaiann
P1 sbg innput PA sebaagai output
PA adalah PORT tambahan (eksternal) diluar mikrokontroler, yang disediakan dari IC PPI 8255.
Mikrokontroler dapat menggunakan PA ini dengan cara MEMPROGRAMNYA TERLEBIH DAHULU
lewat register internal PPI 8255 yaitu register CW (control word).
Contoh Memprogram semua Port PPI 8255 (PA, PB, PC) sebagai output, maka reg CW harus
diberi data 80h (lihat manual PPI 8255).
Code:
Sumber : Prak Mikroprosesor, Arif Johar Taufiq, materi dapat didownload di http://guru.technsains.com