IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR

dokumen-dokumen yang mirip
IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR

Bab 2. Instructions: Bahasa dari Komputer

IKI20210 Pengantar Organisasi Komputer Kuliah no. 1b: Basic Operations

IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-2: Arsitektur Set Instruksi

ORGANISASI KOMPUTER S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Instruksi Mesin & Program PROGRAM STUDI

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

INSTRUKSI MIPS. agussalim

Organisasi & Arsitektur Komputer

Arsitektur Set Instruksi. Abdul Syukur

Kumpulan instruksi lengkap yang dimengerti

Organisasi Sistem Komputer

Set Instruksi: Set instruksi?

ARSITEKTUR KOMPUTER SET INSTRUKSI

MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI. Nama : Annisa Christyanti Kelas : XI TJA 3 NIS :

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Set Instruksi. Set Instruksi. Set Instruksi adalah kumpulan

IKI20210 Pengantar Organisasi Komputer Kuliah no. 6c:Cache Memory. Bobby Nazief Johny Moningka

William Stallings Computer Organization and Architecture. Chapter 9 Set Instruksi: Karakteristik dan Fungsi

Microcontroller: Bahasa Pemrograman Assembly 8051

PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI

IKI20210 Pengantar Organisasi Komputer Kuliah no. 1a: Pendahuluan

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016

CENTRAL PROCESSING UNIT CPU

Hanif Fakhrurroja, MT

Abstrak. Pendahuluan

Hanif Fakhrurroja, MT

Pertemuan Ke-12 RISC dan CISC

Arsitektur dan Organisasi Komputer Set Intruksi

STRUKTUR CPU. Arsitektur Komputer

ARSITEKTUR SET INSTRUKSI. Ptputraastawa.wordpress.com

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

>> CISC BANDING RISC

CONTROL UNIT. Putu Putra Astawa

ARSITEKTUR DAN ORGANISASI KOMPUTER

INSTRUKSI DASAR Salahuddin, SST.

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

Pertemuan Ke-7 INSTRUCTION SET

Teknologi Scalar untuk meningkatkan Kinerja Prosesor

DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2

Pertemuan ke - 5 Struktur CPU

Unit Kendali (2) CONTROL UNIT. RegDst Branch. MemRead. MemToReg. Instruction (31-26) ALUOp MemWrite. ALUSrc. RegWrite

Arsitektur dan Organisasi

Karakteristik Instruksi Mesin

Materi 2: Computer Systems

Mikrokontroller Berbasiskan RISC 8 bits

Pertemuan 6-7 : Set Instruksi

Dua komponen yang menjalankan proses dalam komputer, yaitu : Central Processing Unit (CPU) Memory Kedua komponen tersebut terletak pada Motherboard.

ARSITEKTUR DAN ORGANISASI KOMPUTER

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ

Disusun Oleh Kelompok 5 : Abdul Haris Nabu Muh. Eka A.P Paputungan Afner Mengi Deasry Potangkuman Aufry Masugi Adel Mamonto

Materi 4: Assembly Language Programming

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Bagian 2 STRUKTUR CPU

ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan Mahastama

Jumlah maksimum operand dalam suatu computer menunjukkan organisasi prosessor mesin tersebut.

Arsitektur Komputer. Pertemuan - 1. Oleh : Riyanto Sigit, S.T, M.Kom Nur Rosyid Mubtada i S.Kom Setiawardhana, S.T Hero Yudo Martono, S.

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Struktur Fungsi CPU. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 --

BAHASA MESIN. PDE - bahasa mesin 1

CENTRAL PROCESSING UNIT (CPU) Sebuah mesin tipe von neumann

10. Konsep Operasional Prosessor dan Memori

CPU PERKEMBANGAN ARSITEKTUR CPU. ( Central Processing Unit )

Operasi Transfer Data

ARSITEKTUR DAN ORGANISASI KOMPUTER

ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM MATA KULIAH:

STRUKTUR FUNGSI CPU. Menjelaskan tentang komponen utama CPU. Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register

Soal Komunikasi Data Kelas XI TKJ

Struktur CPU 3/23/2011

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

Arsitektur RISC merupakan kemajuan yang sangat dramatis dalam frase sejarah arsitektur CPU. Dan merupakan tantangan bagi arsitektur konvensional

Organisasi Komputer. Candra Ahmadi, MT

3. MODE PENGALAMATAN CHAERUL UMAM, S.KOM

Pengantar Organisasi Komputer. Abdul Syukur

Hanif Fakhrurroja, MT

Perangkat Lunak Untuk Simulasi Penerapan Modus Pengalamatan Dan Operasi Aritmatika Bahasa Rakitan Pada Mikroprosesor 8086/8088

Mikroprosesor. Nuryono Satya Widodo, S.T.,M.Eng. Mikroprosesor 1

PROSESOR: CONTROL DAN DATAPATH. Oky Dwi Nurhayati, ST, MT

Aditya Wikan Mahastama

Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3.

Diktat Kuliah intel 8088

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Percobaan 2 I. Judul Percobaan Sistem Kendali Digital Berbasis Mikrokontroler

Pengantar sistem komputer

Jenis Mikroprosesor. Nuryono S.W.,S.T.,M.Eng. Mikroprosesor 1

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I)

Struktur Central Processing Unit Universitas Mercu Buana Yogyakarta

BAHASA RAKITAN. Kuliah I : Pengenalan. Universitas Gunadarma. Bahasa Rakitan

CENTRAL PROCESSING UNIT (CPU)

ORGANISASI KOMPUTER MOTOROLA MATA KULIAH:

PEMROGRAMAN BAHASA RAKITAN

ebook Fakultas Teknologi Industri Universitas Gunadarma 2013

ORGANISASI SISTEM KOMPUTER & ORGANISASI CPU Oleh: Priyanto

ARSITEKTUR VON NEUMANN. Arsitektur Komputer

BAB I TUGAS MATA KULIAH SISTEM MIKROPROSESOR DOSEN PEMBERI TUGAS : FATAH YASIN, ST, MT.

Simple As Possible (SAP) - 2. Abdul Syukur

BAB VI ARSITEKTUR KOMPUTER

SISTEM KOMPUTER.

Transkripsi:

IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR diadaptasikan dari materi kuliah CS61C/2000 & CS152/1997 2000/1997 UCB 18 September 2002 Bobby Nazief (nazief@cs.ui.ac.id) Johny Moningka (moningka@cs.ui.ac.id) bahan kuliah: http://www.cs.ui.ac.id/~iki20210/ 1 Agenda Review Why RISC (Atmel AVR)? Register Contoh Instruksi AVR: Arithmatika dan Data Transfer Resources: Harmarcher : Computer Organizations (bab 2.3) Atmel AVR homepage: http://www.atmel.com (products, AVR 8-bit RISC) 2 1

Why RISC? Reduced Instruction Set Computing (RISC) Hanya terbatas jenis/jumlah instruksi untuk operasi dasar Arithmetic, load/store, branches and jumps Instruksi umum dan sering digunakan: sederhana dan cepat Top 10 80x86 Instructions Rank Instruction Integer Average Percent total executed 1 load 22% 2 conditional branch 20% 3 compare 16% 4 store 12% 5 add 8% 6 and 6% 7 sub 5% 8 move register-register 4% 9 call 1% 10 return 1% Total 96% Simple instructions dominate instruction frequency make common case: simple and fast 17 3 Why AVR 8-bit RISC RISC: kinerja (performance) komputer meningkat Pilihan teknologi rancangan prosesor modern (PowerPC, Sun Sparc, MIPS dll) Fast with reduced complexity! Atmel AVR 8-bit RISC Sederhana (bentuk minimalis dari RISC): mudah dipelajari! Target operasi: microcontroller (embedded systems) - Berbagai aplikasi dan peralatan elektronis (ponsel, home appliances, mobil, Amulex 108 dll) - Controller untuk pabrik, proses kimia, mesin dll. - Vast opportunity : karir, wira-usaha dll. (more embedded computers than PCs!!!) Why not X86 (Intel, mikroprosesor paling populer) Terlalu rumit (complex): operasi beragam dan sangat banyak variasinya 4 2

