PROGRAM STUDI
S1 SISTEM KOMPUTER
UNIVERSITAS DIPONEGORO
Central Processing Unit
CPU terdiri dari :
- Bagian data (Datapath) yang berisi register register untuk penyimpanan data sementara dan sebuah ALU untuk melaksanakan operasi operasi aritmatika dan logika
- Bagian kendali yang bertugas menginterpretasikan instruksi dan
membangkitkan sinyal sinyal kendali agar operasi dalam instruksi tsb di- laksanakan.
Bus internal
R0
R1
Rn
Larik Register
STRUKTUR CPU
Register register dalam CPU
Kelompok kelompok register :
• Register register yang user-visible :Dapat diakses (dibaca dan diubah) oleh pemrogram melalui instruksi instruksi mesin.
4. Register register Kontrol dan Status
Register register yang
user-visible
:
General Purpose Register
Dapat digunakan untuk menyimpan data ataupun untuk menyimpan atau untuk kalkulasi alamat operand.
Register Data
Hanya dapat digunakan untuk menyimpan data
Register Alamat
Register register Kontrol dan Status
- Register register untuk komunikasi dengan unit unit diluar CPU
MAR (Memory Address Register) untuk menyatakan alamat lokasi
operand dalam memory yang akan dibaca atau ditulisi oleh CPU.
MBR atau MDR (Memory Buffer atau Data Register) merupakan tempat penyimpanan (sementara) data yang baru saja dibaca dari atau data yang akan dituliskan ke memory
- Register Status (PSW = Processor Status Word, atau Flag Register)
Terdiri dari bit bit (flag) yang menyatakan status CPU.
Interrupt Enable/Disable (Interrupt flag)
Supervisor Flag : CPU dalam mode sistem atau mode user
- Register register ALU
Register Y sebagai buffer bagi operand source pada operasi ALU. Register Z sebagai buffer bagi data hasil operasi ALU, disebut
akumulator
Z S V I ...
a
a
Stack Pointer
Stack adalah tempat penyimpanan data yang aksesnya diorganisasikan secara LIFO
(Last In First Out).
Stack dapat diimplementasikan sebagai satu set lokasi didalam main memory
atau dengan menggunakan 1 set register didalam CPU
Stack Pointer menunjukkan alamat bagian teratas stack (Top of Stack)
Ada dua jenis stack : user stack dan system stack
Page Table Pointer
Menunjukkan alamat Tabel Halaman (utk pengelolan sistem pengingat)
Register register pada Control Unit
Stack Pointer
TOS memory
stack
EKSEKUSI PROGRAM
Sebuah program tersusun dari instruksi instruksi.
Eksekusi sebuah program = eksekusi instruksi instruksi penyusun program tersebut.
Setiap instruksi akan dieksekusi oleh CPU dalam satu instruction cycle
Urutan eksekusi instruksi ditentukan oleh logika program
11
Alamat lokasi penyimpanan instruksi yang akan dibaca dari memory ditunjukkan oleh isi Program Counter (PC).
Control Unit sinyal sinyal kendali hasil interpretasi instruksi
MAR
MDR
Eksekusi 1 instruksi dilakukan dalam 1 instruction cycle, yang terdiri dari langkah langkah sbb :
(1) Baca (Fetch) instruksi yang akan di eksekusi dari memory ke CPU.
(2) Interpretasikan (Decode) opcode dari instruksi tersebut.
(3) Baca operand dari memory (bila instruksi tsb melibatkan operand
yang ada di memory)
(4) Laksanakan (Execute) instruksi dan simpan hasilnya (kalau ada).
(5) Ulangi langkah 1 untuk instruksi berikutnya.
Instruction Cycle (Fetch-Execute Cycle)
IF ID OF EX IF ID OF EX
1 instruction cycle 1 instruction cycle
PC
MAR
MDR
IR
IR[address]
MAR
A + MDR
A
PC + 1
PC
Eksekusi instruksi penjumlahan operand dari memory dengan isi akumulator, mode pengalamatan langsung.
IF
Untuk mode pengalamatan tak langsung ?
PC
MAR
MDR
IR
IR[address]
MAR
A
MDR
PC + 1
PC
Program sederhana, penjumlahan (A + B)
Location Instruction Comment
Hex code MNEMONIC
0 0 0 0 0 0 4 LOAD (004) Copy A to accumulator
0 0 1 2 0 0 5 ADD (005) Add B to accumulator
0 0 2 1 0 0 6 STORE (006) Store (A + B) in location 006
0 0 3 F 0 0 0 STOP Stop
0 0 4 A
0 0 5 B
0 0 6 SUM of A and B
Registers 80x86
• PSW (Eflags)
– N - result negative – Z - result Zero
– V - overflow
– C - carry out of high order bit – A - carry out of bit 3
PENTIUM IV
Lingkungan Eksekusi
Architectural Evolution of 360/370/390/ zSeries