280 likes | 474 Views
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.
E N D
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. Pada memory ini disimpan item-item pemrosessan yang berupa : Perintah Data : - Bilangan - Character Lokasi Memori
Data Bilangan Data bilangan pada memori disimpan dalam range yang bervariasi antara 8 sampai 32 bit. Jenis data bilangan dibedakan menjadi : Integer Sign integer Floating point Gambar penyimpanan data bilangan di memori 32 bit
Data Character Untuk 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
Instruction/Perintah Untuk 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
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.
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.
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. Operasi Memori
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.
Untuk melaksanakan suatu program (sekumpulan instruksi), ada beberapa langkah fungsional yang dilakukan oleh komputer : Transfer data antara main memory dan CPU. Operasi aritmatika dan logika pada data. Urutan program dan kontrol. I/O transfer. Instruksi dan Sequencing Instruksi
Terdapat beberapa format instruksi yang digunakan oleh komputer diantaranya adalah : Format Three Address (instruksi dengan tiga alamat operand) Operation destination,source1,source2 Contoh : Add A,B,C A B + C Artinya : Menjumlahkan isi lokasi memori B dan C, kemudian menyimpan hasilnya ke lokasi memori A.
Format Two Address (instruksi dengan dua alamat operand) Operation source1/destination,source2 Contoh : Add A,B A A + B Artinya : Menjumlahkan isi lokasi memori A dan B, kemudian menyimpan hasilnya ke lokasi memori A.
Format One Address (instruksi dengan satu alamat operand) Operation source Contoh : Add A Acc Acc + A Artinya : Menjumlahkan isi lokasi memori A dengan accumulator. Accumulator adalah register yang ada di dalam prosesor.
Pada 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. Straight Line Sequencing
Address Contents Begin execution here i Move R0,A 3-instruction i+4 Add R0,B program i+8 Move C,R0 segment : : A : : Data for B the : : Program C Gambar urutan instruksi untuk CA+B
Ketika suatu perintah dieksekusi maka cpu melakukan urutan kerja di bawah ini : Address instruksi pertama ditempatkan pada PC (address i) Prosessor menggunakan informasi pada PC utk mengambil dan meng-eksekusi instruksi tsb. Satu instruksi pada satu waktu, hal ini disebut sebagai straight line sequencing. Ketika suatu instruksi di eksekusi, isi PC di-up date (ditambah dengan 4) untuk menunjukkan instruksi berikutnya.
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. Eksekusi Instruksi
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
Pada 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 Branching
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
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.
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. Condition Codes
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.
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.