Selasa, 02 Februari 2021

JAWABAN UAS ORGANISASI DAN ARSITEKTUR KOMPUTER

 UJIAN AKHIR SEMESTER GANJIL TA. 2020/2021

FAKULTAS ILMU KOMPUTER
UNIVERSITAS NAHDLATUL ULAMA SIDOARJO



JAWABAN UAS ORGANISASI DAN ARSITEKTUR KOMPUTER


NAMA     : M. ANANG MA'RUF
PRODY    : TEKNIK INFORMATIKA  20B
NIM         : 23420003


1. Media Penyimpanan Magnetik (Magnetik Storage Media) 
- Floppy Disk (Disket)
- Hardisk
- Flashdisk
- Memory Card
- Zip Drive 


    Media Penyimpanan Optical :

 - CD

 - CD-ROM

 - CD-R

 - CD-RW

 - DVD

   Penyimpanan online (Cloud storage) :

 - Google Drive

 - One Drive

 - UC Drive


2. Stand Alone adalah komputer yang memiliki 1 server dan 1 user saja, komputer stand alone menggunakan 1 sumber daya seperti keyboard, mouse, CPU dll yang hanya digunakan pada 1 komputer apabila digunakan dalam waktu bersamaan. Singkatnya, komputer Stand Alone adalah komputer yang hanya berdiri sendiri.

 Contoh : PC, Laptop, Notebook, Smartphone.

Networking adalah jaringan antar komputer yang menghubungkan satu komputer dengan komputer lainnya di dalam jaringan oleh alat-alat jaringan.

Contoh : LAN, MAN, WAN, World Wide Web (WWW), Internet.

Cloud adalah adalah singkatan dari "cloud computing" atau komputasi awan, dan istilah ini merujuk pada tugas dan layanan yang disediakan atau di-hosting di internet atas dasar bayar sekali pakai. Orang mungkin sudah lama bisa menyimpan, mengoperasikan, dan mengelola data lewat internet, namun cloud computing merupakan layanan berbayar yang melakukan semua ini dalam skala yang jauh lebih besar.

Contoh : Google Drive, One Drive, Sosial Media, Dropbox, Zippyshare.

3. Superscalar adalah Adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain. Superscalar mampu menjalankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC.

Control Unit adalah bagian dari sebuah komputer yang berfungsi sebagai pengatur dan pengendali semua peralatan komputer. Control Unit juga mengatur kapan alat input menerima data, mengolah, dan menampilkan proses serta hasil pengolahan data. Dengan demikian semua perintah dapat dilakukan secara berurutan tanpa adanya tumpang tindih antara satu perintah dengan perintah lainnya.


Kamis, 07 Januari 2021

Rangkaian Digital - Artikel 3 - M. Anang ma'ruf - 23420003

 

Jangan Pernah Berhenti Berdoa, Meski Cobaan Terus Datang Mendera


Ujian itu tak pernah menghilang dari hidupmu. Meski hanya mampir sebentar, tapi suatu saat akan kembali dalam bentuk yang berbeda. Entah akan lebih mudah atau sulit dilewati, hal itu tergantung dari bagaimana kamu menyikapinya.

Rasa kesal menyelimuti saat dirimu merasa bahwa ujian itu memang sulit untuk dilalui. Sebenarnya kamu memiliki orang lain yang bersedia dibagi kesulitan apa kamu rasa agar menjadi ringan. Mereka menerima dengan suka cita dan penuh semangat untuk membantu. Tanpa bantuan orang lain, kamu mungkin tak bisa sampai seperti sekarang.

Selain itu ada lagi yang sebaiknya kamu lakukan, yaitu berdoa. Sebagai seorang hamba, mungkin biasanya kamu berdoa tanpa mengenal sebab dan waktu. Tak jarang juga melaksanakan ibadah tersebut saat kamu dilanda ujian. Namun, ada kalanya kamu mungkin tak berdoa karena sudah lelah memanjatkan permohonan.

Doa mengingatkanmu bahwa kamu tak sendiri. Ada yang mengasihi dan setia mendengarmu di tengah kesulitan ini “Katanya berdoa itu tak hanya untuk memohon, tapi juga melepaskan rasa penat yang dialami.”

Saat dilanda ujian, berdoa seperti sebuah permohonan darimu kepada Tuhan agar dikabulkan. Memohon agar ujian yang kamu hadapi ini diringankan dan dapat segera dilalui. Sebenarnya, berdoa itu juga bisa sebagai momen dirimu melepas rasa penat. Ketika berdoa, kamu bisa menceritakan segala sesuatunya tanpa harus ada yang ditutupi.

Rangkaian Digital - Artikel 2 - M. Anang ma'ruf - 23420003

 

Ketika Masalah Datang, Yakinlah Ada Sesuatu yang Teramat Indah Menantimu Di Balik Kesabaran


Sabar merupakan teori yang sangat mudah untuk dihafal, tapi sulit untuk dipraktikkan. Sabar, Kata yang mudah untuk diucapkan, namun sangat sulit untuk dijalankan. Sabar, Semua orang bisa mengatakannya, namun tak semua orang bisa mengembannya dalam hidupnya. Sabar, seseorang boleh berkata harus, namun sulit untuk dlakukan.

Sabar, lebih berat dari rindu, karena sabar adalah ujian hidup yang paling sulit untuk dilewati. Tak jarang mereka gagal dalam fase ini, mereka lebih memilih mencaci maki, membenci, marah-marah, dan tak terima keadaan dalam kesehariannya.

