• Tidak ada hasil yang ditemukan

Handout TIF203 Arsitektur dan Organisasi Komputer Ch 12

N/A
N/A
Protected

Academic year: 2017

Membagikan "Handout TIF203 Arsitektur dan Organisasi Komputer Ch 12"

Copied!
12
0
0

Teks penuh

(1)

ARSITEKTUR DAN

ORGANISASI KOMPUTER

PRIO HANDOKO, S.KOM., M.T.I.

PART 3:

THE CENTRAL

PROCESSING UNIT

CHAPTER 12

: PROCESSOR

STRUCTURE AND FUNCTION

Kompetensi Dasar

Arsitektur dan Organisasi Komputer 3

CHAPTER 12:

PROCESSOR

STRUCTURE AND FUNCTION

Mahasiswa memiliki pengetahuan mengenai fungsi dan struktur CPU

Agenda

Processor Organization

Register Organization

Instruction Cycle

Instruction Pipelining

12.1 Processor Organization

4 Arsitektur dan Organisasi Komputer

Fetch instructions: Prosesor membaca sebuah

instruksi dari memori (register, cache, main memory)

Interpret instructions: Instruksi di decode untuk

menentukan action yang diperlukan

Fetch data: Pengeksekusian sebuah instruksi bisa

memerlukan pembacaan data dari memori atau I/O module

Process data: Pengeksekusian sebuah instruksi

(operasi ALU)

Write data: Hasil eksekusi bisa memerlukan

(2)

12.1 Processor Organization (cont…)

5 Arsitektur dan Organisasi Komputer

Th

12.1 Processor Organization (cont…)

6 Arsitektur dan Organisasi Komputer

In

12.2 Register Organization

7 Arsitektur dan Organisasi Komputer Register dalam prosesor memiliki 2 peran:

1. User-visible register

Register yang dapat direferensi menggunakan bahasa mesin/rakitan/assembler (machine language)

2. Control and Status Register:

Register yang digunakan oleh control unit untuk mengendalikan operasi pengolahan prosesor

12.2 Register Organization (cont…)

8 Arsitektur dan Organisasi Komputer

User-visible Register

Dikelompokkan menjadi: 1. General Purpose Register 2. Data Register

3. Address Register

(3)

12.2 Register Organization (cont…)

9 Arsitektur dan Organisasi Komputer

1. General Purpose Register

• Bisa digunakan sebagai operand untuk setiap instruksi (true general purpose)

• Hanya beberapa yang bisa digunakan sebagai operand pada instruksi tertentu (restricted)

• Pada beberapa kasus bisa digunakan untuk

addressing function (register indirect, displacement)

12.2 Register Organization (cont…)

10 Arsitektur dan Organisasi Komputer

• Bisa digunakan untuk menyimpan data atau

address.

• Data: Accumulator

• Addressing: Segment • Make them general purpose

• Fleksibilitas tinggi dan keleluasan pemrograman

• Instruksi lebih panjang (lebih rumit) • Make them specialized

• Instruksi lebih pendek (kinerja lebih baik)

• Kurang fleksibel

12.2 Register Organization (cont…)

11 Arsitektur dan Organisasi Komputer

2. Data Register

• Jumlah register sekitar 8 – 23

• Banyaknya register berpengaruh pada rancangan set instruksi

• Lebih banyak register, maka semakin banyak juga bit operand-nya

• Semakin sedikit register, maka memori utama akan lebih sering direferensi

12.2 Register Organization (cont…)

12 Arsitektur dan Organisasi Komputer

4. Condition Codes Register

Register yang menampung condition codes

(flags).

Condition codes berupa bit yang yang diset oleh perangkat keras prosesor sebagai hasil dari suatu operasi.

• Dapat dibaca oleh program.

(4)

12.2 Register Organization (cont…)

13 Arsitektur dan Organisasi Komputer

Control and Status Register

• Terdapat 4 register yang umumnya digunakan untuk eksekusi instruksi:

1. Program Counter (PC) 2. Instruction Register (IR)

3. Memory Address Register (MAR) 4. Memory Buffer Register (MBR)

12.2 Register Organization (cont…)

14 Arsitektur dan Organisasi Komputer

Status register: register yang menampung condition code pengolahan yang disebut dengan program status word (PSW), terdiri dari:

Sign (hasil akhir dari operasi ALU)

Zero (diset jika hasil akhir operasi ALU = 0)

Carry Equal Overflow

Interrupt enable/disable

Supervisor (supervisor atau user mode)

12.3 Instruction Cycle

15 Arsitektur dan Organisasi Komputer

• Terdiri dari 3 tahapan:

1. Fetch 2. Execute 3. Interrupt

