Anda di halaman 1dari 15

MAKALAH PLPG

MIKROPROSESOR

OLEH :
NAMA : ENDANG TRI SULISTYOWATI
NUPTK : 1042742643300083
NOMOR PESERTA: 17051053317005
BIDANG STUDI : T. AUDIO VIDEO
ASAL SEKOLAH : SMAS PGRI 1 MAOSPATI MAGETAN
PROVINSI : JAWA TIMUR

1
Mikroprosesor
A. Mikroprosesor.
Diantara mikroprosesor, mikrokomputer dan mikrokontroller, mikroprosesor
merupakan kategori yang paling sederhana. CPU (Central Processing Unit),
merupakan jantung dari ketiga sistem di atas terutama digunakan sebagai
prosesor data. Mikroprosesor umumnya terdiri dari unit aritmatika logika
(ALU), instruksi decoder, sejumlah register dan input / output (DIO) jalur
digital secara blok diagram ditunjukkan pada gambar 1. Prosesorterhubung
ke beberapa data bus untuk mengakses memori dan input/ output peripheral
eksternal.
Banyaknya register program counter untuk melacak alamat instruksi,
register instruksi untuk loading dan menyimpan instruksi berikutnya
tergantung dari arsitektur memori mikroprosesor. Register tambahan dikenal
sebagai register tujuan umum dan menyimpan data saat sedang digunakan.

Gambar 1. Komponen dasar Mikroprosesor


B. Mikrokomputer
Mikrokomputer berisi semua komponen dari sebuah komputer yang

2
terintegrasi dalam sirkuit kecil, meskipun tidak pada satu chip. Komponen
sistem mikrokomputer terdiri dari CPU (seperti mikroprosesor), memori
dan/atau perangkat penyimpanan, serta perangkat IO . Beberapa perangkat I/O
termasuk keyboard, display, jaringan.

Gambar 2. Komponen dasar Mikrokomputer


C. Model-modelMemory
1. VonNeumann
Arsitektur Von Neumann program disimpan dalam memori. Blok memori
membedakan antara penyimpanan program dan penyimpanan data,
sehingga memungkinkan data yang akan diperlakukan sebagai kode dan
sebaliknya. Selain itu, memungkinkan penggunaan kode memodifikasi
diri, yang berguna mengurangi penggunaan memori atau meningkatkan
kinerja.
Gambar 3 berisi blok diagram blok arsitektur Von Neumann. Blok
diagram menunjukkan blok memori tunggal yang meliputi unit kontrol,
perangkat baca dan menafsirkan program, serta ALU, yang menjalankan
sebagian besar operasi. CPU perlunya berkomunikasi dengan memori
eksternal yang dikenal sebagai hambatan von Neumann. Kemacetan ini
dikarenakan tugas berat dalam arsitektur jenis ini dibandingkan dengan
jenis lain karena ke unit kontrol dan ALU dilakukan secara bolak baik
antara membaca dan menulis ke memori, karena itu menjadi pembatas
waktu mengaksesmemori.

Gambar 3. Block diagram dari arsitektur Von Neumann

3
2. Arsitektur Harvard
Salah satu solusi untuk hambatan Von Neumann adalah untuk
memisahkan memori program dari memori data. Pemisahan ini
memungkinkan untuk beberapa perbaikan atas arsitektur Von Neumann.
Perbaikan pertama dan paling jelas adalah bahwa kedua memori program
dan memori data dapat diakses secara bersamaan.

Gambar 4. Blok diagram arsitektur Harvard


Dalam arsitektur Harvard menulis ke memori data dan membaca dari
memori program untuk operasi berikutnya dapat dilakukan secara
bersamaan mengurangi waktu yang dibutuhkan untuk setiap instruksi
yang mengakses memori data. Perubahan agak kurang jelas yang dapat
meningkatkan kecepatan operasi adalah bahwa panjang dari kata-kata
dalam memori program tidak perlu lagi integer nomor byte. Hal ini
memungkinkan kata-kata instruksi dapat berisi baik instruksi dan alamat
memori dalam satu instruksi, dan karena itu setiap membaca dari memori
program, dan setiap siklus clock prosesor, bisa seluruh instruksi. Contoh
yang diberikan di atas karena itu akan membutuhkan tiga baca / tulis
operasi yang bertentangan dengan dua disebutkan sebelumnya atau
operasi tunggal dari arsitektur Harvard.
Kerugian utama dari arsitektur Harvard adalah bahwa hal itu tidak dapat
memodifikasi memori program, membatasi kegunaannya dalam sistem
umum seperti pribadi komputer. Ini tidak menimbulkan masalah bagi
prosesor yang lebih khusus seperti seperti yang di embedded system,
meskipun bandwidth memory harus tinggi sebagai memori dapat diakses

