Ilustrasi kinerja CPU.

Slides:



Advertisements
Presentasi serupa
erna kumalasari nurnawati
Advertisements

ASSEMBLER PERTEMUAN KE-1
Frekuensi Quartz Crystal atau Ceramic Resonator (kedua istilah ini disebut Osilator) yang dapat digunakan berkisar antara 0 Hz hingga 24 MHz, bahkan.
BAB IV MODE PENGALAMATAN
Arsitektur Komputer “Instruksi Set Arsitektur”
Chapter 20 Pembentukan Kode.
Kode MK : TI Revisi Terakhir : Sesi 8 Tim Jurusan Mode Pengalamatan dan Set Instruksi.
Microprocessor oleh Denda Dewatama.
ARSITEKTUR SET INSTRUKSI
BAB IV Teknik Pemrograman
Organisasi dan Arsitektur Komputer
Sistem Mikroprosesor SMK NEGERI 29 JAKARTA.
Central Processing Unit
ARSITEKTUR SET INSTRUKSI
SET INSTRUKSI.
EE-2623 Mikroprosesor & Antarmuka
Bahasa Mesin dan Assembly
Pertemuan 4 (Set Instruksi ARM)
Mikrokontroler Materi 2
Tugas XTKJ 2 Ahmad Marzuki (02) X TKJ 2.
Chip Mikroprosesor 8086 Mikroprosesor ini sekeluarga dengan Mikroprosesor 8088, dan merupakan pengembangan dari Mikroprosesor Mikroprosesor ini merupakan.
Central Processing Unit
Abdillah, S.Si MIT Model Hipotesis SAP-1 Abdillah, S.Si MIT
Bahasa Assembly Mulyono.
Instruksi dalam CPU.
Sistem Input/output (I/O)
Struktur Sistem Komputer
Pengenalan Assembler.
Desain Prosesor Pertemuan ke 8.
ARSITEKTUR SET INSTRUKSI
Set Instruksi:.
Dasar pemrograman Mikroprosesor 8086
Sistem Mikroprosesor EruP© 2005/2008/2009/2010/2015 PENS.
BAB IV Teknik Pemrograman
SISTEM PENGOLAHAN DATA KOMPUTER
Komponen CPU (2) ALU,I/O Interconnection & Interupsi
Pertemuan 3 (Bahasa Assembly)
Pertemuan III SET Instruksi.
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
MODE PENGALAMATAN DAN SET INSTRUKSI
SAP-2.
PENGANTAR LOGIKA & TEKNIKPEMROGRAMAN
ARSITEKTUR SET INSTRUKSI
Mode Pengalamatan &Jenis-Jenis Instruksi
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT
Mikrokomputer Pendahuluan.
ARSITEKTUR KOMPUTER.
Pengenalan Assembler.
PENGANTAR MIKROKONTROLER
Set Instruksi:.
KOMPUTER SIMPLE AS POSSIBLE (SAP-1)
Kuliah 11 TKE 321 R. Arief Setyawan, ST. MT.
ASSEMBLER #1 MK. PEMROGRAMAN SISTEM
ASSEMBLER #2 MK. PEMROGRAMAN SISTEM
01.3 Hari-1 Sesi-3 Desain Algoritma.
SISTEM PENGOLAHAN DATA KOMPUTER
TEK 2524 Organisasi Komputer
ARSITEKTUR SET INSTRUKSI
PENGANTAR LOGIKA & TEKNIK PEMROGRAMAN
Pertemuan 4 Central Processing Unit
BAB V CENTRAL PROCESSING UNIT
Elektronika industri Smk n 5 surakarta wahyuningsih
KOMPONEN CPU(1) Register & Control Unit
ARSITEKTUR SET INSTRUKSI
Copyright © Wondershare Software -m.erdda habiby.SST Central Processing Unit.
Memori & Pemrograman MCS-51
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
ARSITEKTUR SET INSTRUKSI
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
PEMROGRAMAN MIKROPROSESOR DAN MIKROKONTROLER ICHSAN R, S.PD | ARSITEKTUR MIKROPROSESOR.
Transcript presentasi:

Ilustrasi kinerja CPU