Review: Perspectives HLL Perintah HLL: c = a + b; Stack Accumulator Register Register (reg-mem) (load-store) Push A Load A Load A,R1 Load A,R1 Push B Add B Add B,R1 Load B,R2 Add Store C Store R1,C Add R1,R2,R3 Pop C Store R3,C HLL: a, b, dan c adalah variabel => kompilasi ketiga variabel berada di memori Assembly: A, B, dan C merupakan address operand 5 Registers: variabel operand Apa yang disebut dengan register? Register: lokasi memori (kecil) pada prosesor (hardware) Dapat menyimpan 1 word data Register adalah lokasi data operand di CPU Sebagai variabel: dapat menyimpan data dan di manipulasi (operasi tambah, kurang dsb) Sebagai variabel register tidak mempunyai tipe data (bandingkan dengan HLL) Operasi (mis. Add) yang menentukan nilai data dari register tersebut 6 3

AVR Registers Register AVR disebut general purpose Semua register seragam sebagai variabel operand Data akses dari ke memori dilakukan melalui register instruksi load dan store Semua register dapat digunakan untuk load data dari memori, tempat operasi dilakukan, dan store data ke memori Karakteristik register AVR: Menyimpan 1 word adalah 8 bit (1 bytes) Terdapat 32 Register Konvensi penamaan: R0. R31 (supaya mudah di-ingat/ kode) 7 AVR Register (2/2) PC SP 8 4

AVR Instruction-Sets Bahasa Rakitan: setiap statement disebut instruksi, merupakan eksekusi/operasi perintah instruksi mesin Jadi setiap baris pada bahasa rakitan: berisi 1 (satu) perintah saja (bandingkan dengan HLL!) Instruksi dapat dikelompokkan sesuai dengan fungsi: - Transfer Data (31) - Aritmatika & Logika (22) - Bit & Bit-Test (31) - Pencabangan (Branch) (34) Instruksi diusahakan reguler (mengikuti format yang baku): hanya 6 jenis format 9 Arsitektur Set Instruksi Kategori Instruksi Registers Transfer Data (31) Aritmatika & Logika (22) R0 - R31 Bit & Bit-Test (31) Pencabangan (Branch) (34) Format Instruksi I II III IV 16 4 OP d 16 9 4 OP r d 16 10 5 OP n P 31 20 OP Rr/Rd 16 LSBs 16 16 OP OP 11 PC SP 10 n k 5 q 10 V VI 5

Set Instruksi AVR 11 AVR: Assembly Languages Komputer (rangkaian dijital) hanya mengerti instruksi mesin Assembly code: representasi tekstual (mudah dibaca oleh manusia) dari instruksi mesin Setiap instruksi mesin (instruction sets) terdapat korespondensi assembly code Kode tersebut: simbol dari operasi instruksi mesin Bahasa rakitan (assembly language): cara pemrograman menggunakan assembly code (terdapat banyak bantuan untuk memudahkan penulisan program). Assembler: sebuah program yang menerjemahkan assembly code ke instruksi mesin. 12 6

