Praktikum Arsitektur Organisasi Komputer Lanjut Laboratorium Sistem Komputer dan Robotika

Ukuran: px
Mulai penontonan dengan halaman:

Download "Praktikum Arsitektur Organisasi Komputer Lanjut Laboratorium Sistem Komputer dan Robotika"

Transkripsi

1 Praktikum Arsitektur Organisasi Komputer Lanjut 1

2 BUKU PANDUAN PRAKTIKUM ARSITEKTUR ORGANISASI KOMPUTER LANJUT Tim Penyusun : LABORATORIUM SISTEM KOMPUTER DAN ROBOTIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA 2

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 dari Besim Mustafa, Edge Hill University, Inggris dengan hak cipta 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 3

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 4

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. 5

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). 6

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 lainlain). Namun fungsi dari register tetap sama. 7

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 8

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. 9

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 10

11 bentuk Integer, Boolean, atau String sesuai dengan yang diinginkan, kemudian klik tombol Update untuk melakukan perubahan. i) IO Console Gambar 10. Layar Tampilan IO Console Layar tampilan Console seperti pada gambar 10 di atas digunakan dalam program untuk melakukan baik membaca data yang diinputkan dari luar maupun untuk menampilkan data yang ada pada memori ke layar sebagai output. Layar tampilan IO Console di atas dapat ditampilkan dengan cara mengklik tombol Input Output seperti yang ada pada gambar 1. Jika mengklik tombol Show Keyboard seperti yang ada pada gambar 10 di atas, maka akan ditampilkan layar keyboard kecil yang dapat dipakai untuk meng-input-kan data ke dalam CPU. 11

12 4. Prosedur Percobaan: 4.1. Buat sebuah program baru menggunakan base address 100, lalu masukkan set instruksi dengan urutan sebagai berikut: MOV #5, R00 MOV #8, R00 ADD R00, R01 PSH R01 PSH R00 CMP R00, R01 JMP 0 POP R02 POP R03 CMP R04, R05 JEQ 0 Jalankan program di atas dengan cara mengeksekusi tiap-tiap set instruksi! (klik tombol Step untuk setiap set instruksi pada Program Control Tab seperti pada gambar 1 di atas) Amati apa yang terjadi setiap Step-nya pada setiap register yang ada pada CPU-OS simulator baik itu general purpose register maupun special CPU register lalu berikan kesimpulan anda! STEP R00 R01 R02 R03 R04 R05 PC SR SP BR Status Flag IR MAR MDR 12

13 4.2. Buat sebuah program baru menggunakan base address 100. Buka layar tampilan Program Data Memory seperti pada gambar 9 di atas, masukkan data String pada baris alamat yang dimulai dari Ladd 24 dengan nama anda, lalu masukkan set instruksi dengan urutan sebagai berikut: (catatan: simbol L0, L1, dan L2 adalah simbol label pada set instruksi yang biasanya digunakan untuk mempermudah proses pemanggilan subrutin. Label dapat dibuat dengan cara mengklik tombol Add New pada Instruction Tab seperti pada gambar 1 di atas, lalu mengklik tombol New Label pada tampilan berikutnya dan mengisi nama label yang diinginkan. Sedangkan untuk adalah menandakan bahwa mode pengalamatan yang digunakan adalah mode pengalamatan indirect. Mode pengalamatan indirect ini dapat digunakan dengan mengklik pilihan direct atau indirect yang ada pada tampilan saat kita ingin memasukkan sebuah set instruksi seperti saat setelah kita mengklik tombol Add New pada Intruction Tab pada gambar 1 di atas.) MSF PSH #8 CAL $L2 HLT L2: POP R02 PSH #1 POP R01 MOV #0, R01 MOV #24, R00 L0: ADD #1, R01 MSF CAL $L1 CMP R02,R01 JNE $L0 RET L1: 0 RET 13

14 Jalankan program di atas dengan cara mengatur lebih dahulu kecepatan simulator sedemikian rupa sehingga simulasi mudah diamati lalu klik tombol Run pada Program Control Tab seperti yang ada pada gambar 1 di atas! Amati apa yang terjadi pada setiap register yang ada pada CPU-OS simulator baik itu general purpose register maupun special CPU register, amati juga tampilan yang ada pada IO Console seperti pada gambar 10 di atas, lalu berikan kesimpulan anda! 4.3. Buat sebuah program baru menggunakan base address 100, lalu masukkan set instruksi dengan urutan sebagai berikut: MOV #48, R01 MOV #20, R02 L0: STB ADD #1, R01 ADD #1, R02 CMP #57, R01 JNE $L0 SUB #1, R02 MOV #20, R03 MOV #80, R04 L1: R05 ADD #1, R03 STB ADD #1, R04 CMP #29, R03 JNE $L1 SUB #1, R04 HLT 14

15 Jalankan program di atas dengan cara mengatur lebih dahulu kecepatan simulator sedemikian rupa sehingga simulasi mudah diamati lalu klik tombol Run pada Program Control Tab seperti yang ada pada gambar 1 di atas! Amati apa yang terjadi pada setiap register yang ada pada CPU-OS simulator baik itu general purpose register maupun special CPU register, amati juga nilai data yang ada pada Program Data Memory seperti pada gambar 9 di atas, lalu berikan kesimpulan anda! 15

16 BAB II COMPILER DAN INPUT OUTPUT INTERRUPT 1. 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 2. Dasar teori: Compiler adalah alat rekayasa perangkat lunak untuk menghasilkan kode biner yang dapat dieksekusi dari bahasa pemrograman tingkat tinggi. Proses kompilasi berlangsung dalam tiga tahap: Tokenising, Parsing, dan Code Generation. Compiler yang baik sering menghasilkan kode yang sangat optimal untuk mengurangi ukuran dari kode biner atau mempercepat eksekusi kode yang dihasilkan. Akibatnya mengoptimalkan compiler secara langsung dapat memberikan kontribusi terhadap peningkatan kinerja CPU. Sistem komputer menggunakan mekanisme interrupt sebagai sarana untuk merespon terhadap kejadian-kejadian external misalnya operasi yang meliputi input dan output. CPU secara sesaat terinterupsi sebelum mengeksekusi set instruksi berikutnya dan dipaksa untuk mengeksekusi set instruksi yang ada pada bagian interrupt handler. Setelah proses interrupt handling selesai dilakukan, CPU akan kembali untuk mengeksekusi set instruksi sebelumnya di mana dia terinterupsi. Bagian dari memori yaitu Program Stack dalam hal ini dipakai untuk menyimpan keadaan CPU sesaat sebelum dia melakukan proses interrupt handling yaitu nilainilai data yang tersimpan pada register dan nilai alamat memori yang merupakan lokasi set instruksi berikutnya (di mana dia terinterupsi) yang harus dia lakukan setelah proses interrupt handling selesai. 3. Fitur-fitur CPU simulator: pada CPU-OS Simulator, terdapat fitur compiler. Dengan fitur ini, pemakai simulator lebih mudah membuat program-program tidak lagi menggunakan set instruksi (bahasa assembly), tapi menggunakan bahasa pemrograman yang lebih tinggi (mirip bahasa C atau Pascal). Untuk menggunakan fitur ini, klik tombol compiler yang ada pada tampilan utama CPU-OS Simulator seperti pada gambar 1. Berikutnya akan tampil tampilan seperti pada gambar berikut ini 16

17 Gambar 11. Layar tampilan Compiler Window Pada tampilan tersebut, terdapat layar Program Source (Input) tempat kita mengetikkan kode program. Sedangkan layar Program Code (Output) adalah tempat menampilkan hasil compile dari kode program (klik tombol Compile pada Compile Tab yang ada seperti pada gambar 11 di atas). Setelah proses compile selesai dilakukan, compiler akan mengubah kode program ke dalam bahasa mesin yaitu yang dapat dilihat pada bagian kolom Binary Code. Kolom CPU Instruction merupakan hasil terjemahan terhadap kode mesin ke bentuk set instruksi. Kolom Ladd merupakan kolom tempat kita dapat melihat lokasi alamat memori untuk tiap set instruksi yang dihasilkan dari bahasa mesinnya. Untuk membuat agar program yang sudah dibuat bisa dijalankan, maka setelah melakukan proses compile, klik tombol Load In Memory yang ada pada Assembly Code Tab seperti yang ada pada gambar 11 di atas. Hal itu akan menyebabkan kumpulan set instruksi yang dihasilkan bahasa mesin akan masuk ke dalam CPU Instruction Memory seperti yang ada pada gambar 2 sehingga program siap disimulasikan. Selain fitur Compiler tersebut, ada juga fitur Interrupt yang dapat diakses dengan mengklik tombol Interrupt pada layar tampilan utama seperti pada gambar 1. Berikutnya akan muncul tampilan seperti berikut 17

18 Gambar 12. Layar tampilan Interrupt Window Pada tampilan Interrupt seperti pada gambar 12 di atas, terdapat tombol Trigger di tiap interrupt yang berkaitan (INT 1, INT 2, INT 3, INT 4, INT 5, INT 6). Tombol Trigger tersebut dapat diklik untuk melakukan proses interrupt sesuai dengan interrupt mana yang diinginkan. 18

19 4. Prosedur percobaan: 4.1. Pada layar Compiler (seperti pada gambar 11), buat program berikut ini program Ex1 n = 5 for i = 1 to 6 n = n + 1 if n = 3 then n = 0 end if next end Lakukan proses Compile dengan mengklik tombol Compile pada layar Compiler (gambar 11). Amati apa yang muncul pada tampilan Compiler Progress! Dari hasil pengamatan anda, berikan kesimpulan bagaimana prinsip kerja Compiler secara umum! Sekarang klik tombol Symbol Table, amati dan berikan kesimpulan anda terhadap apa yang ditampilkan dari Symbol Table tersebut! Sekarang amati tampilan yang muncul pada Program Code (Output)! Berikan kesimpulan anda terhadap apa yang anda amati! (arti angka-angka dan tulisan yang tertampilkan di sana) 19