4
oleh dua operasi per siklus.
a. Modifikasi Arsitektur Harvard
Arsitektur Harvard dimodifikasi dengan menggabungkan keunggulan
masing masing arsitektur Von Neumann dan Harvard. Secara khusus, data
dan program berbagi ruang memori, mirip dengan cara kerja arsitektur
Von Neumann, namun data dan instruksi tidak berbagi cache memori
atau jalur antara CPU dan memori. Hal ini memungkinkan akses memori
Von Neumann lebih leluasa, namun kemampuan untuk menangani kode
dan data tidak kurang dari arsitektur Harvard. Salah satu contoh yang
paling umum dari prosesor yang menggunakan arsitektur ini adalah
prosesor x86 ditemukan di sebagian besar komputerpribadi.
b. Arsitektur Stack (Tumpukan)
Tumpukan memori terakhir di keluarkan pertama (LIFO) digunakan
untuk menyimpan informasi yang berkaitan dengan prosedur panggilan
serta data untuk operasi tertentu. Tumpukan memori dapat dengan
ukuran tetap atau variabel, ataumemiliki blok memori dengan ukuran
tetap. Dalam kedua kasus prosesor akan memiliki setumpuk pointer
register yang menunjuk ke lokasi memori yang paling baru ditangani di
stack. Dalam beberapa prosesor stack dimulai pada alamat tertinggi di
blok memori dan turun ke bawah, selain itu dapat dimulai pada alamat
terendah dan naik.
Penambahan data Pemindahan data Penambahandata

Data
Data
terbaruData
terbaruData terlama
terlama
Pemindahan
data ddata
data

5
Gambar 5. Permintaan data penyimpan LIFO (kiri) dan FIFO (kanan)
LIFO mengacu pada urutan data yang dihapus dari mana data disimpan.
Dalam LIFO bagian terbaru dari data yang telah ditambahkan ke
penyimpanan adalah yang pertama dihapus ketika ada permintaan data.
Alternatif untuk bertahan masuk terakhir keluar pertama adalah masuk
pertama keluar pertama atau FIFO. Dalam paradigma penyimpanan data
tertua setiap kali data diminta dihapus. Hal ini sering disebut antrian
karena serupa dengan garis orang menunggu di kasir bank.
Tumpukan dasar hanya mendukung dua operasi; push dan pop. Push
merupakan operasi menambahkan data ke atas tumpukan, menaikkan stack
pointer, sementara pop pengurangan stack pointer dan mengembalikan
data di atas tumpukan. Beberapa keadaan bergantung pada stack untuk
banyak operasi tambahan operasi seperti mengintip (operasi pop tanpa
mengubah stack pointer), dup (pop diikuti dengan mendorong hasilnya dua
kali), atau swap (switching dua urutan teratas item pada stack).
Selain stack, setiap prosesor dapat menyimpan beberapa data tanpa harus
mengakses sistem memori, meskipun jumlah penyimpanan bervariasi
antara prosesor.lokasi penyimpanan disebut register, dan sebagian besar
prosesor akan memiliki beberapa memori untuk penggunaan umum
disebut register tujuan umum (GPR). Di antara register tujuan khusus, ada
satu yang disebut program counter. Berisi daftar alamat memori dari
instruksi berikutnya yang akan dieksekusi. Setiap waktu instruksi
dijalankan, alamat memori bertambah, dan tanpa itu prosesor tidak akan
tahu mana instruksi berikutnya yang harus dieksekusi.
Ada dua jenis kesalahan yang berkaitan dengan stack; underflow dan
overflow. Kesalahan underflow kurang umum dan paling sering
ditemukan di tumpukan perangkat lunak. Ini disebabkan oleh usaha pop
ketika stack kosong. Kesalahan Di sisi lain kesalahan stack overfloow
terjadi ketika dilakukan usaha untuk melebihi ukuran maksimum stack.
Kesalahan overflow yang paling sering terjadi ketika ada terlalu banyak
panggilan fungsi berada pada alamat yang sama. Kesalahan ini dapat
diperbaiki dengan mengurangi fungsi panggilan, atau mengurangi

