Anda di halaman 1dari 9

LAPORAN TUGAS KULIAH

ARSITEKTUR KOMPUTER

Dosen : Dr. Inna Novianty, MSi

Hari/Tanggal : Selasa, 24 Agustus 2021

Nama : Chika Desvi


NIM : J0304201023
Kelas : Tek BP1

PROGRAM STUDI TEKNIK KOMPUTER


SEKOLAH VOKASI

IPB UNIVERSITY
2021
KATA PENGANTAR

Puji syukur kehadirat Allah Tuhan Yang Maha Esa yang telah memberikan rahmat
dan berkat- Nya sehingga saya dapat menyelesaikan laporan tugas kuliah yang
berjudul “ Arsitektur Komputer.”

Adapun tujuan dari penulisan dari laporan ini adalah untuk memenuhi tugas
laporan kuliah pada Mata kuliah Arsitektur Komputer. Selain itu, Laporan ini juga
bertujuan untuk menambah wawasan tentang Definisi dan memahami lebih dalam
mengenai Arsitektur Komputer bagi para pembaca dan juga bagi penulis.

Saya mengucapkan terima kasih kepada Ibu Dr. Inna Novianty, MSi selaku Dosen
Mata kuliah Arsitektur Komputer yang telah memberikan tugas ini sehingga dapat
menambah pengetahuan dan wawasan sesuai dengan bidang studi yang saya
tekuni.

Terima kasih juga untuk teman-teman dan kakak-kakak Asisten Dosen yang telah
membantu saya sehingga saya dapat menyelesaikan tugas kuliah ini.

Saya menyadari, Laporan tugas yang saya tulis ini masih jauh dari kata sempurna.
Oleh karena itu, kritik dan saran yang membangun akan saya nantikan demi
kesempurnaan Laporan ini.

Bogor , 24 Agustus 2021


Tugas Pertemuan 1

1. Jelaskan definisi Arsitektur Komputer


Jawaban : Arsitektur Komputer merupakan konsep perencanaab dan struktur pengoperasian
dasar dari suatu system komputer. Arsitektur computer ini merupakan rencana cetak-biru
dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain ( kecepatan
proses dan system interkoneksinya ). Arsitektur Komputer juga dapat didefinisikan dan
dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-
komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi
kebutuhan fungsional, kinerja, dan target biayanya. Arsitektur komputer adalah suatu
bentuk desain CPU, system memori, system I/O, multiiprosesor dan network komputer.

2. Jelaskan Milestone Arsitektur Komputer yang kalian ketahui


