mesin von neumann bagian utama cpu - dinus.ac.iddinus.ac.id/repository/docs/ajar/orakom-08.pdf ·...

3
Mesin von Neumann Konsep untuk memiliki sebuah program yang tersimpan dalam memori komputer Arsitektur dasar mesin ini masih menjadi kerangka referensi pada komputer modern Mesin von Neumann Mesin von Neumann Program disimpan dalam unit memori utama, yang berhadapan dengan piranti input/output (I/O) melalui unit pengolahan pusat (CPU atau central processing unit) CPU membaca dari atau menulis ke memori, pertama- tama dengan mengirimkan alamat word ke unit memori melalui bus adress dan kemudian menerima atau mengirimkan data melalui bus data. Data dipertukarkan antara CPU dan unit I/O juga menggunakan data bus. Operasi ini disinkronisasikan oleh dua bus control dengan sinyal kendali yang dikirim oleh CPU dan sinyal acknowledgement serta sinyal interupsi yang diterima oleh CPU. Prosesor: Control & Datapath Processor (active) Computer Control Datapath Memory (passive) (dimana program, data ada ketika dijalankan) Devices Input Output Bagian Utama CPU Kumpulan register / register set Unit aritmatika dan logika (ALU / Arithmetic and Logic Unit) Unit kendali logika (CU / Control Unit) Bagian Utama CPU Kumpulan register menyimpan informasi sementara yang diperlukan untuk melaksanakan sebuah instruksi atau kumpulan instruksi / program ALU menggunakan nilai-nilai yang tersimpan dalam kumpulan register untuk melakukan operasi aritmatika dan logika Bagian Utama CPU CPU mengendalikan sistem dalam dua cara: Dengan mengarahkan transfer ke dan dari register baik ke maupun dari memori, ALU dan register lainnya Dengan memerintahkan ALU ke operasi yang akan dijalankan

Upload: dinhthien

Post on 25-Mar-2019

232 views

Category:

Documents


0 download

TRANSCRIPT

Mesin von Neumann

• Konsep untuk memiliki sebuah program yang tersimpan dalam memori komputer

• Arsitektur dasar mesin ini masih menjadi kerangka referensi pada komputer modern

Mesin von Neumann

Mesin von Neumann• Program disimpan dalam unit memori utama, yang

berhadapan dengan piranti input/output (I/O) melalui unit pengolahan pusat (CPU atau central processing unit)

• CPU membaca dari atau menulis ke memori, pertama-tama dengan mengirimkan alamat word ke unit memori melalui bus adress dan kemudian menerima atau mengirimkan data melalui bus data.

• Data dipertukarkan antara CPU dan unit I/O juga menggunakan data bus.

• Operasi ini disinkronisasikan oleh dua bus control dengan sinyal kendali yang dikirim oleh CPU dan sinyal acknowledgement serta sinyal interupsi yang diterima oleh CPU.

Prosesor: Control & Datapath

Processor(active)

Computer

Control

Datapath

Memory(passive)

(dimana program, data adaketika dijalankan)

Devices

Input

Output

Bagian Utama CPU

• Kumpulan register / register set• Unit aritmatika dan logika (ALU /

Arithmetic and Logic Unit)• Unit kendali logika (CU / Control Unit)

Bagian Utama CPU

• Kumpulan register menyimpan informasi sementara yang diperlukan untuk melaksanakan sebuah instruksi atau kumpulan instruksi / program

• ALU menggunakan nilai-nilai yang tersimpan dalam kumpulan register untuk melakukan operasi aritmatika dan logika

Bagian Utama CPU

• CPU mengendalikan sistem dalam dua cara:– Dengan mengarahkan transfer ke dan dari

register baik ke maupun dari memori, ALU dan register lainnya

– Dengan memerintahkan ALU ke operasi yang akan dijalankan

Bagian Utama CPU

Kumpulan Register

• Register dari sebuah komputer secara kolektif disebut sebagai kumpulan register / register set

• Beberapa register mungkin mempunyai jenis yang sama, yang lainnya mungkin berbeda

• Beberapa register berlaku umum pada hampir semua komputer

Register Program Counter• Menyimpan alamat memori dari instruksi selanjutnya

yang akan dijalankan• Pelaksanaan sebuah program biasanya dilakukan

berurutan, maka alamat instruksi berikutnya bernilai 1 lebih tinggi daripada alamat dari instruksi saat ini.

• PC ← (PC)+1• Jika suatu jump atau cabang instruksi dijalankan,

instruksi yang akan dilaksanakan berikutnya disimpan pada alamat yang ditentukan dalam cabang instruksi.

• Dalam hal ini, kita ingin me-load langsung alamat baru ke PC :