20 4.2. Pada layar Compiler (seperti pada gambar 11), buat program berikut ini kemudian lakukan proses Compile dan Load In Memory program Vectors sub IntVect1 intr 1 writeln("this is intr 1") end sub sub IntVect2 intr 2 end sub writeln("this is intr 2") sub IntVect5 intr 5 end sub writeln("this is intr 5") end while true wend Amati lokasi subrutin dari IntVect 1, IntVect 2, dan IntVect 5! Run program, buka tampilan layar Console Window (gambar 10) dan layar Interrupt Window (gambar 12). Saat program sedang berjalan, tekan tombol Trigger pada layar Interrupt Window sesuai dengan interrupt yang berkaitan lalu perhatikan tampilan yang muncul pada layar Console Window. Amati dan berikan kesimpulan anda! 20

21 4.3. Pada layar Compiler (seperti pada gambar 11), buat program berikut ini kemudian lakukan proses Compile dan Load In Memory program PolledInt var v integer v = 0 writeln("program Starting") while true read(nowait, v) for i = 1 to 100 if v > 0 then break * end if write(".") next wend writeln("program Ending") end Lakukan proses Compile dan Load In Memory lalu Run program tersebut! Tampilkan layar Console Window dan Show Keyboard pada layar Console tersebut. Saat Program sedang berjalan dan tampil pesan Program Starting pada layar Console Window, ketik sembarang karakter pada keyboard dan tunggu program selesai. Amati apa yang terjadi! Kembali buka layar Compiler Window lalu buat program berikut ini program VectoredInt var v integer sub InputInt intr 1 end sub read(nowait, v) v = 0 writeln("program Starting") 21

22 end while true for i = 1 to 100 if v > 0 then break * end if write(".") next wend writeln("program Ending") Lakukan proses Compile dan Load In Memory lalu Run program tersebut! Tampilkan layar Console Window dan Show Keyboard pada layar Console tersebut. Saat Program sedang berjalan dan tampil pesan Program Starting pada layar Console Window, ketik sembarang karakter pada keyboard dan tunggu program selesai. Amati apa yang terjadi! Berdasarkan pengamatan anda, berikan kesimpulan tentang cara kerja dua metode tersebut, jelaskan perbedaannya, sertakan juga kekurangan, dan kelebihannya! 22

23 BAB III CACHE 1. Tujuan percobaan: 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 2. Dasar teori: umumnya, memori yang lebih murah bersifat lebih lambat dari pada memori yang lebih mahal, kecuali terhadap CPU yang paling lambat. Kinerja sistem akan terganggu apabila peralatan yang cepat harus menunggu sistem memori mengakses data. Peralatan tersebut bisa berupa peralatan I/O atau CPU, dan sistem memori bisa berupa memori utama atau peralatan eksternal. Karena pemakai komputer nampaknya selalu menginginkan memori yang lebih besar, maka para perancang komputer harus secara seksama mempertimbangkan keseimbangan daya jual antara biaya memori dan kinerjanya. Salah satu cara untuk mengurangi degradasi kinerja yang diakibatkan oleh memori yang lambat adalah dengan menggabungkan memori cache ke dalam sistem. Memori cache adalah buffer kecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama. Dengan memasukkan memori cache antara peralatan cepat dan sistem memori yang lebih lambat, perancang dapat memberikan sistem memori yang cepat. 3. Fitur-fitur CPU simulator: CPU-OS Simulator memiliki Data Cache Simulator. Untuk mengaksesnya, klik tombol Show Cache yang ada pada Cache-Pipeline Tab di layar tampilan utama CPU-OS Simulator seperti pada gambar

24 Gambar 13. Layar tampilan Data Cache Window Pada layar tampilan Data Cache Window tersebut, terdapat block size, chace type, Set Blocks, dan chace size yang dapat dipilih berdasarkan jenis dan kapasitas yang diinginkan. Untuk tampilannya dapat dilihat dalam bentuk grafik, chace stats, dan layar cache data. 24

25 4. Prosedur percobaan: 4.1. Buat sebuah program seperti berikut MOV #0, R01 STB CMP #63, R01 JEQ 31 ADD #1, R01 JMP 6 HLT Program di atas menulis data angka dari 0 sampai dengan 63 pada lokasi alamat memori 0 sampai dengan 63. Jalankan program tersebut dan amati pada layar Program Data Memory seperti pada gambar 9! Klik tombol Show Cache sehingga keluar tampilan seperti pada gambar 13, lalu bersihkan dengan mengklik tombol Flush. Konfigurasi ulang cache dengan spesifikasi: Block Size = 4, Cache Type = Direct Mapped, Cache Size = 16, Write Policy = Write- Back. Kemudian sisipkan kode berikut di bawah set instruksi JMP 6: LDB 0, R00 LDB 1, R00 LDB 2, R00 LDB 3, R00 Eksekusi set instruksi di atas dengan cara mengklik tombol Step yang ada pada tampilan utama seperti pada gambar 1. Amati dan isi tabel di bawah ini! Address Data Hits Block Hits % Hits Misses % Misses Masukkan set instruksi berikut di bawah set instruksi LDB 3, R00 25

26 LDB 4, R00 Eksekusi set instruksi tersebut dengan mengklik tombol Step, amati isi data pada layar Program Data Memory lalu isi tabel berikut Address Data Block Dari hasil pengamatan anda, buatlah kesimpulannya! 4.2. Bersihkan cache dengan mengklik tombol Flush pada layar Data Cache. Lalu masukkan set instruksi berikut di bawah set instruksi terakhir LDB 16, R00 LDB 32, R00 Eksekusilah hanya 3 set instruksi berikut dengan cara klik set instruksi yang ingin dijalankan lalu klik tombol Step yang ada pada layar tampilan utama seperti pada gambar 1. LDB 0, R00 LDB 16, R00 LDB 32, R00 Ulangi langkah di atas dua kali, amati apa yang terjadi lalu isilah tabel di bawah ini Address Data Hits Block Hits % Hits Misses % Misses Dari hasil pengamatan anda, berikan kesimpulannya! 26

27 4.3. Konfigurasi cache dengan spesifikasi: Block Size = 4, Cache Type = Set Associative, Cache Size = 16, Set Blocks = 2-way, Write Policy = Write-Back. Sisipkan set instruksi berikut di bawah set instruksi LDB 4, R00: LDB 8, R00 LDB 12, R00 Eksekusi set instruksi dengan urutan sebagai berikut satu persatu (dengan menekan tombol Step): LDB 0, R00 LDB 4, R00 LDB 8, R00 LDB 12, R00 Amati lalu isilah tabel berikut: Address Set Block Konfigurasi ulang cache dengan merubah Set Blocks-nya menjadi 4-way. Eksekusi set instruksi dengan urutan sebagai berikut: LDB 0, R00 LDB 4, R00 LDB 8, R00 LDB 12, R00 Amati, lalu isi tabel berikut: Address Set Block Bersihkan cache dengan mengklik tombol Flush pada layar Data Cache. Dari program tersebut, eksekusi hanya dua set instruksi berikut satu persatu: LDB 0, R00 LDB 16, R00 27

28 Ulangi langkah di atas tiga kali, amati, lalu isi tabel berikut: Address Data Hits Hits % Hits Misses % Misses Dari hasil pengamatan anda, berikan kesimpulannya! 4.4. Buka layar Compiler seperti pada gambar 11. Buat program seperti di bawah, lakukan proses Compile, kemudian Load In Memory program CacheTest var a array(50) byte i = 49 for n = 0 to 49 p = a(n) + a(i) i = i - 1 next end Pastikan pilihan Charts pada layar Data Cache (seperti pada gambar 13) aktif. Pilih parameter cache yang sesuai, jalankan program, amati lalu isilah tabel berikut (pastikan sebelum menjalankan program dengan spesifikasi baru, anda menekan tombol dahulu tombol Reset Program pada layar tampilan utama simulator seperti pada gambar 1 dan Write Policy pada layar Data Cache seperti pada gambar 11 adalah Write-Back): Direct Mapping (cache size mulai dari 16 sampai dengan 256)

29 2-way Set Associative Mapping (cache size mulai dari 16 sampai dengan 256) way Set Associative Mapping (cache size mulai dari 16 sampai dengan 256) way Set Associative Mapping (cache size mulai dari 32 sampai dengan 128) Dari hasil pengamatan anda, berikan kesimpulannya! 29

30 BAB IV PROCESS STATES DAN MEMORY MANAGEMENT 1. Tujuan percobaan: setelah melakukan percobaan ini, diharapkan mahasiswa dapat a) Menjelaskan tentang tiga state processes dalam komputer b) Menjelaskan tentang transisi yang terjadi antara state processes dalam komputer c) Menjelaskan tentang dua kejadian yang dapat menyebabkan suatu proses berubah keadaan dari waiting state-nya d) Menjelaskan tentang tiga placement methods yang digunakan dalam manajemen memori e) Menjelaskan tentang virtual memori 2. Dasar teori: Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini: New: Proses sedang dikerjakan/ dibuat. Running: Instruksi sedang dikerjakan. Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/ signal). Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor. Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi. Nama-nama tersebut adalah arbitrer/ berdasar opini, istilah tersebut bervariasi disepanjang sistem operasi. Keadaan yang mereka gambarkan ditemukan pada seluruh sistem. Namun, sistem operasi tertentu juga lebih baik menggambarkan keadaan/ status proses. Adalah penting untuk menyadari bahwa hanya satu proses dapat berjalan pada prosesor mana pun pada waktu kapan pun. Namun, banyak proses yang dapat ready atau waiting. Sebuah proses membutuhkan memori untuk dieksekusi. Sebuah proses dapat ditukar sementara keluar memori ke backing store (disk), dan kemudian dibawa masuk lagi ke memori untuk dieksekusi. Sebagai contoh, asumsi multiprogramming, dengan penjadualan algoritma CPU Round-Robin. Ketika kuantum habis, manager memori akan mulai menukar keluar proses yang selesai, dan memasukkan ke memori proses yang bebas. Sementara penjadualan CPU akan mangalokasikan waktu untuk proses lain di memori. Ketika tiap proses menghabiskan waktu kuantumnya, proses akan ditukar dengan proses lain. Idealnya memori manager, dapat