Contoh Ilustrasi Kerja CPU Anggap, ada program yang tersimpan pada Memory Alamat Data 0000 3E 0001 8B 0002 D3 0003 83 0004 3E 0005 55 0006 D3 0007 80 0008 76 CPU Z80 Memory PPI 8255 Port A Port B Port C Data BUS Address BUS Control BUS RD – WR - CS RD – WR - CS VCC – CLOCK - RESET CPU akan membaca/menjalankan tiap data sesuai dengan yang telah ditentukan (oleh pembuat CPU)

Dasar Pemrograman Assembly Istilah dalam pemrograman Assembly Mode Pengalamatan Immediate, Register, Langsung, Tak Langsung, Indeks Pembagian Instruksi Transfer, Aritmatik dan Logic, Percabangan, Pemanggilan, Input-Output Contoh-contoh

Istilah dalam pemrograman Assembly Memory, I/O, port, alamat, data, register, instruksi, mnemonic, opcode, operand, komentar Kode mesin, bahasa assembly Assembler, Compiler Style penulisan Program  Assembly, Kode mesin, Listing program

Register Berada dalam CPU (Mikroprosesor) Digunakan untuk menyimpan data selama proses/program/sub program berjalan Bersifat sementara Umumnya selama dalam sub program Cepat Memerlukan kode instruksi yang pendek Memiliki/menggunakan nama tertentu

Ilustrasi Beberapa Perintah LD A,B  78 (M1, 4T) LD A,20H  3E 20 (M1-M2, 7T) LD A,(8000H)  3A 00 80 (M1-M2-M3-M4, 13T) LD A,(HL)  7E (M1-M2, 7T) Pemrograman dalam bentuk asembly Oleh asembler atau orang, diterjemahkan dalam bentuk kode mesin Oleh CPU akan dijalankan dalam cara-cara tertentu (contoh, yang berkaitan dengan diagram pewaktuan)

Memory Berada di luar CPU, harus ada CPU hanya dapat memproses dari memory Digunakan untuk menyimpan program dan data Bersifat permanen atau sementara Jumlah atau ukurannya besar/banyak, jauh lebih banyak dari register Lebih lambat dari CPU atau register Memerlukan kode instruksi yang lebih panjang Memiliki/menggunakan data/alamat memory

I/O Berada di luar CPU Harus ada kalau ingin berhubungan antara sistem mikro dengan dunia luar Tidak bersifat menyimpan data, hanya melewatkan data Khusus untuk port output, terkadang dilengkapi dengan fungsi latch Kapasitas terbatas (lebih kecil dari memory) Lebih lambat dari CPU, register, memory Menggunakan alamat port

Alamat Register dinyatakan dengan nama, sedangkan memory dan port dinyatakan dengan alamat Alamat menyatakan Posisi dari data yang disimpan pada memory Saluran dari port dimana data akan disalurkan Untuk z80 Alamat memory berkisar 0000H s/d FFFFH Alamat port berkisar 00H s/d FFH Umumnya, memori yang digunakan dari jenis RAM dan ROM, sehingga rentang alamat tersebut harus dibagi untuk RAM dan ROM

Port Istilah yang digunakan untuk menyatakan saluran dari peralatan input/output yang digunakan Anggap, kalau peralatan I/O merupakan penghubung suatu area dengan dunia luar, maka port dapat dianggap sebagai pintu atau gerbang-nya Akan ada beberapa port untuk terhubung dengan dunia luar, dan dinyatakan dalam alamat port atau nomor port atau nama port Contoh Port A dari PPI 8255 PPI adalah nama salah satu perangkat I/O yang memiliki 4 port dengan nama A, B, C, dan CR (Control Register) CR bukan pintu atau gerbang yang sesungguhnya. Hanya tempat untuk menyimpan data konfigurasi

Port (Lanjutan) Dalam Z80, alamat atau nomor port hanya dibatasi sebanyak 256 port Alamat/Nomor port 00H sampai dengan FFH Mengingat, perangkat I/O yang kemungkinan akan digunakan dalam sistem mikroprosesor cukup banyak, maka rentang alamat tersebut akan dibagi-bagi untuk sesiap perangkat I/O

Data Menyatakan sesuatu yang disimpan/diproses/disalurkan, baik berupa suatu nilai atau kode program Dapat disimpan di register atau memory Terkadang port output juga bisa menyimpan Dalam z80, data yang diproses dalam bentuk satuan 8 bit (1 byte) dengan nilai 0 s/d 255 Ada proses/penyimpanan yang melibatkan data 16 bit