Ketika masalah datang, tak ada kesabaran yang mebentengi diri mereka, mereka lebih memilih berteriak untuk berkata dunia ini tak adil untuk mereka. Ketika kecewa, bukan sabar yang menjadi pengobat luka, mereka lebih memilih mencibir sang pemilik semesta dalam kekesalan yang akut.

Ketika gagal, mereka tak ingat apa tugas hati untuk bersabar, mereka lebih memilih bermurung diri dalam keputusasaan yang mendalam. Ketika tak ada orang yang peduli, bukannya sabar yang menemani kesepian mereka, namun pransgka buruk menyelimuti hati. Ketika keinginan tak sesuai harapan, bukankah sabar menjadi kebutuhan, tapi keluh kesah yang diminati.

Hei kamu!

Iya Kamu yang masih belum mengerti makna sabar. Jika sabar itu baik untuk hatimu, baik untuk hidup yang kau jalani di dunia ini. Jika kau berani untuk bersabar, maka Allah SWT juga akan berani memberimu lebih, melebihi prediksi yang kau bayangkan saat ini.

Jika kau istiqomah dalam kesabaran, maka Allah SWT berjanji memberimu sesuatu lebih indah dari apa yang ada di dunia ini. Jika kau selalu menjaga kesabaran dalam diri, maka Allah SWT juga akan menjaga kebahagianmu dunia bahkan akhirat kelak.


Bersabar. Itulah kunci sukses menjalani hidup di dunia ini. Bersabar, cara terbaik untuk bisa bahagia di dunia ini, dan jika tidak, maka anda bersiap untuk tidak akan pernah merasa tenang dalam menjalani hidup ini.


Mulai saat ini, bersabarlah jika sesuatu yang kau inginkan belum tergapai. Tenanglah jika sesuatu yang kau jalani belum kau temukan hasilnya. Percayalah, Allah SWT sedang mempersiapkan sesuatu balasan yang teramat indah dari apa yang kau prediksikan.

Percayalah, janji Allah SWT itu pasti bukan PHP. Janji Allah SWT itu ada bukan ketiadaan. Jika kau menjalaninya dengan baik, maka Allah SWT tak akan pernah memberi balasan yang buruk kepadamu. Jika kesabaran selalu kau jaga dalam dirimu, maka Allah SWT juga akan menjaga dirimu dengan baik, berbahagia tanpa gundah gulana.

Rangkaian Digital - Artikel 1- M. Anang ma'ruf - 23420003

 

Kegagalan Mungkin Sering Kamu Jumpai, tapi Bukan Berarti Kamu Harus Berhenti


Pernahkah anda mulai malas untuk melakukan kesalahan? Malas untuk gagal? Sangat perhitungan terhadap jadwal harian yang tidak efektif? Sangat strictdengan kehidupan sehari-hari?

Mungkin ini adalah sebuah turning point dalam hidup anda.

Turning point adalah keadaan dimana kita mulai melawan jatah gagal kita ataupun sebaliknya. Seberapa banyak dari kita memilih untuk melarikan diri dari masalah ketika terlalu banyak hal yang harus diselesaikan hingga banyak deadline yang harus menumpuk karena tidak dikerjakan?

Setiap pribadi yang tidak mencapai hal yang diimpikan pasti merasakan kesedihan bahkan terluka. Kesedihan dan luka saat gagal adaah hal yang lumrah. Banggalah tentang bekas lukamu sebab semua itu yang menunjukkan perjuangan untuk hidup.

Ketika kita terpukul keras, itu biasa mempertanyakan Tuhan dengan "Kenapa aku? Mengapa Tuhan membiarkan ini terjadi?"

Kita memasuki kegelapan spiritual karena sepertinya Tuhan tidak ada di sana. Dia tampaknya tidak mendengarkan. Ini seperti Dia membalikkan punggung-Nya. Atau, mungkin seperti saya, anda menderita karena ini adalah hukuman ilahi.

Ketika kita gagal, kita akan melakukan sebuah self discovery.

Belum lama ini, saya mencapai bagian bawah. Di sana saya tidak bisa berbicara dengan Tuhan. Saya juga merasa ingin menyerah kepada-Nya dan, selama beberapa hari, saya melakukannya.

Tetapi kemudian saya sampai pada titik balik saya, dan memutuskan, walaupun sepertinya Tuhan telah meninggalkan saya, saya akan terus percaya bahwa Dia adalah Tuhan yang baik. Saya masih akan percaya kepada-Nya dan memiliki harapan di dalam Dia.

Apakah Anda sedang dalam perjalanan menurun? Apakah Anda akan berbelok ke sudut itu dan mulai percaya bahwa kebaikan Tuhan belum habis dan cinta Tuhan belum mengering?

Inilah kebenaran yang harus dipegang:

Tuhan itu baik bagi mereka yang berharap pada-Nya. Tuhan baik bagi hamba yang mau meminta belas kasih-Nya.Tetap percaya pada Tuhan dan percaya bahwa pertolongannya akan sangat tepat waktu.

Tugas Resum perkuliahan 14

 

ORGANISASI & ARSITEKTUR KOMPUTER 

PERTEMUAN KE- 14


Penjelasan Parallel Processing


Pengertian

Pemrosesan paralel (parallel processing) adalah penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, paralel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam prakteknya, seringkali sulit membagi program sehinggadapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan diantaranya.
Pemrosesan paralel dalam sebuah komputer dapat didefinisikan sebagai pelaksanaan instruksi-instruksi secara bersamaan waktunya. Hal ini dapat menyebabkan pelaksanaan kejadian-kejadian :

  1. dalam interval waktu yang sama,
  1. dalam waktu yang bersamaan atau
  1. dalam rentang waktu yang saling tumpang tindih

