Anda di halaman 1dari 250

Organisasi & Arsitektur

Komputer

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Biodata Personal
▪ Abdul Syukur (Syukur)
▪ Teluk Pelita (Kab. Pelalawan), 7 Mei 1984
▪ Jl. Air Dingin Perum. Puri Air Dingin Blok A3, Pekanbaru
▪ E-mail : abdulsyukur@eng.uir.ac.id
▪ FB : abdul.syukur.710
▪ Blog : http://skurlinux.blogspot.com
▪ Phone : 085374051884
Pendidikan
▪ SD Negeri 001 Tg. Batu Kab. Karimun - Kepri (1997)
▪ MTs Negeri Tg. Batu Kab. Karimun - Kepri (2000)
▪ SMU Negeri 1 Tg. Batu Kab. Karimun - Kepri (2003/IPS)
▪ S1 STMIK-AMIK Riau
▪ Teknik Informatika
▪ 22 Oktober 2003 - 28 Februari 2008
▪ S2 Universitas Putra Indonesia “YPTK” Padang
▪ Magister Teknologi Informasi
▪ 7 Mei 2011 - 24 September 2012
Jabatan Struktural
▪ 1 September 2015 – 31 Oktober 2017
Kepala Biro Administrasi Informasi dan Teknologi
(BAIT) Universitas Islam Riau
▪ 1 November 2017 – Sekarang
Kepala Divisi Biro Sistem Informasi dan Komunikasi
(SIMFOKOM) Universitas Islam Riau
Sertifikasi Internasional (MTCNA)
Sertifikasi Internasional (MTCRE)
Sertifikasi Internasional (MikroTik
Academy Trainer)
Penelitian
▪ Judul Skripsi
Implementasi Virtual Private Network (VPN) Pada
Kampus STMIK-AMIK Riau Berbasis Fedora Core.
Pembimbing I : Drs. Suprasman, MM
Pembimbing II : Torkis Nasution, S.Kom, M.Kom
▪ Judul Tesis
Parallel Processing Untuk Meningkatkan Kinerja Server
e-Learning Menggunakan Messege Passing Interface
(MPI) Studi Kasus di SMA Negeri 1 Pekanbaru.
Pembimbing I : Dr. Rusdianto Roestam
Pembimbing II : Dr. H. Sarjon Defit, S.Kom, M.Sc
Jurnal
▪ Jurnal (Juli 2012)
Parallel Processing Untuk Meningkatkan Kinerja Server
e-Learning Menggunakan Messege Passing Interface
(MPI) Studi Kasus di SMA Negeri 1 Pekanbaru (Jurnal
Teknologi Informasi dan Pendidikan, No. 2 Volume 6,
September 2013, Fakultas Teknik Universitas Negeri
Padang, Hal. 8 - 18, ISSN 2086 - 4981)
Prosiding
▪ Prosiding (29 Oktober 2014)
Implementasi Learning System (LMS) Berbasis Open
Source Untuk Meningkatkan Kualitas Pembelajaran Siswa
(Prosiding Seminar Nasional Penelitian dan PKM: Sains,
Teknologi, dan Ilmu Kesehatan, Universitas Islam
Bandung, Volume 4 No. 1 Th 2014, Hal. 389 - 396, ISSN
2089 - 3582)
Prosiding (2)
▪ Prosiding (28 Maret 2015)
Perancangan dan Implementasi Internet Protocol version
6 (IPv6) Pada Jaringan Komputer SMA Negeri 1
Pekanbaru (Prosiding Seminar Nasional Teknologi
Informasi dan Komunikasi (SENTIKA) 2015, Universitas
Atma Jaya Yogyakarta, Hal. 177 - 184, ISSN 2089 - 9815).
Prosiding (3)
▪ Prosiding (24 Oktober 2015)
Pemanfaatan Teknologi Augmented Reality Sebagai Salah
Satu Media Promosi Program Studi dan Fakultas di
Universitas Islam Riau (Prosiding Seminar Nasional
Teknologi Informasi dan Multimedia (SNASTIA) 2015,
Universitas Surabaya, Hal. 41 - 50, ISSN 1979 - 3960).
Prosiding (4)
▪ Prosiding (20 - 24 November 2016)
Parallel Processing for Improve Performance of e-
Learning Server Using Message Passing Interface
(Proceeding of Indonesia Japan Joint Scientific
Symposium - IJJSS) 2016, Chiba University, Japan, Hal. 25,
ISSN-987-4-901404-15-0).
Prosiding (5)
▪ Prosiding (4 Februari 2017)
Game Interaksi Pengenalan Huruf dan Perangkaian Kata
(Prosiding Seminar Nasional Teknologi Informasi dan
Multimedia (SEMNASTEKNOMEDIA) 2017, STMIK
AMIKOM Yogyakarta, ISSN 2302 - 3805).
Pengalaman Kerja
▪ SMK Negeri 1 Pangkalan Kerinci
▪ 3 Agustus 2007 - 23 Maret 2009
▪ Teknik Komputer & Jaringan (TKJ)
▪ SMK Makmur Pangkalan Kerinci
▪ Juli 2008 - Oktober 2008
▪ Teknik Komputer & Jaringan (TKJ)
▪ SMA Negeri 1 Pekanbaru
▪ 23 Maret 2009 - Februari 2015
▪ Teknologi Informasi & Komunikasi (TIK)
▪ Admin Pusat Sumber Belajar (PSB)
Pengalaman Kerja (2)
▪ SMK Hasanah Pekanbaru
▪ Juli 2009 - Agustus 2014
▪ Teknik Komputer & Jaringan (TKJ)
▪ SMK Multi Mekanik Masmur Pekanbaru
▪ November 2009 - Juni 2010
▪ Teknik Komputer & Jaringan (TKJ)
Pengalaman Kerja (3)
▪ Universitas Islam Riau – Pekanbaru
▪ Agustus 2010 - Sekarang
▪ Organisasi & Arsitektur Komputer
▪ Keamanan Komputer & Jaringan
▪ Grafika Komputer
▪ Grafika 3D
▪ Animasi
▪ Manajemen Kualitas Perangkat Lunak
▪ Siklus Hidup Perangkat Lunak
▪ Pemrograman Web 1
Pengalaman Kerja (4)
▪ STMIK-AMIK Riau - Pekanbaru
▪ 19 Maret 2011 - Agustus 2013
▪ Lingkungan Kerja Jaringan
▪ Teknologi Open Source
▪ Teknologi Open Source Lanjutan
Organisasi & Arsitektur
Komputer

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Kontrak Perkuliahan
Mata Kuliah : Organisasi & Arsitektur
Komputer
Kode : OAK TI2316
Bobot : 3 SKS
Kelompok Mata Kuliah : Matakuliah Keilmuan dan
Keterampilan
Tahun Akademik : 2018/2019
Dosen Pengampu : Abdul Syukur
Semester / Kelas : II (A,B,C,D,E,F,G,H)
Ruang Perkuliahan : Fakultas Teknik
Deskripsi Mata Kuliah
▪ Zaman sekarang adalah zaman dimana peran komputer
sangat penting dan memasuki hampir semua bidang
kehidupan manusia.
▪ Fungsi komputer sangat beragam, mulai dari pengolahan
data, penyimpanan data, pengambilan keputusan,
perencanaan, sampai pada komunikasi.
Manfaat Mata Kuliah
▪ Pemahaman terhadap organisasi dan arsitektur
komputer akan sangat membantu setiap orang untuk
menyiapkan perangkat hardware yang sesuai untuk
sebuah sistem berbasis komputer, yang bertugas untuk
menyelesaikan sebuah tugas atau memecahkan sebuah
masalah.
Tujuan Pembelajaran
▪ Setelah mengikuti kuliah ini mahasiswa dapat
menjelaskan struktur komputer dan fungsi dari tiap
komponen pada struktur tersebut serta bagaimana
seluruh komponen pada struktur itu membentuk
kesatuan sistem komputer untuk menjalankan fungsi-
fungsi komputer.
Strategi Perkuliahan
▪ Metode perkuliahan akan lebih didominasi oleh metode
ceramah dan diskusi.
▪ Dalam topik-topik yang berkaitan dengan perkembangan
sistem komputer terkini akan dilakukan dengan metode
diskusi dan presentasi makalah.
▪ Kuis berbentuk tes tertulis.
▪ UTS dan UAS berbentuk tes tertulis.
Referensi
Buku acuan utama untuk mata kuliah ini :
1. Computer Organization and Architecture : Prentice Hall,
1996. by William Stalling.
2. Computer Organization and Architecture, Jilid 1 :
Prentice Hall, 2003. by William Stalling.
3. Computer Organization and Architecture, Jilid 2 :
Prentice Hall, 2003. by William Stalling.
4. Organisasi & Arsitektur Komputer : Informatika, 2008.
by Maman Abdurohman, ST, MT.
Tugas & Kuis
Tugas
▪ Tugas mingguan akan diberikan satu minggu sekali dan
dikumpul pada minggu berikutnya.
▪ Tugas mingguan dikumpulkan secara online menggunakan e-
learning dengan alamat http://classroom.google.com.
▪ Mahasiswa diwajibkan memiliki e-mail student UIR. Contoh:
alfatihrafifsyukur@student.uir.ac.id.
▪ Pendaftaran e-mail student UIR melalui alamat
https://sikad.uir.ac.id.
Kuis
▪ Kuis akan diadakan sekali setiap 4 kali pertemuan terjadwal.
Kode Google Classroom
▪ Kelas 2A : 8op4kvg
▪ Kelas 2B : zja4da
▪ Kelas 2C : 3ner7t
▪ Kelas 2D : 8wh7xz
▪ Kelas 2E : zygedw
▪ Kelas 2F : bqn0b1
▪ Kelas 2G : 66boe4k
▪ Kelas 2H : g4qlao
Klasifikasi Nilai NILAI AKHIR NILAI HURUF
>= 90 A
<= 89 A-
<= 80,33 B+
<= 70 B
<= 60,67 B-
<= 50,33 C+
<= 40 C
<= 30,67 C-
<= 20,33 D+
<= 10 D
<= 0,67 D-
0 E
Kriteria Penilaian
▪ Dalam penentuan nilai akhir akan dilakukan pembobotan
sebagai berikut:
Absen 10 %
Tugas 20 %
Kuis 15 %
UTS 25 %
UAS 30 %

16x Tatap Muka