• Terdapat 1 tambahan tahapan siklus instruksi yang dikenal dengan nama indirect cycle

12.3 Instruction Cycle (cont…)

16 Arsitektur dan Organisasi Komputer

Indirect Cycle

• Eksekusi instruksi mungkin membutuhkan lebih dari satu operand,

• Setiap kali operand dibutuhkan, maka hal ini akan membutuhkan akses ke memori,

• Setiap kali melakukan akses ke memori, maka indirect address dilakukan, dan

(5)

12.3 Instruction Cycle (cont…)

17 Arsitektur dan Organisasi Komputer

The instruction cycle (with) indirect cycle

12.3 Instruction Cycle (cont…)

18 Arsitektur dan Organisasi Komputer

The instruction cycle (with) indirect cycle

12.3 Instruction Cycle (cont…)

19 Arsitektur dan Organisasi Komputer

Data Flow (instruction Fetch)

Fe

tc

h

D

ia

ra

m

12.3 Instruction Cycle (cont…)

20 Arsitektur dan Organisasi Komputer

In

d

ir

e

c

t

D

ia

ra

(6)

12.3 Instruction Cycle (cont…)

21 Arsitektur dan Organisasi Komputer

In

te

rr

up

t

D

ia

ra

m

12.3 Instruction Cycle (cont…)

22 Arsitektur dan Organisasi Komputer

Instruction Prefetch

• Pengambilan instruksi selanjutnya ketika prosesor tengah melakukan eksekusi intruksi

Mengapa hal ini dapat dilakukan? Karena, ketika prosesor melakukan

eksekusi, prosesor tidak mengakses memori

12.4 Pipelining

23 Arsitektur dan Organisasi Komputer

• Instruksi pipeline serupa dengan

penggunaan assembly line pada pabrik-pabrik perakitan

Contoh assembly line?

Pipeline, input baru diterima di salah satu ujung sebelum input yang diterima sebelumnya muncul sebagai output diujung lainnya.

12.4 Pipelining (cont…)

24 Arsitektur dan Organisasi Komputer

Common instruction stage

(7)

12.4 Pipelining (cont…)

25 Arsitektur dan Organisasi Komputer

• Waktu eksekusi pada umumnya lebih lama dari waktu fetch, sehingga tahapan fetch menunggu untuk beberapa waktu untuk mengosongkan

buffer.

Conditional branch instruction akan membuat instruksi berikutnya yang akan diambil tidak jelas, jadi tahapan fetch harus menunggu sampai alamat instruksi dari tahapan eksekusi .

• Tahapan eksekusi harus menunggu ketika instruksi selanjutnya tengah di-fetch

12.4 Pipelining (cont…)

26 Arsitektur dan Organisasi Komputer

• Hal ini akan meningkatkan kecepatan (speed up) pengolahan

Speed up dapat ditingkatkan dengan menambahkan lagi beberapa tahapan (stage):

Fetch instruction (FI)

Decode instruction (DI)

Calculate operands (CO)

Fetch operands (FO)

Execute instructions (EI)

Write operand (WO)

12.4 Pipelining (cont…)

27 Arsitektur dan Organisasi Komputer

Berapakah waktu yang dibutuhkan untuk menyelesaikan 9 instruksi pengolahan, jika setiap instruksi, diselesaikan dalam 6 stage dan setiap stage berdurasi 1 unit waktu?

Jawab:

12.4 Pipelining (cont…)

28 Arsitektur dan Organisasi Komputer

Berapakah waktu yang dibutuhkan untuk menyelesaikan 9 instruksi pengolahan, jika setiap instruksi, diselesaikan dalam 6 stage dan setiap stage berdurasi 1 unit waktu?

Jawab:

14 unit waktu

(8)

29 Arsitektur dan Organisasi Komputer

Timing Diagram for Instruction Pipeline Operation

12.4 Pipelining (cont…)

30 Arsitektur dan Organisasi Komputer

• Faktor penghambat pipelining:

1. Jika ke-6 stage memerlukan durasi yang berbeda, maka yang lebih cepat harus menunggu.

2. Adanya conditional branch instruction.

31 Arsitektur dan Organisasi Komputer

The Effect of a Conditional Branch on Instruction Pipeline Operation

32 Arsitektur dan Organisasi Komputer

Six-Stage CPU Instruction Pipeline

• Pengecekan ada atau tidaknya conditional branch selalu dilakukan setelah stage CO dilakukan

(9)

33 Arsitektur dan Organisasi Komputer

12.4 Pipelining (cont…)

34 Arsitektur dan Organisasi Komputer

Dealing with Branches

• Berbagai pendekatan untuk menangani Branch

Multiple Streams