31 menukar proses-proses cukup cepat, sehingga selalu ada proses di memori, siap dieksekusi, ketika penjadual CPU ingin menjadual ulang CPU. Besar kuantum juga harus cukup besar, sehingga jumlah perhitungan yang dilakukan antar pertukaran masuk akal. Variasi dari kebijakan swapping ini, digunakan untuk algoritma penjadualan berdasarkan prioritas. Jika proses yang lebih tinggi tiba, dan minta dilayani, memori manager dapat menukar keluar proses dengan prioritas yang lebih rendah, sehingga dapat memasukkan dan mengeksekusi proses dengan prioritas yang lebih tinggi. Ketika proses dengan prioritas lebih tinggi selesai, proses dengan prioritas yang lebih rendah, dapat ditukar masuk kembali, dan melanjutkan. Macam-macam pertukaran ini kadang disebut roll out, dan roll in. Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini mengizinkan program untuk dieksekusi tanpa seluruh bagian program perlu ikut masuk ke dalam memori. Berbeda dengan keterbatasan yang dimiliki oleh memori fisik, memori virtual dapat menampung program dalam skala besar, melebihi daya tampung dari memori utama yang tersedia. Prinsip dari memori virtual yang patut diingat adalah bahwa: "Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa menggunakan memori virtual." 3. Fitur-fitur CPU simulator: pada simulator ini, juga terdapat fitur untuk menampilkan bagaimana sistem operasi dalam sebuah komputer bekerja. Untuk membuka fitur ini, klik tombol OS Output pada layar tampilan utama simulator ini (seperti pada gambar 1) sehingga keluar tampilan seperti berikut ini

32 Gambar 14. Layar tampilan OS Simulator Anda dapat memasukkan program dengan cara melakukan Load In Memory lebih dahulu jika program dibuat dengan menggunakan Compiler ataupun dengan cara membuat program secara langsung dengan set instruksi pada layar tampilan utama simulator. Jika program tersebut ingin dijalankan pada layar tampilan OS Simulator (seperti pada gambar 14), maka klik dahulu tombol Create New Process yang ada pada Process Tab di Program List pada layar tampilan OS Simulator. Program kemudian dijalankan dengan mengklik tombol Start yang ada pada OS Control Tab. Jika anda mengklik tombol View Tab, maka akan ada menu untuk menampilkan antara lain: View Utilization, View Process List, View Process States, View Resources, View Memory, View Log, dan View Libraries. Anda dapat memilih salah satu menu tersebut sesuai dengan apa yang ingin diamati. Dalam percobaan ini, anda cukup menggunakan menu View Process States untuk dapat melihat State Processes yang ada dalam komputer (gambar 15), menu View Memory untuk dapat melihat kondisi memori di dalam komputer (gambar 16) dalam hubungannya dengan proses Swapping, lalu View Utilization untuk dapat melihat keadaan Resource pada komputer (gambar 17) sehubungan dengan proses Virtual Memory.

33 Gambar 15. Layar tampilan Process States Gambar 16. Layar tampilan Main Memory

34 Gambar 17. Layar tampilan Resource Utilisation 4. Prosedur percobaan: 4.1. Pada OS Simulator Window, load program ForeverLooping lalu buat proses dari program tersebut dengan mengklik tombol Create New Process. Berikutnya buka tampilan Process States Window seperti pada gambar 15. Pada tampilan tersebut, anda akan dapat melihat berbagai macam state process dalam komputer. Sesuaikan kecepatan simulator dengan mengaturnya pada OS Control Tab pada layar OS Simulator Window seperti pada gambar 14, lalu klik tombol Start, setelah itu buka kembali layar Process States Window. Pada percobaan ini, lakukan proses perubahan state process pada layar Process States Window (gambar 15) dengan melakukan klik dan drag menggunakan mouse anda sesuai dengan urutan yang ada pada tabel di bawah ini, amati apa yang terjadi, lalu isilah tabelnya: Perlakuan Hasil Berhasil (ya atau tidak) Gagal (ya atau tidak) 1. Drag proses dari waiting queue ke waiting state 2. Drag proses ke Process Bin (terminate) 3. Drag proses ke CPU Box (run) 4. Drag proses ke Waiting Queue

35 5. Drag proses ke CPU Box 6. Drag proses ke Process Bin 7. Drag proses ke Ready Queue (ready) 8. Klik tombol Resume di OS Control Tab 9. Drag proses ke Ready Queue 10. Klik tombol Resume di OS Control Tab 11. Drag proses ke Process Bin Berdasarkan hasil di atas, isilah keadaan yang diperbolehkan pada tabel di bawah ini: Keadaan Awal Keadaan Akhir Pada gambar di bawah ini, berilah tanda panah di mana keadaan perubahan State Process diijinkan 4.2. Pada percobaan kali ini, Load program OSQueuesDemo lalu buat proses dari program ini ke dalam OS Simulator Window. Jalankan program ini, amati apa yang terjadi, lalu isilah urutan State Process yang terjadi dari hasil pengamatan anda ke dalam tabel di bawah ini: Urutan State Process 1. Running 5. Ready

36 (catatan: jika anda ingin mennghilangkan proses yang ada pada keadaan Running, klik tombol Kill pada tampilan Running Processes di layar OS Simulator Window seperti pada gambara 14, klik tombol Remove jika proses sedang ada dalam keadaan Ready atau Waiting) 4.3. Kali ini Load program WaitOnreadDemo, buat proses baru dari program ini pada layar OS Simulator Window, jalankan (input dari luar dapat diberikan dengan cara menampilkan Show Keyboard pada layar tampilan IO Console seperti pada gambar 10), amati apa yang terjadi! Pada program kali ini, jika sebuah proses dalam keadaan Running dan tiba-tiba membutuhkan suatu input dari luar, maka sistem operasi pada komputer akan merubah keadaan proses menjadi Waiting State. Berikan kesimpulan anda! 4.4. Untuk percobaan ini, pastikan simulator dalam keadaan bersih tidak ada program apapun sama sekali (lakukan Remove Program jika masih terdapat program pada simulator). Kemudian, pada layar OS Simulator Window, klik Views Tab lalu Klik tombol View Memory. Anda akan melihat layar Main memory seperti pada gambar 16. Pilih pilihan yang ada pada opsi Frames menjadi bernilai satu, lalu klik tombol Add sedemikian rupa sampai Main Memory terlihat penuh (kira-kira sepuluh kali klik). Sekarang buat Hole pada memori dengan cara memilih frame yang akan dihilangkan kemudian mengklik tombol Remove. Hilangkan Frame yang ke-3, ke-5, ke-7, ke-8, dan ke-9 sehingga hanya Frame 0, 1, 4, dan 6 saja yang ada pada Main Memory. Sekarang pilih opsi pada Placement Policy menjadi First Fit, load program ForeverLooping, buat proses dari program ini pada OS Simulator Window. Amati apa yang terjadi pada layar tampilan Main Memory seperti pada gambar 16! Remove proses tersebut (jangan meremove programnya, hanya prosesnya saja). Rubah Placement Policy menjadi Best Fit. Buat lagi proses dari program ForeverLooping lalu amati apa yang terjadi pada layar Main Memory! Remove lagi proses tersebut, sekarang rubah Placement Policy menjadi Worst Fit dan ulangi langkah seperti di atas, amati apa yang terjadi pada layar Main Memory! Dari hasil pengamatan anda, berikan kesimpulan bagaimana cara bekerja dari masing-masing Placement Policy tersebut!

37 4.5. Buka layar Resource Utilisation seperti pada gambar 17, lalu buka layar Main Memory seperti pada gambar 16 dan hilangkan centang pada opsi Paging Enabled Box. Setelah itu, load program OSQueuesDemo, kemudian buat tiga macam proses dengan konfigurasi yang berbeda dari program ini pada Process Tab di layar OS Simulator Window seperti pada gambar 14 sesuai dengan tabel di bawah ini. Amati apa yang terjadi pada layar Resource Utilisation dan isilah tabel di bawah ini: Process Pages Free Alloc Swap P1 4 P2 5 P3 3 Jelaskan kenapa dilakukan proses Swap pada memori untuk proses P3! Sekarang, jalankan program di atas dengan menyesuaikan dahulu kecepatan simulasi lalu klik tombol Start pada layar OS Simulator Window seperti pada gambar 14 dan lakukan pengamatan terhadap layar Resource Utilisation seperti pada gambar 17. Dari hasil pengamatan anda, isilah tabel di bawah ini: Process Free Alloc Swap P1 P2 P3 P1 P2 P3 Kali ini, saat program sedang berjalan pada keadaan Running, lakukan proses Kill satu persatu pada proses tersebut dengan mengklik Tombol Kill pada layar OS Simulator Window. Amati layar Resource Utilisation lalu isilah tabel di bawah ini: CPU % Free Alloc Swap Semua yang anda lakukan di atas menunjukkan bagaimana sebenarnya prinsip kerja dari manajemen memori dalam sistem operasi. Buatlah kesimpulan umum tentang proses manajemen memori tersebut!

