TUGAS 4 MIKROPROSESSOR Muzakkie Aditya Wirawan
202411512 Kelas J
1. Arsitektur Berdasarkan Data
Arsitektur Berdasarkan Data (Data-Driven Architecture) adalah pendekatan dalam merancang sistem komputer atau aplikasi di mana struktur dan operasi sistem lebih berfokus pada pengurusan, pemprosesan, penyimpanan, dan pengaliran data. Dalam arsitektur ini, data menjadi elemen utama yang membentuk cara aplikasi berfungsi, dan komponen-komponen sistem diatur untuk mengoptimumkan pemanfaatan data tersebut. Arsitektur ini sering digunakan dalam sistem yang memerlukan pemprosesan data besar, sistem pengurusan pangkalan data, atau sistem yang bergantung pada aliran data secara dinamik.
Set instruksi didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram, 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.
Instruction set architecture (ISA) / arsitektur set instruksi ISA meliputi spesifikasi yang menentukan bagaimana programmer bahasa mesin akan berinteraksi oleh komputer. ISA menentukan sifat komputasional computer, ISA terkadang digunakan untuk membedakan kumpulan karakteristik yang disebut di atas dengan mikro arsitektur prosesor, yang merupakan kumpulan teknik desain prosesor untuk mengimplementasikan set instruksi (mencakup microcode, pipeline, sistem cache, manajemen daya, dan lainnya). Terdapat kumpulan unik set instruksi, yang dapat digolongkan dalam jenis-jenisnya yaitu :
1. Pengolahan data (dataprocessing)
Meliputi operasi-operasi aritmetika dan logika. Operasi aritmetika memiliki kemampuan komputasi untuk pengolahan data numeric. Sedangkan instruksi logika beroperasi terhadap bit- bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
2. Perpindahan Data (data movement)
Perpindahan data (data movement) berisi instruksi perpindahan data antar register maupun modul I/O. untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan.
3. Penyimpanan data (data storage)
Penyimpanan data (data storage) berisi instruksi-instruksi penyimpan kememori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
4. Kontrol aliran program (program flow control)
Kontrol aliran program (program flow control) berisi instruksi pengontrolan operasi dan percabangan ke set instruksi lain.
o Karakteristik Dan Fungsi Set Instruksi
a. Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya.
Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions)
b. Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set).
o Elemen-Elemen Dari Instruksi Mesin (Set Instruksi)
* Operation Code (opcode) : menentukan operasi yang akan dilaksanakan
* Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan
* Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan
* Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.
o Desain Set Instruksi
a. Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi instruksi) 3. Kompatibilitas :
- Source code compatibility - Object code Compatibility Jenis-Jenis Operand
* Addresses
* Numbers :
– Integer or fixed point => sebuah integer yang skala dengan faktor tertentu. Penting untuk dicatat bahwa faktor skala ditentukan oleh jenis, itu adalah sama untuk semua nilai dari jenis fixed-titik tertentu.
– Floating point => sebuah bilangan yang digunakan untuk menggambarkan sebuah nilai yang sangat besar atau sangat kecil
– Decimal (BCD )=> sistem pengkodean bilangan desimal yang metodenya mirip dengan bilangan biner biasa; hanya saja dalam proses konversi, setiap simbol dari bilangan desimal dikonversi satu per satu, bukan secara keseluruhan seperti konversi bilangan desimal ke biner biasa.)
* Characters :
– ASCII (American Standard Code for Information Interchange) => suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks.
Tipe-tipe Operasi Ø Transfer data
· Menetapkan lokasi operand sumber dan operand tujuan.
· Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas dari pada stack.
· Menetapkan panjang data yang dipindahkan.
· Menetapkan mode pengalamatan.
· Tindakan CPU untuk melakukan transfer data Ø Operasi Set Instruksi Untuk Transfer Data
a. MOVE : memindahkan word atau blok dari sumber ke tujuan b. STORE : memindahkan word dari prosesor ke memori
c. LOAD : memindahkan word dari memori ke prosesor d. EXCHANGE : menukar isi sumber ke tujuan
e. CLEAR / RESET : memindahkan word 0 ke tujuan f. SET : memindahkan word 1 ke tujuan
g. PUSH : memindahkan word dari sumber ke bagian paling atas stack h. POP : memindahkan word dari bagian paling atas sumber
2. Arsitektur Berdasarkan Hardware
Sistem arsitektur hardware merujuk pada struktur fisik dan organisasi komponen perangkat keras dalam sebuah komputer atau sistem komputasi, serta cara komponen- komponen tersebut saling berinteraksi untuk menjalankan tugas-tugas pemrosesan, penyimpanan data, dan komunikasi dengan perangkat lainnya. Dalam sistem arsitektur hardware, berbagai komponen bekerja secara terkoordinasi untuk memfasilitasi operasi komputer yang efisien.
Berikut adalah penjelasan tentang komponen utama dalam sistem arsitektur hardware dan bagaimana mereka saling terhubung:
A. Unit Pemrosesan Sentral (CPU)
CPU adalah bagian terpenting dalam sistem arsitektur hardware. CPU bertanggung jawab untuk mengeksekusi instruksi dan memproses data. CPU biasanya terdiri dari beberapa komponen:
o Arithmetic Logic Unit (ALU): Bagian dari CPU yang melakukan operasi aritmatika dan logika pada data.
o Control Unit (CU): Mengontrol aliran instruksi dalam sistem komputer dan mengoordinasikan eksekusi instruksi.
o Register: Penyimpanan kecil yang sangat cepat yang digunakan untuk menyimpan data sementara yang diperlukan selama eksekusi instruksi.
o Cache Memory: Memori cepat yang digunakan untuk menyimpan data yang sering diakses, sehingga mempercepat pemrosesan.
B. Memori
Memori dalam sistem hardware digunakan untuk menyimpan data dan instruksi. Ada beberapa jenis memori yang digunakan dalam sistem komputer:
o RAM (Random Access Memory): Memori utama yang digunakan untuk menyimpan data dan program yang sedang dijalankan. RAM bersifat volatil, yang berarti data akan hilang ketika komputer dimatikan.
o ROM (Read-Only Memory): Memori yang bersifat non-volatile dan berisi data atau instruksi yang tidak berubah (seperti firmware).
o Cache Memory: Memori yang lebih cepat dari RAM dan digunakan untuk menyimpan data yang sering diakses.
o Virtual Memory: Ruang penyimpanan yang disimulasikan di dalam penyimpanan permanen yang berfungsi untuk memperluas kapasitas RAM.
C. Penyimpanan (Storage)
Penyimpanan dalam sistem arsitektur hardware digunakan untuk menyimpan data secara permanen. Beberapa jenis perangkat penyimpanan adalah:
o Hard Disk Drive (HDD): Penyimpanan mekanik yang memiliki kapasitas besar, tetapi lebih lambat daripada SSD.
o Solid-State Drive (SSD): Penyimpanan berbasis chip yang lebih cepat daripada HDD karena tidak memiliki bagian yang bergerak.
o Optical Discs (CD, DVD): Digunakan untuk menyimpan data secara optik, tetapi dengan kecepatan yang lebih rendah dibandingkan SSD.
o Flash Drive: Penyimpanan portabel berbasis teknologi flash yang digunakan untuk transfer data.
D. Perangkat Input/Output (I/O)
Perangkat I/O adalah komponen yang memungkinkan komunikasi antara komputer dengan dunia luar. Ini melibatkan perangkat yang digunakan untuk input data (misalnya keyboard, mouse) dan output data (misalnya monitor, printer). Sistem I/O juga termasuk perangkat jaringan yang memungkinkan konektivitas antara komputer (misalnya kartu jaringan Ethernet atau Wi-Fi).
E. Motherboard
Motherboard adalah papan sirkuit utama yang menghubungkan semua komponen perangkat keras dalam sistem komputer. Di atas motherboard terdapat soket untuk CPU, slot RAM, dan berbagai port untuk perangkat I/O, serta jalur komunikasi untuk menghubungkan komponen-komponen tersebut.
F. Bus Sistem
Bus adalah saluran komunikasi yang digunakan untuk mentransfer data antara berbagai komponen komputer, seperti CPU, memori, dan perangkat I/O. Ada beberapa jenis bus:
o Bus Data: Digunakan untuk mengirimkan data antara komponen.
o Bus Alamat: Mengirimkan alamat memori untuk mencari lokasi data yang diperlukan.
o Bus Kontrol: Mengirimkan sinyal kontrol yang mengatur operasi sistem.
G. Kartu Ekspansi
Sistem arsitektur hardware juga dapat mencakup berbagai kartu ekspansi yang dipasang pada motherboard untuk menambahkan fungsionalitas khusus, seperti:
o Kartu Grafis (GPU): Untuk mempercepat pemrosesan grafis dan komputasi paralel.
o Kartu Suara: Untuk pemrosesan suara dan audio.
o Kartu Jaringan (NIC): Untuk menghubungkan komputer ke jaringan lokal atau internet.
H. Konektivitas dan Jaringan
Konektivitas jaringan adalah bagian penting dari sistem arsitektur hardware, memungkinkan komputer untuk berkomunikasi dengan perangkat lain:
o Ethernet: Koneksi kabel untuk menghubungkan komputer ke jaringan lokal.
o Wi-Fi: Koneksi nirkabel untuk menghubungkan komputer ke jaringan tanpa kabel.
o Bluetooth: Digunakan untuk komunikasi jarak pendek, misalnya antara perangkat seperti mouse, keyboard, dan speaker.
I. Perangkat Keras Khusus
Sistem arsitektur hardware dapat mencakup perangkat keras yang dirancang khusus untuk aplikasi tertentu, seperti:
o ASIC (Application-Specific Integrated Circuit): Chip yang dirancang untuk melakukan tugas khusus, seperti di perangkat keras untuk kriptografi atau pemrosesan sinyal.
o FPGA (Field-Programmable Gate Array): Chip yang dapat diprogram ulang untuk berbagai aplikasi, sering digunakan dalam penelitian dan aplikasi yang memerlukan pemrosesan paralel.
J. Arsitektur Multiprosesor
Dalam arsitektur hardware yang lebih kompleks, beberapa prosesor bekerja secara bersamaan untuk meningkatkan kinerja dan pemrosesan data. Ada beberapa model arsitektur multiprosesor:
o Symmetric Multiprocessing (SMP): Semua prosesor memiliki akses yang sama ke memori dan perangkat I/O.
o Massively Parallel Processing (MPP): Sistem dengan banyak prosesor yang bekerja secara terdistribusi, biasanya digunakan dalam komputasi skala besar seperti superkomputer.
K. Sistem Pendingin
Sistem pendinginan diperlukan untuk menjaga suhu komponen perangkat keras tetap stabil dan mencegah overheating. Beberapa metode pendinginan yang digunakan dalam arsitektur hardware termasuk:
o Pendinginan udara (fan): Digunakan untuk mendinginkan komponen seperti CPU dan GPU.
o Pendinginan cair: Digunakan pada komputer berperforma tinggi untuk mendinginkan sistem secara lebih efisien.
L. Arsitektur Komputer: Von Neumann vs. Harvard
o Arsitektur Von Neumann: Dalam arsitektur ini, memori untuk data dan instruksi berada di tempat yang sama. Hal ini dapat menyebabkan hambatan dalam pemrosesan (Von Neumann bottleneck).
o Arsitektur Harvard: Memisahkan memori untuk data dan instruksi, yang memungkinkan akses yang lebih cepat dan lebih efisien.
Kesimpulan
Sistem arsitektur hardware adalah cara berbagai komponen perangkat keras diorganisasikan dan dihubungkan untuk melakukan tugas-tugas komputasi. Ini mencakup prosesor, memori, penyimpanan, perangkat I/O, dan elemen-elemen lainnya yang bekerja bersama untuk menjalankan program dan aplikasi. Setiap komponen memiliki peran yang sangat penting dalam mendukung kinerja dan efisiensi sistem secara keseluruhan.
3. Direct Memory Access Controller
DMAC adalah singkatan dari Direct Memory Access Controller. Ini adalah sebuah komponen dalam komputer atau perangkat elektronik lainnya yang mengatur transfer data langsung antara memori dan perangkat tanpa melibatkan prosesor (CPU) secara langsung dalam proses tersebut. Dengan menggunakan DMAC, perangkat dapat mengakses memori untuk membaca atau menulis data secara langsung, yang mengurangi beban kerja CPU dan meningkatkan efisiensi sistem.
DMAC sering digunakan dalam situasi di mana data perlu dipindahkan dalam jumlah besar dengan kecepatan tinggi, seperti dalam pengolahan audio, video, atau transfer data antar perangkat dalam sistem embedded. Keuntungan utama dari penggunaan DMAC adalah meningkatkan performa sistem dengan mengurangi keterlibatan CPU dalam operasi data transfer yang berat.
a) Fungsi Utama DMAC:
Mengelola Transfer Data: DMAC mengontrol proses pemindahan data antara memori dan perangkat input/output (I/O) seperti disk, kartu grafis, atau kartu suara.
Mengurangi Beban CPU: Dengan mengatur transfer data tanpa melibatkan CPU secara langsung, DMAC membantu mengurangi beban kerja CPU, memungkinkan CPU untuk fokus pada tugas-tugas lainnya.
Kecepatan Transfer Data: DMAC memungkinkan transfer data lebih cepat karena transfer dilakukan langsung antara perangkat dan memori tanpa perlu intervensi CPU.
b) Cara Kerja DMAC:
Inisiasi: Perangkat yang ingin mentransfer data memberi tahu DMAC tentang alamat memori sumber dan tujuan, serta jumlah data yang perlu dipindahkan.
Pengaturan Transfer: DMAC memulai transfer data sesuai dengan instruksi yang diberikan, baik dalam mode burst, cycle stealing, atau block transfer.
Notifikasi ke CPU: Setelah transfer selesai, DMAC memberitahu CPU bahwa proses transfer telah selesai, sehingga CPU dapat melanjutkan tugas lainnya.
c) Jenis-jenis DMAC:
Single Channel DMAC: Mengelola satu jalur DMA untuk melakukan satu transfer data pada satu waktu.
Multi-Channel DMAC: Dapat mengelola beberapa jalur DMA secara bersamaan, memungkinkan lebih dari satu transfer data dilakukan pada waktu yang sama.
Programmable DMAC (PDMA): Memungkinkan pengaturan transfer data secara lebih fleksibel, dengan kemampuan untuk mengonfigurasi berbagai parameter seperti alamat sumber, alamat tujuan, dan jumlah data.
d) Tipe-Tipe DMA yang Dikelola oleh DMAC:
1. Burst Mode DMA: DMAC mentransfer seluruh data dalam satu kali transfer.
2. Cycle Stealing DMA: DMAC mengambil alih bus memori untuk satu siklus, kemudian memberi kesempatan CPU untuk mengakses memori.
3. Block Mode DMA: DMAC mentransfer data dalam blok besar dengan interaksi terbatas dengan CPU.
e) Keuntungan Penggunaan DMAC:
Meningkatkan Kinerja Sistem: Transfer data lebih cepat dan efisien.
Mengurangi Beban CPU: CPU dapat melanjutkan tugas lain sementara DMAC menangani transfer data.
Secara keseluruhan, DMAC adalah komponen penting untuk meningkatkan efisiensi transfer data dalam sistem komputer, terutama dalam aplikasi yang memerlukan pemrosesan data besar atau real-time.