Kode Mesin Program yang umumnya ditulis dalam bentuk kode Hexa Merupakan kode yang dimengerti oleh mesin (CPU) Terdiri dari alamat dan kode instruksi (data-data berupa program yang tersimpan di memory) Contoh : 0100 3E 20 0102 DD 21 8000 Alamat Kode Mesin

Opcode Operation code, kode operasi, kode-kode tertentu yang dibuat Menyatakan satu perintah dasar, misalkan isi register A Digunakan dalam pemrograman mesin atau assembly Contoh : LD A  Load (isi, transfer, simpan, ambil) register A ADD A,B  Jumlahkan, A dengan B SUB A,B  Kurangkan, A dengan B

Operand Sesuatu yang perlukan sebagai tambahan pada suatu opcode agar membentuk satu perintah lengkap Berupa data atau alamat memory atau I/O Contoh : LD A, 20H  data 20H sebagai operand OUT (80H),A  alamat 80H sebagai operand LD A, (2000H)  alamat 2000H sebagai operand

Contoh LD A,20H 3E 20 LD BC,2000H 01 00 20 LD (BC),A 02 OUT (80H),A D3 80 Operand Opcode (Operation Code) Operand Opcode Assembly Kode Mesin

Sekilas Tentang Opcode CPU Z80 memiliki lebar data 8 bit, sehingga memiliki kemungkinan data antara 00H sampai dengan FFH Perintah-perintah yang akan dikerjakan CPU ditulis dalam bentuk angka-angka (kode angka) untuk mewakili 1 perintah Total perintah yang bisa dikodekan sebanyak 256 kode Ada yang menggunakan hampir semua, atau bahkan lebih Ada yang hanya menggunakan sedikit sekali Kode-kode ini disebut dengan kode operasi, operation code (Opcode) Data tambahan selain opcode disebut sebagai operand (membentuk satu kesatuan perintah/instruksi)

Arah Operasi LD A,B ; A  B, atau A = B ADD A,B ; A  A + B, A = A + B Salin data dari B ke A ADD A,B ; A  A + B, A = A + B Jumlahkan A dengan B dan simpan di A

Catatan Operand Ada dua jenis cara menuliskan operand Data langsung (8 bit atau 16 bit atau label) 80H, 2000H, CW, DataMotor Catatan: Data-data tersebut bisa jadi nanti dalam proses program dianggap sebagai alamat Alamat langsung (alamat 8 bit, 16 bit atau label) (80H), (8000H), (2000H), (Buffer) Data LD A,20H LD A,(8000H) LD BC,9000H LD A,(BC) Alamat Data 9000H pada BC akan digunakan sebagai alamat

Catatan Operand (Lanjutan) Lebar data operand harus sesuai dengan lebar data register yang digunakan Lebar data yang sedang dioperasikan (dimasukkan, diambil, dihitung atau lainnya), harus sesuai dengan lebar data register yang digunakan LD A,20H operand 8 bit dimasukkan ke register 8 bit LD BC,2000H operan 16 bit dimasukkan ke register 16 bit LD A,(8000H) operand 16 bit sebagai alamat (alamat 16 bit) data dari memori 8 bit dimasukkan ke reg. 8 bit LD A,B data dari reg. 8 bit dimasukkan ke reg. 8 bit LD BC,DE data dari reg. 16 bit dimasukkan ke reg. 16 bit

Mana yang Salah ? LD A,C LD A,HL LD A,(DE) LD BC,0 LD DE,8000H LD HL,(8000H) LD A,(8000H) LD A,(20H)

Mnemonic Menyatakan satu perintah tunggal, termasuk format data atau sesuatu yang dioperasikan oleh data tersebut Terdiri dari opcode dan operand (data, register, memory atau port) Contoh : LD r, n ADD A, r LD r, r’ r  register 8 bit n  data 8 bit nn  data 16 bit d  displacement (pergeseran 8 bit)

Instruksi Menyatakan satu perintah/program tunggal Terdiri dari Opcode dan Operand Contoh : LD A,30H  Masukkan 30H ke A LD B,A  Masukkan/salin A ke B IN A,(81H)  Baca port 81H ke A

Label Suatu tulisan yang digunakan untuk menunjukkan posisi dari suatu instruksi Digunakan untuk menggantikan alamat pada penulisan bahasa assembly Terkadang label dapat digunakan sebagai data Nilai sesungguhnya dari label tidak dapat diketahui sebelum semua program selesai dan diterjemahkan ke dalam kode mesin Ditandai dengan titik dua setelah nama label