38 BAB V PIPELINING 1. Tujuan percobaan: setelah melakukan percobaan ini, diharapkan mahasiswa dapat a) Menjelaskan perbedaan tentang cara kerja komputer dengan dan tanpa proses pipelining b) Menjelaskan tentang keadaan dependency yang ada dalam proses pipelining dan cara-cara mengatasinya 2. Dasar teori: CPU modern menggunakan teknologi pipelining agar mampu memproses berbagai tahap instruksi secara paralel sehingga meningkatkan kinerja keseluruhan CPU. Namun, sebagian besar program memiliki keadaan, syarat, dan kondisi tertentu untuk menjamin kelancaran proses pipelining (disebut dengan dependency). Akibatnya CPU dirancang dengan beberapa trik tertentu agar dapat mengatasi keadaan dependency tersebut. 3. Fitur-fitur CPU simulator: pada CPU-OS Simulator ini, terdapat fitur agar dapat mengamati proses pipelining yang terjadi pada CPU. Untuk mengaktifkan fitur ini, pada layar utama CPU- OS Simulator ini (gambar 1), klik tombol Show Pipeline yang ada pada Cache-Pipeline Tab sehingga keluar tampilan layar Instruction Pipeline. Gambar 18. Layar tampilan Instruction Pipeline

39 Pada layar sebelah kiri, anda dapat melihat kumpulan set instruksi yang dijalankan pada proses pipelining dalam komputer. Sedangkan pada layar sebelah kanan, anda dapat melihat tahapantahapan pipeline yang dilakukan oleh komputer dengan urutan set instruksi yang dijalankan terlebih dahulu sampai dengan yang terakhir yaitu dari atas sampai ke bawah. 4. Prosedur percobaan: 4.1. Pada layar Compiler, seperti pada gambar 11, buat program berikut ini program Ex1 for n = 1 to 20 p = p + 1 next end Compile program tersebut lalu lakukan Load In Memory. Buka layar Instruction Pipeline seperti pada gambar 18 kemudian jalankan program tersebut dengan mengklik tombol Run pada layar utama CPU- OS Simulator. Amati apa yang terjadi pada layar Instruction Pipeline! Anda seharusnya dapat melihat tahapan-tahapan langkah pada proses pipeline dari hasil pengamatan anda. Tahapan-tahapan ini disebut dengan Pipeline Stages. Tuliskanlah nama dari Pipeline Stages tersebut! Amati juga keterangan CPI (Clocks Per Instruction) dan SF (Speed Factor) yang ada pada layar Instruction Pipeline seperti pada gambar 18 lalu isilah tabel di bawah ini (pastikan saat itu terdapat centang pada opsi No Instruction Pipeline). CPI (Clocks Per Instruction) SF (Speed Factor) Sekarang Stop program tersebut, Reset ulang, hilangkan centang pada opsi No Instruction Pipeline, lalu jalankan lagi program tersebut. Amati perubahan apa yang terjadi pada layar Instruction Pipeline dan isilah tabel di bawah ini: CPI (Clocks Per Instruction) SF (Speed Factor) Dari hasil pengamatan anda tersebut, simpulkan bagaimana prinsip kerja dari proses Pipelining dalam sebuah komputer!

40 4.2. Sekarang kita akan melihat macam-macam keadaan dependency yang dapat terjadi dalam proses Pipeline. Yang pertama adalah tentang Data Hazard. Buat program di bawah ini dengan menggunakan set instruksi (bahasa Assembly) pada layar utama CPU-OS Simulator seperti pada gambar 1 tetapi jangan dijalankan terlebih dahulu. MOV #1, R01 MOV #5, R03 MOV #3, R01 ADD R01, R03 HLT Pelajari program tersebut, lalu isilah berapa nilai data yang seharusnya ada pada R03 jika program tersebut selesai dijalankan R03 = Sekarang pastikan tidak ada centang pada opsi No Instruction Pipeline dan opsi Do Not Insert Bubbles pada layar Instruction Pipeline (gambar 18) kemudian jalankan program tersebut. Amatilah berapa nilai data yang ada pada R03! R03 = Sekarang sisipkan set instruksi NOP pada program tersebut sehingga program anda tamapak seperti di bawah ini MOV #1, R01 MOV #5, R03 MOV #3, R01 NOP ADD R01, R03 HLT Reset program anda lalu jalankan lagi dengan konfigurasi yang sama seperti di atas (tidak ada centang pada opsi No Instruction Pipeline dan opsi Do Not Insert Bubbles). Amatilah nilai data yang ada pada R03 sekarang! R03 = Dari hasil pengamatan anda di atas, simpulkan apa yang menyebabkan perbedaan nilai pada R03 di atas!

41 Sekarang hilangkan set instruksi NOP pada program anda dan berilah centang pada opsi Do Not Insert Bubbles. Reset program anda, lalu jalankan kembali. Amatilah berapa nilai data yang ada pada R03 sekarang! R03 = Berikanlah kesimpulan dari hasil pengamatan anda tersebut kenapa nilai pada R03 sekarang sama dengan nilai yang ada pada saat program dengan set instruksi NOP dijalankan! Pada layar Instruction Pipeline, amatilah Bubble yang muncul! Apa warna dari Bubble tersebut? apa kegunaannya? Amatilah sekali lagi layar Instruction Pipeline kemudian isilah tabel di bawah ini! CPI (Clocks Per Instruction) SF (Speed Factor) 4.3. Sekarang kita akan mempelajari metode Operand Forwarding yang ada pada proses Pipeline dalam komputer. Untuk melakukan hal ini, berilah centang pada opsi Enable Operand Forwarding yang ada pada layar Instruction Pipeline seperti pada gambar 18. Reset program anda yang ada pada prosedur percobaan 4.2. kemudian jalankan lagi. Amatilah apakah ada Bubble yang timbul pada proses Pipeline! Simulator akan menghitung jumlah dependency (dalam hal ini adalah Data Hazard) yang dideteksinya setiap sebuah set instruksi mengalami proses Pipeline. Amatilah hasil percobaan anda dan isilah tabel di bawah ini! CPI (Clocks Per Instruction) SF (Speed Factor) Data Hazards Apakah ada peningkatan? Berilah kesimpulan!

42 4.4. Sekarang kita akan melihat pengaruh Loop Unrolling yang ada pada proses Compiler. Buka layar Compiler seperti pada gambar 11. Buat program seperti di bawah ini program Ex4_1 for n = 1 to 8 t = t + 1 next end Kemudian, pada layar Compiler, klik tab Optimize yang ada pada bagian bawah, lalu berilah centang pada opsi Enable Optimizer dan pilihlah opsi Redundant Code (dilakukan dengan cara memberi centang pada opsi yang diinginkan). Compile program tersebut! Amatilah Code Size hasil dari proses compile! (dapat dilihat pada Code Size yang ada di Assembly Code Tab bagian kanan bawah dari layar Compiler) Code Size = Sekarang lakukan Load In Memory untuk program Ex4_1 anda. Berikutnya pilihlah opsi Loop Unrolling pada Enable Optimizer anda (dilakukan dengan cara yang sama seperti Redundant Code di atas, yaitu dengan memberi centang pada opsi Loop Unrolling), lalu rubah nama program anda menjadi program Ex4_2, lakukan proses Compile dan Load In Memory program Ex4_2 tersebut sehingga akan ada dua versi program pada layar utama CPU-OS Simulator anda (gambar 1). Amati berapa Code Size dari program Ex4_2 anda! Code Size = Buka layar Instruction Pipeline seperti pada gambar 18. Hilangkan centang (jika ada) pada opsi Enable Operand Forwarding dan opsi Enable Jump Prediction, lalu pilih program Ex4_1 pada layar utama CPU- OS Simulator. Klik Reset Program, lalu jalankan program Ex4_1 tersebut. Amatilah apa yang terjadi pada layar Instruction Pipeline kemudian isilah tabel di bawah ini CPI (Clocks Per Instruction) SF (Speed Factor) No of Instruction Executed Lakukan hal yang sama seperti di atas tetapi kali ini untuk program Ex4_2, lalu isilah tabel di bawah ini CPI (Clocks Per Instruction) SF (Speed Factor) No of Instruction Executed Dari hasil pengamatan anda dan mengacu kepada Code Size dan No of Instruction Executed, berilah kesimpulan!

43 4.5. Pada percobaan di atas, anda telah mengamati bagaimana mengatasi dependency yang terjadi pada proses Pipeline menggunakan Compiler. Sekarang anda akan mengamati cara lain menggunakan Compiler untuk mengatasi dependency pada proses Pipeline. Hilangkan tanda centang pada opsi Show Dependencies di Options Tab layar Compiler anda (gambar 11) dan pilihlah hanya opsi Redundant Code (dengan cara memberi centang) pada Optimize Tab di layar Compiler kemudian buat program seperti di bawah ini program Ex5_1 a = 1 b = a c = 2 end Lakukan proses Compile, amatilah set instruksi yang terbentuk lalu tuliskan hasilnya! Sekarang, pilihlah opsi Code Dependencies (berilah tanda centang). Rubah nama program menjadi program Ex5_2, lakukan proses Compile dan Load In Memory. Amatilah set instruksi yang terbentuk lalu tuliskan hasilnya! Apa perbedaan yang timbul dari hasil Compile kedua program tersebut? Apa pengaruh perbedaan tersebut terhadap algoritma program? Jelaskan! Modifikasi program anda menjadi seperti di bawah ini program Ex5_3 for n = 1 to 50 a = 1 b = a c = 2 next end

44 Lakukan proses Compile dan Load In Memory dua versi program di atas, yang satu tanpa memilih opsi Code Dependencies (tanpa centang), yang satu lagi dengan opsi Code Dependencies (memberi centang) dengan nama program Ex5_4. Jalankan program Ex5_3, amati, lalu isi tabel di bawah ini CPI (Clocks Per Instruction) SF (Speed Factor) Sekarang jalankan program Ex5_4, amati, lalu isi tabel di bawah ini CPI (Clocks Per Instruction) SF (Speed Factor) Apa yang anda dapat dari hasil pengamatan kedua program di atas? Berikan kesimpulan! 4.6. Sekarang kita akan mempelajari cara lain untuk mengatasi dependencies pada prose Pipeline, yaitu dengan menggunakan metode Jump Prediction. Buat program seperti di bawah ini program Ex6 i = 0 for p = 1 to 40 i = i + 1 if i = 10 then i = 0 r = i end if next end Lakukan proses Compile dan Load In Memory dengan hanya memilih opsi Enable Optimizer dan opsi Remove Redundant Code (dengan cara memberi centang). Jalankan program, amati layar Instruction Pipeline kemudian isilah tabel di bawah ini CPI (Clocks Per Instruction) SF (Speed Factor) Sekarang pilih opsi Enable Jump Prediction pada layar Instruction Pipeline (gambar 18), reset program anda, lalu jalankan lagi. Amati layar Instruction Pipeline, lalu isilah tabel di bawah ini CPI (Clocks Per Instruction) SF (Speed Factor)

