organisasi komputer
DESCRIPTION
ORGANISASI KOMPUTER. LOKASI DAN OPERASI MEMORI. Main memory berisi jutaan Storage Cell (sel penyimpan) . Umumnya sel-sel ini diorganisasikan dalam 8 sampai 64 bit. Memory mempunyai alamat 0 s/d M-1, dimana M adalah jumlah baris Word dari memori. - PowerPoint PPT PresentationTRANSCRIPT
Apr 21, 2023 1
ORGANISASI KOMPUTER
LOKASI DAN OPERASI MEMORI
Apr 21, 2023 2
Main memory berisi jutaan Storage Cell (sel penyimpan). Umumnya sel-sel ini diorganisasikan dalam 8 sampai 64 bit.
Memory mempunyai alamat 0 s/d M-1, dimana M adalah jumlah baris Word dari memori.
Pada memory ini disimpan item-item pemrosessan yang berupa :
Perintah Data : - Bilangan
- Character
Lokasi Memori
Apr 21, 2023 3
Gambar Alamat-alamat Main Memory0 W1
1 W2
:
:
i Bn-1 b1 b0 Wi
:
:
2k-1 W 2k
Apr 21, 2023 4
Data BilanganData bilangan pada memori disimpan dalam range yang bervariasi antara 8 sampai 32 bit. Jenis data bilangan dibedakan menjadi :IntegerSign integerFloating point
Gambar penyimpanan data bilangan di memori 32 bit
32 bit
b31 b30 …….. b1 b0
Apr 21, 2023 5
Data CharacterUntuk mengkodekan data character digunakan kode ASCII (American Standart Code for Information Interchange). Untuk satu character dikodekan dalam 8 digit biner.
Gambar penyimpanan data Character di memori 32 bit
8 bit 8 bit 8 bit 8 bit
ASCII
Character
ASCII
Character
ASCII
Character
ASCII
Character
Apr 21, 2023 6
Instruction/PerintahUntuk penyimpanan perintah dalam memory 32 bit, instruksi disimpan dalam 8 bit (operation field). Sedang sisanya digunakan untuk menyimpan operand atau alamat operand.
Gambar penyimpanan instruksi di memori 32 bit
8 bit 24 bit
Operation field
Operand / Operand Address
Apr 21, 2023 7
Penetapan Big-endian dan Little-endian
Terdapat dua cara penetapan alamat byte pada word :
Big-endian : jika alamat byte tinggi digunakan untuk less significant byte (byte paling kanan) dari word tersebut.
Little-endian : jika alamat byte rendah digunakan untuk less significant byte (byte paling kanan) dari word tersebut.
Apr 21, 2023 8
0 1 2 3
4 5 6 7
2k - 4 2k - 3 2k - 2 2k - 1
.
.
.
0
4
2k - 4
Alamat byteAlamatword
(a) Penetapan Big-endian
3 2 1 0
7 6 5 4
2k - 1 2k - 2 2k - 3 2k - 4
.
.
.
0
4
2k - 4
Alamat byteAlamatword
(b) Penetapan Little-endian
Gambar Pengalamatan byte dan word
Apr 21, 2023 9
Penetapan big-endian dan little-endian digunakan pada mesin komersial.
Alamat byte 0, 4, 8, …, digunakan sebagai alamat word yang berurutan dalam memori dan merupakan alamat yang digunakan pada saat menetapkan operasi baca dan tulis memori untuk word.
Apr 21, 2023 10
Operasi Memori
Terdapat dua operasi pada memori yaitu :1. Load / read / fetch :Memindahkan isi dari sebuah lokasi memory
(informasi) yang telah ditentukan addressnya, ke CPU. Isi dari word yang diambil tidak berubah (tetap).
Operasi dimulai dengan CPU mengirimkan alamat dari data yang diinginkan ke memori dan meminta agar memori mengirimkan data tersebut (dengan sinyal read). Selanjutnya memory mengirimkan data yang diminta melalui data bus.
Apr 21, 2023 11
2. Write ( store ) :
Memindahkan sebuah word informasi dari CPU ke sebuah lokasi memory yang telah ditentukan.
Prosessor mengirimkan alamat lokasi memori yang diinginkan bersama dengan data yang akan disimpan.
Selanjutnya prosessor mengirimkan sinyal write.
Apr 21, 2023 12
Instruksi dan Sequencing Instruksi
Untuk melaksanakan suatu program (sekumpulan instruksi), ada beberapa langkah fungsional yang dilakukan oleh komputer :
1. Transfer data antara main memory dan CPU.
2. Operasi aritmatika dan logika pada data.3. Urutan program dan kontrol.4. I/O transfer.
Apr 21, 2023 13
Terdapat beberapa format instruksi yang digunakan oleh komputer diantaranya adalah :
Format Three Address (instruksi dengan tiga alamat operand)Operationdestination,source1,source2Contoh : Add A,B,C
A B + CArtinya : Menjumlahkan isi lokasi memori B dan C, kemudian menyimpan hasilnya ke lokasi memori A.
Apr 21, 2023 14
Format Two Address (instruksi dengan dua alamat operand)
Operationsource1/destination,source2
Contoh : Add A,B
A A + BArtinya : Menjumlahkan isi lokasi memori A dan B, kemudian menyimpan hasilnya ke lokasi memori A.
Apr 21, 2023 15
Format One Address (instruksi dengan satu alamat operand)OperationsourceContoh : Add A
Acc Acc + AArtinya : Menjumlahkan isi lokasi memori A dengan accumulator. Accumulator adalah register yang ada di dalam prosesor.
Apr 21, 2023 16
Straight Line SequencingPada dasarnya komputer mengeksekusi perintah-
perintah secara sequential.
Kita mengasumsikan bahwa word length adalah 32 bit dan memori tersebut byte addressable.
Terdapat tiga instruksi yang berada pada lokasi yang berurutan, mulai lokasi i. Tiap instruksi panjangnya 4 byte, maka instruksi kedua dan ketiga mulai pada alamat i+4 dan i+8.
Untuk penyederhanaan kita asumsikan alamat memori penuh (32 bit) dapat diakses dalam instruksi word tunggal.
Apr 21, 2023 17
Gambar urutan
instruksi untuk CA+B
:
:
C
Program:
:
theB
Data for
:
:
A
segmentMove C,R0i+8
programAdd R0,Bi+4
3-instructionMove R0,Ai
ContentsAddress
Begin execution here
Apr 21, 2023 18
Ketika suatu perintah dieksekusi maka cpu melakukan urutan kerja di bawah ini :
1. Address instruksi pertama ditempatkan pada PC (address i)
2. Prosessor menggunakan informasi pada PC utk mengambil dan meng-eksekusi instruksi tsb. Satu instruksi pada satu waktu, hal ini disebut sebagai straight line sequencing.
3. Ketika suatu instruksi di eksekusi, isi PC di-up date (ditambah dengan 4) untuk menunjukkan instruksi berikutnya.
Apr 21, 2023 19
Eksekusi Instruksi
Pelaksanaan instruksi terdiri dari dua phase :
1. Instruction Fetch. - Instruksi diambil dari lokasi MM dimana
address nya berada di PC. - Instruksi ini dimasukkan ke dalam
Instruction Register pada CPU.
Apr 21, 2023 20
2. Instruction Execution. - Instruksi yg berada pd IR diperiksa utk
menentukan operasi yg harus dilakukan. - Operasi yg ditentukan kemudian
dilakukan oleh CPU. Hal ini dapat meliputi mengambil operand dr MM, melakukan operasi arithmetic dan logic, menyimpan suatu hasil ke dlm MM, atau beberapa kombinasi dr operasi dasar tsb
Apr 21, 2023 21
BranchingPada kasus tertentu kadang diperlukan eksekusi
satu atau beberapa perintah beberapa kali. Misalkan menjumlahkan bilangan yang terdapat pada array :
R0 = R0 + Numn n = 1,2,3,…,x
R0 : Register 0
Numn : Data pada array
Kasus diatas dapat diselesaikan dengan melakukan beberapa kali penjumlahan (sebanyak n kali), seperti contoh di bawah ini
Apr 21, 2023 22
I Move Num1,R0
i + 4 Add Num2,R0
i + 8 Add Num3,R0
:
:
i + 4n – 4 Add Numn,R0
i + 4n Mov R0,Sum
:
:
Sum
Num1
Num2
Numn
Program straight line untuk
penjumlahan n bilangan
Apr 21, 2023 23
Penjumlahan bilangan-bilangan pada array di atas dapat dilakukan dengan menggunakan satu instruksi yang dieksekusi berulang-ulang, yang dikenal dengan istilah looping. Looping adalah melompat (branch) kembali ke satu atau beberapa baris perintah sebelumnya.
Lihat contoh program di bawah
Apr 21, 2023 24
Program penjumlahan n
bilangan dengan loop
Mov N,R1
Clear R0
LOOP Determine address of “Next” number and add “Next” number to R0
Decrement R1
Branch > 0 Loop
Move R0, Sum
::
SUM
N n
NUM1
NUM2
::
NUMn
Apr 21, 2023 25
Pada saat instruksi branch dieksekusi, instruksi tersebut memberikan suatu nilai baru pada PC.
CPU mengambil dan meng-eksekusi instruksi pada address baru tsb dan bukannya instruksi pd lokasi setelah instruksi branch dlm urutan address secara sekwensial.
Terdapat dua jenis branch yaitu Conditional Branch instruction dan Unconditional Branch instruction.
Conditional Branch instruction: hanya jika suatu kondisi yg ditentukan dipenuhi. Jika kondisi tidak dipenuhi, PC di inkremen secara normal dan instruksi berikutnya di fetch dan execute dg urutan address sekwensial.
Apr 21, 2023 26
Condition Codes
Merupakan kode-kode yang menggambarkan kondisi yang terjadi setelah eksekusi suatu perintah.
Kode-kode ini dipergunakan oleh prosesor sebagai referensi untuk eksekusi perintah berikutnya yang memerlukan.
Hal ini dilakukan dg menyimpan informasi yg diperlukan ke dlm individual bit, yg sering disebut sbg condition code flags.
Apr 21, 2023 27
Pada beberapa processor, flag ini dikelompokkan bersama pd suatu register khusus yg disebut condition code atau status register.
Kemungkinan yg lain, instruksi yg mengatur condition flag dapat menentukan bhw satu dr general purpose register digunakan utk menyimpan flag yg sesuai.
Apr 21, 2023 28
Empat flag yg umum digunakan:
N (Negative): Set ke 1 jika hasilnya negatif; jika tidak, di-clear
ke 0.Z ( Zero): Set ke 1 jika hasilnya 0; jika tidak, di-clear ke 0.V (Overflow): Set ke 1 jika terjadi arithmetic overflow; jika
tidak, di-clear ke 0.C (Carry): Set ke 1 jika terjadi carry-out dr operasi; jika
tidak, di-clear ke 0.