Komputasi paralel

Salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

Parallel processing berbeda dengan multitasking
Multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Sedangkan komputasi paralel menggunakan beberapa processor atau komputer. Parallel processing disebut juga Komputasi Paralel. Pada system komputasi Paralel terdiri dari beberapa unit prosesor dan beberapa unit memori.

Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory address dan message passing.
Berdasarkan cara mengorganisasikan memori ini computer parallel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine.
Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu Arsitektur Komputer Pararel dan pengertian mengenai model pemrosesan pararel.

Arsitektur paralel komputer menurut Klasifikasi Taksonomi Flynn

Ada 4 model komputasi yang digunakan Taksonomi Flynn , yaitu:
1. SISD (Single Instruction, Single Data)Komputer ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara serial.
Komputer ini adalah tipe komputer konvensional. Menurut mereka tipe komputer ini tidak ada dalam praktik komputer paralel karena bahkan mainframe pun tidak lagi menggunakan satu prosesor. Klasifikasi ini sekedar untuk melengkapi definisi komputer paralel.
Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.

2. SIMD (Single Instruction, Multiple Data) 

Komputer ini memiliki lebih dari satu prosesor, tetapi hanya mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level lock-step. 
Komputer vektor adalah salah satu komputer paralel yang menggunakan arsitektur ini. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
3. MISD (Multiple Instruction, Single Data)

Teorinya komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami. Sampai saat ini belum ada komputer yang menggunakan model MISD.
MIMD ( Multiple Instruction, Multiple Data) Multiple Instructions – Multiple Data. 

Komputer ini memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L. 
Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:
Komputasi Tunggal dan Komputasi Paralel
Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak dan besar daripada komputasi tunggal. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.
Teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:·
  • algoritma
  • bahasa pemrograman
  • compiler

Ada 2 tehnik pemrograman pararel : 

1. Message Passing Interface (MPI).
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram (programmer) untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing - masing compute node yang kemudian masing -masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node. Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan - pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.
Kegunaan MPI yang lain adalah :
  1. Menulis kode paralel secara portable,
  1. Mendapatkan performa yang tinggi dalam pemrograman paralel,
  1. Menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak  begitu cocok dengan model data paralel.
2. PVM (Parallel Virtual Machine)
Paket software yang mendukung pengiriman pesan untuk komputasi parallel antara komputer.
PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan superkomputer.




NAMA : M. ANANG MA'RUF
PRODY : T. INFORMATIKA 20(B)
NIM     : 23420003

Orkom Perkuliahan 14

Selasa, 29 Desember 2020

Tugas Resum Perkuliahan 13

 

ORGANISASI & ARSITEKTUR KOMPUTER 

PERTEMUAN KE- 13


Materi micro-programmed control (Organisasi Komuter).


Microprogrammed Control


Istilah micro-program pertama kali muncul padatahun 1950 dan diperkenalkan oleh M. V. Wilkes Pada hard-wired diperlukan perancangan ulang perangkat keras jika serangkaian instruksi
dikembangkan. Sebaliknya, pada micro-programmed, serangkaian instruksi mikro (program-mikro) disimpan dalam ROM sehingga sebuah instruksi dapat diubah dengan mengubah program mikro yang bersesuaian dengan instruksi tersebut dan kelompok instruksi dapat dikembangkan dengan hanya menyertakan ROM tambahan yang berisi program-mikro bersesuaian.

Pada microprogrammed, serangkaian instruksi mikro (program-mikro) disimpan dalam ROM sehingga sebuah instruksi dapat diubah dengan mengubah program mikro yang bersesuaian dengan instruksi tersebut dan kelompok instruksi dapat dikembangkan dengan hanya menyertakan ROM tambahan yang berisi program-mikro bersesuaian.

Microprogrammed Control : Menggunakan sekumpulan instruksi untuk mengontrol operasi yang kompleks. Rangkaian instruksi tersebut disebut dengan microprogramming atau firmware.

Implementation
- Seluruh unit kontrol dapat membangkitkan sekumpulan sinyal kontrol.
- Tiap saluran kontrol tersebut dalam keadaan on atau off.
- Kondisi tersebut direpresentasikan oleh digit biner untuk masing-masing saluran kontrolnya.
- Terdapat control word untuk setiap operasi mikro.
- Memiliki sejumlah control words untuk tiap instruksi mesin.
- Menambahkan field alamat untuk menjelaskan micro instruction selanjutnya, untuk menspesifikasikan kondisi.

Komponen-komponen Control Unit Microprogrammed
1. Instruction Register
- Menyimpan instruksi register mesin yang dijalankan.
2. Control Store berisi microprogrammed
- Untuk semua instruksi mesin.
- Untuk startup mesin.
- Untuk memprosesan interupt.
3. Address Computing Circuiting
- Menentukan alamat Control Store dari mikroinstruksi berikutnya yang akan dijalankan.
4. Microprogrammed Counter
- Menyimpan alamat dari mikroinstruksi berikutnya.
5. Microinstruction Buffer
- Menyimpan mikroinstruksi tersebut selama dieksekusi.
6. Microinstruction Decoder
- Menghasilkan dan mengeluarkan mikroorder yang didasarkan pada mikroinstruksi dan opcode instruksi yang akan dijalankan