45 Pada layar Instruction Pipeline, klik tombol Show Jump Table, amati tampilan tabel Jump Prediction yang muncul! Perkirakan apa arti masing-masing kolom yang ada pada tabel tersebut dan berilah masukan anda! V JlnstAddr JTarget PStat Count

46 Appendix Kode Program yang Dipakai untuk Simulator ini (digunakan pada layar Compiler Window) program OSQueuesDemo while true for n = 1 to 15 i = 1 next wait(3) wend end %Start of program %Forever loop %Repeat 15 times %Just something to do! %End of repeat loop %Suspend program for 3 secs %End of forever loop %End of program program WaitOnReadDemo regvar d integer while true for n = 1 to 15 i = 1 next write("> ") read(d) writeln(d) if d = 42 then break end if wend end %Keep input in a register %This loop keeps CPU busy %Just something to do! %Display this prompt %Wait for keyboard input %Display input character %Test if end of program %End program if a * character program ForeverLooping while true n = 1 wend end %Do a forever loop %Does nothing useful but %keeps the CPU busy

47 Appendix Beberapa Set Instruksi dan Kegunaannya Instruction Description Data Transfer Instructions Move data to register; move register to register e.g. MOV MOV #2, R01 moves number 2 into register R01 MOV R01, R03 moves contents of register R01 into register R03 LDB Load a byte from memory to register LDW Load a word (2 bytes) from memory to register STB Store a byte from register to memory STW Store a word (2 bytes) from register to memory Push data to top of hardware stack (TOS); push register to TOS PSH e.g. PSH #6 pushes number 6 on top of the stack PSH R03 pushes the contents of register R03 on top of the stack Pop data from top of hardware stack to register e.g. POP POP R05 pops contents of top of stack into register R05 Note: If you try to POP from an empty stack you will get the error message Stack overflow. Arithmetic Instructions Add number to register; add register to register e.g. ADD #3, R02 adds number 3 to contents of register R02 and stores ADD the result in register R02. ADD R00, R01 adds contents of register R00 to contents of register R01 and stores the result in register R01. SUB Subtract number from register; subtract register from register MUL Multiply number with register; multiply register with register DIV Divide number with register; divide register with register Control Transfer Instructions Jump to instruction address unconditionally e.g. JMP JMP 100 unconditionally jumps to address location 100

48 JLT Jump to instruction address if less than (after last comparison) JGT Jump to instruction address if greater than (after last comparison) Jump to instruction address if equal (after last comparison instruction) e.g. JEQ JEQ 200 jumps to address location 200 if the previous comparison instruction result indicates that the two numbers are equal, i.e. the Z status flag is set (the Z box will be checked in this case). JNE Jump to instruction address if not equal (after last comparison) CAL Jump to subroutine address RET Return from subroutine SWI Software interrupt (used to request OS help) HLT Halt simulation Comparison Instructions Compare number with register; compare register with register e.g. CMP #5, R02 compare number 5 with the contents of register R02 CMP R01, R03 compare the contents of registers R01 and R03 Note: CMP If R01 = R03 then the status flag Z will be set, i.e. the Z box is checked. If R03 > R01 then non of the status flags will be set, i.e. none of the status flag boxes are checked. If R01 > R03 then the status flag N will be set, i.e. the N status box is checked. Input Output Instructions IN Get input data (if available) from an external IO device OUT Output data to an external IO device

49 DAFTAR PUSTAKA Stallings, William. Computer Organisation And Architectures. 8 th Edition. Prentice Hall Stallings, William. Operating Systems. 5 th Edition. Prentice Hall

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1 MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1 A. Tujuan Pada akhir praktikum ini, peserta dapat: 1. Memahami komponen arsitektur komputer tingkat bawah. 2. Menggunakan simulator untuk

Lebih terperinci

Kumpulan instruksi lengkap yang dimengerti

Kumpulan instruksi lengkap yang dimengerti Set Instruksi: 1 Set instruksi? Kumpulan instruksi lengkap yang dimengerti oleh CPU Operasi dari CPU ditentukan oleh instruksiinstruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut

Lebih terperinci

Set Instruksi: Set instruksi?

Set Instruksi: Set instruksi? Set Instruksi: 1 Set instruksi? Operasi dari CPU ditentukan oleh instruksiinstruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (machine instructions) atau

Lebih terperinci

MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI. Nama : Annisa Christyanti Kelas : XI TJA 3 NIS :

MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI. Nama : Annisa Christyanti Kelas : XI TJA 3 NIS : MAKALAH MODE DAN FORMAT PENGALAMATAN SET INSTRUKSI Nama : Annisa Christyanti Kelas : XI TJA 3 NIS : 3103113017 TEKNIK JARINGAN AKSES SMK TELKOM SANDHY PUTRA PURWOKERTO TAHUN AJARAN 2014/2015 Mode dan Format

Lebih terperinci

Arsitektur Set Instruksi. Abdul Syukur

Arsitektur Set Instruksi. Abdul Syukur 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

Lebih terperinci

ARSITEKTUR KOMPUTER SET INSTRUKSI

ARSITEKTUR KOMPUTER SET INSTRUKSI LOGO ASSALAMU ALAIKUM ARSITEKTUR KOMPUTER SET INSTRUKSI Disajikan Oleh : RAHMAD KURNIAWAN, S.T., M.I.T. TEKNIK INFORMATIKA UIN SUSKA RIAU Karakteristik dan Fungsi Set Instruksi Operasi dari CPU ditentukan

Lebih terperinci

Set Instruksi. Set Instruksi. Set Instruksi adalah kumpulan

Set Instruksi. Set Instruksi. Set Instruksi adalah kumpulan Bab 10 Disusun Oleh : Rini Agustina, S.Kom, M.Pd Definisi: lengkap instruksi yang dapat adalah kumpulan dimengerti CPU Sifat2: 1. Merupakan Kode Mesin 2. Dinyatakan dalam Biner 3.Biasanya digunakan dalam

Lebih terperinci

PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI

PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI PERTEMUAN MINGGU KE-5 ARSITEKTUR SET INSTRUKSI KARAKTERISTIK DAN FUNGSI SET INSTRUKSI Operasi dari CPU ditentukan oleh instruksiinstruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut

Lebih terperinci

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IX I/O INTERRUPT

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IX I/O INTERRUPT MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IX I/O INTERRUPT A. Tujuan Pada akhir praktikum ini, peserta dapat: 1. Menjelaskan pengertian interrupt handler. 2. Menjelaskan mekanisme I/O interrupt handler.

Lebih terperinci

Hanif Fakhrurroja, MT

Hanif Fakhrurroja, MT Pertemuan 11 Organisasi Komputer Arsitektur Set-Set Instruksi Hanif Fakhrurroja, MT PIKSI GANESHA, 2013 Hanif Fakhrurroja @hanifoza hanifoza@gmail.com Apakah set Instruksi itu? Kumpulan instruksi lengkap

Lebih terperinci

William Stallings Computer Organization and Architecture. Chapter 9 Set Instruksi: Karakteristik dan Fungsi

William Stallings Computer Organization and Architecture. Chapter 9 Set Instruksi: Karakteristik dan Fungsi William Stallings Computer Organization and Architecture Chapter 9 Set Instruksi: Karakteristik dan Fungsi 1 Set instruksi? Kumpulan instruksi lengkap yang dimengerti oleh CPU Kode mesin Biner Kode assembly

Lebih terperinci

MANAJEMEN MEMORI SISTEM OPERASI

MANAJEMEN MEMORI SISTEM OPERASI MANAJEMEN MEMORI SISTEM OPERASI Manajemen Memori Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik baiknya.

Lebih terperinci

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088 OPERATION SYSTEM Nama : Dian Fahrizal Nim : 110170096 Unit : A3 Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088 Mikroprosesor 8086/8088 memiliki 4 register yang masing-masingnya terdiri dari

Lebih terperinci

Arsitektur dan Organisasi Komputer Set Intruksi

Arsitektur dan Organisasi Komputer Set Intruksi 5/21/2015 Arsitektur dan Organisasi Komputer Set Intruksi 1 Set instruksi? Kumpulan instruksi lengkap yang dimengerti oleh CPU Kode mesin Biner Kode assembly Gembong Edhi Setyawan s1 / TI / semester 3

Lebih terperinci

ARSITEKTUR SET INSTRUKSI. Ptputraastawa.wordpress.com

ARSITEKTUR SET INSTRUKSI. Ptputraastawa.wordpress.com ARSITEKTUR SET INSTRUKSI ptputraastawa@gmail.com Ptputraastawa.wordpress.com Karakteristik Dan Fungsi Set Instruksi Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya.

Lebih terperinci

Daftar Isi. Daftar Isi Pertemuan 6: Perintah Masukkan dari Keyboard P6.1. Teori Masukkan dari Keyboard... 3

Daftar Isi. Daftar Isi Pertemuan 6: Perintah Masukkan dari Keyboard P6.1. Teori Masukkan dari Keyboard... 3 Daftar Isi Daftar Isi... 1 Pertemuan 6: Perintah Masukkan dari Keyboard... 2 P6.1. Teori... 3 Masukkan dari Keyboard... 3 Masukkan Satu Karakter... 4 Masukkan Lebih Dari Satu Karakter... 7 Interrupt...

Lebih terperinci

CENTRAL PROCESSING UNIT CPU

CENTRAL PROCESSING UNIT CPU CENTRAL PROCESSING UNIT CPU edywin 1 Central Processing Unit CPU terdiri dari : - Bagian data (Datapath) yang berisi register register untuk penyimpanan data sementara dan sebuah ALU untuk melaksanakan

