29
NAMA KELMPOK : MASKAR NURLAILAH. R TUGAS KELOMPOK

Nama kelmpok : maskar nurlailah . r

  • Upload
    cherie

  • View
    87

  • Download
    1

Embed Size (px)

DESCRIPTION

TUGAS KELOMPOK. Nama kelmpok : maskar nurlailah . r. PIPELINING INSTRUKSI. MATERI. &. FORMAT INSTRUKSI. - PowerPoint PPT Presentation

Citation preview

Page 1: Nama kelmpok  : maskar nurlailah . r

NAMA KELMPOK :

MASKARNURLAILAH. R

TUGAS KELOMPOK

Page 2: Nama kelmpok  : maskar nurlailah . r

MATERIPIPELINING INSTRUKSI

FORMAT INSTRUKSI

&

Page 3: Nama kelmpok  : maskar nurlailah . r

PIPELINING INSTRUKSI• Pipeline adalah suatu cara yang digunakan untuk melakukan

sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinou pada unit pemrosesor. Dengan ccara ini, maka unit pemrosesan selalu bekerja.

• Mesin yang melaksanakan beberapa komputasi yang berbeda secara bersama-sama, namun pada saat itu setiap komputasi akan berada dalam tahapan eksekusi yang berbeda

• Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistemkomputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijaankan oleh microprocessor.

Page 4: Nama kelmpok  : maskar nurlailah . r

• beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar.

• Teknik pipeline yang diterapkan pada microprocessor, dapat dikatakan sebuah arsitektur khusus. Ada perbedaan khusus antara model microprocessor yang tidak menggunakan arsitektur pipeline dengan microprocessor yang menerapkan teknik ini.

• Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessoryang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda.

Page 5: Nama kelmpok  : maskar nurlailah . r

Tiga kesulitan yang sering dihadapi ketika menggunakan teknikpipeline ini adalah : • Terjadinya penggunaan resource yang bersamaan, Ketika

beberapa instruksi diproses secara bersamaan, ini memungkinkan ada penggunaan resource memori pada tempat yang sama.

• Ketergantungan terhadap data, Misalnya instruksi yang berurutan yang membutuhkan data dari instruksi sebelumnya.

• Pengaturan Jump ke suatu lokasi memori, Ketika sebuah instruksi meminta untuk melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan program counter.

Page 6: Nama kelmpok  : maskar nurlailah . r

TAHAPAN-TAHAPAN PIPELINING Mengambil instruksi dan membufferkannya Ketika tahapan kedua bebas tahapan

pertama mengirimkan instruksi yang dibufferkan tersebut

Pada saat tahapan kedua sedang mengeksekusi instruksi ,tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membufferkan instruksi berikutnya .

Page 7: Nama kelmpok  : maskar nurlailah . r

MASALAH PADA PIPELININGDengan adanya persyaratan bahwa setiap instuksi yang berdekatan harus tidak saling bergantung, maka ada kemungkinan terjadinya situasi dimana pipeline gagal dilaksanakan (instuksi berikutnya tidak bisa dilaksanakan). Situasi ini disebut Hazards. Hazards mengurangi performansi dari CPU dimana percepatan ideal tidak dapat dicapai.

Ada 3 kelompok Hazards :1. Structural Hazards muncul dari konflik resource sistem

yaitu ketika hardware tidak dapat mensuport semua kemungkinan kombinasi pelaksanaan instruksi.

2. Data Hazards muncul ketika data untuk suatu instruksi tergantung pada hasil instruksi sebelumnya.

3. Control Hazards muncul pada pelaksanaan instruksi yang mengubah PC (contoh : branch).

Page 8: Nama kelmpok  : maskar nurlailah . r

Adanya Hazards menyebabkan pipeline terhambat (stalled). Tidak ada instruksi baru yang dijemput sampai hambatan itu selesai. Ini berarti instruksi-instruksi selanjutnya akan ditunda pula penjemputannya.

Keuntungan dari Pipelining: 1. Waktu siklus prosesor berkurang, sehingga

meningkatkan tingkat instruksi-isu dalam kebanyakan kasus.

2. Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit.

3. Jika pipelining digunakan sebagai pengganti, hal itu dapat menghemat sirkuit vs combinational yang lebih kompleks sirkuit.

Page 9: Nama kelmpok  : maskar nurlailah . r

Kekurangan Pipelining :

1. Non-pipelined prosesor hanya menjalankan satu instruksi pada satu waktu. Hal ini untuk mencegah penundaan cabang (yang berlaku, setiap cabang tertunda) dan masalah dengan serial instruksi dieksekusi secara bersamaan. Akibatnya desain lebih sederhana dan lebih murah untuk diproduksi.