a. Binary and Hexadecimal system and, the advent of BJT and MOS Transistors (resulting
in CMOS) fabrication.
Komputer saat ini bekerja pada sistem biner dan programmer berinteraksi dengan
mereka dalam sistem heksadesimal karena sangat dekat dengan biner. Komputer ini
menggunakan teknologi CMOS (MOS komplementer) karena sangat baik dalam
mengimplementasikan rangkaian switching atau rangkaian biner. Setiap 2 tahun, lebar
gerbang MOS dibelah dua dan mengurangi daya, area, dan meningkatkan kecepatan
CPU.
b. Single Cycle Microprocessors (CPU)
Tidak ada CPU siklus tunggal lagi tetapi itu adalah tonggak sejarah karena CPU
pertama adalah satu siklus. Dalam CPU siklus tunggal, hanya membutuhkan 1 siklus
clock untuk mengeksekusi semua operasi yang dilakukan untuk menyelesaikan
instruksi. Jadi satu siklus CPU akan mengambil instruksi, mendekodekannya dan
mengeksekusinya dalam satu siklus clock. Siklus clock ditentukan oleh waktu instruksi
terpanjang. Jadi semua instruksi mengambil apa yang dibutuhkan instruksi terpanjang
pada CPU ini. Sangat tidak efisien karena bahkan jika beberapa instruksi dapat
menyelesaikan lebih awal, CPU tidak akan menghentikannya.
Mari kita pahami, apa saja tahapan utama yang harus dilalui sebuah instruksi:
Fetch + Decode + Execute + Load and Store. Tahap fetch akan mengambil instruksi
dan meneruskannya ke decode. Tahap decode mencoba untuk memahami instruksi dan
mencari tahu apa yang diperlukan untuk mengeksekusinya seperti membaca file register
untuk instruksi ADD dll. Kemudian instruksi masuk ke tahap eksekusi di mana ia akan
menggunakan ALU untuk melakukan operasi (seperti unit Adder untuk ADD inst.)
membutuhkan instruksi. Pada akhirnya, jika sebuah instruksi perlu melakukan operasi
memori maka ia akan masuk ke tahap Load & Store. Tetapi seperti yang Anda lihat,
semua instruksi tidak perlu masuk ke tahap Load & Store karena tidak semua instruksi
perlu melakukan operasi memori. Tetapi dalam CPU siklus tunggal, instruksi non-
memori masih akan memakan waktu selama instruksi operasi memori diperlukan.
c. Multi-Cycle Microprocessors
Dalam mikroprosesor multi-siklus, sebuah instruksi membutuhkan beberapa siklus
clock kecil tetapi instruksi dapat diselesaikan segera setelah selesai dan tidak harus
menunggu selama instruksi operasi memori. Setiap siklus baru akan
memindahkan/menggeser instruksi dari satu tahap ke tahap berikutnya. Jadi instruksi
ADD yang hanya menambahkan dua Register dan meletakkannya di Register lain akan
selesai tepat setelah tahap eksekusi memberi sinyal unit pengambilan untuk memulai
dengan instruksi baru. Jadi multi-siklus menghemat waktu pada setiap instruksi kecil
dan membutuhkan waktu selama satu siklus CPU hanya untuk instruksi Load & Store.
Dalam CPU Single-Cycle, jika sebuah instruksi mengambil siklus clock 100us
(mikrodetik) maka dalam multi-siklus saja instruksi Load & Store masih membutuhkan
100us yaitu 4 siklus 25us (dengan asumsi 4 tahap). Dan banyak instruksi dapat
diselesaikan hanya setelah 3 siklus clock menghemat 25us.
d. Pipelined Microprocessors
Dalam prosesor Multi-Siklus, sebuah instruksi hanya membutuhkan waktu selama
itu diperlukan. Ini bagus tapi kami masih bisa lebih baik dalam hal throughput (jumlah
instruksi dihentikan per detik) karena CPU multi-siklus hanya menggunakan satu tahap
pada satu waktu dan tahap lainnya tetap menganggur. Jika entah bagaimana ketika satu
instruksi didekodekan dalam prosesor multi-siklus yang lain dapat diambil secara
paralel, maka kami menempatkan tahapan untuk menyelesaikan penggunaan. Jadi jika
kita memiliki 4 tahap maka kita dapat memiliki 4 instruksi di dalam CPU pada 4 tahap
yang berbeda. Dan CPU akan dapat mengeksekusi 4 instruksi dalam satu waktu
instruksi atau satu instruksi setiap siklus clock.
Inilah yang dilakukan prosesor berlapis pipa, ia menambahkan antrian atau register
di antara setiap tahap (FDEM – Fetch Decode Execute and Memory) yang menyimpan
output dari tahap sebelumnya dan bertindak sebagai input ke tahap berikutnya di siklus
berikutnya. Dengan cara ini CPU telah mulai menghentikan instruksi setiap siklus clock
jika pipa penuh yaitu ada instruksi di setiap tahap pipa.
Ini bagus, tetapi CPU yang dilapisi pipa terkadang perlu menyiram pipa untuk
beberapa instruksi – seperti untuk instruksi Cabang dan Langsung, seperti di mana
harus melompat atau PC apa (penghitung program – ia menyimpan alamat instruksi
berikutnya yang akan diambil di mesin sekuensial ) nilai yang akan diambil
diselesaikan setelah instruksi Cabang (dan Lompat) dieksekusi pada tahap eksekusi.
Jadi CPU berjajar pipa memerlukan unit prediksi yang sangat kuat yang dapat
memprediksi nilai apa yang akan diselesaikan oleh instruksi Cabang jika tidak, ia selalu
memprediksi bahwa instruksi berikutnya harus diambil, karena program sekuensial
menunjukkan lokalitas temporal dan spasial. Logika prediksi adalah topik lain dalam
dirinya sendiri. Dan ada banyak tonggak dalam meningkatkan kemampuan prediksi
CPU.
e. Deep Pipelined Microprocessors
Meskipun ini merupakan peningkatan arsitektur mikro mikroprosesor pipa tetapi
industri telah menghabiskan cukup banyak waktu untuk meningkatkan arsitektur pipa
dan oleh karena itu perlu disebutkan. Mikroprosesor berlapis Pipa Dalam berarti
mungkin memiliki lebih dari 4 tahap. Saat ini sebuah inti dapat memiliki sebanyak 20
tahap pipa. Mikroprosesor pipa dalam dapat memiliki banyak tahapan dekode dan
eksekusi. Mari kita pahami apa perlunya melakukan pelapisan pipa yang dalam. Tidak
setiap tahap (yaitu FDEM) membutuhkan waktu yang sama untuk menyelesaikan
tugasnya. Jadi mari kita asumsikan Ambil membutuhkan waktu 10ns (nanodetik),
decode membutuhkan waktu 9ns, eksekusi membutuhkan waktu 20ns dan Load & Store
membutuhkan waktu 10ns. Maka siklus jam dari CPU yang dilapisi pipa harus 20ns.
Oleh karena itu tahap eksekusi yang membutuhkan waktu paling lama menentukan
siklus clock. Ini tidak efisien dan apa yang dilakukan CPU deep-pipeline, ia
menambahkan satu tahap pipeline lagi di antara tahap eksekusi. Sekarang CPU
memiliki 5 tahap FDEEM dan setiap tahap eksekusi membutuhkan waktu 10ns
sehingga siklus jam CPU dapat turun menjadi 10ns dari 20ns. Sebuah peningkatan
besar. Demikian pula, kita dapat melakukannya untuk tahap lain dan seperti yang saya
sebutkan CPU pipa membutuhkan prediksi dan logika lain yang cenderung
meningkatkan jalur kritis beberapa blok dan membutuhkan pendalaman lebih lanjut dari
pipa.
f. Superscalar Microprocessors
CPU ini mencoba untuk mengambil banyak instruksi terdekat secara paralel dan
mencoba untuk memecahkan kode dan mengeksekusi semuanya secara paralel. Ini
mungkin memiliki banyak unit pengambilan, banyak unit dekode tidak sebanyak
pengambilan jika unit dekodenya lebih cepat dan multiplexing waktu dapat digunakan
untuk memecahkan kode semua instruksi yang diambil. Demikian pula, mungkin
memiliki banyak unit eksekusi atau mungkin memiliki satu unit eksekusi tetapi
instruksi dapat masuk ke unit fungsional yang berbeda seperti perkalian dan
penambahan dll. Tidak semua instruksi membutuhkan penambah dan pengali dll. dan
oleh karena itu unit-unit tersebut tidak digunakan saat penambahan berjalan . Jadi
multi-skalar mencoba untuk menempatkan tahapannya untuk menyelesaikan
penggunaan.
g. Out-of-order Microprocessors
CPU ini mencoba mengatasi masalah stall yang terjadi dengan Load & Store ketika
terjadi cache-miss atau ketika prediksi cabang salah. Apa yang coba dilakukan adalah
melanjutkan instruksi Load & Store dan mengeksekusinya. Jadi itu merusak urutan
berurutan dan menjalankan perintah-perintah yang datanya tersedia. Seperti ada
instruksi Load and Add, Add tidak tergantung pada nilai load dan, karena load mungkin
membutuhkan jumlah siklus yang tidak diketahui dalam hal ini CPU mengeksekusi
ADD sebelum load selesai.
Itu juga dapat menyelesaikan instruksi Beban lainnya sebelum beban sebelumnya
selesai. Harap diingat ketika saya mengatakan itu menyelesaikan instruksi itu, saya
tidak bermaksud bahwa instruksi mengubah status Arsitektur (nilai Daftarkan dan nilai
Memori) karena dalam kasus beberapa pengecualian kita mungkin harus
mengembalikan status arsitektur sehingga programmer dapat men-debug itu . Apa yang
dilakukan CPU yang rusak adalah ia menyimpan hasil yang dihasilkan di beberapa
tempat lain dan ketika semua instruksi sebelumnya dihentikan, ia mengubah status
arsitektur. Ada banyak keputusan desain di sini seperti satu desainer dapat membuat
perubahan arsitektur dan mengembalikannya nanti atau satu desainer dapat menyimpan
hasilnya di tempat lain dan melakukan hasil tersebut hanya ketika semua instruksi
berharga dihentikan (seperti yang dibahas sebelumnya). Beberapa maniak bahkan dapat
melakukan hasil yang tidak sesuai dan membuat hidup programmer menjadi seperti
neraka.
CPU yang rusak adalah salah satu tonggak penting saat mencoba mengurangi
masalah memori lambat yang masih kami miliki.
h. Multi-threaded Microprocessor
Dalam jenis CPU ini, instruksi diambil dari dua program berbeda dengan cara
berbutir halus atau berbutir kasar. Cara kasar berarti bahwa beberapa instruksi
dieksekusi dari satu program dan kemudian setelah beberapa waktu CPU mulai
mengeksekusi instruksi baru dari program yang berbeda dan dengan demikian
memberikan ilusi gerakan simultan pada dua atau banyak program. Ini dapat dilakukan
oleh HW dan jika dilakukan di HW maka itu adalah prosesor multi-thread dalam arti
sebenarnya karena itu juga dapat dilakukan oleh Sistem Operasi. Ketika sistem operasi
melakukan itu, tanggung jawab OS-nya untuk mempertahankan konteks dan ketika
CPU HW melakukannya, itu adalah tanggung jawab HW untuk mempertahankan
konteks eksekusi. Ini cepat ketika CPU melakukannya, Anda berpikir sendiri mengapa
demikian.
Dalam prosesor multi-utas berbutir halus, CPU mengambil setiap instruksi
berikutnya dari program yang berbeda. Jadi jika dapat menangani 4 utas, ia mengambil
instruksi berbeda dari 4 program berbeda setiap siklus berikutnya. Ini membutuhkan
CPU untuk memiliki banyak status arsitektur (4 Register Files atau Register set). Jadi di
dalam pipeline, akan ada instruksi program yang berbeda di unit pengambilan, instruksi
program yang berbeda di unit decode dan eksekusi yang sama dan Load&Store akan
memiliki instruksi dari program yang berbeda. Ini juga dapat membantu mengurangi
ketidakpastian cache-misses seperti jika waktu terburuk yang dibutuhkan instruksi Load
adalah 10 siklus maka CPU dapat mengambil dari 10 program yang berbeda dan
dengan cara itu, tidak perlu menghentikan CPU (pipa) sebagai instruksi berikutnya dari
program tertentu akan tetap datang setelah siklus ke-10. Sekali lagi saya ingin
menyebutkan bahwa CPU akan membutuhkan 10 set Register dan langkah-langkah lain
untuk menyimpan status lain - seperti menyimpan instruksi Load yang tertunda di suatu
tempat untuk melayani instruksi Load dari program lain.
i. Multi-Core Microprocessors
Multi-core adalah perpanjangan logis dari CPU multi-utas. Apa yang dilakukannya
adalah mereplikasi pipa lengkap itu sendiri yaitu unit Ambil, Dekode, Jalankan dan,
Muat & Simpan. Dalam CPU Multi-utas, kami hanya mereplikasi apa pun yang
diperlukan untuk mempertahankan status arsitektur dan tidak pernah mereplikasi
pengambilan, dekode, eksekusi (penambahan pengganda, shifter, dll.) dan unit Load
and Stores. Jadi CPU jenis ini membutuhkan program yang benar-benar paralel dan
independen karena komunikasi lintas inti mahal atau serialisasi program mahal.
Upaya ini dilakukan setelah industri gagal untuk meningkatkan single-core (CPU
pipeline) lebih lanjut dan menempatkan tanggung jawab memparalelkan program pada
programmer jika ingin mengekstrak manfaat dari multi-core dan jika sebuah program
tidak memiliki paralelisme dalam itu mereka maka multicore tetap kurang
dimanfaatkan.
Ketika inti direplikasi, inti merupakan tipe sederhana yang mungkin tidak memiliki
perpipaan yang dalam; mungkin tidak rusak dan mungkin memiliki unit prediksi yang
sangat mendasar, dll.
j. Asymmetric Multi-Core Microprocessors.
Mikroprosesor multi-core asimetris mencoba memberikan kinerja satu inti yang
kuat jika program memiliki banyak bagian eksekusi serial (bagian kritis – di bawah
kunci dan buka kunci mutex) serta mencoba memiliki banyak inti untuk menjalankan
program secara paralel.
Mikroprosesor Multi-core asimetris akan memiliki 1 atau 2 inti yang kuat dan inti
sederhana lainnya dan bagian serial program dijalankan pada inti yang kuat sehingga
selesai dengan cepat sehingga utas paralel yang menunggu di bagian penting itu dapat
dilanjutkan.
3. Jelaskan yang kalian pahami mengenai Arsitektur Von Neumann
Jawaban : Arsitektur von Neumann atau Mesin Von Meumann merupakan arsitektur yang
diciptakan oleh John von Neumann pada tahun 1903 – 1957. Arsitektur ini digunakan oleh
hamper semua komputer saat ini. Arsitektur Von Neumann menggambarkan komputer
dengan empat bagian utama : Unit Aritmatika dan Logis (ALU), unit control, memori, dan
alat masukan dan hasil (secara kolektif dinamakan I/O). bagian ini dihubungkan oleh
berkas kawat “bus”.

Gambar Arsitektur Von Neumann

Anda mungkin juga menyukai