Lebih terperinci

1/3/2013. Konsep Dasar memori

1/3/2013. Konsep Dasar memori Konsep Dasar memori Memori merupakan inti dari sistem komputer modern. CPU mengambil instruksi dari memori sesuai yang ada pada program counter. Instruksi dapat berupa menempatkan/ menyimpan dari/ ke alamat

Lebih terperinci

SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ

SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ 1. Tempat penyimpanan primer yang bersifat mudah hilang (volatile) dikarenakan hilang saat listrik padam adalah... a. Random Access Memory b. Read Only Memory

Lebih terperinci

Arsitektur dan Organisasi

Arsitektur dan Organisasi Arsitektur dan Organisasi Komputer 7 Aditya Wikan Mahastama, S.Kom Week 11 Set Instruksi Apakah Set Instruksi itu? Set instruksi (instruction set): sekumpulan lengkap instruksi yang dapat dimengerti oleh

Lebih terperinci

10. Konsep Operasional Prosessor dan Memori

10. Konsep Operasional Prosessor dan Memori 10. Konsep Operasional Prosessor dan Memori 10.1. Hubungan antara prosessor dan memori Pada modul ini, akan dipelajari prinsip dasar dari hubungan antara prosessor dan memori. Dimulai dengan lokasi memori

Lebih terperinci

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id 1 Central Processing Unit CPU terdiri dari : - Bagian data (Datapath) yang berisi register register

Lebih terperinci

Struktur Fungsi CPU. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 --

Struktur Fungsi CPU. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 -- Struktur Fungsi CPU Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 -- This presentation is revised by @hazlindaaziz, STMIK, 2014 Main Material: Acknowledgement

Lebih terperinci

STRUKTUR FUNGSI CPU. Menjelaskan tentang komponen utama CPU. Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register

STRUKTUR FUNGSI CPU. Menjelaskan tentang komponen utama CPU. Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register Organisasi Komputer STRUKTUR FUNGSI CPU 1 Tujuan Menjelaskan tentang komponen utama CPU dan Fungsi CPU Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register Menjelaskan

Lebih terperinci

Sistem Operasi PENGATURAN PROSES

Sistem Operasi PENGATURAN PROSES Sistem Operasi PENGATURAN PROSES Konsep Proses Dalam Sistem Operasi Jenis Proses Subject Penjadwalan Proses Deadlock Concurency Sebuah perangkat lunak yang deprogram sebagai penghubung antara Sistem Operasi

Lebih terperinci

Sistem Operasi 9. Virtual Memory. Antonius Rachmat C, S.Kom, M.Cs

Sistem Operasi 9. Virtual Memory. Antonius Rachmat C, S.Kom, M.Cs Sistem Operasi 9 Virtual Memory Antonius Rachmat C, S.Kom, M.Cs Virtual Memory Tidak bisa semua memory logik dipetakan semuanya ke memory fisik, walau dynamic loading bs melakukannya Memori virtual merupakan

Lebih terperinci

Organisasi Komputer. Candra Ahmadi, MT

Organisasi Komputer. Candra Ahmadi, MT Organisasi Komputer Candra Ahmadi, MT Tujuan Menjelaskan tentang komponen utama CPU dan Fungsi CPU Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register Menjelaskan

Lebih terperinci

ORGANISASI KOMPUTER DASAR

ORGANISASI KOMPUTER DASAR ORGANISASI KOMPUTER DASAR A. KOMPONEN SISTEM Sebuah komputer moderen/digital dengan program yang tersimpan di dalamnya merupakan sebuah system yang memanipulasi dan memproses informasi menurut kumpulan

Lebih terperinci

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I)

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I) Pertemuan 2 Organisasi Komputer II Struktur & Fungsi CPU (I) 1 Menjelaskan tentang komponen utama CPU dan Fungsi CPU Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register

Lebih terperinci

Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3.

Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3. PERTEMUAN 1. Organisasi Processor #1 Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3. Fetch Data = mengambil data

Lebih terperinci

SMK MUHAMMADIYAH 4 JAKARTA TEKNIK KOMPUTER DAN JARINGAN SISTEM OPERASI MENEJEMEN MEMORI

SMK MUHAMMADIYAH 4 JAKARTA TEKNIK KOMPUTER DAN JARINGAN SISTEM OPERASI MENEJEMEN MEMORI SMK MUHAMMADIYAH 4 JAKARTA TEKNIK KOMPUTER DAN JARINGAN SISTEM OPERASI MENEJEMEN MEMORI Kegiatan Belajar 04 : Manajemen Memori a. Tujuan Pembelajaran Setelah mempelajari Materi ini, peserta diharapkan

Lebih terperinci

Keuntungan Virtual Memory

Keuntungan Virtual Memory Virtual Memory Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Hanya bagian dari program yg perlu saja, berada di memory untuk eksekusi Logical address space

Lebih terperinci

MANAJEMEN MEMORI. Manajemen Memori 1

MANAJEMEN MEMORI. Manajemen Memori 1 MANAJEMEN MEMORI 1. Konsep dasar memori - Konsep Binding - Dynamic Loading - Dynamic Linking - Overlay 2. Ruang Alamat Logika dan Fisik 3. Swapping 4. Pengalokasian Berurutan (Contiguous Allocation) 5.

Lebih terperinci

DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2

DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2 DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2 1 11/20/2016 1 Setelah mengikuti perkuliahan ini mahasiswa dapat: Memahami Arsitektur SAP-2. Menjelaskan cara kerja SAP-2. Menjelaskan instruksi-instruksi

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN APLIKASI

BAB III ANALISA DAN PERANCANGAN APLIKASI BAB III ANALISA DAN PERANCANGAN APLIKASI Pada bab analisa dan perancangan aplikasi, penulis akan menjelaskan apa saja yang dibutuhkan untuk membuat aplikasi, menerangkan fungsi dari elemen-elemen yang

Lebih terperinci

STRUKTUR CPU. Arsitektur Komputer

STRUKTUR CPU. Arsitektur Komputer STRUKTUR CPU Arsitektur Komputer Tujuan Mengerti struktur dan fungsi CPU yaitu dapat melakukan Fetch instruksi, interpreter instruksi, Fetch data, eksekusi, dan menyimpan kembali. serta struktur dari register,

Lebih terperinci

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini.

Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini. Pemrograman LabVIEW 6.1 Istilah-Istilah Penting Sebelum membahas mengenai pemrograman LabVIEW, sebaiknya pembaca mengenal istilah istilah penting berikut ini. 1. G: dari kata graphical, merupakan sebutan

Lebih terperinci

BAB XXVII TURBO DEBUGGER

BAB XXVII TURBO DEBUGGER BAB XXVII TURBO DEBUGGER 27.1. Program Anda Salah? Dalam membuat program, kita biasanya akan selalu mengalami suatu kesalahan. Kesalahan dalam pembuatan sebuah program dapat dibagi menjadi dua, yaitu kesalahan

Lebih terperinci

Diktat Kuliah - Pipeline

Diktat Kuliah - Pipeline Mikroprosesor dan Antarmuka Diktat Kuliah - Pipeline Nyoman Bogi Aditya Karna Sisfo IMTelkom bogi@imtelkom.ac.id http://bogi.blog.imtelkom.ac.id Institut Manajemen Telkom http://www.imtelkom.ac.id Proses

Lebih terperinci

Aditya Wikan Mahastama

Aditya Wikan Mahastama ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan Mahastama mahas@ukdw.ac.id Memori dalam CPU: Register dan Cache 5 UNIV KRISTEN DUTA WACANA GENAP 1213 REGISTER A processor register is a small amount of

Lebih terperinci

Struktur Sistem Komputer

Struktur Sistem Komputer Struktur Sistem Komputer ARSITEKTUR UMUM SISTEM KOMPUTER Sistem Komputer Sistem komputer terdiri atas CPU dan sejumlah perangkat pengendali yang terhubung melalui sebuah bus yang menyediakan akses ke memori

Lebih terperinci

Pertemuan ke 5 BAB IV Sintesis Rangkaian Sekuensial (2) Deskripsi Manfaat Relevansi Learning Outcome Materi I. Rangkaian Memori Terbatas RAM dinamik

Pertemuan ke 5 BAB IV Sintesis Rangkaian Sekuensial (2) Deskripsi Manfaat Relevansi Learning Outcome Materi I. Rangkaian Memori Terbatas RAM dinamik Pertemuan ke 5 1 BAB IV Sintesis Rangkaian Sekuensial (2) Deskripsi Pada bab ini akan dibahas tentang proses Rangkaian memori terbatas, dan penentuan kelas yang berbeda Manfaat Memberikan kompetensi untuk

Lebih terperinci

Organisasi & Arsitektur Komputer

Organisasi & Arsitektur Komputer Organisasi & Arsitektur Komputer 1 Set Instruksi Eko Budi Setiawan, S.Kom., M.T. Eko Budi Setiawan mail@ekobudisetiawan.com www.ekobudisetiawan.com Teknik Informatika - UNIKOM 2013 Arsitektur Komputer

Lebih terperinci

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer SAP-2 Mohamad Dani (MHM) E-mail: mohamad.dani@gmail.com Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Telkom

Lebih terperinci

RESUME SISTEM OPERASI MAIN MEMORI

RESUME SISTEM OPERASI MAIN MEMORI RESUME SISTEM OPERASI MAIN MEMORI OLEH : Hasan Sulthoni 08.04.111.00007 Agung Satrio U 08.04.111.00100 Didin Yustisianto 08.04.111.00116 Eri Albar Firdaus 08.04.111.00137 JURUSAN TEKNIK INFORMATIKA FAKULTAS

Lebih terperinci