Example: AVR Arithmetic Instructions ADDITION (Penambahan) Contoh: ADD Instruksi perhitungan format 2 operand, dengan hasil (destinations) operasi disimpan pada argumen PERTAMA Add Rd, Rr Tambahkan isi register Rd dan Rr, simpan hasilnya pada isi register Rd The arguments can ONLY be registers, no values, no constants SUBTRACTION (Pengurangan) Contoh: SUB Instruksi pengurangan format 2 operand, dengan hasil (destinations) operasi disimpan pada argumen PERTAMA Sub Rd, Rr 13 Example: AVR Arithmetic Instructions Bagaimana jika instruksi HLL: a = b + c + d e; Pecahkan dalam step instruksi dan gunakan register sementara (temporer).. Lakukan load isi register R1, R2, R3, R4 dengan nilai/lokasi memori b, c, d, e Add R1, R2 ; R1 => temp = b + c Add R1, R3 ; R1 => temp = temp + d Sub R1, R4 ; R1 => a = temp e Hasil perhitungan (nilai a) berada pada R1, store R1 ke lokasi a. Tanda: ; (akhir dari baris instruksi, sisanya diabaikan sbg. ket.) 14 7

Assembly Operands: Memory Variabel HLL disimpan pada register; Bagaimana struktur data yang besar, mis. array? Remember: memory (salah satu komponen utama komputer) dapat menyimpan data yang besar Tapi instruksi arithmetik AVR hanya beroperasi pada register (sebagai operand), tidak dapat langsung pada memory Instruksi Data Transfer memindahkan/transfer data antara register dan memory: Memory ke register (sering disebut load ) Register ke memory (sering disebut store ) 15 Anatomy: 5 components of any Computer Personal Computer Registers are in the datapath of the processor; if operands are in memory, we must transfer them to the processor to operate on them, And then transfer back to memory when done Computer Processor Control ( brain ) Datapath Registers Memory Store Load Devices Input Output These are data transfer instructions 16 8

Data Transfer: Memory to Reg Untuk melakukan transfer satu word data pada AVR, kita harus menentukan dua hal, yakni: Register: tentukan register yang mana (dari R0 s/d R31) Alamat Memori (memory address) => lokasi di memori Memori: Dapat dilihat sebagai array satu dimensi, dan kita mendapatkan lokasi memori dengan melakukan indexing pada array tersebut => dikenal istilah pointer Dengan model pointer (indexing) maka kita dapat mengakses lokasi tersebut berdasarkan posisi pointer tersebut Misalkan menaikkan atau menurunkan pointer tersebut Sering disebut indirect. 17 Example: Load Instruction AVR instruksi Load Indirect: 1 2,3 dimana (1) nama operasi (mis. LD) (2) register yang akan menerima data (mis. R1) (3) register set menyimpan pointer ke memori (X, Y, Z) Contoh: LD R1, X (load satu word ke R1 dari lokasi memori yang ditunjuk oleh register X) 18 9

AVR General Purpose Registers PC SP 19 Example: Load Indirect LD R1, X X-register 16 bit pointer 178 R27 R26 178 1200 R1 Alamat memori Instruksi ini akan mengambil pointer pada X-register dan load nilai dari memori yang ditunjuk oleh pointer tersebut 20 10

Review: Group Question Pilih benar atau salah? 1. 1 Kbytes = 1000 bytes = 8000 bits. 2. 100111 (binary) = 93 (hex) (hex => hexadecimal, merupakan representasi basis 16) 3. 1 word AVR adalah 8 bytes 4. AVR: ADD R7, R9 menyebabkan isi R9 tidak berubah Pilih pernyataan yang benar: A: (1) benar, sisanya salah; B: (2) benar, sisanya salah; C: (3) benar, sisanya salah; D: (4) benar, sisanya salah; E: Tidak ada yang benar Buat Grup dan Voting. 21 Ringkasan AVR 8-bit mikroprosesor Sederhana: struktur dan instruksi mesin 32 Register: R0.. R31 Menganut konsep mesin load & store Register: bagian blok memori kecil prosesor untuk manipulasi data/instruksi Menyimpan data operand: analogi variabel HLL AVR: lebar register 8 bit, dikenal 3 pasangan register teratas: X, Y, Z (bertindak sebagai pointer) 22 11