Prefetch Branch Target

Loop buffer

Branch prediction

Delayed branching

12.4 Pipelining (cont…)

35 Arsitektur dan Organisasi Komputer

Multiple Streams

• Kedua instruksi percabangan (branch)

diambil dengan dua buah stream

Prefetch setiap branch kedalam pipeline yang terpisah

• Menggunakan pipeline yang sesuai

12.4 Pipelining (cont…)

36 Arsitektur dan Organisasi Komputer

• Masalah dengan pendekatan ini:

• Akan terjadi perebutan dan delay untuk akses register dan memori

(10)

12.4 Pipelining (cont…)

37 Arsitektur dan Organisasi Komputer

Loop Buffer

• Menggunakan

very fast memory

• Very good for small loops or jumps

12.4 Pipelining (cont…)

38 Arsitektur dan Organisasi Komputer

Branch Prediction

12.4 Pipelining (cont…)

39 Arsitektur dan Organisasi Komputer

• Berbagai teknik digunakan untuk memprediksi apakah suatu branch akan diambil antara lain:

• Predict never taken • Assume that jump will not happen

• Always fetch next instruction • Predict always taken

• Assume that jump will happen

• Always fetch target instruction

• Berdasarkan studi lebih dari 50% branch dilaksanakan

• As soon as the branch is decoded and the target address is computed, we assume the branch to be taken and begin fetching and executing at the target address.

12.4 Pipelining (cont…)

40 Arsitektur dan Organisasi Komputer

• Predict by Opcode

• Prosesor berasumsi jump akan dilaksanakan pada instruksi dengan opcode terterntu saja.

• Can get up to 75% success • Taken/Not taken switch • Based on previous history

• Good for loops

• Branch History Table

• Menyimpan history instruksi-instruksi branch

(11)

41

Arsitektur dan Organisasi Komputer Arsitektur dan Organisasi Komputer 42

43 Arsitektur dan Organisasi Komputer Diketahui prosesor tanpa pipeline dengan 6 tahapan eksekusi instruksi masing-masing memerlukan waktu sebagai berikut: 50 ns, 50 ns, 60 ns, 60 ns, 50 ns, dan 50 ns.

Hitung:

a) Instruction latency

b) Total waktu untuk mengeksekusi 100 instruksi

Jawab:

a) (50+50+60+60+50+50) ns = 320 ns b) 100 instruksi * 320 ns = 32.000 ns

12.4 Pipelining (cont

…) –

Contoh Soal

44 Arsitektur dan Organisasi Komputer Menyambung soal di atas, jika prosesor

menggunakan pipeline dimana memerlukan waktu tambahan (overhead) untuk pindah dari satu stage

ke stage yang lainnya. Hitung waktu yang diperlukan untuk menjalankan 100 instruksi!

Jawab:

The length of pipelined stage = MAX(lengths of unpipelined stages) + overhead60 + 5 = 65 ns

Instruction latency = 65 ns

Time to execute 100 instructions = 65x6 + 65x99 = 390 + 6.435 = 6.825 ns

(12)

45 Arsitektur dan Organisasi Komputer Dari kedua soal diatas hitung speed up-nya!

Jawab:

Average instruction time not pipelined= 320 ns

Average instruction time pipelined= 65 ns

Speedup = 320 ns/ 65 ns = 4.92 ns

12.4 Pipelining (cont

…) –

Contoh Soal

46 Arsitektur dan Organisasi Komputer

Bagaimana dengan pipelining

pada operasi aritmatika?

12.4 Pipelining (cont

…) –

Contoh Soal

- THANK YOU -

PART 3:

THE CENTRAL

PROCESSING UNIT

Referensi

Dokumen terkait

Memahami konstruksi dari berbagai macam jenis kabel optic serta mengetahui bagian-bagian dari serat

Pelaksanaan tindakan ini dilakukan peneliti dengan menggunakan media literasi yang berbasis media literasi untuk meningkatkan keterampilan komunikasi peserta didik

Hasil perhitungan dari papan reklame keempat dengan nilai jarak yang telah

Penerapan Model Pembelajaran Bebasis Portofolio untuk Meningkatkan Kreatiivitas Siswa Dalam Pembelajaran IPS.(Penelitian Tindakan Kelas di kelas 8-9 SMP Negeri 30

[r]

Memahami konstruksi dari berbagai macam jenis kabel optic serta mengetahui bagian-bagian dari serat optic.. Menguasai teknik pemasangan

diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Science Program Studi Ilmu

Reklame adalah benda, alat atau perbuatan, yang menurut bentuk susunan dan corak ragamnya dengan maksud untuk mencari keuntungan dipergunakan untuk memperkenalkan,