Control Unit Function
- Untuk mengeksekusi suatu instruksi, unit urutan logika mengeluarkan perintah READ ke memori kontrol.
- Word yang memiliki alamat yang dispesifikasikan pada register alamat kontrol dibaca ke dalam register buffer kontrol.
- Isi register buffer kontrol menghasilkan sinyal-sinyal kontrol dan informasi alamat berikutnya untuk unit urutan logika.
- Unit logika pengurutan memuatkan sebuah alamat ke dalam register alamat kontrol yang didasarkan pada informasi alamat berikutnya dari register buffer kontrol dan flag ALU.

Pengurutan instruksi mikro mengambil instruksi-instruksi mikro berikutnya dari unit kontrol.
Eksekusi instruksi mikro Menghasilkan sinyal-sinyal kontrol yang diperlukan untuk mengeksekusi instruksi mikro.
Keduanya sama-sama dipertimbangkan dalam merancang sebuah unit kontrol karena akan
mempengaruhi format instruksi mikro dan pewaktuan unit kontrol.

Pertimbangan Perancangan
  1. Ukuran instruksi mikro.
  2. Peminimalan ukuran memori kontrol akan mengurangi biaya yang diperlukan u/ komponen tersebut.
  3. Waktu yang diperlukan untuk pembuatan alamat (address generation time)
  4. Ditentukan oleh instruction register
  5. Terjadi sekali per siklus instruksi, setelah sebuah instruksi diambil.
Teknik Pengurutan
Berdasar instruksi mikro saat itu, flag-flag kondisi, isi IR, alamat memori kontrol harus dibuat untuk keperluan instuksi mikro berikutnya. Berdasar pada format informasi alamat yang terdapat di dalam instruksi mikro. Dua field alamat Field alamat tunggal Format variabel.

Perancangan Control Unit
Rancangan hardwired sejumlah gerbang(gate), counter dan register saling dihubungkan untuk menghasilkansinyal-sinyal kontrol. Tiaprancangan memerlukan sekelompok piranti logika dan hubungan yang berbeda-bedaRancangan microprogrammed dibentukserangkaian instruksi mikro, yang disebut
sebagai program mikro (micro-program) untuk setiap instruksi mikro dan disimpan dalamsebuah memori kontrol (biasanya ROM) dalam Control Unit.


Micro-programmed Control

1. Suatu control unit dapat dikatakan microprogrammable apabila memori kontrolnya dapat dimodifikasi oleh pemakai untuk menghasilkan instruksi makro yang dibentuk sesuai keinginan pemakai.
2. Apabila tidak, kelompok instruksi tetap, maka disebut kelompok instruksi dalam control unit hard-wired


Micro-instruction Types

1. Each micro-instruction specifies single microoperations to be performed (vertical micro-programming)
2. Each micro-instruction specifies many different micro-operations to be performed in parallel (horizontal micro-programming)
 Terdapat satu bit bagi setiap saluran kontrol CPU internal dan satu bit bagi setiap saluran kontrol bus sistem

Advantages and Disadvantages of Microprogramming

1. Dapat menyederhanakan rancangan unit kontrol
2. Rancangan menjadi lebih murah
3. Kesalahan yang terjadi lebih sedikit




NAMA  : M. ANANG MA'RUF
PRODY : TEKNIK INFORMATIKA 20(B)
NIM      : 23420003

Orkom Perkuliahan 13

Selasa, 22 Desember 2020

Tugas Resum Perkuliahan 12

 ORGANISASI & ARSITEKTUR KOMPUTER 

PERTEMUAN KE- 12


Materi Unit Control (Organisasi Komuter).


1.    Pengertian Control Unit

Control Unit merupakan bagian dari microprosesor dimana fungsi dari CU adalah untuk memberikan arahan maupun pengawasan serta kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit)  yang terdapat di dalam CPU. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut. Jika dilihat dari desain computer sebelumnya, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Namun sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Control unit dari sebuah prosesor memiliki 2 peran penting. Pertama, control unit mengatur processor agar melakukan semua micro-operation dalam urutan yang benar. Kedua, control unit menghasilkan control signal yang memastikan supaya semua micro-operation dieksekusi.
Control signal tersebut secara umum menyebabkan salah satu dari hal berikut: pembukaan atau penutupan dari gerbang-gerbang logika, transfer data antara register-register, dan pengoperasian ALU.

2.    Tugas CU

Tugas dari CU adalah sebagai berikut:
1.    Mengatur dan mengendalikan alat-alat input dan output.
2.    Mengambil instruksi-instruksi dari memori utama.
3.    Mengambil data dari memori utama kalau diperlukan oleh proses.
4.    Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
5.    Menyimpan hasil proses ke memori utama.

3.    Macam-Macam CU

Sampai detik ini terdapat 2 macam jenis CU dimana tiap tiap CU memiliki desain maupun fungsi yang berbeda berikut macam macam dari CU :
1.    Single-Cycle CU
Proses di CUl ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada satu cycle, maka dari itu tidak memerlukan state. Dengan demikian fungsi boolean masing-masing control line hanya merupakan fungsi dari opcode saja. Clock cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu proses men-decodeopcode untuk mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang AND), dan pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu gerbang OR). Keempat jenis instruksi adalah “R-format” (berhubungan dengan register), “lw” (membaca memori), “sw” (menulis ke memori), dan “beq” (branching). Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan memori ”R-format” atau ”lw” maka akan sinyal ”Regwrite” akan aktif. Hal lain jika melibatkan memori “lw” atau “sw” maka akan diberi sinyal kontrol ke ALU, yaitu “ALUSrc”. Desain single-cycle ini lebih dapat bekerja dengan baik dan benar tetapi cycle ini tidak efisien.
2.    Multi-Cycle CU
Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing-masing outputcontrol line dapat ditentukan. Masing-masingnya akan menjadi fungsi dari 10 buah input logic. Jadi akan terdapat banyak fungsi boolean, dan masing-masingnya tidak sederhana. Pada cycle ini, sinyal kontrol tidak lagi ditentukan dengan melihat pada bit-bit instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan CPU; bukan instruksi cycle selanjutnya.