11x Tatap Muka = Nilai “D”
Tata Tertib Perkuliahan
Sanksi pelanggaran akan disepakati bersama.
▪ Hadir tepat pada waktunya. Toleransi keterlambatan 15
menit dari waktu terjadwal.
▪ Menandatangani daftar hadir pada setiap sesi
perkuliahan.
▪ Berpakaian rapi dan sopan. NO sandal & kaos oblong.
▪ Menjaga kebersihan dan kenyamanan ruang perkuliahan.
Satuan Acara Perkuliahan (SAP)
PERTEMUAN TANGGAL POKOK BAHASAN BACAAN / BAB

1&2 10/02/2014 Kontrak Perkuliahan ---


Simple As Possible (SAP) Pustaka 4 / Bab 5

Pengantar Organisasi Pustaka 1 / Bab 1,


Komputer Pustaka 2 / Bab 1

Evolusi dan Kinerja Pustaka 1 / Bab 2,


Komputer Pustaka 2 / Bab 2
Sistem Bilangan Pustaka 1 / Lampiran A,
Pustaka 2 / Lampiran B,
Pustaka 3 / Lampiran B

Memori Pustaka 1 / Bab 4


Pustaka 2 / Bab 5, 6
Sistem I/O Pustaka 1 / Bab 6,
Pustaka 2 / Bab 7
Sistem Bus Pustaka 1 / Bab 3
Pengantar
Organisasi Komputer

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Tujuan
1. Menjelaskan tentang organisasi komputer.
2. Menjelaskan perbedaan utama organisasi komputer
dan arsitektur komputer.
3. Menjelaskan struktur dan fungsi utama komputer.
4. Menjelaskan konsep dasar operasi komputer.
Arsitektur & Organisasi
Arsitektur Komputer
▪ Atribut-atribut sistem komputer yang terkait dengan
seorang programmer.
▪ Contoh : set instruksi, aritmatika yang digunakan, teknik
pengalamatan, mekanisme I/O.
Organisasi Komputer
▪ Bagian yang terkait dengan unit-unit operasional.
▪ Contoh : teknologi hardware, perangkat antarmuka,
teknologi memori, dan sinyal-sinyal kontrol.
Arsitektur & Organisasi (2)
▪ Semua keluarga Intel x86 mempunyai arsitektur dasar
yang sama.
▪ Sistem IBM System/Keluarga 370 mempunyai arsitektur
dasar yang sama.
▪ Arsitektur bertahan lama, organisasi menyesuaikan
perkembangan teknologi.
▪ Organisasi antar versi akan memiliki perbedaan.
Evolusi dan Kinerja Komputer
▪ COMPUTER (Common Oriented Machine Particulary
United and used under Technical and Educational
Research)
▪ ENIAC (Electronic Numerical Integrator And Computer)
▪ Dikerjakan oleh Eckert and Mauchly dari University of
Pennsylvania
▪ Pembuatan jarak dan tabel lintasan peluru kendali
senjata baru
▪ Mulai dibuat 1943 dan Selesai 1946
▪ Dipakai sampai 1955
ENIAC - Details
▪ Menggunakan sistem Desimal (bukan Binary)
▪ Memiliki 20 Accumulator untuk 10 digits
▪ Diprogram secara manual melalui Sakelar
▪ Berisi 18.000 Vacuum Tubes
▪ Berat 30 Tons
▪ Luas 15.000 Square Feet
▪ Daya 140 kW
▪ Kecepatan : 5.000 penambahan per detik
ENIAC (1943)
A general
view of the
ENIAC, the
world's first
all electronic
numerical
integrator
and
computer.
From IBM Archives.
Von Neumann
▪ Konsep : Stored Program Computer
▪ Main Memory : Menyimpan program dan data
▪ ALU : Mengerjakan operasi data biner
▪ Control Unit : Interpretasi instruksi dari memory dan
meng-eksekusi
▪ Peralatan Input/Output dikendailkan oleh Control Unit
Von Neumann
▪ Ahli Matematika : Konsultan pembuatan ENIAC
▪ 1945 memperbaiki kelemahan ENIAC : EDVAC
▪ EDVAC (Electronic Discrete Variable Computer)
▪ Konsep : Stored Program Computer
▪ 1946 dipublikasikan dan Selesai dibuat 1952
▪ Dikenal : Komputer IAS (Computer of Institute for
Advanced Studies)
John Von Neumann
Struktur Mesin Von Neumann

Arithmetic and Logic Unit

Input
Output Main
Equipment Memory

Program Control Unit


IAS - Details
▪ Kapasitas memori : 1000 x 40 bit words
▪ Menggunakan sistem bilangan Biner
▪ Panjang instruksi 20 bit (1 word = 2 instruksi)
▪ Register-register dalam CPU
▪ MBR (Memory Buffer Register)
▪ MAR (Memory Address Register)
▪ IR (Instruction Register)
▪ IBR (Instruction Buffer Register)
▪ PC (Program Counter)
▪ AC (Accumulator)
▪ MQ (Multiplier Quotient)
Struktur Detail IAS
Central Processing Unit
Arithmetic and Logic Unit

Accumulator MQ

Arithmetic & Logic Circuits

Input MBR
Output Instructions
& Data Main
Equipment
Program Control Unit Memory

IBR PC
MAR
IR Control
Circuits
Address
Unit Fungsional Dasar Komputer

Masukan Arimetika
&
Logika
Memori
Keluaran Kontrol
Fungsi Komputer
1. Fungsi Operasi Pemindahan Data
2. Fungsi Operasi Penyimpanan Data
3. Fungsi Operasi Pengolahan Data
4. Fungsi Operasi Kontrol
Gambar Fungsi Komputer

Fasilitas
Penyimpanan
Data

Peralatan Mekanisme
Mekanisme
Pemindahan Pengontrolan
Data

Fasilitas
Pengolahan
Data
Operasi (1)
▪ Fungsi Operasi Pemindahan Data.
– Contoh : Keyboard ke layar

Fasilitas
Penyimpanan
Data

Peralatan
Mekanisme
Pemindahan
Pengontrolan
Data

Fasilitas
Pengolahan
Data
Operasi (2)
▪ Fungsi Operasi Penyimpanan Data.
– Contoh : Internet download to disk

Fasilitas
Penyimpanan
Data

Peralatan
Mekanisme
Pemindahan
Pengontrolan
Data

Fasilitas
Pengolahan
Data
Operasi (3)
▪ Fungsi Operasi Pengolahan Data.
– Contoh : Updating bank statement

Fasilitas
Penyimpanan
Data

Peralatan
Mekanisme
Pemindahan
Pengontrolan
Data

Fasilitas
Pengolahan
Data
Operasi (4)
▪ Fungsi Operasi Pengontrolan.
– Contoh : Printing bank statement

Fasilitas
Penyimpanan
Data

Peralatan Mekanisme
Pemindahan Pengontrolan
Data