2. Instruksi latency di non-pipelined prosesor sedikit lebih rendah daripada dalam pipelined setara. Hal ini disebabkan oleh fakta bahwa sandal jepit ekstra harus ditambahkan ke jalur data dari prosesor pipelined. 

3. Non-pipelined prosesor akan memiliki instruksi yang stabil bandwidth. Kinerja prosesor yang pipelined jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.

Page 10: Nama kelmpok  : maskar nurlailah . r

Tujuan pipelining :- adalah untuk memaksimalkan kecepatan mengalirnya instruksi.- Diciptakan juga dengan tujuan mempercepat

kinerja komputer.

Kategori pipelining:1. Pipeline Unit Arithmetic

Berguna untuk operasi vektor2. Pipeline Unit Instruction

Berguna untuk komputer yang mempunyai set instruksi yang sederhana

Page 11: Nama kelmpok  : maskar nurlailah . r

Bedanya prosesor yang tidak menggunakan tekonologi pipeline adalah dalam segi pengerjaan tugas atau operasi. 

Prosesor yang tidak menggunakan teknologi pipeline harus menyelesaikan suatu proses sampai dengan selesai dulu, baru bisa melanjutkan kie proses selanjutnya.

Sedangkan prosesor yang menggunakan teknologi pipeline dapat melakukan beberapa proses secara bersamaan tanpa harus menunggu proses sebelumnya diselesaikan.

Page 12: Nama kelmpok  : maskar nurlailah . r

Pipelining Instruksi 2 tahap

Page 13: Nama kelmpok  : maskar nurlailah . r

Untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut. Sebagai contoh :

Instruksi 1: ADD AX, AX Instruksi 2: ADD EX, CX

Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut(ID). Pada menerjemahkan instruksi 1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).

Page 14: Nama kelmpok  : maskar nurlailah . r

Contoh pengerjaan instruksi tanpa pipeline

Disini instruksi baru akan dijemput jika instruksi sebelumnya telah selesai dilaksanakan.

Page 15: Nama kelmpok  : maskar nurlailah . r

Contoh pengerjaan instruksi dengan pipeline

Disini instruksi baru akan dijemput setelah tahap IF menganggur (t2).

Page 16: Nama kelmpok  : maskar nurlailah . r

FORMAT INSTRUKSI

Page 17: Nama kelmpok  : maskar nurlailah . r

Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut.layout dari instruksi sering disebut sebagai format instruksi.

Program terdiri dari urutan instruksi, setiap instrusksi memiliki aksi tertentu.

Setiap instruksi terdiri dari field kode operasi atau opcode yang menentukan operasi apa yang harus dikerjakan oleh CPU. Instruksi dapat berupa opcode saja, tetapi sebagian besar instrusksi melibatkan satu atau lebih operand.Untuk menentukan dimana operand berada disebut addressing.

PENGERTIAN

Page 18: Nama kelmpok  : maskar nurlailah . r

Instruksi tanpa operand disebut dengan zero address instruction. Instruksi yang memerlukan satu atau lebih operand disebut one-address instruction, two-address instruction,dan seterusnya.Panjang Instruksi tergantung jumlah operand yang terlibat dan cara menentukan setiap operand.

Page 19: Nama kelmpok  : maskar nurlailah . r

19

• Opcode : menyatakan operasinya (mnemonic)• Operands: menyatakan data input (source) dan output (destination)

untuk operasi ybs

• operand source/destination

Opcode/mnemonic Operand1 Operand2 . . . OperandN

datanya (imediate) ataulokasi/alamat data (eks-lisit atau implisit)

CONTOH FORMAT INSTRUKSI

Page 20: Nama kelmpok  : maskar nurlailah . r

Selama berlangsungnya eksekusi instruksi, instruksi dibaca ke dalam register instruksi (Instruction Register-IR) yang terdapar dalam CPU.Opcode direpresentasikan dengan singkatan-singkatan yang disebut mnemonik, yang mengindikasikan operasi.Misal:

a. ADD (menambahkan)b. SUB (pengurangan)c. MPY (multiply)d. DIV (pembagian)e. LOAD (muatkan data dari memori)f. STORE (simpan data ke memori)

Page 21: Nama kelmpok  : maskar nurlailah . r

Operand-operand juga direpresentasikan secara simbolik. Misalnya instruksi:

ADD R,YBerarti tambahkan nilai yang terdapat pada lokasi Y ke isi register R dimana Y berkaitan dengan alamat lokasi di dalam memori, dan R berkaitan dengan register tertentu.

Page 22: Nama kelmpok  : maskar nurlailah . r

22

1 statemen assembly =1 instruksi mesin

a = b + 5 1 statement level tinggi

kompilasi

Operand operandM[a], R3

RegisterMemor

y

Page 23: Nama kelmpok  : maskar nurlailah . r

23

APA YANG HARUS DISPESIFIKASIKAN OLEH SEBUAH INSTRUKSI ? Kode operasi Opcode

add r0, r1, r3 add, load, branch, dsb.

Dimana operand-operand sumbernya berada ? add r0, r1, r3

didalam register2 CPU, main memory, I/O, atau terdapat dalam instruksi itu sendiri.

Kemana operand hasil (hasil operasi ) disimpan ? add r0, r1, r3ke register2 CPU atau main memory

Opcode Operand-operand sumber dan operand hasil (alamat penyimpanannya)

Page 24: Nama kelmpok  : maskar nurlailah . r

ADDRESSING MODEBeberapa jenis addressing modes diuraikan sebagai berikut:1. Immediate AddressingPada mode ini, operand merupakan bagian dari instruksi, sehingga operand tersedia dengan segera. Operand ini disebut immediate operand karena secara otomatis di-fetch dari memori dengan instruksi.2. Direct AddressingPada mode ini instruksi menyediakan alamat operand secara langsung. CPU menggunakan alamat ini untuk melakukan fetch (atau store) oprend.3. Register Direct AddressingMode ini mirip dengan direct addressing, perbedaannya field operand menentukan register, bukan alamatmemori. Register ini adalah salah satu dari general purpose register (GPR) CPU.

Page 25: Nama kelmpok  : maskar nurlailah . r

4. Register Indirect AddressingPada mode ini register ditentukan oleh instruksi yang berisi alamat operand, bukan operand itu sendiri. Karena memegang alamat operand, maka register dapat dipandang sebagai petunjuk ke operand, sehingga disebut pointer.5. Indirect AddressingPada addressing mode berikutnya instruksi menentukan alamat operand berkaiatan dengan jarak dari alamat yang laian. Pada mode addressing ini instruksi menyediakan dan menunjukkan register mana yang memegang indek. Indek menentukan berapa jauh operand dari alamat yang disediakan oleh instruksi.6. Based AddressingMode ini dikenal dengan relative addressing. Pada tipe addressing ini alamat operand berkenaan dengan jarak (atau displacement) dengn base address yang disimpan dalam register.7. Relative AddressingProgram melibatkan instruksi tipe jump untuk menttansfer control ke program lain atau ke bagian lain dari program lain dari program yang sama.

Page 26: Nama kelmpok  : maskar nurlailah . r

SET INSTRUKSISet instruki dapat berbeda tidak hanya pada tipe operasi, tetapi juga tipe data dimana operasi-operasi tersebut dilakukan.Dipandang dari tipe operasi, instruksi dapat dibagi menjadi tiga kelas utama, yaitu:1. Instruksi transfer dataMemindahkan data antar lokasi tanpa melakukan operasi apapun pada data yang bersangkutan. Contoh instrusi transfer data adalah MOV.2. Instruksi kendaliTidak melakukan operasi pada data. Fungsi instrusksi ini untuk mengendalikan program dan keadaan (state) CPU. Contoh instrusksi transfer kendali adalah JUMP, CALLSUB, RETSUB, RETINT, LOOPBCK (kendali program) dan SETC, CLRC, ENINT, DISINT, HALT, NOP (kendali CPU).

Page 27: Nama kelmpok  : maskar nurlailah . r

3. Instruksi manipulasi dataMelakukan operasi data yang memberikan hasil melalui transformasi data. Yang termasuk instruksi manipulasi data adalah:a). Aritmetik b). Lojikc). Shift/rotated). Manipulasi bite). Perosesan string

Page 28: Nama kelmpok  : maskar nurlailah . r

CPU TIMINGInstruction cyce dan Machine cycleAdalah urutan langkah yang diperlukan dalam fetching dan eksekusi instrusi. Di dalam prosesor, langkah ini dibagi menjadi urutan yanglebih kecil yang disebut machine cycle. Tipe machine cycle yang umum adalah:a). Memory Readb). Memory Writec). Internal Operationd). Interupt Acknowledgee). Bus Grant

Page 29: Nama kelmpok  : maskar nurlailah . r

TERIMAHKASIH