Manajemen Memori (P ( ertemuan ke ert -12) Oktober 2014

Manajemen Memori (P ( ertemuan ke ert -12) Oktober 2014 Manajemen Memori (Pertemuan ke-12) Oktober 2014 Pokok Bahasan Pokok Bahasan: Manajemen memori Sub Pokok Bahasan: Konsep manajemen memori Teknik manajemen memori (partisi statis, partisi dinamis) TIU: TIK:

Lebih terperinci

intruksi kepada CPU untuk mengakses sistem operasi. BIOS tersimpan pada Read Only

intruksi kepada CPU untuk mengakses sistem operasi. BIOS tersimpan pada Read Only 1. Software Komputer adalah sekumpulan komponen-komponen canggih yang dapat melakukan perhitungan kompleks dengan cepat. Kita sangat membutuhkan peranan komputer untuk menyelesaikan permasaahan kita sehari

Lebih terperinci

Bab 8. Memori Virtual POKOK BAHASAN: TUJUAN BELAJAR: 8.1 LATAR BELAKANG

Bab 8. Memori Virtual POKOK BAHASAN: TUJUAN BELAJAR: 8.1 LATAR BELAKANG Bab 8 Memori Virtual POKOK BAHASAN: Latar Belakang Demand Paging Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi TUJUAN BELAJAR: Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan

Lebih terperinci

Pipeline pada x86. Sebagai contoh : Instruksi 1 : ADD AX,AX Instruksi 2 : ADD BX,CX

Pipeline pada x86. Sebagai contoh : Instruksi 1 : ADD AX,AX Instruksi 2 : ADD BX,CX Pipeline pada x86 Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut. Sebagai contoh : Instruksi 1 : ADD

Lebih terperinci

Karakteristik Instruksi Mesin

Karakteristik Instruksi Mesin PERTEMUAN Karakteristik Instruksi Mesin Instruksi mesin (machine intruction) yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU. Kumpulan fungsi yang dapat dieksekusi CPU disebut set

Lebih terperinci

ARSITEKTUR DAN ORGANISASI KOMPUTER

ARSITEKTUR DAN ORGANISASI KOMPUTER ARSITEKTUR DAN ORGANISASI KOMPUTER PART 3: THE CENTRAL PROCESSING UNIT CHAPTER 12: PROCESSOR STRUCTURE AND FUNCTION PRIO HANDOKO, S.KOM., M.T.I. CHAPTER 12: PROCESSOR STRUCTURE AND FUNCTION Kompetensi

Lebih terperinci

Struktur Sistem Komputer

Struktur Sistem Komputer Struktur Sistem Komputer Pengampu Mata Kuliah Casi Setianingsih (CSI) Hp : 081320001220 (WA Only) Email Tugas : casie.sn@gmail.com Email Tel-U : setiacasie@telkomuniversity.ac.id Komposisi Penilaian Quiz

Lebih terperinci

Mengenal bahasa assembly

Mengenal bahasa assembly Mengenal bahasa assembly adiatma adiatma@raharja.info Abstrak Komputer adalah mesin penghitung elektronik yang cepat dan dapat menerima informasi input digital, kemudian memprosesnya sesuai dengan program

Lebih terperinci

Dukungan Sistem Operasi :

Dukungan Sistem Operasi : Dukungan Sistem Operasi : Kontrol Program, Penjadwalan dan Manajemen Memory STMIK-AUB SURAKARTA 1 Apa itu Sistem Operasi? Sistem operasi merupakan program yang mengontrol eksekusi program aplikasi dan

Lebih terperinci

Virtual Memory. Latar Belakang Demand Paging Pembuatan Proses Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi

Virtual Memory. Latar Belakang Demand Paging Pembuatan Proses Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi 10 Virtual Memori Virtual Memory Latar Belakang Demand Paging Pembuatan Proses Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi 2 Latar Belakang Manajemen memori: Alokasi space memori fisik

Lebih terperinci

DASKOM & PEMROGRAMAN. Dani Usman

DASKOM & PEMROGRAMAN. Dani Usman DASKOM & PEMROGRAMAN Dani Usman Latar Belakang Memory merupakan tempat menampung data dan kode instruksi program Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan,

Lebih terperinci

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses Deskripsi dan Kontrol Proses (Pertemuan ke-4) Agustus 2014 Pokok Bahasan Pokok Bahasan: Deskripsi dan Kontrol Proses Sub Pokok Bahasan: TIU: TIK: Model proses 7 status Struktur kontrol sistem operasi dan

Lebih terperinci

Aditya Wikan Mahastama

Aditya Wikan Mahastama ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan Mahastama mahas@ukdw.ac.id Program dan Interrupt 6 UNIV KRISTEN DUTA WACANA GENAP 1213 Latar Belakang Program Hardwired system (sistem yang instruksinya

Lebih terperinci

IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR

IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR diadaptasikan dari materi kuliah CS61C/2000 & CS152/1997 2000/1997 UCB 18 September 2002 Bobby Nazief (nazief@cs.ui.ac.id)

Lebih terperinci

Hanif Fakhrurroja, MT

Hanif Fakhrurroja, MT Pertemuan 6 Organisasi Komputer CPU dan Sistem Bus Hanif Fakhrurroja, MT PIKSI GANESHA, 2013 Hanif Fakhrurroja @hanifoza hanifoza@gmail.com Agenda Pertemuan 6 1 CPU 2 Sistem Bus Pendahuluan Video CPU CPU

Lebih terperinci

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016

Set Instruksi & Mode Pengalamatan. Team Dosen Telkom University 2016 Set Instruksi & Mode Pengalamatan Team Dosen Telkom University 2016 Karakteristik Instruksi Mesin Set intruksi adalah kumpulan lengkap dari instruksi yang dapat dieksekusi oleh CPU Set instruksi adalah

Lebih terperinci

PERTEMUAN. 1. Organisasi Processor. 2. Organisasi Register

PERTEMUAN. 1. Organisasi Processor. 2. Organisasi Register PERTEMUAN. Organisasi Processor Hal-hal yang perlu dilakukan CPU adalah ::.. Fetch Instruction = mengambil instruksi 2. 2. Interpret Instruction = Menterjemahkan instruksi 3. 3. Fetch Data = mengambil

Lebih terperinci

Pertemuan 9 : CPU (CENTRAL PROCESSING UNIT)

Pertemuan 9 : CPU (CENTRAL PROCESSING UNIT) Pertemuan 9 : CPU (CENTRAL PROCESSING UNIT) 1.ArihtmeticLogikalUnit (ALU) 2. Control Unit 3. Register 4. Internal Bus Fungsi CPU : Menjalankan program program yang disimpan dalam memori utama dengan

Lebih terperinci

Operasi Unit Kontrol. Arsitektur Komputer II. STMIK AUB Surakarta

Operasi Unit Kontrol. Arsitektur Komputer II. STMIK AUB Surakarta Operasi Unit Kontrol Arsitektur Komputer II STMIK AUB Surakarta Micro-Operations Fungsi sebuah komputer adalah mengeksekusi program. Siklus Fetch/execute selalu terjadi Tiap siklus memiliki sejumlah langkah

Lebih terperinci

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses Deskripsi dan Kontrol Proses (Pertemuan ke-3) Agustus 2014 Pokok Bahasan Pokok Bahasan: Deskripsi dan Kontrol Proses Sub Pokok Bahasan: Konsep proses Elemen-elemen proses Model proses 2 status, 5 status,

Lebih terperinci

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock A. Tujuan Pada akhir praktikum ini, peserta dapat: 1. Menggunakan graf pengalokasi sumber daya (resource allocation graph) untuk mendeteksi deadlock.

Lebih terperinci

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan Pertemuan ke 6 Set Instruksi Computer Organization Dosen : Eko Budi Setiawan Tujuan Memahami representasi set instruksi, dan jenis-jenis format instruksi Mengetahui jenis-jenis type operand yang digunakan

Lebih terperinci

1 Tinjau Ulang Sistem Komputer

1 Tinjau Ulang Sistem Komputer 1 Tinjau Ulang Sistem Komputer Overview Sebelum memulai mempelajari sistem operasi penting bagi kita untuk mengetahui komponen-komponen yang menjadi bagian dari sebuah sistem komputer disertai cara kerjanya.

Lebih terperinci

Simple As Possible (SAP) - 2. Abdul Syukur

Simple As Possible (SAP) - 2. Abdul Syukur Simple As Possible (SAP) - 2 Abdul Syukur abdulsyukur@eng.uir.ac.id http://skurlinux.blogspot.com 053740514 Arsitektur Komputer SAP-2 Persamaan dengan SAP-1 : Sama-sama komputer bit. Kesamaan ini dapat

Lebih terperinci

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan Arsitektur dan Organisasi Komputer Set instruksi dan Pengalamatan Komponen Komputer Karakteristik Instruksi Mesin Instruksi mesin (machine intruction) yang dieksekusi membentuk suatu operasi dan berbagai

Lebih terperinci

Pertemuan Ke-7 INSTRUCTION SET

Pertemuan Ke-7 INSTRUCTION SET Pertemuan Ke-7 INSTRUCTION SET A. What is an instruction set? The complete collection of instructions that are understood by a CPU Machine Code Binary Usually represented by assembly codes B. Komponents

Lebih terperinci

Sistem Operasi AGUS PAMUJI. Teknik Informatika

Sistem Operasi AGUS PAMUJI. Teknik Informatika Sistem Operasi AGUS PAMUJI 1 Session 1 Pengenalan Sistem Komputer 2 Sistem Operasi Compiler Basis data Aplikasi bisnis 3 Definisi Sistem Operasi Software yang mengontrol hardware hanya program biasa(contoh

Lebih terperinci

Operasi Transfer Data

Operasi Transfer Data Operasi Transfer Data Pada bab ini akan dibahas tujuan pembelajaran, Bahasa pemrograman mikroprosesor Z80. Selain itu dikemukakan contoh-contoh Bahasa program sederhana dan aplikasinya. Tujuan Pembelajaran:

Lebih terperinci

Bab 2. Instructions: Bahasa dari Komputer

Bab 2. Instructions: Bahasa dari Komputer Bab 2. Instructions: Bahasa dari Komputer Introduction ke MIPS machine Set dari MIPS instruction MMD 2405 Andi WRE 1 Register vs. Memori Komponen dari sebuah komputer Prosesor, memori, input, dan output

Lebih terperinci

PERBEDAAN PROSES DAN THREAD PADA SISTEM INFORMASI

PERBEDAAN PROSES DAN THREAD PADA SISTEM INFORMASI PERBEDAAN PROSES DAN THREAD PADA SISTEM INFORMASI NAMA : SHENI NUR ABDILA K NIM : 13111060 PRODI : TEKNIK INFORMATIKA Definisi Proses Secara informal, proses adalah program dalam eksekusi. Proses juga

Lebih terperinci

Instructions Set. Element dari instruction. Representasi dari Op code

Instructions Set. Element dari instruction. Representasi dari Op code s Set Adalah sekumpulan instruksi lengkap yang dapat dimengerti oleh CPU, instruction sets berupa kode mesin (machine code) dalam bentuk bilangan biner (binary) dan biasanya direpresentasi-kan dalam kode/bahasa

Lebih terperinci

MODUL III FLOW CONTROL INSTRUTIONS

MODUL III FLOW CONTROL INSTRUTIONS MODUL III FLOW CONTROL INSTRUTIONS Intruksi lompatan (jump) dan perulangan (loop) digunakan untuk pengambilan keputusan dan mengulang bagian-bagian kode. Untuk mengontrol instruksi lompatan (jump) dan

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dilakukan implementasi dan pengujian terhadap aplikasi yang dibangun tahap ini dilakukan setelah algoritma perancangan selesai dilakukan dan selanjutnya

Lebih terperinci

REPRESENTASI DAN ALUR PEMROSESAN DATA

REPRESENTASI DAN ALUR PEMROSESAN DATA REPRESENTASI DAN ALUR PEMROSESAN DATA Idealnya, kita ingin berkomunikasi dengan komputer dalam bahasa lisan atau tertulis. Dalam prakteknya, kita harus mengubah data ke bentuk yang lebih bisa siap diterima

Lebih terperinci

Ch t ap 7 er Operating System (OS)

Ch t ap 7 er Operating System (OS) Chapter 7 Operating System (OS) Definisi OS: Suatu program yang mengatur eksekusi eseuspoga program-program poga aplikasi as dan berfungsi sebagai interface antara pengguna komputer dengan hardware komputer

Lebih terperinci

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

BAHASA PEMOGRAMAN AT89S/Cxx (assembly) 1 BAHASA PEMOGRAMAN AT89S/Cxx (assembly) Operand dalam pemograman mikrokontroler adalah data yang tersimpan dalam memory, register dan input/output (I/O). Instruksi yang dikenal secara umum dikelompokan

Lebih terperinci

Arsitektur SAP-2 W BUS ACKNOWLEDGE HEXADECIMAL KEYBOARD ENCODER ACCUMULATOR INPUT PORT 1 ALU FLAGS READY INPUT PORT 2 SERIAL IN PROGRAM COUNTER TMP

Arsitektur SAP-2 W BUS ACKNOWLEDGE HEXADECIMAL KEYBOARD ENCODER ACCUMULATOR INPUT PORT 1 ALU FLAGS READY INPUT PORT 2 SERIAL IN PROGRAM COUNTER TMP W BUS ACKNOWLEDGE HEXADECIMAL KEYBOARD ENCODER 16 ACCUMULATOR INPUT PORT 1 READY SERIAL IN 0 7 INPUT PORT 2 ALU 2 FLAGS PROGRAM COUNTER 16 TMP MAR 16 B 16 64 K MEMORY C Arsitektur SAP-2 MDR OUTPUT PORT

Lebih terperinci

Teknik Kompiler 12. oleh: antonius rachmat c, s.kom

Teknik Kompiler 12. oleh: antonius rachmat c, s.kom Teknik Kompiler 12 oleh: antonius rachmat c, s.kom Code Generator Source code Front End Intermedate Code Code Optimizer Intermedate Code Code Generator Target Program Symbol Table Code Generation Persyaratan

Lebih terperinci

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IV Penjadwalan Proses I

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IV Penjadwalan Proses I MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM IV Penjadwalan Proses I A. Tujuan Pada akhir praktikum ini, peserta dapat: 1. Menggunakan simulator sistem operasi 2. Memahami konsep transisi keadaan proses (process

Lebih terperinci

Pertemuan Ke-12 RISC dan CISC

Pertemuan Ke-12 RISC dan CISC Pertemuan Ke-12 RISC dan CISC RISC Reduced Instruction Set Computer Komputer dengan Set instruksi terbatas CISC Complex Instruction Set Computer Komputer dengan Set instruksi Kompleks RISC (Reduced Instruction

Lebih terperinci

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi Tahun Akademik 2014/2015 Semester II DIG1I3 - Instalasi dan Penggunaan Sistem Operasi Manajemen I/O Mohamad Dani (MHM) (mohamad.dani@gmail.com) Saluran Youtube saya : youtube.com/danstama Hanya dipergunakan

Lebih terperinci

Teknologi Scalar untuk meningkatkan Kinerja Prosesor

Teknologi Scalar untuk meningkatkan Kinerja Prosesor MODUL PERKULIAHAN RISC dan CISC Teknologi Scalar untuk meningkatkan Kinerja Prosesor Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Teknik Informatika 12 15004 Tri Daryanto Abstract

Lebih terperinci

Learning Outcomes. akan mampu : (C3) perancangan compiler yang paling optimal (C4)

Learning Outcomes. akan mampu : (C3) perancangan compiler yang paling optimal (C4) Pembangkit Kode 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat menunjukkan hasil code genarator dari suatu kasus kompilasi program (C3) Mahasiswa dapat

Lebih terperinci

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma Struktur Sistem Komputer Abdullah Sistem Informasi Universitas Binadarma Pembahasan Operasi Sistem Komputer Struktur I/O Struktur Storage Hirarki Storage Proteksi Perangkat Keras Sistem Arsitektur Umum

Lebih terperinci

Bab 8: Manajemen Memori. Latar Belakang

Bab 8: Manajemen Memori. Latar Belakang Bab 8: Manajemen Memori Latar Belakang Swapping Alokasi Berurutan (Contiguous Allocation) Paging Segmentasi Segmentasi dengan Paging 9.1 Latar Belakang Program harus dibawa ke dalam memori dan ditempatkan

Lebih terperinci

Simple As Posible 2 (bag-2)

Simple As Posible 2 (bag-2) Simple As Posible 2 (bag-2) (Pertemuan ke-18) Disusun ulang oleh: Andrian Rakhmatsyah Diedit ulang oleh: Endro Ariyanto Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom Maret 2016 Instruksi

Lebih terperinci

Soal Komunikasi Data Kelas XI TKJ

Soal Komunikasi Data Kelas XI TKJ Soal Komunikasi Data Kelas XI TKJ PAKET A 1. Tempat penyimpanan primer yang bersifat mudah hilang (volatile) dikarenakan hilang saat listrik padam adalah... a. Random Access Memory b. Read Only Memory

Lebih terperinci

Instruksi logika (1) Memanipulasi isi Accumulator, dibagi menjadi 2. Panjang instruksi : 1 byte. Panjang instruksi : 2 byte

Instruksi logika (1) Memanipulasi isi Accumulator, dibagi menjadi 2. Panjang instruksi : 1 byte. Panjang instruksi : 2 byte Andrian Rakhmatsyah Instruksi logika (1) Memanipulasi isi Accumulator, dibagi menjadi 2 1. Operand kedua adalah register B dan C Panjang instruksi : 1 byte Format : Opcode Contoh : ANA B 2. Operand kedua

Lebih terperinci

ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM MATA KULIAH:

ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM MATA KULIAH: MATA KULIAH: ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 By: AYU

Lebih terperinci

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

SET INSTRUKSI. Organisasi dan Arsitektur Komputer SET INSTRUKSI Organisasi dan Arsitektur Komputer TUJUAN Memahami representasi set instruksi, dan jenis- jenis format instruksi Mengetahui jenis-jenis type operand digunakan Macam-macam Mode pengalamatan

Lebih terperinci

Virtual Memory Ch. 9. Virtual Memory. SISTIM OPERASI (Operating System) IKI Johny Moningka

Virtual Memory Ch. 9. Virtual Memory. SISTIM OPERASI (Operating System) IKI Johny Moningka Virtual Memory Ch. 9 SISTIM OPERASI (Operating System) IKI-00 Johny Moningka (moningka@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester 000/00 Virtual Memory Background Demand Paging

Lebih terperinci

PETA MEMORI MIKROPROSESOR 8088

PETA MEMORI MIKROPROSESOR 8088 1. Bagan Dasar µp 8088 PETA MEMORI MIKROPROSESOR 8088 Gambar 1. Bagan Dasar µp 8088 Elemen didalam mikroprosesor adalah : CU (Control Unit) adalah manajer dari semua unit. CU mengatur keselarasan kerja

Lebih terperinci

CPU PERKEMBANGAN ARSITEKTUR CPU. ( Central Processing Unit )

CPU PERKEMBANGAN ARSITEKTUR CPU. ( Central Processing Unit ) CPU ( Central Processing Unit ) PERKEMBANGAN ARSITEKTUR CPU CPU terdiri dari beberapa bagian yang berbeda yang saling berintegrasi dalam membentuk fungsinya secara bersamaan. Pada bagian ini akan dibahas

Lebih terperinci

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse Input Output Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse Output: Menampilkan data Contoh: Monitor, printer Unit Input/Output dalam bekerja memerlukan sinyal kontrol

Lebih terperinci

Sistem Operasi. Divais Input/Output 2016

Sistem Operasi. Divais Input/Output 2016 Sistem Operasi Divais Input/Output 2016 Kata Pengantar Salah satu fungsi OS adalah mengendalikan divais Merupakan sebagian besar code (80-90% pada Linux) Diinginkan semua divais digunakan nyaman misal:

Lebih terperinci