6
kebutuhan memori masing-masing fungsi.
D. Mikrokontroler
Mikrokontroler merupakan keseluruhan sistem komputer yang dikemas
dalam sebuah chip didalamnya terkandung mikroprosesor, I/O pendukung,
memori, ADC yang mempunyai satu atau lebih tugas yang spesifik.
Mikrokontroler disebut sebagai ”one chip solution” karena terdiri dari : (1)
CPU, (2) RAM, (3) EPROM/PROM/ROM, (4) I/O (Input /Output) serial
dan parallel, (5) timer, (6) Interupt Controller. Mikrokontroller AVR (Alf and
Vegard’s Risc processor ) memiliki arsitektur 8 bit, dimana semua instruksi
dikemas dalam kode 16-bit (16-bits word ) dan sebagian besar instruksi
dieksekusi dalam 1 (satu) siklus clock atau dikenal dengan teknologi RISC
(Reduced Instruction Set Computing), berbeda dengan instruksi MCS51
yang membutuhkan 12 siklus clock atau dikenal dengan teknologi CISC
(Complex Instruction Set Computing ). Secara umum, AVR dapat
dikelompokan ke dalam 4 kelas, yaitu keluarga AT90Sxx, keluarga ATMega
dan AT86RFxx. Dari segi arsitektur dan perintah yang digunakan adalah
sama, yang membedakannya adalah kelas memori, perypheral danfungsinya.
1. Hardware Mikrokontroler AT Mega16
Adalah mikrokontroler 8 bit buatan ATMEL dengan fitur:
 Performansi tinggi dengan dayarendah
o 131 Powerful Instructions – Most Single-clock Cycle
Execution
o 32 × 8 General Purpose Working Registers
o Fully StaticOperation
o Up to 16 MIPS Throughput at 16 MHz
o On-chip 2-cycleMultiplier
 Segments Memory Ketahanan Non-volatiletinggi
o 16 Kbytes of In-System Self-programmable Flash
program memory
o 512 Bytes EEPROM
o1 Kbyte Internal SRAM
o Write/Erase Cycles: 10,000 Flash/1 00,000 EEPROM

7
o Programming Lock for Software Security
 Fitur Peripheral
o oTwo 8-bit Timer/Counters with Separate Prescalers
and Compare Modes
o oOne 16-bit Timer/Counter with Separate Prescaler,
Compare Mode, and Capture
 Mode
o Real Time Counter with Separate Oscillator
o Four PWM Channels
o 8-channel, 10-bit ADC 8 Single-ended Channels 7
Differential Channels in TQF.
 Package Only 2 Differential Channels with Programmable
Gain at 1x, 10x, or200x
o Byte-oriented Two-wire Serial Interface Programmable
Serial USART oMaster/Slave SPI Serial Interface
o Programmable Watchdog Timer with Separate On-chip
Oscillator
o On-chip Analog Comparator.
 Special MicrocontrollerFeatures
o Power-on Reset and Programmable Brown-out
Detection
o Internal Calibrated RC Oscillator
o External and Internal Interrupt Sources
o Six Sleep Modes: Idle, ADC Noise Reduction, Power-
save, Power-down, Standby
o and Extended Standby
 Pakaet danI/O
o 32 Programmable I/O Lines
o 40-pin PDIP, 44-lead TQFP, and 44-pad QFN/MLF
 Tegangankerja
o 2.7V - 5.5V for ATmega16L

8
o 4.5V - 5.5V for ATmega16
(http://staff.uny.ac.id/sites/default/files/07%20Modul%20Bahan
%20Ajar-02_1.pdf)
ATmega16 adalah CMOS daya rendah 8-bit mikrokontroler berdasarkan
ditingkatkan AVR arsitektur RISC. Dengan mengeksekusi instruksi kuat
dalam satu siklus clock tunggal, ATmega16 mencapai throughput
mendekati 1 MIPS per MHz memungkinkan perancang sistem untuk
mengoptimalkan konsumsi daya dibandingkan kecepatan pemrosesan.
2. Susunan PIN Mikrokontroller ATMega 16 ditunjukkan dalam gambar
berikut.

Gambar 6.Susunan Pin Mikrokontroler Atmega 16


Penjelasan fungsi untuk masing-masing pin IC Atmega 16 pada gambar
7 berikut ini.
a. Port A(PA7..PA0)
Port A berfungsi sebagai input analog pada konverter A/D. Port A gai
suatu port I/O 8-bit dua arah, jika A/D konverter tidak digunakan.
Ketika pin PA0 ke PA7 digunakan sebagai input dan secara eksternal
ditarik rendah, pin–pin akan memungkinkan arus sumber jika resistor
internal pull-up diaktifkan. Port A adalah tri-stated manakala suatu
kondisi reset menjadi aktif, sekalipun waktu habis.
b. Port B(PB7..PB0)
Pin B adalah suatu pin I/O 8-bit dua arah dengan resistor internal