4.    Operasi Control Unit

Pada Control Unit terdapat operasi yaitu Siklus Intruksi. Instruksi  merupakan bentuk dari pengeksekusian langkah langkah kecil yang biasa disebut dengan Siklus fetch, Siklus Eksekusi, Siklus Pengambilan Tak Langsung, dan Siklus Interrupt.
Masing-masing Siklus  masih dapat diuraikan kembali menjadi langkah – langkah  yang lebih kecil lagi, yaitu micro-operation. Suatu micro-operation biasanya berupa transfer antar register, transfer antara register dan interface eksternal (seperti system bus), atau suatu operasi ALU biasa ( aritmetik dan logika).

5.    Pengertian Operasi Mikro

Di dalam CU terdapat Operasi yang disebut Operasi Mikro dimana operasi tingkat rendah yang dapat dilakukan oleh komputer atau CPU sehingga fungsi-fungsi operasi akan dihasilkan untuk memindahkan data antar register. Salah satu cara dalam melakukan operasi mikro tersebut dengan menggunakan bahasa transfer register / Register Transfer Language (RTL). RTL adalah sebuah bahasa yang digunakan untuk menjabarkan atau melaksanakan operasi mikro. Untuk mengungkapkan bahasa RTL ini dapat digunakan notasi RTL yang merupakan aturan penulisan pemberian instruksi RTL.
Operasi Mikro mengatur fungsi-fungsi sebagai berikut :
1.    Membuka/menutup suatu gerbang ( gate ) dari sebuah register ke sebuah bus
2.    Mentransfer data sepanjang bus
3.    Memberi inisial sinyal-sinyal kendali seperti READ, WRITE, SHIFT, CLEAR dan SET
4.    Mengirimkan sinyal-sinyal waktu
5.    Menunggu sejumlah periode waktu tertentu
6.    Menguji bit-bit tertentu dalam sebuah register

6.    Siklus Pengambilan/Fetch

Tahap Tahap dari Siklus Pengambilan yaitu:
1.    Pada saat siklus pengambilan (fetch cycle), instruksi dibaca dari memori.
2.    PC berisi alamat instruksi berikutnya yang akan diambil.
3.    Alamat ini akan dipindahkan ke MAR dan ditaruh di bus alamat.
4.    Unit kontrol meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR dan kemudian dipindahkan ke IR.
5.    PC naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya.
6.    Siklus selesai, unit kontrol memeriksa isi IR untuk  menentukan apakah IR berisi operand specifier yang menggunakan pengalamatan tak langsung.
Siklus Fetch dalam Operasi Mikro
T1 : MAR (PC)
T2 : MBR Memori PC (PC) + 1
T3 : IR (MBR)

7.    Siklus Pengambilan Tak Langsung

Proses/ Tahap Tahap Siklus Pengambilan Tak Langsung yaitu:
1.    N bit paling kanan pada MBR, yang berisi referensi alamat, dipindahkan ke MAR.
2.    Unit kontrol meminta pembacaan memori, agar mendapatkan alamat operand yang diinginkan ke dalam MBR.
3.    Siklus meliputi pemindahan data di antara register-register, pembacaan atau penulisan dari memori atau I/O, atau penggunaan ALU.
Siklus Tak Langsung dalam Operasi Mikro
T1 : MAR (IR(Alamat))
T2 : MBR Memori
T3 : IR (Alamat) (MBR(Alamat))

8.    Siklus Interrupt

1.    isi PC dipindahkan ke MBR untuk kemudian dituliskan ke dalam memori.
2.    Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit control.
3.    Lokasi ini berupa stack pointer.
4.    PC dimuatkan dengan alamat rutin interrupt.
5.    Akibatnya siklus intruksi berikutnya akan mulai mengambil instruksi yang sesuai.

Siklus Interrupt dalam Operasi Mikro

T1 : MAR (PC)
T2 : MBR Alamat-simpan PC Alamat-rutin
T3 : IR (MBR)

9.    Siklus Eksekusi

Siklus Eksekusi adalah proses dari CPU untuk mengerjakan instruksi yang sudah dijemput dari main memory dan sudah berada di IR register.Control unit di CPU mengartikan instruksi tersebut, melaksanakan operasi yang harus dilakukan, seperti penjemputan/penambilan data dari main memory, mengirim instruksi ke ALU untuk melakukan operasi aritmatika atau logika dan menyimpan hasil pengolahan kembali ke main memory.    
Siklus Eksekusi dalam Operasi Mikro
1.    Penambahan (ADD)
ADD R1,X=Menambahkan isi lokasi X ke register R1
T1 : MAR (IR(Alamat))
T2 : MBR Memori
T3 : IR (R1)+(MBR)
2.    ISZ = Isi lokasi X ditambahkan dengan 1. Apabila hasilnya sama dengan nol, maka instruksi berikutnya dilompati.
T1 : MAR (IR(Alamat))
T2 : MBR Memori
T3 : IR (MBR) + 1
T4 : Memori (MBR)

10.    Jenis Jenis Sinyal Kontrol

