ARSITEKTUR KOMPUTER
Konsep desain CPU dan set intruksi Dua konsep populer Complex Instruction Set Computing (CISC) Reduce Instruction Set Computing (RISC)
Trend teknologi CISC Umumnya set intruksi sistem CISC dibuat efisien agar mengurangi ukuran program yang telah terkompilasi (bahasa mesin) dengan intruksi yang terbatas
Kelemahan CISC Kompleksitas CPU desian unit kontrol menjadi kompleks karena mempunyai set intruksi yang besar Ukuran sistem dan biaya mempunyai banyak sirkuit hardware.kebutuhan daya listrik Keandalan hardware besar maka cenderung mudah terjadi kegagalan
Kelemahan CISC (lanj) 4. Kecepatan clock sirkuit besar maka propagation delay lebih besar dan karena waktu siklus CPU yang besar sehingga kecepatan clock menurun 5. Maintenance troubkeshooting yang besar
Konsep RISC Intruksinya sederhana Set intruksi kecil Panjang intruksi sama untuk semua intruksi Register untuk penyimpanan operand jumlahnya besar Arsitektur LOAD/STORE Eksekusi intruksi yang lebih cepat.
CPU RISC berbasis mikroprosesor IBM RS/6000 Keluarga SUN SPARC HP’s PA (precision architecture) Keluarga motorola 88000 Intel 860 MIPS Power PC
Bahasa Rakitan/Assembly Simbolik bahasa mesin Mnemonic Assembly statement ditulis per baris Setiap baris dipecah dalam 4 field Label, OpCode, Operand, Komentar Contoh: AWAL LD X \salin isi lokal X ke accumulator
CPU berbasis akumulator Pada mulanya komputer berbasis akumulator Akumulator berisi satu operand dan hasilnya disimpan dalam akumulator tersebut Contoh: PDP-8, Mark I
CPU berbasis akumulator (lanj)
Contoh bahasa assembly Tuliskan program bahasa rakitan dalam arsitektur CPU berbasis akumulator untuk menyelesaikan statement X=(A+B)-(C+D)
Contoh bahasa assembly (lanj) Solusi: LD C ; salin C dalam accumulator ADD D ; jumlahkan D dengan isi accumulator dan hasilnya simpan di accumulator ST X ;simpan hasil C+D dalam lokasi X LD A ; salin A ke dalam accumulator ADD B ; jumlahkan B dalam accumulator dan simpan hasilnya dalam accumulator (accumulator berisi A+B) SUB X ; kurangkan isi accumulator dengan X dan simpan hasilnya dalam accumulator ST X ; simpan isi accumulator dalam lokasi memory X
Keuntungan CPU berbasis akumulator Isi akumulator diperuntukkan satu operand sehingga tidak memerlukan field alamat operand Intruksinya pendek Siklus intruksi singkat
kekurangan Ukuran program panjang karena banyak menggunakan intruksi dalam ekspresi kompleks Waktu eksekusi bertambah karena bertambahnya jumlah intruksi dalam program
CPU berbasis Register Banyak register digunakan sebagai akumulator Memiliki GPR/general purpose register Contoh: IBM system/360, PDP-11
CPU berbasis Register (lanj)
Bahasa assembly Tuliskan program bahasa rakitan dalam arsitektur CPU berbasis register untuk menyelesaikan statement X=(A+B)-(C+D)
Bahasa assembly (lanj) Solusi: LD R1, A ; salin A dalam register R1 ADD R1, B ; jumlahkan B dengan isi R1dan hasilnya disimpan di R1 LD R2, C ; salin C dalam register R2 ADD R2, D ; jumlahkan D dengan isi R2 dan simpan di R2 SUB R1, R2; kurangkan isi R2 dari R1 dan simpan hasilnya dalam R1 ST X,R1 ; simpan hasinya di memori X
Bahasa assembly pada mesin Load-store Tuliskan program bahasa rakitan dalam arsitektur CPU berbasis register untuk menyelesaikan statement X=(A+B)-(C+D)
Bahasa assembly pada mesin Load-store (lanj) Solusi LOAD R1, A ; LOAD R2, B ; LOAD R3, C ; LOAD R4, D ; ADD R5, R3, R4 ; C+D ADD R6, R1, R2 ; A+B SUB R7, R6, R5 ; R6-R5 (A+B)-(C+D) STORE X, R7;
Keuntungan mesin load-store Sederhana, pengkodean intruksi fixed length Intruksi menggunakan jumlah siklus yang sama Relatid mudah untuk pipelining
Kelemahan mesin load-store Jumlah intruksi banyak Tidak semua intruksi memerlukan 3 operand Bergantung pada kompiler yang baik
CPU berbasis stack Stack merupakan daftar yang didorong ke bawah dengan mekanisme LIFO (Last In First Out) alias tumpukan Suatu register digunakan untuk menunjuk puncak stack . Register ini disebut stack Pointer (SP)
CPU berbasis stack (lanj) Bila tidak ada stack tersimpan atau ksong, maka SP menunjuk stack terbawah Bila item disimpan dalam stack maka dinamakan operasi PUSH dan isi SP diturunkan (decrement) Bila stack penuh SP menunjuk bagian stack teratas Bila item diambil dari stack (POP) maka SP dinaikkan
CPU berbasis stack (lanj)
Bahasa assembly Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU berbasis stack untuk statement X=(A+B)-(C+D)
Bahasa assembly (lanj) PUSH A A PUSH B B ADD A+B PUSH C (A+B), C PUSH D (A+B), C,D ADD (A+B), (C+D) SUB (A+B), (C+D) POP X KOSONG
keuntungan Pemrograman mudah Cocok untuk bahasa blok terstruktur Intruksi pendek
kelemahan Diperlukan sirkuit tambahan untuk implementasi stack Ukuran program meningkat
Latihan. Kerjakan dalam kelas Tuliskan sebuah program untuk statement X=(AxB)+(CxD) dengan CPU berbasis akumulator CPU berbasis register CPU berbasis stack
SELESAI