Contoh Label Start: LD B,20H LD HL,Tabel JP (HL) … Tabel: LD A,10H ADD A,B JP Start

Komentar Suatu tulisan selain instruksi yang digunakan untuk menjelaskan program Seharusnya selalu ada, mengingat pemrograman assembly lebih sulit untuk dibaca Sebagai dokumentasi Harus diawali dengan titik koma (;) Contoh : LD A,32 ; Siapkan data SPASI ke Reg. A CALL LCD ; Tampilkan ke LCD

Bahasa Assembly Artinya bahasa yang dirakit/dibuat untuk menggantikan kode mesin yang sulit untuk dibaca/dihafalkan/dimengerti/ditulis Terdiri dari Label, Opcode, Operand dan komentar Contoh : Mulai: LD SP,0 ; Posisi awal STACK LD B,0 ; Tunggu sesaat DJNZ $ ; dengan cara loop 256 x

Assembler Suatu program yang digunakan untuk menterjemahkan, atau lebih tepat mengubah dari bahasa assembly ke dalam kode mesin Jika suatu komputer dengan prosesor tertentu digunakan untuk menterjemahkan kode dari prosesor lain, maka assembler tersebut dinamakan “Cross Assembler”

Prinsip Kerja Assembler Secara umum, proses assembly dibagi dua tahap Pass 1 Mencatat simbol-simbol, pengenal (identifier), label dan lainnya Mengurutkan kode mesin untuk mengetahui alokasi alamat atau label-label yang ada Pass 2 Penterjemahan instruksi demi instruksi program assembly berdasarkan mnemonic dan identifier yang digunakan

Compiler Suatu program yang digunakan untuk menterjemahkan, menyusun, menggabungkan dari bahasa tingkat tinggi/menengah ke dalam kode mesin Jika suatu komputer dengan prosesor tertentu digunakan untuk menterjemahkan kode dari prosesor lain, maka assembler tersebut dinamakan “Cross Compiler”

Style penulisan Program Kode mesin ; Ini contoh program dalam kode mesin 0000 3E 30 ; Masukkan 30H ke Reg. A 0002 06 00 ; Masukkan 0H ke Reg. B 0004 0E 20 ; Masukkan 20H ke Reg. C Assembly ; ini contoh program dalam bahasa assembly Start:LD A,30H ; Masukkan 30H ke Reg. A LD B,0 ; Masukkan 0H ke Reg. B LD C,32 ; Masukkan 20H ke Reg. C Listing program

Contoh Format Listing Program Alamat Data/Kode Label Opc Operand Komentar ; Ini contoh suatu program ; yang ditulis dalam asembly ; dan di-assembly dengan assembler ; DiBuat Oleh : EruP ; Tanggal : 9 September 2015 ; Keluaran : 1.00 0000 Start: 0000 3E 30 LD A,30H ; Mulai 0002 06 00 LD B,0 0004 0E 20 LD C,32 0006 D3 80 OUT (80H),A 0008 DB 81 IN A,(81H) 000A 31 0000 LD SP,0000H 000D … …

Assembler Directive Perintah-perintah tambahan yang disertakan dalam program assembly, tetapi bukan bagian dari perintah assembly Digunakan untuk memberitahukan assembler mengenai apa yang harus dilakukan Sangat membantu dalam pembuatan program assembly Bentuk assembler directive tergantung dari assebler yang digunakan

Contoh Assembler Directive ORG  Origin Penentuan alamat program EQU  Equal Membuat suatu identifier, atau konstanta DEFB  Define Byte Meletakkan data Byte ke dalam program DEFM  Define Memory Meletakkan beberapa data Byte dalam program DEFS  Define Storage Memesan tempat kosong dalam memory

Contoh Program Simpan EQU 9000H ; Simpan = 9000H Data EQU 20H ; Data = 20H ORG 0H ; Alamat 0000H Start: LD A,Data LD (Simpan),A ; [9000H]  20H LD A,(Nilai) ; A  [Nilai] LD (Buffer),A ; [Buffer]  A HALT ; Nilai: DEFB 30H ; [Nilai]  30H ORG 8000H ; Alamat 8000H Buffer: DEFS (2) ; [Buffer]  2 Byte

Diagram Blok Mikrokontroler

Mikrokontroler Arduino