Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehHartono Sudirman Telah diubah "7 tahun yang lalu
1
MODE PENGALAMATAN DAN SET INSTRUKSI
2
Alamat Memori Sel memori dapat menyimpan informasi sebesar 1 byte (8 bit) Tiap sel memori diberi suatu alamat (address) dimulai dari 0 sampai dengan jumlah dari sel memori dikurangi 1
3
Alamat Memori Contoh : Pada mikroprosesor Intel 8086/8088 memori mencapai 1MB 1KB = 1024 byte 1MB = 1024 KB 1MB = 1024x1024 = byte (10) = FFFFF(16) alamat terendah sampai alamat tertinggi FFFFF
4
Alamat Memori Kemampuan hanya sebesar 16bit
Menampung alamat memori sebanyak = byte (64KB), padahal alamat memori yang dipunyai sebesar byte Register yang ada register 16bit – hanya dapat menampung 4 digit hexadesimal – dari 0000 sampai FFFF Kurang 4 bit untuk menampung alamat memori Harus dilakukan penomoran dengan 2 register
5
Alamat Memori Sebuah register 16 bit sebelah kiri (register segment)
Sebuah register 16 bit dari kanan (register offset) Tiap segment dapat menjangkau 64KB
6
Alamat Memori Contoh :
7
Alamat Memori Contoh :
8
Tabel Alamat Fisik Alamat fisik hexadesimal Alamat dalam
Segment:Offset Alamat fisik desimal
9
Tabel Alamat Fisik
10
Komponen Komputer
11
Register Memory Buffer Register (MBR), menyimpan isi dari alamat instruksi Memory Address Register (MAR), menyimpan alamat instruksi Instruction Register (IR), berisi instruksi kode operasi yang akan dieksekusi. Program Counter (PC), berisi alamat pasangan instruksi berikutnya yang akan diambil dari memori. Accumulator (AC/ACC) digunakan untuk penyimpanan sementara operand dan hasil ALU.
12
Mode Pengalamatan Bagaimana cara menunjuk sebuah alamat di mana operand akan diambil Mode pengalamatan diterapkan pada set instruksi, dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat
13
Contoh Proses Eksekusi Program
REGISTER CPU Program counter (PC) = alamat instruksi Instruction register (IR) = instruksi yang dieksekusi Accumulator(AC/ACC) = penyimpanan sementara
14
Contoh Proses Eksekusi Program
CONTOH OPCODE 0001(2) = 1(16) = Load AC dari memori 0010(2) = 2(16) = Simpan AC pada memori 0101(2) = 5(16) = tambahkan pada AC dari memori
15
Contoh Proses Eksekusi Program
16
Contoh Proses Eksekusi Program
PC berisi 300, alamat dari instruksi pertama (1940 – 1 adalah opcode dalam hexadesimal, 940 adalah alamat memori dimana data akan diambil). Instruksi 1940 di-load ke dalam IR dan PC bertambah 1. 1940 di dalam IR mengindikasikan untuk load AC, jadi isi alamat memori 940 yaitu 0003 di-load ke AC Instruksi selanjutnya 5941, disimpan di IR, PC bertambah 1 Instruksi 5941, berarti tambahkan ke AC (isi alamat 941 adalah 0002, tambahkan ke AC yang sudah berisi 0003 menjadi 0005, simpan di AC) Instruksi 2941 di simpan di IR Instruksi 2941, artinya simpan ke memori (isi AC 0005, disimpan ke memori 941), PC bertambah 1
17
Jenis Mode Pengalamatan
Secara garis besar ada 3 jenis : Direct Alamat operand ditunjuk secara langsung pada instruksi Contoh : instruksi LOAD, cara penulisan : LOAD Y Indirect Alamat operand ditunjukkan secara tidak langsung oleh data yang terkandung pada alamat yang ditunjuk Cara penulisan : LOAD (Y) Immediate Alamat operand tidak berisi sebuah alamat, tetapi langsung operand yang akan diproses Cara penulisan : LOAD #9
18
Penerapan Mode Pengalamatan
Misalkan kita memiliki contoh register dan memory sebagai berikut (bagian kiri alamat, kanan datanya): Register A B C 50 D 51 … Y Z AC IR PC Memory 70 1 10 2 12 3 43 … 50 51 7 52 100 5 101 6 102 15
19
Direct Untuk pemanggilan alamat operand berupa register disebut Register Addressing Contoh : LOAD C, akan menghasilkan ACC ← 50, karena alamat register C berisi 50 Untuk pemanggilan alamat operand berupa memory disebut Direct Addressing Contoh : LOAD 3, akan menghasilkan ACC ← 43, karena alamat memory 3 berisi bilangan 43
20
Indirect Untuk pemanggilan alamat operand berupa register namanya Register Indirect Addressing Contoh : LOAD (D), akan menghasilkan ACC ← 7, karena alamat register D berisi alamat memory 51, sedangkan alamat memory 51 berisi bilangan 7 Untuk pemanggilan alamat operand berupa memory namanya Indirect Addressing Contoh : LOAD (50), akan menghasilkan ACC ← 43, karena alamat memory 50 berisi alamat memory 3, sedangkan alamat memory 3 berisi bilangan 43
21
Displacement / Penggantian
Merupakan alamat relatif, artinya alamat operand yang dituju berjarak n alamat dari sebuah alamat yang diekspresikan secara indirect Contoh : LOAD (C) + 50 akan menghasilkan ACC ← 5, karena alamat register C berisi alamat 50, sedangkan alamat yang dituju berjarak +50 darinya = 100. Alamat 100 berisi bilangan 5
22
Immediate Immediate tidak membutuhkan alamat memory/register, karena tempat untuk alamat operand diisi langsung oleh bilangan operand-nya Contoh 1 : LOAD #9, akan menghasilkan ACC ← 9, nilai di belakang tanda # dianggap sebagai operand-nya Contoh 2 : ADD Y, #2, #3, akan menghasilkan register Y ← 5, kedua operand adalah 2 dan 3, dengan demikian 2+3 = 5
23
Contoh Soal Berapakah isi register Y?
Gunakan kondisi register dan memori yang ada! LOAD (C) ADD 3 SUB (0) MPY (C) + 50 DIV #9 STOR Y
24
Contoh Soal Register Y berisi 20 Berapakah isi register Y?
Gunakan kondisi register dan memori yang ada! INSTRUKSI LOAD (C) ADD 3 SUB (0) MPY (C) + 50 DIV #9 STOR Y ALGORITMIK AC ← 3 AC ← AC + 43 AC ← AC - 10 AC ← AC X 5 AC ← AC/9 Y ← 20 ISI ACC 3 46 36 180 20 Register Y berisi 20
25
Tipe-Tipe Instruksi Pada bahasa pemrograman tingkat tinggi, misal C, contoh : x = x +y; Statemen tersebut memberi instruksi kepada komputer untuk menambah nilai yang tersimpan di x dengan nilai yang tersimpan di y dan meletakkan hasilnya di x
26
Tipe-Tipe Instruksi Pada bahasa mesin, operasi tersebut membutuhkan tiga instruksi (misalnya variabel x dan y terletak di lokasi 513 dan 514) : Load register berisi lokasi memori 513 Tambahkan isi lokasi memori 514 ke register Simpan isi register di lokasi memori 513 Bahasa pemrograman tingkat tinggi mengekspresikan operasi dalam bentuk aljabar ringkas, menggunakan variabel Bahasa mesin mengekspresikan operasi dalam bentuk dasar melibatkan perpindahan data dari dan ke register
27
Tipe-Tipe Instruksi Komputer harus memiliki suatu set instruksi supaya user dapat memformulasikan pemrosesan data Program yang ditulis dalam bahasa pemrograman tingkat tinggi harus diterjemahkan ke bahasa mesin untuk dijalankan/dieksekusi Jadi, set instruksi harus mencukupi untuk menjalankan instruksi dari bahasa tingkat tinggi
28
Tipe-Tipe Instruksi Instruksi Aritmatika dan Logika (Arithmetic and Logic Instruction) Data Processing, contoh : ADD, SUB, MPY, DIV, OR, AND Instruksi Memory (Memory Instruction) Data Storage, contoh : LOAD, STOR Instruksi I/O (I/O Instruction) Data Movement Instruksi Test dan Branch (Test And Brach Instruction) Control
29
Arithmetic Instruction
Menyediakan kemampuan komputasional untuk pemrosesan data numerik
30
Logic (Boolean) Instruction
Beroperasi pada level bit Menyediakan kemampuan untuk memproses berbagai macam tipe data
31
Memory Instruction Perpindahan data antara memori dan register
32
I/O Instruction Transfer program dan data ke memori dan hasil perhitungan ke user
33
Test And Branch Instruction
Digunakan untuk menguji nilai data atau status dari perhitungan Digunakan untuk percabangan pada set instruksi yang lain tergantung dari keputusan yang dibuat
34
Contoh Set Instruksi dan Operasinya
35
Contoh Set Instruksi dan Operasinya
36
Contoh Set Instruksi dan Operasinya
37
Aksi Yang Dilakukan CPU Terhadap Berbagai Operasi
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.