Oktaf Brillian Kharisma, ST., MT MATERI 2 MICROCONTROLLER OVERVIEW By Oktaf Brillian Kharisma, ST., MT
INTRODUCTION Basics of computer architecture How does a computer work? Microcontrollers, microprocessors and Microcomputers Microcontrollers are general purpose digital Logic replacements
RECALL DIGITAL SySTEM
Numbering and coding systems
Decimal and Binary Number Systems Human beings use base 10 (decimal) arithmetic There are 10 distinct symbols, 0, 1, 2, …,9 Computers use base 2 (binary) system There are only 0 and 1 These two binary digits are commonly referred to as bits
Converting from Decimal to Binary Divide the decimal number by 2 repeatedly Keep track of the remainders Continue this process until the quotient becomes zero Write the remainders in reverse order to obtain the binary number
Converting from Binary to Decimal Know the weight of each bit in a binary number Add them together to get its decimal equivalent Use the concept of weight to convert adecimal number to a binary directly
Hexadecimal System
Converting between Binary and Hex
Converting from Decimal to Hex
Converting from Hex to Decimal
Addition of Hex Numbers
Subtraction of Hex Numbers
ASCII Code
Binary Logic
Logic Gates
Logic Design Using Gates
Logic Design Using Gates (cont’)
Logic Design Using Gates (cont’)
Logic Design Using Gates (cont’)
Important Terminology Bit 0 Nibble 0000 Byte 0000 0000 Word 0000 0000 0000 0000 Contoh: Misalkan anda memiliki sebuah file yang terdiri dari 100.000 kata dan anda ingin tahu berapa lama kita bisa mendownload file tersebut melalui internet yang memiliki koneksi 33.600 bps.
The term used to describe amounts of memory Important Terminology (con’t) The term used to describe amounts of memory Kilobyte (K) : 210 bytes Megabyte (M) : 220 bytes, over 1 million Gigabyte (G) : 230 bytes, over 1 billion Terrabyte (T) : 240 bytes, over trillion
1024 Alphabyte = 1 Kryatbyte 1024 Kryatbyte = 1 Amosbyte 1024 Amosbyte = 1 Pectrolbyte 1024 Pectrolbyte = 1 Bolgerbyte 1024 Bolgerbyte = 1 Sambobyte 1024 Sambobyte = 1 Quesabyte 1024 Quesabyte = 1 Kinsabyte 1024 Kinsabyte = 1 Rutherbyte 1024 Rutherbyte = 1 Dubnibyte 1024 Dubnibyte = 1 Seaborgbyte 1024 Seaborgbyte = 1 Bohrbyte 1024 Bohrbyte = 1 Hassiubyte 1024 Hassiubyte = 1 Meitnerbyte 1024 Meitnerbyte = 1 Darmstadbyte 1024 Darmstadbyte = 1 Roentbyte 1024 Roentbyte = 1 Coperbyte 1 Bit = 1 Binary Digit 8 Bits = 1 Byte 1024 Bytes = 1 Kilobyte 1024 Kilobytes = 1 Megabyte 1024 Megabytes = 1 Gigabyte 1024 Gigabytes = 1 Terabyte 1024 Terabytes = 1 Petabyte 1024 Petabytes = 1 Exabyte 1024 Exabytes = 1 Zettabyte 1024 Zettabytes = 1 Yottabyte 1024 Yottabytes = 1 Brontobyte 1024 Brontobytes = 1 Geopbyte 1024 Geopbyte = 1 Saganbyte 1024 Saganbyte = 1 Pijabyte 1024 Pijabyte = 1 Alphabyte
Example: Komputer mempunyai 16 megabytes of memory. That mean? Answer: Important Terminology (con’t) Example: Komputer mempunyai 16 megabytes of memory. That mean? Answer: That would be 16x220 or 24x220 = 224 Therefore, 16 megabytes is 224 bytes.
Important Terminology (con’t) Sifat Komputer Kemampuan sebuah program untuk mengoperasikan data tanpa campur tangan manusia. kemampuan untuk menyimpan dan mengambil data.
Mikroprosessor vs Mikrokontroller
General-purpose microprocessors contains No RAM No ROM No I/O ports Microcontroller has CPU (microprocessor) RAM ROM I/O ports Timer ADC and other peripherals Other
General-purpose microprocessors Harus ditambah RAM, ROM, I/O ports, dan timers external untuk dapat berfungsi. Membuat sistem lebih komplek dan lebih mahal. Memiliki keuntungan dari fleksibilitas pada jumlah RAM, ROM, dan I / O port
Melakukan fungsi matematika dan logika. Pemindahan data. CPU (Control Processing Unit) Melakukan fungsi matematika dan logika. Pemindahan data. Pengolahan instruksi.
ALU CU RU CPU Arsitektur
ALU (Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi program. sirkuit elektronik di ALU = adder Unit kendali (Control Unit ) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Tugas dari CU : mengatur input dan output, Mengambil instruksi-instruksi dari memori utama, Mengambil data dari memori utama kalau diperlukan oleh proses, menyimpan hasil proses ke memori utama. Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan instruksi yang sedang diproses, sementara data dan instruksi lainnya yang menunggu giliran untuk diproses masih disimpan di dalam memori utama.
Proses Kerja CPU Fetch : mengambil dari memori program Decode : menguraikan dan diolah oleh fungsi khusus CPU. Execute : beberapa operasi hasil penguraian pada langkah sebelumnya mulai bekerja sama dan menyelesaikan perintah eksekusi. Writeback : menuliskan kembali hasil operasi pada memori maupun register yang telah ditunjuk. Diagram blok CPU sederhana
I/O Port Menyediakan sarana untuk berkomunikasi dengan CPU
Memory RAM (Random Access Memory) – Penyimpan sementara program ketika computer berjalan. Data hilang ketika computer mati. Disebut volatil memory ROM (Read Only Memory) – berisi program dan informasi penting untuk pengoperasian komputer. Informasi tidak dapat diubah oleh user, dan tidak akan hilang ketika power off. disebut nonvolatile memory.
Macam ROM dan RAM ROM : Mask ROM : terprogram saat manufacture. PROM/OTP : diprogram 1 kali. EPROM : memerlukan sinar ultraviolet untuk hapus data EEPROM : dapat diisi dan dihapus kapan saja melalui proses elektric. RAM : SRAM = MK DRAM
Kemampuan chip memory dalam menyimpan sejumlah bit. Kapasitas Memori Kemampuan chip memory dalam menyimpan sejumlah bit. Chip IC memory = bit Sistem komputer = byte Misal : artikel 128M berarti?
Organisasi Memori Jumlah bit yang tersimpan dalam memory chip = jumlah pin data pada chip. Berapa banyak lokasi yg tersedia dalam memory chip? jumlah lokasi dalam memori IC selalu sama 2 pangkat dari jumlah alamat pin. Maka, jumlah total bit yang tersimpan dalam memory chip adalah sama dengan jumlah lokasi kali jumlah data bit per location.
Ringkasnya: Chip memori terdiri 2x location, dimana x adalah jumlah pin address. Tiap location terdiri y bits, dimana y adalah jumlah data pin dalam chip. Seluruh chip akan berisi 2x x y,
Tabel kalkulasi dari organisasi memori x 2x 10 1K 11 2K 12 4K 13 8K 14 16K 15 32K 16 64K 17 128K 18 256K 19 512K
Ex. Sebuah chip memory memiliki 12 pin address dan 4 pin data, cari: Organization memory b. Kapasitasnya Jawab: Chip memori memiliki 4,096 location (212=4.096). Tiap location dapat menyimpan 4 bit data. Seluruh chip akan berisi 4,096 x 4 / 4K x 4. Kapasitas memori = 16 K karena terdapat total 4K location dan tiap location dapat menyimpan 4 bit data.
512K chip memori dengan 8 pin data, cari: organisasi dan jumlah pin address untuk memory chip. Jawab: a. Memory dengan 8 pin data berarti setiap location dalam chip dapat menyimpan 8 bit data. Untuk mencari jumlah lokasi dalam chip memory, bagi capacity memory dengan jumlah data pin. 512K/8 = 64K. Maka, organisasi chip memori ini adalah 64K x 8 b. Chip ini memiliki 16 pin address karena 216 = 64K
kumpulan jalur membawa infromation dengan tujuan yang sama. BUS kumpulan jalur membawa infromation dengan tujuan yang sama. Jalur yang menghubungkan antar periperal. Jalur untuk memindahkan data antar bagian – bagian dalam sistem komputer.
Jenis-jenis Bus Berdasarkan Fungsi : Data Bus : Berfungsi untuk mentransfer data, membawa data dari dan ke perangkat atau periferal Terdiri atas beberapa jalur penghantar, 8, 16, 32 bahkan 64 bahkan lebih jalur paralel Data ditransmisikan dalam dua arah, yaitu dari CPU atau mikroprosesor ke unit memori atau modul I/O dan sebaliknya. Semakin lebar bus maka semakin besar data yang dapat ditransfer sekali waktu.
Control Bus: Berfungsi untuk mensinkronkan proses penerimaan dan pengiriman data. Untuk mengatur memori atau port agar siap ditulis atau dibaca. Sinyal Kontrol: RD, WR, IO/M Sinyal Read dan write : untuk mengakses data ke dan dari perangkat
Address Bus: membawa informasi untuk mengetahui lokasi suatu perangkat atau periferal Untuk memilih lokasi memori atau port yang akan ditulis atau dibaca Untuk menentukan rute data, bersumber dari mana, tujuannya ke mana. Bersifat searah, cpu memberikan alamat yang bertujuan untuk menentukan periferal mana yang dituju. Contoh memori mana yang dituju atau I/O mana yang dituju. Semakin besar bus alamat, akan semakin banyak range lokasi yang dapat dialamati. Jumlah alamat yang dapat dituju pada Bus alamat adalah sebanyak 2n. n jumlah jalur Bus alamat.
Ex: misal komputer memiliki 16 atau 20 baris alamat. Diberikan n baris alamat, masing-masing dengan kemungkinan logika 1 atau 0, berapa lokasi yang dapat diakses? Jawab: 16 bit bus alamat, untuk itu, dapat mengakses 216 = 65.536 location. Dan 20 bit dapat mengakses 220 = 1.048.576. #dimana K (for kilo) merupakan 210 = 1024, maka, 16 bit dapat mengalamati 26 x 210 =64K location.
-PC dapat terhubung ke berbagai produk tertanam Microcontrollers for Embedded Systems Sebuah produk yang tertanam menggunakan mikroprosesor (atau mikrokontroler) untuk melakukan satu tugas dan satu tugas saja. Hanya ada satu aplikasi perangkat lunak yang biasanya di isikan ke dalam ROM A PC, in contrast with the embedded system, can be used for any number of applications. -Memiliki memori RAM dan sistem operasi yang memuat berbagai aplikasi ke dalam RAM dan memungkinkan CPU menjalankannya -PC dapat terhubung ke berbagai produk tertanam -Masing-masing perangkat memiliki mikrokontroler di dalamnya yang melakukan hanya satu tugas
- Berapa banyak ROM dan RAM di dalam chip. Kriteria memilih Mikrokontroller Melihat kebutuhan komputasi pekerjaan pada sisi efisiensi dan efektifitas harga. - Kecepatan - Kemasan - Konsumsi Daya - Berapa banyak ROM dan RAM di dalam chip. - Jumlah pin I/O dan timer didalam chip - Harga per unit
Ketersediaan pengembangan tool perangkat lunak dan perangkat keras seperti compiler, assembler, debugger, dan emulator. Ketersediaan sumber mikrokontroller secara luas dan terjamin.
CISC (Complex Instruction Set Computer) CISC vs RISC CISC (Complex Instruction Set Computer) Adalah suatu arsitektur komputer dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori (load), operasi aritmatika, dan penyimpanan ke dalam memori (store) yang saling bekerja sama. Tujuan utama dari arsitektur CISC adalah melaksanakan suatu instruksi cukup dengan beberapa baris bahasa mesin yang relatif pendek sehingga implikasinya hanya sedikit saja RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut. Ciri-ciri Jumlah instruksi banyak Banyak terdapat perintah bahasa mesin Instruksi lebih kompleks
Karakteristik CISC Instruksi berukuran tunggal. Ukuran yang umum adalah 4 byte. Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah. Tidak terdapat pengalamatan tak langsung. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmetika (misalnya, penambahan dari memori, penambahan ke memori).
RISC (Reduce Instruction Set Computer) sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana.
Karakteristik RISC one cycle execution time : satu putaran eksekusi. Prosessor RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU. pipelining:adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan.Sehingga proses instruksi lebih efiisien large number of registers: Jumlah register yang sangat banyak. RISC di Desain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
Perbedaan RISC dan CISC Machine Instruction Machine Instruction Microcode Convertion Instruction execution Micro Instruction RSIC Microinstruction Execution CISC
Arcitechture Von Neuman vs harvard Code Memory Data Memory CPU Data bus Address bus Control bus Arsitektur Von Neuman Adalah aristektur yang menggunakan bus tunggal untuk mengakses memori (RAM dan ROM) Kelemahan: - hanya bisa dijalankan secara skuensial dalam mengakses program dan data. - membutuhkan jumlah CPI (clock per instruction) yang relatif lebih banyak. Keuntungan: - tidak memerlukan lus kontrol tambahan berupa pin I/O khusus untuk membedakan instruksi dan data. - flesibilitas pengalamatanya.
Contoh: pada mikrokontroler 8bit Motorola 68HC11 program itu ditulis dengan : LDAA $4000 ; A <-- $4000 Membutuhkan satu baris perintah dalam mengisi accumulator A dengan data yang berada dialamat 4000
CPU Data bus Code Memory Data bus Data Memory Address bus Address bus Control bus Control bus Arsitektur Hardvard Adalah aristektur yang menerapkan pemisahan secara fisik antara memori program dan memori data.
Kelebihan kapasitas memori. Karena memori program dan data yang terpisah, maka kavling total memori program dan data dapat menjadi lebih banyak. arsitektur Harvard tidak memungkinkan untuk menempatkan data padaROM Kekurangan
Contoh: program dengan 80C51 berikut ini. MOV DPTR,#4000 ;DPTR = $4000 CLR A ;@A = 0 MOVC A,@A+DPTR ;A <-- (DPTR+@A) Urutan program di atas adalah : 1. load/isi data pointer dengan #4000 2. set accumulator A = 0 sebagai offset 3. load/isi accumulator A dengan data di alamat 4000+offset
TERIMA KASIH