Fasilitas
Pengolahan
Data
Organisasi Sistem Komputer
▪ Komputer sebagai sebuah sistem yang berhirarki.
Compiler
▪ Compiler
Yaitu sebuah program komputer yang berguna untuk
menerjemahkan program komputer yang ditulis dalam
bahasa pemrograman tertentu menjadi program yang
ditulis dalam bahasa pemrograman lain.
(http://id.wikipedia.org)
▪ Kompilator
Yaitu yang menerima kode sumber dan menghasilkan
bahasa tingkat rendah (assembly).
Komponen-Komponen Komputer
MONITOR: to output data

“CPU”: to
SPEAKER: to process
output data command &
data

DISK: to
input/output
data
KEYBOARD: to input
command/data MOUSE: to input
command/data
Komponen Utama Komputer

Computer Keyboard,
Mouse
Processor Memory Devices
(active) (passive)
Disk
Control (where Input (where
(“brain”) programs, programs,
data data
live when live when
Datapath running) not running)
(“brawn”) Output

Display,
Printer

“CPU”
Interkoneksi Antar Komponen
Komputer

Gbr. (a) Tampak belakang komputer. (b) Bagian dalam komputer (tampak samping).
MotherBoard
Struktur Komputer - Top Level

Peripherals

Central Main
Processing Memory
Unit

Computer
Systems
Interconnection

Input
Output
Communication
lines
Struktur CPU

CPU

Computer Arithmetic
Registers and
I/O Logic Unit
System CPU
Bus
Internal CPU
Memory Interconnection

Control
Unit
Komponen Internal CPU
Fungsi CPU
▪ Menjalankan program-program yang disimpan dalam
memori utama dengan cara mengambil instruksi-
instruksi, menguji instruksi tersebut dan
mengeksekusinya satu persatu sesuai alur perintah.
▪ Pandangan paling sederhana proses eksekusi program
adalah dengan mengambil pengolahan instruksi yang
terdiri dari dua langkah, yaitu: operasi pembacaan
instruksi (Fetch) dan operasi pelaksanaan instruksi
(Execute).
Siklus Instruksi
▪ Terdiri dari siklus Fetch dan siklus Eksekusi.
Struktur Control Unit

Control Unit

CPU
Sequencing
ALU Logic
Control Register &
Internal
Unit
Bus Decoders
Registers

Control
Memory
Struktur Control Unit (2)
▪ Squencing Logic
Aturan pengontrolan, yaitu bagaimana sebuah tugas
dilaksanakan yang membutuhkan sebuah langkah-
langkah.
▪ Decoder
Pengalamatan, yaitu digunakan untuk memilih satu jalur
keluaran atau memberi rute data dari sebuah sumber ke
beberapa tujuan.
Kesimpulan
▪ Organsisasi Komputer adalah bagian yang terkait erat
dengan unit-unit operasional dan interkoneksi antara
komponen penyusun sistem komputer dalam
merealisasikan aspek arsitekturalnya.
▪ Aristektur Komputer lebih cenderung pada kajian atribut-
atribut sistem komputer yang terkait dengan seorang
programmer.
▪ Srtuktur internal komputer meliputi : Central Processing
Unit (CPU), Memori Utama, I/O, Sistem Interkoneksi.
▪ Struktur internal CPU meliputi : Control Unit, Aritmetic
and Logic Unit (ALU), Register, CPU Interkoneksi.
▪ Fungsi dasar sistem komputer adalah Fungsi Operasi
Pemindahan Data, Peyimpanan Data, Pengolahan Data,
dan Fungsi Operasi Kontrol.
Evaluasi
1. Jelaskan perbedaan utama Organisasi Komputer dan
Arsitektur Komputer ? Berikan contoh !
2. Gambarkan struktur Top Level Komputer dan jelaskan
masing-masing fungsinya !
3. Gambarkan struktur Central Processing Unit (CPU) dan
jelaskan masing-masing fungsinya !
4. Gambarkan operasi-operasi komputer dan jelaskan
masing-masing fungsinya !
5. Jelaskan secara singkat tentang komputer ENIAC dan
jelaskan konsep komputer Von Neumann, lengkapi
dengan gambar !
Simple As Possible
(SAP) - 1

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Perangkat Pembangun
 Pencacah Program (Program Counter)
 Register Masukan & Memory Address Register (MAR)
 Memori RAM 16 x 8
 Register Instruksi
 Pengendali Pengurut (Control Sequencer)
 Akumulator A
 Penjumlah & Pengurang
 Register B
 Register Keluaran
 Peraga Biner
Arsitektur Komputer SAP-1
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
Penahan Tiga Keadaan (Three State Buffer)

DIn DOut

ENABLE

 Semua masukan dan keluaran register menuju dan dari


bus W dikendalikan oleh Three State Buffer (TSB).
 TSB memungkinkan tiga kondisi :
– High (1) : Data 1 ditransfer
– Low (0) : Data 0 ditransfer
– High Impedance (impedansi tinggi) : Tidak ada data yang
mengalir dari DIn menuju DOut. Kondisi ini terjadi saat signal
Enable = 0 diberikan.
Jalur Kendali Komputer SAP
 Jalur kendali umum adalah jalur kendali yang hampir ada
pada setiap komponen yaitu :
 CLK : Memicu pengaktifan komponen dengan mode
active high, aktif jika nilainya 1.
 CLK : Memicu pengaktifan komponen dengan mode
active low, aktif jika nilainya 0.
 CLR : Mereset komponen dengan mode active high, aktif
jika nilainya 1.
 CLR : Mereset komponen dengan mode active low, aktif
jika nilainya 0.
Pencacah Program (Program Counter)
Cp
CLK Pencacah Program
4
CLR (Program Counter)
Ep

 Jalur kendali pada Program Counter (PC) :


– Ep : Mengeluarkan nilai dari PC ke Bus W
– Cp : Mengendalikan increment PC : PC PC + 1
 Dalam SAP-1 instruksi disimpan pada RAM dibagian awal
(dari alamat 0000, 0001, 0010, dst) dan data dibagian
akhir.
 Ketika komputer bekerja PC direset menjadi 0000.
Pencacah Program (Program Counter)

 Pada saat fetch, nilai 0000 ini dikirim ke MAR untuk


diambil data pada alamat tersebut.
 PC menaikkan angka cacahannya menjadi 0001
MAR PC
PC PC + 1
 Setelah fetch dan instruksi dilaksanakan, nilai 0001
dikirim ke MAR dan PC kembali menaikkan angkanya
menjadi 0010.
 Proses ini terus berlangsung sampai semua instruksi
dilaksanakan kecuali PC mendapat signal HALT.
 PC dapat mencacah dari 0000 s/d 1111.
Register Masukan & MAR
LM Register Masukan
4
CLK dan MAR

4 4

 Jalur kendali pada register ini :


LM : Mengambil data dari bus W ke dalam MAR.
 Register ini memungkinkan pengiriman 4 bit alamat dan 8 bit
data ke RAM.
 Selama komputer bekerja, alamat pada PC ditahan (latched)
pada MAR.
 Selanjutnya MAR mengirim alamat tersebut ke memori RAM,
untuk membaca instruksi dalam memori.
Random Access Memory (RAM) 16 x 8

 Jalur kendali :
4 4
CE : Mengeluarkan data 8
bit dari memori ke bus W. Memori
CE 8
 Memori utama tempat RAM 16 x 8
menyimpan instruksi dan data.
 Selama komputer beroperasi, RAM menerima alamat 4 bit
dari MAR dan operasi baca dilaksanakan.
 Memori dibaca, instruksi atau data akan keluar dari memori
dan masuk ke dalam bus W.
Register Instruksi
 Merupakan bagian dari unit
LI
8
kendali. CLK
Register Instruksi
 Pada saat instruksi CLR
4
dari RAM masuk ke bus W, IR EI

diaktifkan sehingga instruksi 4

akan masuk ke IR.


 IR dibagi jadi 2 bagian :
– Bagian atas (4 bit) dikirim ke pengendali-pengurut.
– Bagian bawah (4 bit lagi) ke bus W dikendalikan oleh TSB
 Jalur kendali :
– LI : Mengambil data 8 bit dari bus W.
– EI : Mengendalikan data 4 bit dari IR ke bus W.
Pengendali Pengurut (Controller Sequencer)

4
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI L A EA SU EU L B L O

 Berfungsi untuk mengatur jalannya seluruh komputer


termasuk eksekusi instruksi.
 Sebelum komputer mulai bekerja, signal CLR dan CLK
dikirimkan ke PC dan IR.
Pengendali Pengurut (Controller Sequencer)

 Signal CLK dikirimkan ke semua register untuk


mensinkronkan operasi komputer.
 Data 12 bit dari register Pengendali Pengurut ini disebut
Mikroinstruksi.
 Mikroinstruksi mengendalikan kerja seluruh register.
Akumulator (Accumulator)
 Jalur kendali : 8 LA
Akumulator A
• LA : Mengambil data 8 bit dari bus CLK
W 8 EA

• EA : Mengendalikan data 8 bit ke 8


bus W
 Menyimpan hasil sementara selama komputer bekerja.
 Terdapat dua macam keluaran :
– Keluaran dua keadaan yang secara langsung diteruskan ke
penjumlah-pengurang.
– Keluaran tiga keadaan dikirim ke bus W dan akumulator secara
terus menerus mengaktifkan rangkaian penjumlah-pengurang.
Penjumlah & Pengurang
 Jalur kendali :
8
• SU : Signal rendah (0) maka
operasi penjumlahan, bila signal Penjumlah SU
8
tinggi (1) maka operasi & Pengurang
EU
pengurangan.
8
• EU : Mengeluarkan data ke bus W
 SAP-1 menggunakan penjumlah & pengurang
komplemen-2.
 Data yang dijumlahkan atau dikurangkan berasal dari
Akumulator dan Register B.
Register B
8
LB
8 Register B
CLK

 Jalur kendali :
– LB : Menyalurkan data dari bus W ke register B.
 Isi dari register B akan dipindahkan ke Penjumlah &
Pengurang saat operasi penjumlahan atau pengurangan.
Register Keluaran
 Jalur kendali : LO
• LO : Mengambil data 8 bit dari 8 Register Keluaran
bus W CLK
 Pada akhir operasi, isi 8
Akumulator akan
Peraga Biner
dipindahkan ke register
keluaran.
 Register ini sering disebut output port karena data yang
telah diproses dapat dikeluarkan dari komputer melalui
register ini.
 Output port ini akan dihubungkan dengan interface circuit.
Perangkat Instruksi (Instruction Set)

Terdapat dua jenis instruksi pada komputer SAP-1 :


 Memiliki satu operand : LDA, ADD, dan SUB.
Ketiganya disebut juga Memory Reference Intruction.
 Tanpa operand : OUT dan HLT.
Perangkat Instruksi (1)
 LDA (Load The Accumulator)
Instruksi LDA mengambil data dari memori dan
memasukkannya ke Akumulator.
Contoh :
LDA AH
Instruksi ini mengambil data dari memori AH dan
disalinkan ke Akumulator.
Perangkat Instruksi (2)
 ADD (Adder)
Instruksi ini menjumlahkan isi Akumulator dengan data
memori yang telah dipindahkan ke Register B dan
hasilnya disimpan kembali di Akumulator.
Contoh :
LDA AH
ADD 8H
Misal isi alamat AH = 0000 0011 dan 8H = 0001 0001
Maka :
LDA AH  A = 0000 0011
ADD 8H  A = 0000 0011 + 0001 0001
A = 0001 0100
Perangkat Instruksi (3)
 SUB (Subtract)
Instruksi ini mengurangkan isi Akumulator dengan data
memori yang telah dipindahkan ke Register B dan
hasilnya disimpan kembali di Akumulator
Contoh :
LDA AH
SUB 5H
Misal isi alamat AH = 0100 0101 dan 5H = 0100 0100
Maka :
LDA AH  A = 0100 0101
SUB 5H  A = 0100 0101 - 0100 0100
A = 0000 0001
Perangkat Instruksi (4)
 OUT
Instruksi ini tanpa operand.
Data dari Akumulator akan diambil dan dipindahkan ke
register keluaran.
 HLT (Halt)
Instruksi ini berfungsi untuk menghentikan proses data.
HLT menandai akhir suatu program. Setiap program
dalam SAP-1 harus diakhiri oleh HLT.
Latihan (1)
 LDA DH (DH = 0000 1001)
ADD 5H (5H = 0001 0010)
OUT
HLT

 LDA FH (FH = 0010 0110)


SUB 4H (4H = 0000 0011)
OUT
HLT

 Sertakan dengan gambar pada RAM.


Latihan (2)
 LDA AH (AH = 0000 1111)
ADD 8H (8H = 0001 0011)
OUT
HLT

 LDA CH (CH = 0000 0111)


SUB EH (EH = 0010 0110)
OUT
HLT

 Sertakan dengan gambar pada RAM.


Simple As Possible
(SAP) - 1

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Arsitektur Komputer SAP-1
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
Perangkat Instruksi (Instruction Set)

Terdapat dua jenis instruksi pada komputer SAP-1 :


▪ Memiliki satu operand : LDA, ADD, dan SUB.
Ketiganya disebut juga Memory Reference Intruction.
▪ Tanpa operand : OUT dan HLT.
Perangkat Instruksi (1)
▪ LDA (Load The Accumulator)
Instruksi LDA mengambil data dari memori dan
memasukkannya ke Akumulator.
Contoh :
LDA AH
Instruksi ini mengambil data dari memori AH dan
disalinkan ke Akumulator.
Perangkat Instruksi (2)
▪ ADD (Adder)
Instruksi ini menjumlahkan isi Akumulator dengan data
memori yang telah dipindahkan ke Register B dan
hasilnya disimpan kembali di Akumulator.
Contoh :
LDA AH
ADD 8H
Misal isi alamat AH = 0000 0011 dan 8H = 0000 0001
Maka :
LDA AH  A = 0000 0011
ADD 8H  A = 0001 0011 + 0000 0001
A = 0000 0100
Perangkat Instruksi (3)
▪ SUB (Subtract)
Instruksi ini mengurangkan isi Akumulator dengan data
memori yang telah dipindahkan ke Register B dan
hasilnya disimpan kembali di Akumulator
Contoh :
LDA AH
SUB 5H
Misal isi alamat AH = 0000 0101 dan 5H = 0000 0100
Maka :
LDA AH  A = 0000 0101
SUB 5H  A = 0000 0101 - 0000 0100
A = 0000 0001
Perangkat Instruksi (4)
▪ OUT
Instruksi ini tanpa operand.
Data dari Akumulator akan diambil dan dipindahkan ke
register keluaran.
▪ HLT (Halt)
Instruksi ini berfungsi untuk menghentikan proses data.
HLT menandai akhir suatu program. Setiap program
dalam SAP-1 harus diakhiri oleh HLT.
Pemrograman SAP-1
▪ Siklus Instruksi
Kode Operasi
Siklus instruksi terdiri dari No Mnemonic
(Opcode)
2 tahapan (siklus):
▪ FETCH 1 LDA 0000
2 ADD 0001
▪ EXECUTE
3 SUB 0010
Masing-masing siklus 4 OUT 1110
memerlukan 3 siklus
5 HLT 1111
detak (clock cycle).
Pemrograman SAP-1 (2)
▪ Siklus FETCH (T1, T2, T3)
Pada siklus ini dilakukan pengambilan instruksi dari RAM
ke IR.
– Mengirim isi PC ke MAR (Address state)
– Menaikkan cacahan PC (Increment state)
– Mengambil instruksi dari RAM ke IR (Memory state)
▪ Masing-masing tahapan menggunakan satu siklus detak
(clock cycle).
Pemrograman SAP-1 (3)
Siklus FETCH CON = Cp Ep LM CE LI EI LA EA SU EU LB LO
▪ Tahapan pengiriman CON = 0 1 0 1 1 1 1 0 0 0 1 1
alamat, T1. Nilai PC
dikirim ke MAR,
Cp
W
Pengendali & Pengurut CLK Pencacah Program
mengirim signal kendali CLR (Program Counter)

(CON) berikut : Ep

LM Register Masukan
CLK dan MAR

4 4
Pemrograman SAP-1 (4)
Siklus FETCH CON = Cp Ep LM CE LI EI LA EA SU EU LB LO
▪ Tahapan penambahan CON = 1 0 1 1 1 1 1 0 0 0 1 1

nilai PC dengan 1, T2.


Pengendali & Pengurut Cp
W
mengirim signal kendali CLK Pencacah Program
(Program Counter)
(CON) berikut : CLR
Ep

LM Register Masukan
CLK dan MAR

4 4
Pemrograman SAP-1 (5)

Siklus FETCH CON = Cp Ep LM CE LI EI LA EA SU EU LB LO


▪ Tahapan pengambilan CON = 0 0 1 0 0 1 1 0 0 0 1 1

instruksi dari RAM ke


IR, T3. Pengendali & Memori W
8
Pengurut mengirim CE RAM 16 x 8

signal kendali (CON) LI


8
berikut : CLK
Register Instruksi
CLR
4
EI
4
Siklus FETCH Keseluruhan
▪ Tahap pengalamatan (address state), penambahan nilai
pencacah (increment state) dan pengambilan instruksi
dari memori (memory state) disebut juga dengan siklus
fetch.
▪ Berikut adalah gambar komponen-komponen yang aktif
(warna biru) pada setiap tahapan T1, T2, T3.
Ilustrasi Siklus FETCH (T1) Address State
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
Ilustrasi Siklus FETCH (T2) Increment State
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
Ilustrasi Siklus FETCH (T3) Memory State
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
Pemrograman SAP-1 (6)
▪ Siklus Eksekusi (T4, T5, T6)
▪ Instruksi LDA (T4 dan T5)
Tahapan pada instruksi LDA :
– Pada T4 alamat memori dikirim dari IR ke MAR.
– Pada T5 data dari RAM diambil dan dikirim ke
Akumulator.
– Pada T6 tidak melakukan apa-apa.
Pemrograman SAP-1 (7)
Siklus Eksekusi CON = Cp Ep LM CE LI EI LA EA SU EU LB LO
▪ Instruksi LDA CON = 0 0 0 1 1 0 1 0 0 0 1 1
Tahap pengiriman
alamat, T4 : Pengendali W
& Pengurut mengirim LM Register Masukan
CLK dan MAR
signal kendali (CON)
4 4
berikut :
LI
8
Register Instruksi
4
EI
4
Pemrograman SAP-1 (8)
Siklus Eksekusi
▪ Instruksi LDA
Tahap pengambilan
data, T5 : Pengendali &
Pengurut mengirim
CON = Cp Ep LM CE LI EI LA EA SU EU LB LO
signal kendali (CON) CON = 0 0 1 0 1 1 0 0 0 0 1 1
berikut :
W 8 LA
Akumulator A CLK
8 EA
8

CE Memori
8
RAM 16 x 8
Siklus Instruksi LDA Keseluruhan
▪ Berikut ini adalah gambar komponen-komponen yang
aktif (warna biru) pada tahap T4 dan T5 instruksi LDA.
Ilustrasi Siklus Intruksi LDA (T4) LDA
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
Ilustrasi Siklus Intruksi LDA (T5) LDA
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
Pemrograman SAP-1 (9)
Siklus Eksekusi
▪ Instruksi ADD dan SUB
– T4 : Alamat memori dikirim dari IR ke MAR.
– T5 : Pemindahan data dari memori ke register B.
– T6 : Data dari akumulator dioperasikan (jumlah atau kurang)
dengan data dari register B dan hasilnya disimpan di akumulator.
▪ Perbedaan antara ADD dengan SUB hanya pada T6.
Pemrograman SAP-1 (10)
Siklus Eksekusi
▪ T4 : Alamat memori dikirim dari IR ke MAR sama dengan
tahapan T4 pada LDA.
▪ T5 : Pemindahan data dari memori ke register B.
Pengendali & Pengurut mengirim signal kendali (CON)
berikut :
CON = Cp Ep LM CE LI EI LA EA SU EU LB LO
CON = 0 0 1 0 1 1 1 0 0 0 0 1

W
Memori LB
CE 8 8 Register B
RAM 16 x 8 CLK
Pemrograman SAP-1 (11)
Siklus Eksekusi
▪ Operasi ADD :
CON = Cp Ep LM CE LI EI LA EA SU EU LB LO
CON : CON = 0 0 1 1 1 1 0 0 0 1 1

▪ Operasi SUB :
CON = Cp Ep LM CE LI EI LA EA SU EU LB LO
CON : CON = 0 0 1 1 1 1 0 0 1 1 1

8 LA
Akumulator A CLK
8 EA
8
Penjumlah SU
8
& Pengurang
EU
8
LB
8 Register B
CLK
Siklus Instruksi ADD/SUB Keseluruhan

▪ Berikut ini adalah gambar komponen-komponen yang


aktif (warna biru) pada tahap T4, T5, dan T6 instruksi
ADD/SUB.
Ilustrasi Siklus Instruksi ADD/SUB (T5)
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
Ilustrasi Siklus Instruksi ADD/SUB (T6)
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
Instruksi OUT
▪ Instruksi OUT memerlukan satu tahap T4 yaitu
memindahkan data dari akumulator kedalam register
keluaran.
Siklus Instruksi OUT Keseluruhan
Cp
W 8 LA
CLK Pencacah Program
4 8 Akumulator A CLK
CLR (Program Counter)
8 EA
Ep
8
LM Register Masukan
4 Penjumlah SU
dan MAR 8
CLK & Pengurang
EU
4 4 8
Memori LB
CE 8
RAM 16 x 8 8 Register B
CLK
LI
8
CLK LO
Register Instruksi 8 Register Keluaran
CLR CLK
4
EI 8
4
Peraga Biner
CLK
Pengendali CLK
Pengurut CLR
CLR
12

Cp Ep LM CE LI EI LA EA SU EU LB LO
RAM
Alamat Mnemonik
Latihan (1) 0H LDA 9H
1H ADD AH
2H ADD BH
▪ Berikut adalah sebuah program 3H SUB CH
SAP-1 dalam bentuk Mnemonik. 4H OUT
▪ Berapakah nilai akhir pada 5H HLT
register Akumulator ? Alamat Data
6H
7H
8H
9H 01
AH 02
BH 03
CH 04
DH
EH
FH
RAM
Alamat Instruksi
Jawaban (1) 0H 0000 1001
1H 0001 1010
2H 0001 1011
▪ Berikut adalah sebuah program 3H 0010 1100
SAP-1 dalam bentuk Mnemonik. 4H 1110 xxxx
▪ Berapakah nilai akhir pada 5H 1111 xxxx
register Akumulator ? Alamat Data
6H
7H
8H
9H 0000 0001
AH 0000 0010
BH 0000 0011
CH 0000 0100
DH
EH
FH
Jawaban (2)
▪ A = 0000 0001 (LDA 9H)
▪ A = 0000 0001 + 0000 0010 (ADD AH)
A = 0000 0011
▪ A = 0000 0011 + 0000 0011 (ADD BH)
A = 0000 0110
▪ A = 0000 0110 – 0000 0100 (SUB CH)
A = 0000 0010
▪ Instruksi OUT akan mengeluarkan isi akumulator ke
register keluaran 0000 0010.
▪ Instruksi HALT menghentikan pemrosesan data.
RAM
Alamat Mnemonik
Latihan (2) 0H LDA EH
1H ADD 8H
2H SUB DH
▪ Berikut adalah sebuah program 3H ADD BH
SAP-1 dalam bentuk Mnemonik. 4H OUT
▪ Berapakah nilai akhir pada 5H HLT
register Akumulator ? Alamat Data
6H
7H
8H 08
9H
AH
BH 07
CH
DH 05
EH 09
FH
Kuis 1

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Simple As Possible
(SAP) - 2

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Arsitektur Komputer SAP-2
Keyboard
Heksadesimal W
16 8 Akumulator A
 Persamaan dengan
8

Register 8
8
Masukan 1
SAP-1 : 8 ALU 2 Flag
Register
8
Masukan 2 8
 Sama-sama komputer Serial In
8 TEMP
Program
16
8 bit. Counter
8 B
MAR 16
 Kesamaan ini dapat 16 8 C

dilihat dari data yang Memori RAM


64 KB
Register
diolah oleh ALU SAP-2 8
Memory Data
8 8
Keluaran 3
16 8
Register
yang masih 8 bit. Peraga
Heksadesimal
Register
8
Instruksi
8
Register
8
Pengendali- Keluaran 4 Serial Out
Pengurut

CON
Perbedaan SAP-1 dengan SAP-2
 Penambahan register-register baru.
 Penambahan lebar bus menjadi 16 bit (lebar data yang
dioperasikan ALU tetap 8 bit).
 RAM yang tersedia 64 KB.
 Penambahan kemampuan logika pada ALU.
 Adanya flag (bendera).
 Peningkatan jumlah instruksi dari 5 ke 43 instruksi (42
instruksi + 1 instruksi No operation).
Penambahan Register
 Register-register pada SAP-1 (5 buah) :
– Input Register dan MAR (1 buah)
– Output Register (1 buah)
– Register Instruksi (1 buah)
– Register Aritmatika (2 buah : A dan B)
 Register-register pada SAP-2 (11 buah) :
– Input Register (2 buah)
– Output Register (2 buah)
– Register Instruksi (1 buah)
– Register Aritmatika (4 buah : A, B, C, TMP)
– MAR (1 buah)
– Memory Data Register (MDR, 1 buah)
Penambahan Lebar Bus dan PC
 Penambahan lebar bus menjadi 16 bit untuk mendukung
lebar alamat memori yang dikeluarkan oleh PC.
 PC mengeluarkan 16 bit alamat berarti dapat
mengalamati 216 alamat = 65.536 alamat, dari 0000 H
sampai FFFF H
 65.536 alamat dengan tiap alamat 8 bit maka :
– 65.536 * 8 bit = 524.288
– 524.288 : 8192 = 64 kByte
 PC dapat menerima data masukan dari bus W yg
bermanfaat untuk instruksi Jump dan pemanggilan
subroutine.
RAM 64 KB
 Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H.
 2 kB pertama (0000 H s/d 07FF H) untuk program
monitor : serangkaian program untuk menampilkan isi
input register dan output register ke monitor.
 62 kB berikutnya untuk instruksi dan data.
Kemampuan Logika ALU & Flag
 SAP-1 belum punya ALU tetapi hanya Penambah &
Pengurang. SAP-2 sudah memiliki ALU.
 Adanya Flag :
– Sign Flag untuk menandai nilai pada register A negatif (sign flag
= 1) atau A positif (sign flag = 0).
– Zero Flag untuk menandai nilai pada register A nol (zero flag = 1)
atau A bukan nol (zero flag = 0).
Peningkatan Jumlah Instruksi
 Data yang masuk dari IR ke Pengendali & Pengurut
sebanyak 8 bit.
 8 bit ini menjadi alamat bagi Pengendali & Pengurut.
 Kemampuan pengalamatannya 28 = 256 alamat, dari 00 H
sd FF H.
 Tiap alamat berisi 1 signal CON.
 Dari 256 signal CON didapat 43 instruksi.
Perangkat Instruksi
 Instruksi terdiri dari 2 bagian, yaitu kode operasi
(operation code, opcode) dan yang dioperasikan
(operand).
Kode operasi lebarnya 8 bit, menempati satu alamat di
RAM.
 Contoh instruksi dengan operand yang berbeda-beda :
Perangkat Instruksi (2)
ADD B : Kode operasi 80 dan tidak
membutuhkan memori untuk
operand.
MVI A, 18 H : Kode operasi 3E membutuhkan
satu alamat RAM untuk operand.
STA 4861 H : Kode operasi 32 membutuhkan 2
alamat RAM untuk operand.
 Misal ketiga instruksi tersebut disimpan pada RAM secara
berurutan mulai alamat 1000 H, maka peta isi RAM
sebagai berikut :
RAM

Alamat Isi (Biner) Isi (Hexa) Instruksi

1000 H 1000 0000 80 ADD B

1001 H 0011 1110 3E


MVI A, 18 H
1002 H 0001 1000 18

1003 H 0011 0010 32

1004 H 0110 0001 61 STA 4861 H

1005 H 0100 1000 48

1006 H ….. ….. …..


Perangkat Instruksi SAP-2
No Mnemonik Opcode No Mnemonik Opcode
1 ADD B 80 14 MOV B, C 41
2 ADD C 81 15 MOV C, A 4F
3 DCR A 3D 16 MOV C, B 48
4 DCR B 05 17 STA alamat 32
5 DCR C 0D 18 SUB B 90
6 HLT 76 19 SUB C 91
7 INR A 3C 20 OUT D3
8 INR B 04 21 MVI A, byte 3E
9 INR C 0C 22 MVI B, byte 06
10 LDA alamat 3A 23 MVI C, byte 0E
11 MOV A, B 78
12 MOV A, C 79
13 MOV B, A 47
Perangkat Instruksi SAP-2
No Mnemonik Opcode No Mnemonik Opcode
24 JMP alamat C3 37 RAR 1F
25 JM alamat FA 38 RET C9
26 JNZ alamat C2 39 XRA B A8
27 JZ alamat CA 40 XRA C A9
28 ANA B A0 41 XRI byte EE
29 ANA C A1 42 IN byte DB
30 ANI byte E6 43 NOP 00
31 CALL alamat CD
32 CMA 2F
33 ORA B B0
34 ORA C B1
35 ORI byte F6
36 RAL 17
Instruksi-Instruksi SAP-2
1. LDA (Load The Accumulator)
Mengambil data dari memori dan dipindahkan ke
Akumulator.
Format : LDA alamat
Contoh : LDA 1500H (isi reg A dgn nilai pada alamat 1500H)
2. STA (Store The Accumulator)
Mengambil data dari Akumulator dan dipindahkan ke
memori.
Format : STA alamat
Contoh : STA 1501H (isi RAM pada alamat 1501H dengan nilai yg
ada pada Akumulator)
Instruksi-Instruksi SAP-2 (2)
3. MVI (Move Immediate)
Mengisi register aritmatika (A, B, C) dengan nilai
tertentu.
Format : MVI register, nilai
Contoh : MVI B, C4H (isi register B dengan nilai C4H)
4. MOV (Move)
Menyalin data dari satu register aritmatika ke register
aritmatika lain.
Format : MOV register, register
Contoh : MOV B, C (isi register B dgn data pd register C).
Instruksi-Instruksi SAP-2 (3)
5 & 6. ADD dan SUB
Menambah atau mengurang isi reg A dgn nilai
register aritmatika lain dan hasil disimpan pada
Akumulator.
Format : ADD register atau SUB register
Contoh : ADD B (A = A + B)
SUB C (A = A – C)
7 & 8. INR (Increment) dan DCR (Decrement)
Menambah atau mengurangi isi sebuah register
aritmatika dengan 1.
Format : INR register atau DCR register
Contoh : INR B (B = B + 1)
DCR C (C = C – 1)
Instruksi-Instruksi SAP-2 (4)
9. JMP (Jump)
Instruksi lompatan tidak bersyarat. Prosesor langsung
mengalihkan eksekusi program sesuai dengan alamat
tujuan lompatan.
Format : JMP alamat
Contoh : JMP 2500H
PC 2500H
Instruksi ini memberitahu prosesor untuk menjalankan
instruksi pada alamat 2500H.
Proses ini mengubah nilai program counter dengan
alamat 2500H.
Instruksi-Instruksi SAP-2 (5)
10. JM (Jump if Minus)
Instruksi lompatan bersyarat. Prosesor akan memeriksa
flag (Sign) keluaran dari ALU pada operasi sebelumya.
Jika sign flag bernilai 1, artinya hasilnya negatif, maka
lompatan dilakukan.
Jika sebaliknya maka lompatan tidak dilakukan.
Format : JM alamat
Instruksi-Instruksi SAP-2 (6)
 Contoh :
Asumsi : Nilai reg A = 45H, B = 10H, dan C=60H
SUB B : A =A-B
= 45H - 10H
A = 35H
JM 1000H
SUB C : A =A-C
= 35H - 60H
A = Hasilnya minus (kecil dari 0)
JM 2600H
Instruksi-Instruksi SAP-2 (7)
 Setelah instruksi pertama dieksekusi nilai A positif.
Pada instruksi berikutnya (JM 1000H) kondisi syarat
untuk lompat tidak dipenuhi maka prosesor mengerjakan
instruksi berikutnya (SUB C).
 Setelah instruksi ketiga isi A bernilai negatif maka pada
instruksi ke 4 (JM 2600H) prosesor akan lompat dan
mengerjakan instruksi pada alamat 2600H.
Instruksi-Instruksi SAP-2 (8)
11. JZ (Jump if Zero)
Instruksi lompatan bersyarat. Prosesor akan memeriksa
(flag) Zero keluaran dari ALU sebelumnya. Jika flag Zero
bernilai 1, artinya hasilnya 0, maka lompatan akan
dilakukan. Jika sebaliknya maka lompatan tidak
dilakukan.
Format : JZ alamat
Contoh : JZ 2500H
Instruksi ini memberitahu prosesor untuk menjalankan
instruksi pada alamat 2500H jika zero flag bernilai 1.
Instruksi-Instruksi SAP-2 (9)
12. JNZ (Jump if not Zero)
Instruksi lompatan bersyarat. Prosesor akan memeriksa
(flag) Zero keluaran dari ALU sebelumnya. Jika flag Zero
bernilai 0, artinya hasilnya bukan 0, maka lompatan
akan dilakukan. Jika sebaliknya maka lompatan tidak
dilakukan.
Format : JNZ alamat
Contoh : JNZ 2500H
Instruksi ini memberitahu prosesor untuk menjalankan
instruksi pada alamat 2500H jika zero flag bernilai 0.
Latihan (1)
 Berikut adalah potongan sebuah program pada SAP-2.
Tentukan nilai akhir pada register Akumulator !

MVI A, 6A H
MVI B, 2E H
MVI C, 89 H
SUB B
DCR A
ADD C
OUT
HLT
Latihan (2)
 Berikut adalah potongan sebuah program pada SAP-2.
Tentukan nilai akhir pada register Akumulator !

MVI A, 2C H
MVI B, 19 H
MVI C, 2A H
ADD B
DCR C
SUB C
OUT
HLT
Latihan (3)
 Berikut adalah potongan sebuah program pada SAP-2.
Tentukan nilai akhir pada register Akumulator !

MVI A, 2C H
MVI B, 19 H
MVI C, 3E H
ADD B
INR A
DCR C
SUB C
OUT
HLT
Latihan (4)
 Berikut adalah potongan sebuah program pada SAP-2.
Tentukan nilai akhir pada register C !

MVI A, 17 H
MVI B, 2D H
ADD B
INR A
MOV C, A
HLT
Latihan (5)
 Berikut adalah potongan sebuah program pada SAP-2.
Tentukan nilai akhir pada RAM di alamat 3AB8 H !

LDA 3AB7 H, 3A H
MVI B, 1D H
MVI C, 3C H
ADD B
SUB C
ADD 4210
STA 3AB8 H
HLT
Simple As Possible
(SAP) - 2

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Arsitektur Komputer SAP-2
Keyboard
Heksadesimal W
16 8 Akumulator A
▪ Persamaan dengan
8

Register 8
8
Masukan 1
SAP-1 : 8 ALU 2 Flag
Register
8
Masukan 2 8
▪ Sama-sama komputer Serial In
8 TEMP
Program
16
8 bit. Counter
8 B
MAR 16
▪ Kesamaan ini dapat 16 8 C

dilihat dari data yang Memori RAM


64 KB
Register
diolah oleh ALU SAP-2 8
Memory Data
8 8
Keluaran 3
16 8
Register
yang masih 8 bit. Peraga
Heksadesimal
Register
8
Instruksi
8
Register
8
Pengendali- Keluaran 4 Serial Out
Pengurut

CON
Perbedaan SAP-1 dengan SAP-2
▪ Penambahan register-register baru.
▪ Penambahan lebar bus menjadi 16 bit (lebar data yang
dioperasikan ALU tetap 8 bit).
▪ RAM yang tersedia 64 KB.
▪ Penambahan kemampuan logika pada ALU.
▪ Adanya flag (bendera).
▪ Peningkatan jumlah instruksi dari 5 ke 43 instruksi (42
instruksi + 1 instruksi No operation).
Penambahan Register
▪ Register-register pada SAP-1 (5 buah) :
– Input Register dan MAR (1 buah)
– Output Register (1 buah)
– Register Instruksi (1 buah)
– Register Aritmatika (2 buah : A dan B)
▪ Register-register pada SAP-2 (11 buah) :
– Input Register (2 buah)
– Output Register (2 buah)
– Register Instruksi (1 buah)
– Register Aritmatika (4 buah : A, B, C, TMP)
– MAR (1 buah)
– Memory Data Register (MDR, 1 buah)
Penambahan Lebar Bus dan PC
▪ Penambahan lebar bus menjadi 16 bit untuk mendukung
lebar alamat memori yang dikeluarkan oleh PC.
▪ PC mengeluarkan 16 bit alamat berarti dapat
mengalamati 216 alamat = 65.536 alamat, dari 0000 H
sampai FFFF H
▪ 65.536 alamat dengan tiap alamat 8 bit maka :
– 65.536 * 8 bit = 524.288
– 524.288 : 8192 = 64 kByte
▪ PC dapat menerima data masukan dari bus W yg
bermanfaat untuk instruksi Jump dan pemanggilan
subroutine.
RAM 64 KB
▪ Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H.
▪ 2 kB pertama (0000 H s/d 07FF H) untuk program
monitor : serangkaian program untuk menampilkan isi
input register dan output register ke monitor.
▪ 62 kB berikutnya untuk instruksi dan data.
Kemampuan Logika ALU & Flag
▪ SAP-1 belum punya ALU tetapi hanya Penambah &
Pengurang. SAP-2 sudah memiliki ALU.
▪ Adanya Flag :
– Sign Flag untuk menandai nilai pada register A negatif (sign flag
= 1) atau positif (sign flag = 0).
– Zero Flag untuk menandai nilai pada register A nol (zero flag = 1)
atau bukan nol (zero flag = 0).
Peningkatan Jumlah Instruksi
▪ Data yang masuk dari IR ke Pengendali & Pengurut
sebanyak 8 bit.
▪ 8 bit ini menjadi alamat bagi Pengendali & Pengurut.
▪ Kemampuan pengalamatannya 28 = 256 alamat, dari 00 H
sd FF H.
▪ Tiap alamat berisi 1 signal CON.
▪ Dari 256 signal CON didapat 43 instruksi.
Instruksi-Instruksi SAP-2
1. LDA (Load The Accumulator)
Mengambil data dari memori dan dipindahkan ke
Akumulator.
Format : LDA alamat
Contoh : LDA 1500H (isi reg A dgn nilai pada alamat 1500H)
2. STA (Store The Accumulator)
Mengambil data dari Akumulator dan dipindahkan ke
memori.
Format : STA alamat
Contoh : STA 1501H (isi RAM pada alamat 1501H denga nilai yg
ada pada Akumulator)
Instruksi-Instruksi SAP-2 (2)
3. MVI (Move Immediate)
Mengisi register aritmatika (A, B, C) dengan nilai
tertentu.
Format : MVI register, nilai
Contoh : MVI B, C4H (isi register B dengan nilai C4H)
4. MOV (Move)
Menyalin data dari satu register aritmatika ke register
aritmatika lain.
Format : MOV register, register
Contoh : MOV B, C (isi register B dgn data pd register C).
Instruksi-Instruksi SAP-2 (3)
5 & 6. ADD dan SUB
Menambah atau mengurang isi reg A dgn nilai
register aritmatika lain dan hasil disimpan pada
Akumulator.
Format : ADD register atau SUB register
Contoh : ADD B (A = A + B)
SUB C (A = A – C)
7 & 8. INR (Increment) dan DCR (Decrement)
Menambah atau mengurangi isi sebuah register
aritmatika dengan 1.
Format : INR register atau DCR register
Contoh : INR B (B = B + 1)
DCR C (C = C – 1)
Instruksi-Instruksi SAP-2 (4)
9. JMP (Jump)
Instruksi lompatan untuk mengalihkan eksekusi
program sesuai dengan alamat tujuan lompatan.
Format : JMP alamat
Contoh : JMP 27E1H
PC 27E1H
10. JM (Jump if Minus)
Instruksi lompatan bersyarat untuk mengalihkan
eksekusi program sesuai dengan alamat tujuan
lompatan jika sign flag berisi 1.
Format : JM alamat
Contoh : JM 3C28H
Instruksi-Instruksi SAP-2 (5)
11. JZ (Jump if Zero)
Instruksi lompatan bersyarat untuk mengalihkan
eksekusi program sesuai dengan alamat tujuan
lompatan jika zero flag berisi 1.
Format : JZ alamat
Contoh : JZ 27E1H
12. JNZ (Jump if not Zero)
Instruksi lompatan bersyarat untuk mengalihkan
eksekusi program sesuai dengan alamat tujuan
lompatan jika zero flag berisi 0.
Format : JNZ alamat
Contoh : JNZ 2500H
Instruksi-Instruksi SAP-2 (9)
13. CMA (Complement the Accumulator)
Instruksi ini akan membalikkan setiap bit dalam akumulator dan
menghasilkan komplement –1 dari bilangan yang bersangkutan.
Format : CMA
Contoh : Nilai awal akumulator A = 1001 1010
Setelah instruksi CMA A = 0110 0101
14. ANA (AND the Accumulator)
Instruksi ini meng-AND-kan isi akumulator dengan isi register
tertentu, hasilnya disimpan dalam akumulator.
Format : ANA register
Contoh : ANA B
Misal A = 0110 0011 dan B = 1010 0110
Setelah instruksi ANA B, maka A = 0010 0010
Instruksi-Instruksi SAP-2 (10)
15. ORA (OR the Accumulator)
Instruksi ini meng-OR-kan isi akumulator dengan
register tertentu, hasilnya disimpan dalam akumulator.
Format : ORA register Contoh : ORA B
Misal A = 0010 1100 dan B = 0001 1001
Setelah instruksi ORA B, maka A = 0011 1101
16. XRA (XOR the Accumulator)
Instruksi ini meng-XOR-kan isi akumulator dengan
register tertentu, hasilnya disimpan dalam akumulator.
Format : XRA register Contoh : XRA B
Misal A = 0010 1100 dan B = 0001 1001
Setelah instruksi XRA B, maka A = 0011 0101
Instruksi-Instruksi SAP-2 (11)
17. ANI (AND Immediate the Accumulator)
Instruksi ini meng-AND-kan isi akumulator dengan suatu
nilai.
Format : ANI byte
Misal A = 0010 1100
Setelah instruksi ANI 0011 0010, maka A = 0010 0000
18. ORI (OR Immediate the Accumulator)
Instruksi ini meng-OR-kan isi akumulator dengan suatu
nilai.
Format : ORI byte
Misal A = 0010 1100
Setelah instruksi ORI 0011 0010, maka A = 0011 1110
Instruksi-Instruksi SAP-2 (12)
19. XRI (XOR Immediate the Accumulator)
Instruksi ini meng-XOR-kan isi akumulator dengan suatu
nilai.
Format : XRI byte
Misal A = 0010 1100
Setelah instruksi XRI 0011 0010, maka A = 0001 1110
20. IN (Input)
Instruksi ini memindahkan data dari register masukan
ke akumulator.
Format : IN byte
Contoh : IN 1000 1101
Instruksi ini akan memasukkan data dari register masukan 1000
1101 ke dalam akumulator.
Instruksi-Instruksi SAP-2 (13)
21. RAL (Rotate the Accumulator Left)
Instruksi ini berfungsi memutar nilai akumulator dari
kiri satu bit. Bit yang paling kiri akan dialihkan ke bit
yang paling kanan.
Misal A = 1100 1000
Setelah instruksi RAL, maka A = 1001 0001
22. RAR (Rotate the Accumulator Right)
Instruksi ini berfungsi memutar nilai akumulator dari
kanan satu bit. Bit yang paling kanan akan dialihkan ke
bit yang paling kiri.
Misal A = 1100 1000
Setelah instruksi RAR, maka A = 0110 0100
Instruksi-Instruksi SAP-2 (14)
23. OUT (Output)
Instruksi memindahkan data dari akumulator ke register
keluaran.
24. HLT
Instruksi ini tanda akhir dari program.
Instruksi-Instruksi SAP-2 (15)
25. NOP (No Operation)
Selama eksekusi dari instruksi NOP tidak akan terjadi apapun
pada semua keadaan T yang bersangkutan karena tidak ada
register yang mengalami perubahan selama operasi NOP.
Instruksi NOP dipakai untuk mendapatkan jeda untuk
berbagai keperluan seperti sinkronisasi pada pipeline dan
untuk mendapatkan delay pada sistem kontrol.
NOP meperlukan empat keadaan (pulsa clock) T. Misalnya
jika kita menempatkan sebuah instruksi NOP dalam suatu
loop dan melaksanakan sebanyak 100 kali maka kita akan
memperoleh delay time selama 400 kali keadaan T.
Latihan (1)
▪ Berikut adalah potongan sebuah program pada SAP-2.
Tentukan nilai akhir pada register Akumulator !

MVI A, 6A H
MVI B, 2E H
MVI C, 89 H
SUB B
ANA C
RAL
ORI 1001 1101
CMA
Latihan (2)
▪ Berikut adalah sebuah kutipan program dari komputer
SAP-2. Tentukanlah nilai dari register Akumulator pada
setiap tahapnya !

MVI A, 2C H
MVI B, 19 H
MVI C, 12 H
RAL
ADD B
RAR
ORA C
ANI 0011 0010
CMA
Latihan SAP 2

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Latihan (1)
 Berikut adalah sebuah kutipan program dari komputer SAP-2.
Tentukanlah nilai dari register Akumulator pada setiap
tahapnya !
MVI A, FE H
MVI B, C2 H
MVI C, 4A H
XRA B
ORI 1000 0011
ANI 0010 1100
ORA C
RAL
CMA
HLT
Latihan (2)
 Berikut adalah sebuah kutipan program dari komputer SAP-2.
Tentukanlah nilai dari register Akumulator pada setiap
tahapnya !
MVI A, 1A H
MVI B, 2B H
MVI C, 3C H
XRA C
ORI 1101 1101
ANA B
XRI 1110 1011
CMA
RAR
HLT
Latihan (3)
 Berikut adalah sebuah kutipan program dari komputer SAP-2.
Tentukanlah nilai dari register Akumulator pada setiap tahapnya !
IN, 06 H
MVI B, 45 H
MVI C, 2D H
ADD B
ORA C
CMA
RAL
ANI 0111 0101
ANA B
XRI 1110 0110
RAR
HLT
Simple As Possible
(SAP) - 3

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Perbedaan SAP-2 dengan SAP-3

SAP-2 SAP-3

Registers A, B, C A, B, C, D, E, H, L

Zero Flag Zero Flag Carry Flag


Flag
Sign Flag Sign Flag Parity Flag
Stack
No Yes
Pointer
Perbedaan SAP-2 dengan SAP-3 (2)
16 bit 8 bit 8 bit

PC B C

SP D E

8 bit H L

A
8
Dimana :
ALU PC = Program Counter
SP = Stack Pointer
8

TMP A, B, C, D, E, H, L = Register
Extended Register (Register yang Diperluas)

88 bit
bit 88bit
bit 16bit
16 bit

B C B C

D E D E

H L H L
Extended Register Instructions
▪ LXI (Load eXtended Immediate)
Mengisi data langsung ke register berpasangan (register
B dengan C, register D dengan E, dan register H dengan
L), lebar data 16 bit.
Format : LXI B, double LXI H, double
LXI D, double LXI SP, double
Contoh : LXI B, D375 H B = D3 H dan C = 75 H
LXI D, 2EA4 H D = 2E H dan E = A4 H
Extended Register Instructions (2)
▪ Instruksi Tumpukan (Stack Instructions)
▪ Prinsip : LIFO (Last In First Out)
▪ LXI SP, double : Inisialisasi Tumpukan
Contoh : LXI SP, 3A6DH (SP = 3A6DH).
▪ PUSH : Menyimpan data 16 bit ke tumpukan
PUSH B, PUSH D, dan PUSH H.
▪ POP : Mengambil data 16 bit dari tumpukan
POP B, POP D, dan POP H.
Extended Register Instructions (3)
▪ PUSH
Instruksi PUSH berfungsi menyimpan data 16 bit kedalam
tumpukan pada RAM.
Register-register yang terlibat sebagai operand adalah
register BC, DE, HL.

Format instruksi :
PUSH B
PUSH D
PUSH H
Extended Register Instructions (4)
▪ POP
Instruksi POP berfungsi mengambil data 16 bit dari
tumpukan pada RAM.
Register-register yang terlibat sebagai operand adalah
register BC, DE, HL.

Format instruksi :
POP B
POP D
POP H
Extended Register Instructions (5)
▪ Contoh :
PUSH B
POP D

Beberapa hal yang dilakukan oleh prosesor pada saat


pengeksekusian instruksi PUSH :
1. Penunjuk tumpukan (stack pointer) dikurangi 1, SP - 1.
2. Data dalam register B disimpan kedalam RAM yang ditunjukkan
oleh SP.
3. Penunjuk tumpukan (stack pointer) dikurangi satu lagi, SP - 1.
4. Data dalam register C disimpan dalam RAM yang ditunjukkan oleh
SP.
Extended Register Instructions (6)
▪ Beberapa hal yang dilakukan oleh prosesor pada saat
pengeksekusian instruksi POP :
1. Data yang ditunjukkan oleh SP pada RAM disalin ke register E.
2. Penunjuk tumpukan (stack pointer) ditambah satu, SP + 1.
3. Data yang ditunjukkan oleh SP pada RAM disalin ke register D.
4. Penunjuk tumpukan (stack pointer) ditambah satu lagi, SP + 1.
Extended Register Instructions (7)
▪ Contoh :

LXI SP, 3A6D H


LXI B, 7C03 H
LXI D, D190 H
PUSH B
PUSH D
POP B
POP D
Extended Register Instructions (8)
PUSH
▪ Contoh : PUSH B, PUSH D.
▪ Stack Pointer dikurangi 1, SP = SP – 1
▪ Data dalam register B disimpan ke
memori yang ditunjuk SP. 3A68H
▪ SP dikurangi 1 lagi, SP = SP – 1. 90 3A69H
▪ Data register C disimpan ke memori SP – 1
yang ditunjuk SP. D1 3A6AH
SP – 1
03 3A6BH
SP – 1
7C 3A6CH
SP – 1
7C 03 D1 90 3A6D 3A6DH
B C D E SP RAM
Extended Register Instructions (9)
POP
▪ Contoh : POP B, POP D.
▪ Data yg ditunjuk SP disalin ke
Register C.
▪ SP ditambah 1, SP = SP + 1.
RAM 3A68H ▪ Data yg ditunjuk SP disalin ke
Register B.
90 3A69H
3A69
SP + 1
▪ SP ditambah 1 lagi , SP = SP + 1.
D1 3A6AH
SP +1
03 3A6BH
SP + 1
7C 3A6CH
SP + 1
D1 90 7C 03
3A6DH B C D E
Extended Register Instructions (10)

LXI SP, 3A6D H


LXI B, 7C03 H
LXI D, D190 H
PUSH B
RAM 3A68H
PUSH D
90 3A69H
POP B
POP D D1 3A6AH

03 3A6BH

7C 3A6CH

7C 03 D1 90 3A6D D1 90 7C 03
B C D E SP 3A6DH B C D E
Latihan (1)
▪ Gambarkan mekanisme instruksi PUSH dan POP berikut
ini:

LXI SP, 20FF H


LXI B, 465C H
PUSH B
POP D
Latihan (2)
▪ Gambarkan mekanisme instruksi PUSH dan POP berikut
ini:

LXI SP, 20FF H


LXI B, 2216 H
LXI D, 1A2C H
PUSH B
PUSH D
POP H
POP B
Latihan (3)
▪ Gambarkan mekanisme instruksi PUSH dan POP berikut
ini:

LXI SP, 20FD H


LXI B, 465C H
LXI D, 2B3C H
LXI H, 4A5B H
PUSH H
PUSH D
PUSH B
POP D
POP H
POP B
Latihan SAP

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Latihan SAP-1
 Berikut adalah sebuah program dari komputer SAP-1.
Tentukan nilai akhir pada register Akumulator. Sertakan
gambar pada RAM !

LDA AH, EE H
ADD EH, 02 H
SUB 7H, 08 H
ADD CH, 09 H
OUT
HLT
Latihan SAP-2
 Berikut adalah sebuah program dari komputer SAP-2.
Tentukan nilai pada register Akumulator. Sertakan
gambar pada RAM !
MVI A, 26 H
MVI B, 25 H
MVI C, 24 H
ADD B
ORA C
CMA
RAL
ANI 0101 0111
XRI 0110 1110
RAR
HLT
Latihan SAP-3
 Berikut adalah sebuah program dari komputer SAP-3.
Gambarkan mekanisme instruksi PUSH dan POP berikut
ini:
LXI SP, 08F0 H
LXI B, 230E H
LXI D, 1101 H
LXI H, 1234 H
PUSH B
PUSH H
PUSH D
POP H
POP B
POP D
UTS

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Review UTS

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Soal SAP-1
 LDA AH, A5 H
ADD CH, B3 H
SUB DH, C7 H
ADD EH, D9 H
OUT
HLT
Soal SAP-2
 MVI A, 1A H
MVI B, 2B H
MVI C, 3C H
RAL
ANA B
ORA C
ANI 1010 1000
ORI 0010 1100
RAR
CMA
OUT
HLT
Soal SAP-3
 LXI SP, 08F0 H
LXI B, 12AB H
LXI D, 34CD H
LXI H, 56EF H
PUSH B
PUSH D
PUSH H
POP B
POP H
POP D
Arsitektur Set Instruksi

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Tujuan
▪ Memahami representasi set instruksi, dan jenis-jenis
format instruksi.
▪ Mengetahui jenis-jenis tipe operand yang digunakan.
▪ Macam-macam mode pengalamatan.
▪ Format instruksi.
▪ Memahami implementasi set instruksi.
Apa itu Set Instruksi ?
▪ Set Instruksi (instruction set) : Sekumpulan instruksi
lengkap yang dapat dimengerti oleh CPU.
▪ Disebut juga machine code (bahasa mesin), aslinya juga
berbentuk biner → bahasa assembly.
▪ Untuk konsumsi manusia (programmer), digunakan
representasi yang lebih mudah dimengerti → bahasa
yang dapat dimengerti oleh manusia.
Elemen-Elemen Instruksi
▪ Operation Code (Op Code)
– Kerjakan ini
▪ Source Operand Reference
– Terhadap isi alamat ini
▪ Result Operand Reference
– Letakkan hasilnya di alamat ini
▪ Next Instruction Reference
– Kalau sudah selesai, selanjutnya kerjakan alamat ini
Operand ?
▪ Main memory (or virtual memory or cache).
▪ CPU register
▪ I/O device
Penyajian Instruksi
▪ Pada bahasa mesin, setiap instruksi berbentuk pola bit
biner yang unik.
▪ Agar dimengerti oleh manusia dibuatlah representasi
simbolik instruksi, berupa singkatan (disebut Mnemonic).
– Contoh : LOAD, MOVE, ADD, SUB, MPY, DIV, STORE
▪ Sedangkan alamat operand direpresentasikan sebagai
berikut :
– Contoh : ADD A, B
Jenis Instruksi
▪ Data processing
Arithmetic (ADD, SUB, MPY, DIV), Logical (AND, OR, XOR),
konversi data.
▪ Data storage (main memory)
Transfer data (LOAD, MOVE, STORE).
▪ Data movement (I/O)
Input dan Output ke modul I/O.
▪ Program flow control
JUMP, HALT.
Instruksi 3 Alamat
▪ Bentuk umum : Operand 1, Operand 2, Result
▪ Satu alamat hasil, dua alamat operand.
▪ Contoh : SUB Y, A, B
▪ Bentuk algoritmik : Y = A – B
Arti : Kurangkan isi register A dengan isi register B,
kemudian simpan hasilnya di register Y.
▪ Bentuk ini tidak umum digunakan di komputer karena
mengoperasikan banyak register sekaligus.
▪ Program lebih pendek.
Instruksi 2 Alamat
▪ Bentuk umum : Salah satu sebagai operand dan result.
▪ Contoh : SUB Y, B
▪ Bentuk algoritmik : Y = Y – B
Arti : Kurangkan isi register Y dengan isi register B,
kemudian simpan hasilnya di register Y.
▪ Instruksi ini masih digunakan di komputer sekarang.
▪ Mengoperasikan lebih sedikit register, dan panjang
program tidak bertambah terlalu banyak.
Instruksi 1 Alamat
▪ Bentuk umum : Satu alamat operand, hasil disimpan di
Accumulator.
▪ Contoh : SUB B
▪ Bentuk algoritmik : AC = AC – B
Arti : Kurangkan isi Accumulator dengan isi register B,
kemudian simpan hasilnya di register accumulator.
▪ Bentuk ini digunakan di komputer zaman dulu.
▪ Hanya mengoperasikan satu register, tapi program
menjadi bertambah panjang.
Instruksi 0 Alamat
▪ Bentuk umum : Semua alamat operand implisit, disimpan
dalam bentuk stack.
▪ Operasi membutuhkan 2 operand, akan mengambil isi
stack paling atas dan dibawahnya.
▪ Contoh : SUB
▪ Bentuk algoritmik : S[top] = S[top-1] – S[top]
Arti : Kurangkan isi stack nomor 2 dari atas dengan isi
stack paling atas, kemudian simpan hasilnya di stack
paling atas.
▪ Instruksi khusus stack : PUSH dan POP.
Contoh Instruksi 3 Pengalamatan
▪ A, B, C, D, E = Operand; Y = Register.
▪ Program : Y = (A – B) / (C + D * E)
(1) SUB Y1, A, B Y1 = A – B
(2) MPY Y2, D, E Y2 = D * E
(3) ADD Y3, C, Y2 Y3 = C + Y2
(4) DIV Y, Y1, Y3 Y = Y1 / Y3
▪ Menggunakan 4 instruksi.
Contoh Instruksi 2 Pengalamatan
▪ A, B, C, D, E = Operand; Y = Register.
▪ Program : Y = (A – B) / (C + D * E)
(1) MOVE Y1, A Y1 = A
(2) SUB Y1, B Y1 = A – B
(3) MOVE Y2, D Y2 = D
(4) MPY Y2, E Y2 = D * E
(5) ADD Y3, C Y3 = C + Y2
(6) DIV Y, Y3 Y = Y1 / Y3
▪ Menggunakan 6 instruksi.
Contoh Instruksi 1 Pengalamatan
▪ A, B, C, D, E = Operand; Y = Register.
▪ Program : Y = (A – B) / (C + D * E)
(1) LOAD A AC = A
(2) SUB B AC = AC – B
(3) STORE Y1 Y1 = AC
(4) LOAD D AC = D
(5) MPY E AC = AC * E
(6) ADD C AC = C + AC
(7) DIV Y1 AC = Y1 / AC
(8) STORE Y Y = AC
▪ Menggunakan 8 instruksi.
Contoh Instruksi 0 Pengalamatan
▪ A, B, C, D, E = Operand; Y = Register.
▪ Program : Y = (A – B) / (C + D * E)
(1) PUSH A S[top] = A
(2) PUSH B S[top] = B
(3) SUB S[top] = A – B
(4) PUSH C S[top] = C
(5) PUSH D S[top] = D
(6) PUSH E S[top] = E
(7) MPY S[top] = D * E
(8) ADD S[top] = C + S[top]
(9) DIV S[top] = S[top] / S[top]
(10) POP Y Out = S[top]
▪ Menggunakan 10 instruksi.
Siklus Instruksi
▪ Terdapat 2 tahapan siklus, yaitu :
– FETCH
– EXECUTE.
Siklus FETCH
▪ Program Counter (PC) berisi address instruksi berikutnya
yang akan diambil.
▪ Processor mengambil instruksi dari memori pada lokasi
yang ditunjuk oleh PC.
▪ Naikkan PC
– Kecuali ada perintah tertentu
▪ Instruksi dimasukkan ke Instruction Register (IR).
▪ Processor meng-interpret dan melakukan tindakan yang
diperlukan.
Siklus EXECUTE
▪ Processor - Memory
– Transfer data antara CPU dengan main memory.
▪ Processor I/O
– Transfer data antara CPU dengan I/O module.
▪ Data Processing
– Operasi arithmetic dan logical pada data tertentu.
▪ Control
– Mengubah urutan operasi
– Contoh : Jump
▪ Kombinasi diatas.
Contoh Eksekusi Program
Kesimpulan
▪ Semakin banyak register yang diolah dalam satu instruksi
maka akan semakin lambat.
▪ Semakin banyak baris operasi untuk mengeksekusi
sebuah program maka juga semakin lambat.
▪ Oleh karena itu, CPU masa kini bisa dikatakan
menggunakan perpaduan dari beberapa format instruksi,
tergantung konteksnya.
Latihan (1)
▪ A, B, C, D, E = Operand; Y = Register.
▪ Program : Y = (A * B) – (C / D + E)
▪ Kerjakan dengan :
– Instruksi 3 Alamat.
– Instruksi 2 Alamat.
– Instruksi 1 Alamat.
Latihan (2)
▪ A, B, C, D, E, F = Operand; Y = Register.
▪ Program : Y = (A + B * C) / (D – E * F)
▪ Kerjakan dengan :
– Instruksi 3 Alamat.
– Instruksi 2 Alamat.
– Instruksi 1 Alamat.
Arsitektur Set Instruksi
& Memori Mapping

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
Soal Instruksi
▪ A, B, C, D, E, F, G = Operand; Y = Register.
▪ Program : Y = (A * B – C) + (D / E) * (F – G)
▪ Kerjakan dengan :
– Instruksi 3 Pengalamatan.
– Instruksi 2 Pengalamatan.
– Instruksi 1 Pengalamatan.
Instruksi 3 Pengalamatan
▪ A, B, C, D, E, F, G = Operand; Y = Register.
▪ Program : Y = (A * B – C) + (D / E) * (F – G)
(1) MPY Y1, A, B Y1 = A * B
(2) SUB Y2, Y1, C Y2 = Y1 – C
(3) DIV Y3, D, E Y3 = D / E
(4) SUB Y4, F, G Y4 = F – G
(5) MPY Y5, Y3, Y4 Y5 = Y3 * Y4
(6) ADD Y, Y2, Y5 Y = Y2 + Y5
Instruksi 2 Pengalamatan
▪ A, B, C, D, E, F, G = Operand; Y = Register.
▪ Program : Y = (A * B – C) + (D / E) * (F – G)
(1) MOVE Y1, A Y1 = A
(2) MPY Y1, B Y1 = A * B
(3) SUB Y2, C Y2 = Y1 – C
(4) MOVE Y3, D Y3 = D
(5) DIV Y3, E Y3 = D / E
(6) MOVE Y4, F Y4 = F
(7) SUB Y4, G Y4 = F – G
(8) MPY Y5, Y4 Y5 = Y3 * Y4
(9) ADD Y, Y5 Y = Y2 + Y5
Instruksi 1 Pengalamatan
▪ A, B, C, D, E, F, G = Operand; Y = Register.
▪ Program : Y = (A * B – C) + (D / E) * (F – G)
(1) LOAD A AC = A
(2) MPY B AC = AC * B
(3) SUB C AC = AC – C
(4) STORE Y1 Y1 = AC
(5) LOAD D AC = D
(6) DIV E AC = AC / E
(7) STORE Y2 Y2 = AC
(8) LOAD F AC = F
(9) SUB G AC = AC – G
(10) MPY Y2 AC = Y2 * AC
(11) ADD Y1 AC = Y1 + AC
(12) STORE Y Y = AC
Siklus Instruksi
▪ Terdapat 2 tahapan siklus, yaitu :
– FETCH
– EXECUTE.
Memori Mapping
Latihan (1)
RAM
Keterangan (1) :
Alamat Mnemonic
1040 = 10 instruksi, 40 operand (Step 1 & 2)
20 1040 5043 = 50 instruksi, 43 operand (Step 3 & 4)
21 5043 3042 = 30 instruksi, 42 operand (Step 5 & 6)
22 3042 2041 = 20 instruksi, 41 operand (Step 7 & 8)
23 2041
Keterangan (2) :
Data
10 = Load
40 0009
20 = Store
41 0000
30 = Sub
42 0006 50 = Add
43 0002
Jawaban Step 1 & 2

FETCH EXECUTE
Jawaban Step 3 & 4

FETCH EXECUTE
Jawaban Step 5 & 6

FETCH EXECUTE
Jawaban Step 7 & 8

FETCH EXECUTE
Latihan (2)
RAM
Keterangan (1) :
Alamat Mnemonic
1063 = 10 instruksi, 63 operand (Step 1 & 2)
30 1063 3061 = 30 instruksi, 61 operand (Step 3 & 4)
31 3061 5060 = 50 instruksi, 60 operand (Step 5 & 6)
32 5060 2062 = 20 instruksi, 62 operand (Step 7 & 8)
33 2062
Keterangan (2) :
Data
10 = Load
60 0002
20 = Store
61 0005
30 = Sub
62 0000 50 = Add
63 0012
Jawaban Step 1 & 2
FETCH EXECUTE
Jawaban Step 3 & 4
FETCH EXECUTE
Jawaban Step 5 & 6
FETCH EXECUTE
Jawaban Step 7 & 8
FETCH EXECUTE
Latihan (3)
RAM
Alamat Mnemonic
51 1081
52 5079
53 3080
54 2078
Data
78 0000
79 0018
80 0023
81 0055
Jawaban Step 1 & 2
FETCH EXECUTE
Jawaban Step 3 & 4
FETCH EXECUTE
Jawaban Step 5 & 6
FETCH EXECUTE
Jawaban Step 7 & 8
FETCH EXECUTE
Kuis 2

Abdul Syukur
abdulsyukur@eng.uir.ac.id
http://skurlinux.blogspot.com
085374051884
RAM
ALAMAT BINER HEXADESIMAL INSTRUKSI
0800 H
0801 H
0802 H
0803 H
0804 H
0805 H
0806 H
0807 H
0808 H
0809 H
080A H
080B H
080C H
080D H
080E H

Anda mungkin juga menyukai