1.    Clock (satu instruksi operasi mikro persiklus clock)
2.    Instruction Register (Opcode setiap instruksi dan menentukan instuksi mikro yang akan dilakukan)
3.    Tags (Menunjukkan status CPU dan hasil dari operasi sebelumnya)
4.    Pada BUS Kendali (Interupsi dan Sinyal Acknowledgment) Pada Ouput dalam CPU (Pergerakan Data dan Mengaktifkan fungsi Tertentu)
5.    Melalui BUS Kendali (Ke memori dan Ke I/O)

11.    Input Pada Unit Control:

1.    Clock 
Clock yaitu cara unit control dalam menjaga waktunya. Unit control   menyebabkan sebuah operasi mikro ( atau sejumslah operasi mikro yang bersamaan) dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu siklus prosesor.
2.    Register instruksi 
Register instruksi merupakan Opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus eksekusi.
3.    Flag
Flag ini diperlukan oleh unit control untuk menentukan status prosesor dan hasil     operasi ALU sebelumnya.
4.    Sinyal control untuk mengontrol bus
Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti sinyal-sinyal interupsi dan acknowledgement.

12.    Output Pada Unit Control

1.    Sinyal control didalam prosesor, terdiri dari dua macam yaitu : 
a)    Sinyal-sinyal yang menyebabkan data dipindahkan dari register yang satu keregister yang lainnya dan,  
b)    Sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu
2.    Sinyal control bagi Bus Control , sinyal ini terdiri dari dua macam yaitu :
a)    Sinyal control bagi memori dan,
b)    Sinyal control bagi modul-modul I/O.

13.    Implementasi Hardwired

Unit kontrol merupakan rangkaian kombinatorial. Sinyal-sinyal logika inputnya akan didekodekan menjadi sinyal-sinyal logika output, yang merupakan sinyal-sinyal kontrol ke sistem komputer. Sinyal-sinyal input tersebut, seperti clock, flag, register instruction, dan sinyal kontrol merupakan input bagi unit kontrol untuk mengetahui status komputer. Sinyal keluaran yang dihasilkan akan mengendalikan sistem kerja komputer.
N buah input biner akan menghasilkan 2N output biner. Setiap instruksi memiliki opcode yang yang berbeda-beda. Opcode yang berbeda dalam instruksi akan menghasilkan sinyal kontrol yang berbeda pula. Pewaktu unit kontrol mengeluarkan rangkaian pulsa yang periodik.
Pulsa waktu ini digunakan untuk mengukur durasi setiap operasi mikro yang dijalankan CPU, intinya digunakan untuk sinkronisasi kerja masing-masing bagian. Masalah dalam Merancang Implementasi Hardwired:
1.    Memiliki kompleksitas dalam pengurutan dan operasi mikronya
2.    Sulit didesain dan dilakukan pengetesan
3.    Tidak fleksibel
4.    Sulit untuk menambahkan instruksi baru
Jadi secara garis besar:
1.    Intinya unit control merupakan rangkaian kombinatorial
2.    Sinyal-sinyal logika inputnya akan dikodekan menjadi sekumpulan sinyal-sinyal logika output yang merupakan sinyal-sinyal kontrol ke system computer
3.    Input unit control meliputi sinyal-sinyal register instruksi, pewaktu, flag dan sinyal bus control
4.    Sinyal-sinyal tersebut sebagai masukkan bagi unit control dalam mengetahui status computer
5.    Selanjutnya dikodekan manghasilkan sinyal keluaran untuk mengendalikan system kerja computer
6.    n buah input biner akan menghasilkan 2n output biner
7.    setiap instruksi memiliki opcode yang berbeda – beda
8.    opcode yang berbeda dalam setiap instruksi akan menghasilkan sinyal control yang berbeda pula
9.    pewaktu unit control mengeluarkan rangkaian pulsa yang periodic
10.    pulsa waktu ini digunakan untuk mengukur durasi setiap operasi mikro yang dijalankan CPU, intinya digunakan untuk sinkronisasi kerja masing – masing bagian\

14.    Implementasi Microprogrammed

Implementasi yang paling sering digunakan saat ini adalah implementasi microprogrammed. Unit kontrol memerlukan sebuah memori untuk menyimpan program kontrolnya. Fungsi–fungsi pengontrolan dilakukan berdasarkan program kontrol yang tersimpan pada unit kontrol. Selain itu, fungsi–fungsi pengontrolan tidak berdasarkan dekode dari input unit kontrol lagi. Teknik ini dapat menjawab kesulitan–kesulitan yang ditemui dalam implementasi hardwired.
Jadi secara garis besar:
1.    Unit control memerlukan sebuah memori untuk menyimpan program controlnya
2.    Fungsi-fungsi pengontrolan dilakukan berdasarkan program control yang tersimpan pada unit control
3.    Fungsi-fungsi pengontrolan tidak berdasarkan decode dari input unit control lagi
4.    Teknik ini dapat menjawab kesulitan-kesulitan yang ditemui dalam implementasi hardwired

RANGKUMAN
Control Unit merupakan bagian dari microprossesor yang terdapat di dalam CPU yang berfungsi sebagai pengarah, pengontrol serta sebagai pengawas jalannya proses ALU (Arithmetic Logical Unit) pada CPU. Control Unit mempunyai peran yang sangat penting pada prosesor karena ia memiliki tugas untuk mengatur processor agar melakukan semua micro-operation dalam urutan yang benar dan Control Unit yang  menghasilkan Control Signal yang memastikan supaya semua micro-operation dieksekusi dengan benar. Terdapat 2 jenis  Control Unit yaitu Single Cycle dan Multi Cycle CU Serta terdapat beberapa Micro Operasi di dalam  Siklus instruksi :  Fetch, Fetch tidak langsung, siklus interrupt, serta siklus eksekusi. Pengimplementasian Control Unit dapat dibagi dua yaitu Pengimplementasian Hardwired Unit Control serta Pengimplementasian Microprogrammed Unit Control.



