buku panduan praktikum arsitektur dan organisasi komputer
TRANSCRIPT
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
1
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
2
BUKU PANDUAN PRAKTIKUM
ARSITEKTUR ORGANISASI
KOMPUTER LANJUT
Tim Penyusun :
Laboratorium Sistem Komputer dan Robotika
LABORATORIUM SISTEM KOMPUTER DAN ROBOTIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
3
BAB I
PENGENALAN TERHADAP CPU SIMULATOR, SET INSTRUKSI, REGISTER, PROGRAM STACK, RAM
1. Tujuan percobaan: setelah melakukan percobaan ini, mahasiswa diharapkan dapat
a) Menggunakan CPU simulator untuk membuat set instruksi dari CPU
b) Menggunakan simulator untuk mengeksekusi set instruksi CPU
c) Menggunakan set instruksi CPU untuk memindah data dari register, membandingkan nilai data
yang ada pada register-register, menaruh data ke dalam stack, mengambil data dari dalam
stack, menuju ke suatu lokasi alamat tertentu, melakukan operasi tambah pada data yang ada
dalam suatu register
d) Menjelaskan fungsi dari register khusus yang ada pada CPU yaitu register PC, SR, dan SP
e) Menggunakan mode pengalamatan direct dan indirect untuk mengakses data yang ada pada
memory
f) Membuat sebuah proses looping menggunakan set instruksi
g) Menampilkan teks pada layar dengan menggunakan instruksi input output
h) Membuat sebuah subrutin, memanggil sebuah subrutin, dan kembali ke program utama
i) Membuat set instruksi kondisional (compare dan jump)
2. Dasar teori:
a) CPU simulator: praktikum ini bertujuan agar mahasiswa dapat memahami secara lebih baik
tentang materi arsitektur komputer. Dalam pelaksanaannya, digunakan sebuah program
aplikasi berupa simulator yang bekerja pada sebuah komputer dengan sistem operasi
Windows yaitu YASMIN: CPU-OS simulator versi 7.5.50 dari Besim Mustafa, Edge Hill
University, Inggris dengan hak cipta 2006-2013. Simulator ini merepresentasikan secara visual
tentang mekanisme-mekanisme yang terjadi dalam sebuah arsitektur komputer sehingga
mahasiswa dapat mengamati apa yang sebenarnya terjadi dalam sebuah komputer saat
melakukan suatu pekerjaan tertentu. Selain itu simulator amat sangat membantu karena
mahasiswa tidak perlu melakukan proses install dan konfigurasi tertentu pada sistem yang
nyata.
Pemrograman pada arsitektur komputer melibatkan pemrograman tingkat rendah (low level
programming) yaitu:
b) Set instruksi
c) Register
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
4
d) Mode pengalamatan set instruksi
Ketiga hal di atas saling berinteraksi sehingga memungkinkan komputer untuk dapat melakukan proses
komputasi.
3. Fitur-fitur CPU simulator: pada bagian ini akan dijelaskan secara umum bagaimana menggunakan
dan memanfaatkan fitur-fitur yang ada pada CPU simulator ini. Tampilan utama dari CPU-OS
Simulator tampak seperti pada gambar berikut:
Gambar 1. Layar tampilan utama dari CPU-OS simulator
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
5
Tampilan utama dari simulator ini terdiri dari:
a) CPU Instruction Memory
Gambar 2. Layar tampilan CPU Instruction Memory
Tampilan ini berisi kumpulan set instruksi yang ada pada sebuah program. Intruksi berupa urutan
proses yang dilakukan oleh prosesor komputer dalam bentuk bahasa assembly dan bukan dalam
bentuk kode biner. Hal ini bertujuan untuk lebih memudahkan dalam membaca kode. Setiap instruksi
berhubungan dengan dua macam alamat, yaitu Physical Address (PAdd) dan Logical Address (Ladd).
Pada tampilan ini juga ditampilkan Base Address (Base). Sebuah urutan set instruksi yang ada pada
sebuah program yang sama, akan memiliki nilai Base Address yang sama pula.
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
6
b) Special CPU Registers
Gambar 3. Layar tampilan Special CPU Registers
Tampilan ini menunjukkan kumpulan register pada CPU yang memiliki fungsi khusus yaitu:
Program Counter (PC): berisi alamat berikutnya dari set instruksi yang akan dieksekusi
Instruction Register (IR): berisi set instruksi yang sedang dieksekusi
Status Register (SR): berisi informasi tentang hasil yang didapat dari eksekusi set instruksi yang
sebelumnya
Stack Pointer (SP): register yang menunjuk kepada nilai yang ada di bagian paling atas sendiri
dari Program Stack
Base Register (BR): berisi Base Address yang digunakan saat itu
Memory Address Register ( MAR): berisi alamat memori yang sedang diakses saat itu
Status Flags yang terdiri dari Overflow (OV), Zero (Z), dan Negative (N).
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
7
c) CPU (General Purpose) Registers
Gambar 4. Layar tampilan CPU Register
Tampilan ini menunjukkan nama masing-masing General Purpose Register (Reg) yang ada dalam CPU
dan nilai data yang ada dalam register-register tersebut (Val). Register adalah sekumpulan memori
yang sangat cepat dan digunakan untuk menyimpan data saat CPU mengeksekusi sekumpulan set
instruksi. Register-register ini jugalah yang sebenarnya menyimpan nilai-nilai variabel yang
didefinisikan dalam sebuah pemrograman bahasa tingkat tinggi (High Level Language Programming).
Tidak semua arsitektur komputer memiliki jumlah register yang sama (ada yang 16, 32, 64, dan lain-
lain). Namun fungsi dari register tetap sama.
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
8
Untuk merubah nilai data yang ada pada sebuah register dalam simulator ini, pilihlah dahulu register
mana yang ingin dirubah nilai datanya, lalu masukkan nilai data baru yang diinginkan pada text box
Reg Value dan klik tombol change pada tab register.
d) Program Stack
Gambar 5. Layar tampilan Program Stack
Program Stack adalah sebuah daerah yang digunakan juga untuk menyimpan nilai data sementara
yang timbul seiring dengan dilakukannya proses eksekusi kumpulan set instruksi oleh CPU. Struktur
data yang digunakan oleh Program Stack menggunakan LIFO (Last In First Out). Program Stack ini
digunakan untuk lebih mengefisienkan proses penanganan dan pemanggilan subrutin. Setiap program
mempunyai Program Stack-nya sendiri. Set instruksi PUSH dan POP digunakan untuk menyimpan
ataupun mengambil nilai data ke dalam dan ke luar dari daerah Program Stack.
e) Program List
Gambar 6. Layar tampilan Program List
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
9
Gunakan tombol REMOVE PROGRAM untuk menghilangkan sebuah program dari daftar dan gunakan
tombol REMOVE ALL PROGRAMS jika ingin menghilangkan semua program yang ada pada daftar. Jika
sebuah program dihilangkan, maka semua set instruksi-nya juga akan hilang dari layar tampilan CPU
Instruction Memory.
f) Program Creation
Gambar 7. Layar tampilan Program Creation
Untuk membuat sebuah program baru, isilah nama program pada text box Program Name dan nilai
Base Addressnya, lalu klik tombol ADD. Nama program akan tampil pada layar tampilan Program List.
g) Add Program Instruction Tab
Gambar 8. Layar tampilan Add Program Instruction Tab
Klik tombol Add New untuk menambah set instruksi baru, klik tombol Edit untuk merubah sebuah set
instruksi, gunakan Move Up dan Move Down untuk menggeser-geser urutan set instruksi dan klik
tombol Insert Above dan Insert Below jika ingin menyisipkan sebuah set instruksi.
Praktikum Arsitektur Organisasi Komputer Lanjut
Laboratorium Sistem Komputer dan Robotika
Fakultas Ilmu Komputer – Universitas Brawijaya
10
h) Program Data Memory
Gambar 9. Layar tampilan Program Data Memory
Set instruksi yang mengakses daerah pada memory yang berisi data dapat melakukan proses tulis dan
baca pada nilai data yang ada pada suatu lokasi alamat tertentu. Data-data ini dapat dilihat seperti
pada gambar 9 di atas. Untuk menampilkan tampilan Program Data Memory tersebut, klik tombol
Show Program Data Memory yang ada seperti pada gambar 6. Kolom Ladd menampilkan nilai alamat
awal pada setiap baris alamat yang ada. Setiap baris menampilkan data 8 byte yang direpresentasikan
mulai dari kolom B0 sampai dengan B7. Kolom Data menampilkan karakter yang ditampilkan pada
output komputer sesuai dengan nilai data yang ada pada B0 sampai dengan B7 (kode ASCII).
Sedangkan untuk nilai data yang tidak memiliki karakter yang dapat ditampilkan akan
direpresentasikan dalam bentuk titik/dot (.). Nilai data yang ada ditampilkan dalam bentuk nilai
heksanya. Pada contoh di atas, dapat dilihat bahwa ada data di lokasi alamat 19 dan 37 yang berkaitan
dengan karakter huruf kapital A dan B.
Untuk merubah nilai data pada suatu alamat tertentu, pertama pilih dahulu lokasi baris alamat dari
data yang ingin dirubah, lalu isilah informasi pada Initialize Data untuk memodifikasi nilai byte dalam