9
pull-up (yang dipilih untuk beberapa bit). Pin B output buffer
mempunyai karakteristik gerakan simetris dengan keduanya arus sink
tinggi. Sebagai input, Pin B jika diberi resistor pull-up secara
eksternal akan menarik arus sumber rendah ketika diaktifkan. Pin B
adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun
waktu habis.
c. Port C(PC7..PC0)
Pin C adalah hampir sama seperti pinB.
d. Port D(PD7..PD0)
Pin D Hampir sama juga seperti pin B.
e. Terminal lain-lainmeliputi:
i. RESET (Reset input)
ii. XTAL1 (Input Oscillator)
iii. XTAL2 (OutputOscillator)
iv. AVCC adalah pin penyedia tegangan untuk Port A
dan KonverterA/D.
v. AREF adalah pin referensi analog untuk
konverterA/D.
3. Peta Memori ATMega16
Memori Program Arsitektur ATMega16 mempunyai dua memori utama,
yaitu memori data dan memori program. Selain itu, ATMega16 memiliki
memori EEPROM untuk menyimpan data. ATMega16 memiliki 16K byte
On-chip In-System Reprogrammable Flash Memory untuk menyimpan
program. Instruksi ATMega16 semuanya memiliki format 16 atau 32 bit,
maka memori flash diatur dalam 8K x 16 bit. Memori flash dibagi
kedalam dua bagian, yaitu bagian program boot dan aplikasi. Bootloader
adalah program kecil yang bekerja pada saat sistem dimulai yang dapat
memasukkan seluruh program aplikasi ke dalam memoriprosesor.
a. Memori Data(SRAM)
Memori data AVR ATMega16 terbagi menjadi 3 bagian, yaitu 32
mum, 64 buah register I/O dan 1 Kbyte SRAM internal. General
purpose register menempati alamat data terbawah, yaitu $00 sampai

10
$1F. Sedangkan memori I/O menempati 64 alamat berikutnya mulai
dari $20 hingga $5F. Memori I/O merupakan register yang khusus
digunakan untuk mengatur fungsi terhadap berbagai fitur
mikrokontroler seperti kontrol register, timer/counter, fungsi-fungsi
I/O, dan sebagainya. 1024 alamat berikutnya mulai dari $60 hingga
$45F digunakan untuk SRAM internal.
b. Memori DataEEPROM
ATMega16 terdiri dari 512 byte memori data EEPROM 8 bit, data
dapat ditulis/dibaca dari memori ini, ketika catu daya dimatikan, data
terakhir yang ditulis pada memori EEPROM masih tersimpan pada
memori ini, atau dengan kata lain memori EEPROM bersifat
nonvolatile. Alamat EEPROM mulai dari $000 sampai $1FF.
c. Analog To DigitalConverter
AVR ATMega16 merupakan tipe AVR yang telah dilengkapi dengan 8
saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya,
dapat dikonfigurasi, baik single ended input maupun differential
input. Selain itu, ADC ATMega16 memiliki konfigurasi pewaktuan,
tegangan referensi, mode operasi, dan kemampuan filter derau
(noise) yang amat fleksibel sehingga dapat dengan mudah
disesuaikan dengan kebutuhan dari ADC itusendiri.
E. ArsitekturATMega16
Arsitektur mikrokkontroler pada umumnya terdiri dari bagian – bagian
seperti ditunjukkan dalam gambar 7
a. Fungsi dan Bagian-bagianMikrokontroler
1) Register
Register merupakan tempat penyimpanan (variable) bilangan
bulat yang terdiri dari 8 atau 16 bit. Register mempunyai dua
fungsi khusus dan umum. Register fungsi khusus misalnya
register timer yang berisi data penghitungan pulsa untuk timer,
atau register pengatur mode operasi counter untuk menghitung
pulsa. Sedangkan register yangberfungsi umum untuk
menyimpan data sementara yang diperlukan untuk memproses