NAMA : M. ANANG MA'RUF
PRODI : TEKNIK INFORMATIKA 20(B)
NIM     : 23420003

Orkom Perkuliahan 12

Selasa, 15 Desember 2020

Tugas Resum Perkuliahan 11

 ORGANISASI & ARSITEKTUR KOMPUTER 

PERTEMUAN KE- 11

1. Pengertian

Superscalar adalah sebuah unitprocessor yang dapat mengeksekusi dua atau lebih operasi scalar dalm bentuk paralel. Superscalar merupakan salah satu rancangan untuk meningkatkan kecepatan CPU.

Kebanyakan dari komputer saat ini menggunakan mekanisme superscalar ini. Standar pipeline yang digunakan adalah untuk pengolahan bilangan matematika integer (bilangan bulat, bilangan yang tidak memiliki pecahan), kebanyakan CPU juga memiliki kemampuan untuk pengolahan untuk data floating point (bilangan berkoma). Pipeline yang mengolah integer dapat juga digunakan untuk mengolah data bertipe floating point ini, namun untuk aplikasi tertentu, terutama untuk aplikasi keperluan ilmiah CPU yang memiliki kemampuan pengolahan floating point dapat meningkatkan kecepatan prosesnya secara dramatis.

Peristiwa menarik yang bisa dilakukan dengan metoda superscalar ini adalah dalam hal memperkirakan pencabangan instruksi (brach prediction) serta perkiraan eksekusi perintah (speculative execution). Peristiwa ini sangat menguntungkan buat program yang membutuhkan pencabangan dari kelompok intruksi yang dijalankankannya.

Program yang terdiri dari kelompok perintah bercabang ini sering digunakan dalam pemrograman. Contohnya dalam menentukan aktifitas yang dilakukan oleh suatu sistem berdasarkan umur seseorang yang sedang diolahnya, katakanlah jika umur yang bersangkutan lebih dari 18 tahun, maka akan diberlakukan instruksi yang berhubungan dengan umur tersebut, anggaplah seseorang tersebut dianggap telah dewasa, sedangkan untuk kondisi lainnya dianggap belum dewasa. Tentu perlakuannya akan dibedakan sesuai dengan sistem yang sedang dijalankan.

Lalu apa yang dilakukan oleh CPU untuk hal ini? Komputer akan membandingkan nilai umur data yang diperolehnya dengan 18 tahun sehingga komputer dapat menentukan langkah dan sikap yang harus diambilnya berdasarkan hasil perbandingan tersebut. Sikap yang diambil tentu akan diambil berdasarkan pencabangan yang ada.

Pada CPU yang mendukung perintah pencabangan ini, CPU membutuhkan lumayan banyak clock cycle, mengingat CPU menempatkan semuanya pada pipeline dan menemukan perintah berikutnya yang akan dieksekusinya. Sirkuit untuk branch prediction melakukan pekerjaan ini bekerja sama dengan pipeline, yang dilakukan sebelum proses di ALU dilaksanakan, dan memperkirakan hasil dari pencabangan tersebut.

Jika CPU berfikir bahwa branch akan menuju suatu cabang, biasanya berdasarkan pekerjaan sebelumnya, maka perintah berikutnya sudah dipersiapkan untuk dieksekusi berikut data-datanya, bahkan dengan adanya pipeline ini, bila tidak diperlukan suatu referensi dari instruksi terakhir, maka bisa dilaksanakan dengan segera, karena data dan instruksi yang dibutuhkan telah dipersiapkan sebelumnya.

Dalam hal speculative execution, artinya CPU akan menggunakan melakukan perhitungan pada pipeline yang berbeda berdasarkan kemungkinan yang diperkirakan oleh komputer. Jika kemungkinan yang dilakukan oleh komputer tepat, maka hasilnya sudah bisa diambil langsung dan tinggal melanjutkan perintah berikutnya, sedangkan jika kemungkinan yang diperkirakan oleh komputer tidak tepat, maka akan dilaksanakan kemungkinan lain sesuai dengan logika instruksi tersebut.

Teknik yang digunakan untuk pipeline dan superscalar ini bisa melaksanakan branch prediction dan speculative execution tentunya membutuhkan ekstra transistor yang tidak sedikit untuk hal tersebut.

Sebagai perbandingan, komputer yang membangkitkan pemrosesan pada PC pertama yang dikeluarkan oleh IBM pada mesin 8088 memiliki sekitar 29.000 transistor. Sedangkan pada mesin Pentium III, dengan teknologi superscalar dan superpipeline, mendukung branch prediction, speculative execution serta berbagai kemampuan lainnya memiliki sekitar 7,5 juta transistor. Beberapa CPU terkini lainnya seperti HP 8500 memiliki sekitar 140 juta transistor.

Superscalar ini mampu menjlankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC.

2. Alasan desain Superscalar

Sebagian besar operasi menggunakan besaran/nilai skalar Operasi ini memungkinkan peningkatan kinerja sistem hingga level tertentu  Superscalar Implementation.

Proses fetch dari beberapa instruksi secara bersamaan. Logika untuk menentukan ketergantungan sebenarnya yang meliputi nilai register Mekanisme untuk mengkomunikasikan nilai tersebut. Mekanisme untuk menginisialisasi instruksi paralel. Tersedianya sumber untuk eksekusi paralel dari beberapa instruksi. Mekanisme processing instruksi dengan urutan yg sesuai.

