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 %
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
Input
Output Main
Equipment Memory
Accumulator MQ
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
4 4
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
4
CLK
Pengendali CLK
Pengurut CLR
CLR
12
Cp Ep LM CE LI EI L A EA SU EU L B L O
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)
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)
(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
LM Register Masukan
CLK dan MAR
4 4
Pemrograman SAP-1 (5)
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
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
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
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
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
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
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:
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