11
penghitungan dan operasimikrokontroler.
2) Accumulator
Merupakan salah satu register khusus yang berfungsi sebagai
operand umum proses aritmetika dan logika.
3) Program Counter
Merupakan salah satu register khusus yang berfungsi sebagai
pencacah / penghitung eksekusi program mikrokontroler.
4) ALU (Arithmetic and LogicUnit)
ALU memiliki kemampuan dalam mengerjakan proses-proses
aritmatika (penjumlahan, pengurangan, perkalian, pembagian)
dan operasi logika (misalnya AND, OR, XOR, NOT) terhadap
bilangan bulat 8 atau 16 bit.
5) ClockCircuits
Mikrokontroler merupakan rangkaian logika sekuensial, dimana
proses kerjanya berjalan melalui sinkronisasi clock. Oleh karena
itu diperlukan clock circuits yang menyediakan clock untuk
seluruh bagian rangkaian.
6) Internal ROM (Read OnlyMemory)
Merupakan memori penyimpan data dimana data tersebut tidak
dapat diubah atau dihapus (hanya dapat dibaca). ROM biasanya
diisi dengan program untuk dijalankan oleh mikrokontroler
segera setelah power dihidupkan. Data dalam ROM tidak dapat
hilang meskipun power dimatikan karena bersifat non volatile.
7) StackPointer
Stack merupakan bagian dari RAM yang memiliki metode
penyimpanan dan pengambilan data secara khusus. Data yang
disimpan dan dibaca tidak dapat dilakukan dengan cara acak
karena data yang dituliskan ke dalam stack yang berada pada
urutan yang terakhir merupakan data yang pertama kali dibaca
kembali. Stack Pointer berisi offset dimana posisi data stack
yang terakhir masuk (atau yang pertama kali dapat diambil).
8) I/O (Input/Output)Ports

12
Merupakan sarana yang digunakan oleh mikrokontroler untuk
mengakses peralatan- peralatan lain di luar sistem.
9) InterruptCircuits
Adalah rangkaian yang memiliki fungsi untuk mengendalikan
sinyal-sinyal interupsi baik internal maupun eksternal. Adanya
sinyal interupsi akan menghentikan eksekusi normal program
mikrokontroler untuk selanjutnya menjalankan sub-program
untuk melayani interupsi tersebut.
10) Internal RAM (Random AccesMemory)
Merupakan memori penyimpan data dimana data tersebut dapat
diubah atau dihapus. RAM biasanya berisi data-data variable
dan register. Data yang tersimpan pada RAM bersifat volatile
yaitu akan hilang bila catu daya yang terhubung padanya
dimatikan.

13
Gambar 7 Block Diagram Atmega 16
1616

F. Mikrokontroler GenerasiTerbaru
Mikrokontroler At89S51/52, merupakan versi terbaru dibandingkan
mikrokontroler AT89C51 yang telah banyak digunakan saat ini.
Mikrokontroler AT89S52 ialah mikrokomputer CMOS 8 bit dengan 8KB
Flash Programmable dan Erasable Read Only Memory (PEROM).
Mikrokontroler berteknologi memori non volatile kerapatan tingi dari
Atmel ini kompatibel dengan mikrokontroler standar industri MCS-51
baik pin kaki Ic maupun set instruksinya serta harganya yang cukup
murah. Spesifikasi penting AT89S52 adalah sebagai berikut: Kompatibel
dengan keluarga mikrokontroler MCS51 sebelumnya,8 K Bytes In
system Programmable (ISP) flash memori dengan kemampuan 1000 kali
baca/tulis, tegangan kerja 4-5.0V, bekerjadengan rentang 0 – 33MHz,
256x8 bit RAM internal , 32 jalur I/0 dapat diprogram , 3 buah 16 bit

14
Timer/Counter , 8 sumber interrupt , saluran full dupleks serial UART,
watchdog timer , dual data pointer , Mode pemrograman ISP yang
fleksibel (Byte dan Page Mode).
AT89S51/52 mempunyai memori data internal, terdiri dari RAM
internal sebesar 128 byte dengan alamat 00H-7FH dapat diakses
menggunakan RAM address register. RAM Internal terdiri dari Register
Banks dengan 8 buah register (R0-R7). Memori lain yaitu 21 buah
Special Function Register dimulai dari alamat 80H-FFH. Lokasi RAM
ini berbeda dengan Flash PEROM dengan alamat 000H -7FFH. Jika
diperlukan, memori data eksternal untuk menyimpan variabel yang
ditentukan oleh user dapat ditambah berupa IC RAM atau ROM
maksimal sebesar 64KB.
G. AsemblerAVR
Assembler berfungsi menerjemahkan kode sumber assembly menjadi
kode obyek. Kode objek yang dihasilkan dapat digunakan sebagai
masukan simulator atau emulator seperti Atmel AVR dalam rangkaian
emulator. Assembler juga menghasilkan kode PROMable dan opsional
file EEPROM yang dapat diprogram langsung ke memori program dan
memori EEPROM dari mikrokontroler AVR.

15