3. Contoh Instruksi

Add R1, R2, R3

Misalkan, instruksi

yang akan menambahkan isi register R1 dan R2 dan menempatkan jumlahnya dalam register R3. Isi dari register R1 dan R2 mula-mula akan ditransfer ke Unit aritmetika dan logika. Setelah operasi penambahan dilakukan, hasil penjumlahan tersebut akan ditransfer ke register R3. Prosesor dapat membaca instruksi selanjutnya dari memori, sementara operasi penambahan dilakukan. Kemudian jika instruksi tersebut juga menggunakan ALU, operand-nya dapat ditransfer ke input ALU pada waktu yang sama dengan hasil instruksi Add ditransfer ke register R3.

Pada kasus ideal, jika semua instruksi ditumpuk ke derajat yang maksimum yang mungkin dilakukan, maka eksekusi dilanjutnkan pada kecepatan penyelesaian satu instruksi dalam tiap siklus detak prosesor. Instruksi individual, mungkin masih memerlukan beberapa siklus detak agar selesai dilakukan. Tetapi untuk tujuan perhitungan, prosesor superskalar umumnya mampu melakukannya dalam tiap siklus.

Prosesor superskalar umumnya menggunakan beberapa unit fungsional, menciptakan jalur paralel di mana berbagai instruksi yang berbeda dapat dieksekusi secara paralel. Dengan pengaturan tersebut, maka dimungkinkan untuk memulai eksekusi beberapa instruksi secara paralel tiap siklus detak. Tentu saja, eksekusi paralel harus mempertahankan kebenaran logikan program, sehingga hasil yang diperoleh harus sama dengan hasil dari eksekusi secara serial.

4. Contoh CPU yang menerapkan arsitektur superscalar :

  • 486, Pentium, Pentium Pro, keluarga Intel Pentium, Intel Pentium Pro, Intel Pentium II, Intel Pentium III, Intel Itanium, Intel Xeon, Intel Pentium 4, Intel Pentium M, Intel Core dari Intel Corporation; keluarga AMD K5, AMD K6, AMD Athlon, AMD Athlon 64, dan AMD Opteron

Superscalar Processor Design

• Use PowerPC 604 as case study

• Speculative Execution, Register Renaming, Branch Prediction

More Superscalar Examples

• MIPS R10000

• DEC Alpha 21264

5. Implementasi Superscalar

  1. Proses fetch dari beberapa instruksi secara bersamaan.
  2. Logika untuk menentukan ketergantungan sebenarnya yang meliputi nilai register.
  3. Mekanisme untuk mengkomunikasikan nilai tersebut.
  4. Mekanisme untuk menginisialisasi instruksi paralel.
  5. Tersedianya sumber untuk eksekusi paralel dari beberapa instruksi.
  6. Mekanisme processing instruksi dengan urutan yg sesuai.

Pada penjelasan diatas bias diterangkan bahwa untuk superscalar dapat digunakan untuk berbagai keperluan dan dapat diimplementasikan pada perangkat prosessor seperti :

Pentium 4

Pada Pentium, implementasi superscalar dapat dijabarkan sebagai berikut :

  • 80486 – CISC.
  • Pentium.
  • ada beberapa komponen superscalar.
  • 2 unit eksekusi integer yang terpisah.
  • Pentium Pro – Full superscalar.
  • Memperhalus models subsequent & Meningkatkan design superscalar.

6. Permasalahan pada Superscalar

Kemampuan dari computer superscalar dapat dilihat dari banyaknya instruksi yang dapat diproses secara parallel. Superscalar hingga derajat tertentu dapat terjadi jika computer mampu mengatasi permasalahan ketergantungan yang ada pada suatu instruksi, diantaranya adalah : ketergantungan data, ketergantungan procedural, ketergantungan sumber unit, ketergantungan output dan antiketergantungan. Dari lima ketergantungan tersebut, sampai sekarang belum ada computer yang mampu mengatasinya secara total. Bagaimanapun computer akan menemukan beberapa ketergantungan dalam menyelesaikan suatu program.

Dari rancangan computer yang ada, hanya mampu meminimalisasikan beberapa ketergantungan saja, walaupun demikian ternyata dengan usaha ini mampu diciptakan computer dengan kinerja yang jauh lebih baik dari generasi-generasi sebelumnya. Adapun usaha yang dilakukan dalam peningkatan kinerja superscalar tersebut diantaranya : desain pipeline (out of order issue and out of order completion), memperbanyak tahapan pada pipeline, penduplikasian sumber unit (contoh : unit fungsional /ALU, memori, bus, cache, dll), desain micro operation (pada system CICS), desain unit prediksi percabangan, dan renaming allocation. Kebanyakan computer lebih menekankan pada upaya penduplikasian unit fungsional baik integer maupun floating point. Untuk itu pada pembahasan ini akan kita bahas salah satu upaya peningkatan kinerja prosesor superscalar secara khusus dalam hal reconfigurasi floating point unit (FPU).




NAMA : M. ANANG MA'RUF
KELAS : TEKNIK INFORMATIKA 20(B)
NIM     : 23420003

JAWABAN UAS ORGANISASI DAN ARSITEKTUR KOMPUTER

 UJIAN AKHIR SEMESTER GANJIL TA. 2020/2021 FAKULTAS ILMU KOMPUTER UNIVERSITAS NAHDLATUL ULAMA SIDOARJO JAWABAN UAS ORGANISASI DAN ARSITEKTUR...