Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Nama kelmpok : maskar nurlailah. r
TUGAS KELOMPOK Nama kelmpok : maskar nurlailah. r
2
MATERI PIPELINING INSTRUKSI & FORMAT INSTRUKSI
3
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.
4
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.
5
Tiga kesulitan yang sering dihadapi ketika menggunakan teknik
pipeline 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.
6
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 .
7
Masalah pada pipelining
Dengan 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).
8
Adanya Hazards menyebabkan pipeline terhambat (stalled)
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: Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi-isu dalam kebanyakan kasus. Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit. Jika pipelining digunakan sebagai pengganti, hal itu dapat menghemat sirkuit vs combinational yang lebih kompleks sirkuit.
9
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.
10
Tujuan pipelining : Kategori pipelining:
- adalah untuk memaksimalkan kecepatan mengalirnya instruksi. - Diciptakan juga dengan tujuan mempercepat kinerja komputer. Kategori pipelining: 1. Pipeline Unit Arithmetic Berguna untuk operasi vektor 2. Pipeline Unit Instruction Berguna untuk komputer yang mempunyai set instruksi yang sederhana
11
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.
12
Pipelining Instruksi 2 tahap
13
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).
14
Contoh pengerjaan instruksi tanpa pipeline Disini instruksi baru akan dijemput jika instruksi sebelumnya telah selesai dilaksanakan.
15
Contoh pengerjaan instruksi dengan pipeline
Disini instruksi baru akan dijemput setelah tahap IF menganggur (t2).
16
FORMAT INSTRUKSI
17
pENGERTIAN 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.
18
Instruksi tanpa operand disebut dengan zero address instruction
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.
19
CONTOH FORMAT INSTRUKSI
Opcode/mnemonic Operand1 Operand2 . . . OperandN operand source/destination Opcode : menyatakan operasinya (mnemonic) Operands: menyatakan data input (source) dan output (destination) untuk operasi ybs datanya (imediate) atau lokasi/alamat data (eks- lisit atau implisit)
20
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: ADD (menambahkan) SUB (pengurangan) MPY (multiply) DIV (pembagian) LOAD (muatkan data dari memori) STORE (simpan data ke memori)
21
Operand-operand juga direpresentasikan secara simbolik
Operand-operand juga direpresentasikan secara simbolik. Misalnya instruksi: ADD R,Y Berarti 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.
22
M[a], R3 Register Memory a = b + 5 1 statement level tinggi kompilasi
1 statemen assembly = 1 instruksi mesin a = b statement level tinggi kompilasi Operand operand M[a], R3 Register Memory
23
Apa yang harus dispesifikasikan oleh sebuah instruksi ?
Kode operasi Opcode add r0, r1, r3 add, load, branch, dsb. Dimana operand-operand sumbernya berada ? didalam register2 CPU, main memory, I/O, atau terdapat dalam instruksi itu sendiri. Kemana operand hasil (hasil operasi ) disimpan ? add r0, r1, r3 ke register2 CPU atau main memory Opcode Operand-operand sumber dan operand hasil (alamat penyimpanannya)
24
Addressing Mode Beberapa jenis addressing modes diuraikan sebagai berikut: 1. Immediate Addressing Pada 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 Addressing Pada mode ini instruksi menyediakan alamat operand secara langsung. CPU menggunakan alamat ini untuk melakukan fetch (atau store) oprend. 3. Register Direct Addressing Mode ini mirip dengan direct addressing, perbedaannya field operand menentukan register, bukan alamatmemori. Register ini adalah salah satu dari general purpose register (GPR) CPU.
25
4. Register Indirect Addressing Pada 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 Addressing Pada 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 Addressing Mode 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 Addressing Program melibatkan instruksi tipe jump untuk menttansfer control ke program lain atau ke bagian lain dari program lain dari program yang sama.
26
Set Instruksi Set 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 data Memindahkan data antar lokasi tanpa melakukan operasi apapun pada data yang bersangkutan. Contoh instrusi transfer data adalah MOV. 2. Instruksi kendali Tidak 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).
27
3. Instruksi manipulasi data Melakukan operasi data yang memberikan hasil melalui transformasi data. Yang termasuk instruksi manipulasi data adalah: a). Aritmetik b). Lojik c). Shift/rotate d). Manipulasi bit e). Perosesan string
28
CPU Timing Instruction cyce dan Machine cycle Adalah 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 Read b). Memory Write c). Internal Operation d). Interupt Acknowledge e). Bus Grant
29
TERIMAH KASIH
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.