• PC ← bagian alamat dari instruksi cabang

Register Instruksi• Register khusus untuk menyimpan instruksi• Pertama, instruksi di-fetch dari memori dan disimpan

dalam IR kemudian PC ditingkatkan sehingga ia menunjuk ke instruksi berikutnya

• IR ← M[PC]• PC ← (PC)+1• M[PC] menunjukkan isi lokasi memori yang ditunjuk

oleh PC.• Sekali instruksi disimpan dalam IR, maka instruksi

tersebut dapat di-decode oleh Control Unit (CU) dan operasi mikro dapat diaktifkan untuk pelaksanaannya

Register Umum

• Untuk menyimpan nilai-nilai sementara selama pelaksanaan instruksi

• Sebuah komputer memiliki sebuah register prosesor untuk pelaksanaan instruksi-instruksi, disebut Accumulator (ACC)

Register Flag

• Mengendalikan aliran pelaksanaan pada CU dan ALU

Siklus Eksekusi Program• CPU mem-fetch instruksi berikutnya dari

memori • CPU men-decode instruksi • Berdasarkan instruksi, CPU mengeluarkan

sinyal kendali untuk mem-fetch operand lainnya jika diperlukan dan kemudian akan melaksanakan salah satu tindakan berikut ini : – Melakukan operasi aritmatika atau logika– Menyimpan sebuah hasil ke dalam memori – Membaca sebuah hasil dari atau menuliskan hasil ke

piranti I/O• CPU kembali ke langkah pertama dan

melanjutkan proses hingga program diberhentikan

Siklus Eksekusi Program

1. IR M[PC] // Fetch instruksi2. PC PC + d // Tunjuk ke lokasi

instruksi berikutnya

3. Eksekusi instruksi

Organisasi Prosesor (single bus)

Y

Z

MDR

MAR

PC

TEMP

R(n-1)

R0

IR

InstructionDecoder

ALUCarry-in

AddSub

XOR

Address lines

Data lines

Control lines

Memory bus

ALU control

lines

Control Unit

DatapathUnit

Operasi Dasar Prosesor

• Operasi-operasi Dasar:– Mengambil (fetching) Data dari Memori– Menyimpan (storing) Data ke Memori– Pertukaran Data Antar-Register– Operasi Aritmatika & Logika di Datapath

Mengambil Data dari MemoriInstruksi:

LD R2,(R1) ; R2 M[R1]

Langkah-langkah:1. MAR R12. Read3. Tunggu sinyal MFC

// MFC = Memory Function Completed// Pada saat MFC aktif:// MDR M[MAR]

4. R2 MDR

Y

Z

MDR

MAR

PC

TEMP

R2

R1

IR

InstructionDecoder

ALUCarry-in

AddSub

XOR

Address lines

Data lines

Read MFC

Menyimpan Data ke MemoriInstruksi:

ST (R1),R2 ; M[R1] R2

Langkah-langkah:1. MAR R12. MDR R2, Write3. Tunggu sinyal MFC

// MFC = Memory Function Completed// Pada saat MFC aktif:// M[MAR] MDR

Y

Z

MDR

MAR

PC

TEMP

R2

R1

IR

InstructionDecoder

ALUCarry-in

AddSub

XOR

Address lines

Data lines

Write MFC

Pertukaran Data Antar-RegisterInstruksi:

MOV R4,R1 ; R4 R1

Langkah-langkah:1. Enable output of R1

// setting R1out to 1

2. Enable input of R4// setting R4in to 1

R4

R1

X

X

X

X

R1 in

R1out

R4 in

R4out

Operasi Aritmatika dan LogikaInstruksi:

ADD R1,R2 ; R1 R1 + R2

Langkah-langkah:1. R1out, Yin

2. R2out, Add, Zin

3. Zout, R1in

Y

Z

Ri

ALUA B

X

X

X

X

X

X

Ri in

Riout

Yin

Yout

Zin

Zout

Add

Operasi (A&L): Bagian dari Pertukaran DataKomponen-komponen Datapath:

– Register: tempat penyimpanan data– ALU: tempat pemrosesan aritmatika & logika– Bus: penghubung antar-register & antara register-ALU

• Eksekusi Instruksi merupakan kombinasipertukaran data antara:

– Register Bus Register– Register Bus ALU– Register Bus Memori

• Pertukaran data dilakukan dengan caramengaktifkan gerbang-gerbang register denganmenggunakan sinyal-sinyal kendali (PCout, PCin, dst.)

– Selain itu, juga ada sinyal-sinyal kendali yang berhubungan dengan komponen-komponen lain (Memori: Read, Write; ALU: Add, Sub, Set Carry-in, dst.)