Divo Pramudia - Pertemuan 9
Divo Pramudia - Pertemuan 9
Nim :2300018420
Kelas : J
Jawaban : Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di
mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine
code), karna aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly,
untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah
dimengerti oleh manusia.
Sumber:https://lmsparalel.esaunggul.ac.id/pluginfile.php?file=%2F165721%2Fmod_resource
%2Fcontent%2F2%2F9_7465_cco120_052019_doc.docx
Sumber : https://www.slideserve.com/zocha/bahasa-mesin-dan-assembly
ALU (Arithmetic Logic Unit): Instruksi berperan dalam mengatur operasi aritmatika dan
logika. ALU menerima instruksi dari kontrol unit untuk melakukan operasi matematika dan
logika pada data yang diterima dari memori atau input/output. Instruksi ini mengatur
bagaimana data diolah di dalam ALU
Control Flow: Instruksi berperan dalam mengatur alur program. Kontrol unit dalam CPU
menggunakan instruksi untuk mengatur alur eksekusi program, termasuk percabangan dan
perulangan. Instruksi ini memungkinkan CPU untuk melakukan operasi seperti pengambilan
keputusan dan perubahan alur eksekusi program
Memori: Instruksi berperan dalam mengatur akses ke memori. Instruksi ini digunakan untuk
membaca dan menulis data ke memori, serta mengatur alamat memori yang akan diakses.
Dengan instruksi ini, CPU dapat berkomunikasi dengan memori untuk menyimpan dan
mengambil data
Input/Output: Instruksi berperan dalam mengatur input dan output. Instruksi ini
memungkinkan CPU untuk berkomunikasi dengan perangkat input/output seperti keyboard,
layar, dan perangkat lainnya. Instruksi ini memungkinkan transfer data antara CPU dan
perangkat input/output
Sumber : https://id.scribd.com/doc/176883208/Daftar-Instruksi-Bahasa-Assembly-MCS
Instruksi Aritmatika dan Logika digunakan untuk melakukan operasi matematika dan logika
pada data dalam komputer. Berikut adalah contoh penggunaannya:
1.Instruksi Aritmatika: Instruksi ini meliputi penjumlahan, pengurangan, perkalian,
pembagian, perbandingan, negasi, inkremen, dan dekremen Contoh instruksi aritmatika
dalam Bahasa Assembly MCS adalah ADD AX, 20h, yang menjumlahkan nilai dalam register
AX dengan nilai konstant 20h
2.Instruksi Logika: Instruksi logika meliputi operasi AND, OR, XOR, NOT, shift
(penggeseran), rotate (pemutaran), dan TEST (perbandingan logika) Contoh instruksi logika
dalam Bahasa Assembly MCS adalah AND AX, 40h, yang melakukan operasi logika AND
antara bit-bit dalam register AX dan 40h
Sumber : https://www.coursehero.com/file/51589598/MODUL-5-Operasi-Aritmatika-dan-
Logika-1pdf/
Dengan memperhatikan faktor performa dan kompleksitas, desain set instruksi yang baik
dapat meningkatkan kinerja prosesor, memudahkan pengembangan perangkat lunak, dan
memenuhi kebutuhan komputasi yang beragam.
Sumber : https://eling.ub.ac.id/pluginfile.php/110798/mod_resource/content/1/BAB
%2010.pdf
Pemrosesan SIMD (Single Instruction Multiple Data): Dalam arsitektur SIMD, unit
prosesor bekerja pada satu instruksi pada satu waktu, tetapi mengoperasikan data
secara bersamaan. Setiap unit prosesor mengolah data yang berbeda, dan hasilnya
dikembalikan ke unit kontrol untuk proses berikutnya
Pemrosesan MIMD (Multiple Instruction Multiple Data): Dalam arsitektur MIMD, unit
prosesor bekerja pada beberapa instruksi pada satu waktu dan mengoperasikan
data secara independen. Hal ini memungkinkan pemrosesan yang lebih kompleks
dan fleksibel, tetapi juga memerlukan lebih banyak komunikasi antara unit prosesor
Namun, perlu diingat bahwa penggunaan kemampuan parallel memerlukan perhatian yang
tepat dalam desain arsitektur komputer, karena hal-hal seperti komunikasi antara unit
prosesor, penyimpanan memori, dan pengelolaan keteralaman thread dapat menjadi
tantangan dalam pengembangan sistem yang menggunakan kemampuan parallel.
Sumber : https://binus.ac.id/malang/2023/07/arsitektur-komputer-penjelasan-dan-kategori-
utamanya/
MOV: Instruksi MOV digunakan untuk memindahkan data antara register dan memori atau
antara register. Misalnya, MOV AX, 20h memindahkan data di alamat memori 20h ke dalam
register AX
ADD: Instruksi ADD digunakan untuk melakukan operasi penjumlahan antara dua
bilangan atau register. Misalnya, ADD AX, BX memaksu penjumlahan bilangan di
dalam register AX dan BX
JMP: Instruksi JMP (Jump) digunakan untuk mengangkut aliran eksekusi ke sebuah
label atau alamat memori yang ditentukan. Misalnya, JMP LABEL1 mengangkut
aliran eksekusi ke label LABEL1
CMP: Instruksi CMP (Compare) digunakan untuk membandingkan dua bilangan atau
register dan menghasilkan flag kesetimbangan. Misalnya, CMP AX, BX
membandingkan bilangan di dalam register AX dan BX dan menghasilkan flag
kesetimbangan dalam bit flag
Dalam konteks arsitektur komputer, instruksi ini memainkan peran penting dalam
menyediakan kinerja dan efisiensi prosesor. Dengan memilih instruksi yang tepat,
pengembang dapat mengoptimalkan kode serta meningkatkan kapasitas tahap dan kinerja
prosesor.
Sumber : https://eprints.uad.ac.id/29907/1/Modul%20SO%20Genap
%202019%202020%20New.pdf
CMP (Compare): Instruksi CMP digunakan untuk membandingkan dua nilai atau
register. Sebagai contoh, CMP AX, BX akan membandingkan nilai di dalam register
AX dan BX.
Sumber : https://repository.upi.edu/23853/8/T_BIND_1303064_Chapter5.pdf
Jawaban : Pipelining adalah teknik implementasi di mana beberapa instruksi tumpang tindih
dalam eksekusi. Setiap langkah disebut tahap pipa atau segmen pipa. Siklus mesin pipa
adalah waktu yang dibutuhkan untuk memindahkan instruksi satu langkah ke bawah pipa.
Pipelining memecah proses eksekusi instruksi menjadi kumpulan fungsi yang lebih kecil
yang dapat dilakukan secara independen oleh subsistem diskrit dalam prosesor. Ini
memungkinkan beberapa instruksi untuk dieksekusi secara bersamaan, masing-masing
beroperasi pada instruksi yang berbeda dalam aliran instruksi.
Sebagai contoh, dalam pipelining, subsistem diskrit (tahap pipa) menerapkan proses
interpretasi instruksi ke dalam sistem yang dijalankan secara bersamaan, mirip dengan jalur
perakitan pabrik. Tahap-tahap pipelining umumnya meliputi:
Sumber : https://ocw.upj.ac.id/files/Handout-TIF203-Arsitektur-dan-Organisasi-Komputer-
Ch-14.pdf
Dalam praktiknya, absolute addressing sering digunakan untuk mengakses data yang
tersimpan pada alamat memori yang tetap, sementara relative addressing sering digunakan
untuk mengimplementasikan operasi seperti lompatan (jump) atau pemrosesan data yang
berada pada lokasi yang relatif terhadap alamat instruksi saat ini.
Sumber : https://eling.ub.ac.id/pluginfile.php/110799/mod_resource/content/1/BAB%2011.pdf
- Bagaimana instruksi branching berkontribusi pada struktur kendali alur eksekusi program
dalam Bahasa Assembly?
- Jelaskan bagaimana sebuah instruksi perbandingan seperti CMP dapat digunakan untuk
mengatur kondisi percabangan dalam Bahasa Assembly.
- Bagaimana instruksi input/output (I/O) dalam Bahasa Assembly memfasilitasi komunikasi
antara prosesor dan perangkat input/output? Berikan contoh.
Langkah 8: Kesimpulan
8. Ringkasan dan Kesimpulan
- Ringkas poin-poin kunci yang telah dibahas.
- Berikan kesimpulan tentang pentingnya pemahaman tentang Set Instruksi dan Jenis
Instruksi dalam Bahasa Assembly.
Jawaban : Berikut adalah beberapa poin-poin kunci yang telah dibahas dalam mengenai
instruksi dalam Bahasa Assembly:
Fetch (Pengambilan): Instruksi mengambil instruksi dari memori ke dalam register
yang spesifik.
Decode (Deokode): Instruksi dipecahkan menjadi komand dan operasi yang
diperlukan untuk menjalankannya.
Execute (Eksekusi): Instruksi dijalankan sesuai dengan komand dan operasi yang
diperlukan.
Write Back (Penulisan Kembali): Hasil eksekusi instruksi diperkira kembali ke
memori.
Dalam konteks arsitektur prosesor, pipelining adalah teknik di mana beberapa instruksi
tumpang tindih dalam eksekusi. Proses ini memecah instruksi menjadi kumpulan fungsi
yang lebih kecil yang dapat dilakukan secara independen oleh subsistem diskrit dalam
prosesor. Pipelining meningkatkan kinerja eksekusi instruksi dengan memungkinkan
beberapa instruksi untuk dieksekusi secara bersamaan.
Pentingnya pemahaman tentang Set Instruksi dan Jenis Instruksi dalam Bahasa Assembly
dapat disimpulkan sebagai berikut:
Bahasa Assembly sebagai Bahasa Pemrograman Tingkat Rendah: Bahasa Assembly
adalah bahasa pemrograman tingkat rendah yang digunakan untuk berkomunikasi
langsung dengan perangkat keras komputer. Meskipun jarang ditulis secara langsung,
bahasa ini tetap penting untuk keseluruhan fungsi komputer, terutama dalam aplikasi
khusus di mana tuntutan kinerja sangat tinggi.
Set Instruksi (Instruction Set Architecture/ISA): ISA mencakup jenis data yang
didukung, jenis instruksi, jenis register, mode pengalamatan, arsitektur memori,
penanganan interupsi, eksepsi, dan operasi I/O eksternalnya. ISA merupakan
spesifikasi dari semua kode biner (opcode) yang diimplementasikan dalam bentuk
aslinya dalam desain prosesor tertentu.
Jenis Instruksi dalam Bahasa Assembly: Instruksi dalam Bahasa Assembly meliputi
operasi sederhana seperti MOV (Move) dan ADD (Addition), serta operasi kontrol
seperti JMP (Jump) dan CMP (Compare). Setiap instruksi memiliki peran khusus
dalam memanipulasi perangkat keras secara langsung, mengakses instruksi prosesor
khusus, atau mengevaluasi masalah kinerja penting.
Pengalamatan: Mode pengalamatan dalam Bahasa Assembly memberikan fleksibilitas
yang sangat penting dalam menunjuk dan mengalamati suatu lokasi memori pada
sebuah alamat di mana operand akan diambil. Mode pengalamatan meliputi direct
addressing, indirect addressing, dan immediate addressing.
Dengan memahami Set Instruksi dan Jenis Instruksi dalam Bahasa Assembly, para
pemrogram dapat lebih efektif dalam memanipulasi perangkat keras, mengoptimalkan
kinerja, dan memahami bagaimana perangkat lunak modern berhubungan dengan platform
perangkat keras yang mendasarinya.
Kesimpulan :
Kesimpulan dari topik instruksi dalam Bahasa Assembly adalah pemahaman tentang set
instruksi dan jenis instruksi sangat penting dalam memanipulasi perangkat keras,
mengoptimalkan kinerja, dan memahami bagaimana perangkat lunak modern berhubungan
dengan platform perangkat keras yang mendasarinya. Instruksi dalam Bahasa Assembly
meliputi operasi sederhana seperti MOV dan ADD, serta operasi kontrol seperti JMP dan
CMP. Setiap instruksi memiliki peran khusus dalam memanipulasi perangkat keras secara
langsung, mengakses instruksi prosesor khusus, atau mengevaluasi masalah kinerja penting.
Pengalamatan dalam Bahasa Assembly memberikan fleksibilitas yang sangat penting dalam
menunjuk dan mengalamati suatu lokasi memori pada sebuah alamat di mana operand akan
diambil. Mode pengalamatan meliputi direct addressing, indirect addressing, dan immediate
addressing. Pipelining adalah teknik implementasi di mana beberapa instruksi tumpang tindih
dalam eksekusi, yang memungkinkan beberapa instruksi untuk dieksekusi secara bersamaan,
masing-masing beroperasi pada instruksi yang berbeda dalam aliran instruksi. Pipelining
meningkatkan kinerja eksekusi instruksi dengan memungkinkan beberapa instruksi untuk
dieksekusi secara bersamaan.
Referensi
- Pastikan untuk menyertakan referensi terkait sumber daya yang digunakan dalam
penyusunan paper.
Catatan: Penyusunan tugas ini bertujuan untuk membantu pemahaman mendalam tentang
Set Instruksi dan Jenis Instruksi pada Bahasa Assembly. Format tugas ini dapat disesuaikan
sesuai dengan kebutuhan dan pedoman yang diberikan.