Anda di halaman 1dari 12

JAWABAN UJIAN AKHIR SEMESTER

(Praktikum Arsitektur Sistem Komputer)

Disusun oleh :

Agus Komar

1803025001

TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH PROF. DR HAMKA

JAKARTA

2021
1. Untuk modul 1

a. Tujuan Percobaan :

setelah melakukan percobaan ini, mahasiswa diharapkan dapat


• Menggunakan CPU simulator untuk membuat set instruksi dari CPU
• Menggunakan simulator untuk mengeksekusi set instruksi CPU
• 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
• Menjelaskan fungsi dari register khusus yang ada pada CPU yaitu register PC, SR, dan
SP
• Menggunakan mode pengalamatan direct dan indirect untuk mengakses data yang ada
pada memory
• Membuat sebuah proses looping menggunakan set instruksi
• Menampilkan teks pada layar dengan menggunakan instruksi input output
• Membuat sebuah subrutin, memanggil sebuah subrutin, dan kembali ke program
utama
Membuat set instruksi kondisional (compare dan jump)
b. Membuat sebuah program baru menggunakan base address 100, lalu masukkan set
instruksi dengan urutan sebagai berikut:
Maka akan menghasilkan data seperti dibawah ini :
Analisa :

CPU berjalan selama 58 detik, nilai R00 tetap sementara R01-R05 berubah-ubah, nilai BR
tetap 100, SR berubah-ubah, SP tetap dan PC berubah-ubah nilainya, nilai MAR terus
meningkat. Status flag berubah pada perintah SUB,JNE, dan JNT

Pada perintah pertama program memberikan nilai untuk R01 = 48 dan diperintah kedua
memberikan nilai R02 = 20. Lalu program akan melakukan looping dari STB R01,@R02
menuju SUB #1,R02 lalu kembali ke STB R01,@R02 begitu seterusnya hingga nilai R01
terpenuhi yaitu 57 setelah terpenuhi maka program akan berjalan lanjut ke perintah
selanjutnya program memberikan nilai R03 = 20 dan R04 = 80 setelah memberikan nilai
program berjaln lagi ke perintah selanjutnya yaitu memenuhi nilai dari R03, dengan cara
looping kembali dari RBD @R03,R05 menuju SUB #1, R04. Setelah program terpenuhi
maka program akan menuju HLT untuk mengakhiri program.

2. Untuk modul 2

A. Tujuan percobaan :

setelah melakukan percobaan ini, diharapkan mahasiswa dapat

a) Menjelaskan prinsip kerja Compiler secara umum

b) Menjelaskan tentang interrupt vectors dan bagaimana penggunaannya

c) Menjelaskan tentang dua metode utama dalam I/O interrupt handling dan
perbedaannya

B. percobaaan (buat kode seperti dibawah)


Lalu amati compiler progress

Setelah saya amati compiler progress, maka saya berkesimpulan. Prinsip kerja compiler
adalah : Compiler adalah program yang menerjemahkan kode sumber untuk program lain dari
bahasa pemrograman menjadi kode yang dapat dieksekusi. Singkatnya, compiler mengubah
program dari format yang bisa dibaca manusia menjadi format yang bisa dibaca mesin.

Detailnya, langkah kerja kompiler :

a. Lexing - memecah teks program menjadi "token". Token adalah "kata" dari bahasa
pemrograman, seperti pengidentifikasi (kata kunci, nama variabel, nama fungsi, dll.)
Atau operator (=, *, &, dll.).

b. Parsing - mengonversi urutan token menjadi pohon parse, yang merupakan struktur
data yang mewakili berbagai konstruksi bahasa: deklarasi tipe, deklarasi variabel,
definisi fungsi, loop, conditional, ekspresi, dll.

c. Optimasi - mengevaluasi ekspresi konstan, mengoptimalkan variabel yang tidak


digunakan atau kode yang tidak dapat dijangkau, membuka gulungan jika
memungkinkan, dll.

d. Terjemahkan pohon parse ke dalam instruksi mesin (atau kode byte JVM).

Percobaan kedua, klik tombol Symbol Table. amati dan berikan kesimpulan
terhadap apa yang ditampilkan dari Symbol Table tersebut !
Kesimpulan saya :
Pada table diatas dapat diketahui bahwa variabel name N dan I itu bertype
integer dan dapat diketahui juga nilai dari masing masing variabel, pada tabel diatas
dikertahui nilai N = 3 dan nilai I = 1.

Mov, RO3 menyalin nilai ketempat yang dituju

CMP = membandingkan nilai

JGT = lompat menuju nilai yang dinginkan

ADD = menambahkan nilai

JNE = lompat nilai yang kita inginkan

HLT = stop program


3. Untuk modul 3

Tujuan Praktikum :
setelah melakukan percobaan ini, diharapkan mahasiswa dapat :

a) Menjelaskan tentang Direct Mapping pada cache

b) Menjelaskan tentang cache hit dan miss

c) Menjelaskan tentang 2-way-Set-Associative dan 4-way-Set-Associative pada cache

d) Menjelaskan pengaruh cache size dan bentuk mapping

Direct Mapping (cache size mulai dari 16 sampai dengan 256)

Direct Mapping (cache size mulai dari 16 sampai dengan 256)

16 32 64 128 256
043 024 006 006 006

Analisa : Pada Direct Mapping cache size mengalami penurunan dari size 16 sampai 64 namun pada
size 64 sampai 256 tetap sehingga digambarkan pada grafik diatas

2-way Set Associative Mapping (cache size mulai dari 16 sampai dengan 256)
16 32 64 128 256
038 014 006 006 006

Analisa : Pada Direct Mapping cache size mengalami penurunan dari size 16 sampai 64 namun pada
size 64 sampai 256 tetap sehingga digambarkan pada grafik diatas

4-way Set Associative Mapping (cache size mulai dari 16 sampai dengan 256)

16 32 64 128 256
016 010 006 003 006

Analisa : Pada Direct Mapping cache size mengalami penurunan dari size 16 sampai 64 namun pada
size 64 sampai 256 tetap sehingga digambarkan pada grafik diatas

8-way Set Associative Mapping (cache size mulai dari 32 sampai dengan 128)
32 64 128
010 006 006

Analisa : Pada Direct Mapping cache size mengalami penurunan dari size 32 sampai 64 namun pada
size 64 sampai 128 tetap sehingga digambarkan pada grafik diatas

Pada keempat model percobaan cache dengan size 64-256 memiliki nilai yang sama yaitu 006 dan
grafik yg dihasilkan juga sama yaitu menurun dan kosntan.

Kesimpulan :

pada praktikum kali ini program yang saya buat berjalan dengan baik tidak

ada kendala sama sekali namun pada proses run mengkin lebih lama dan agak leg dan data

yg saya dapatkan seperti diatas.

Anda mungkin juga menyukai