Anda di halaman 1dari 5

1.

Instruction sets Pentium dan PowerPC Format Instruksi


Pentium Ini adalah dua alamat ISA, yang berarti salah satu sumber operan dalam beberapa operasi juga tujuan. Panjang instruksi tidak tetap. Ia memiliki sejumlah variabel byte.

Instruction Prefix: Setiap instruksi dapat memiliki nol sampai empat prefiks. Opcode - satu atau dua byte Opcode ModR/m: byte ini memberikan informasi pengalamatan. ModR/m byte menentukan apakah operan yang ada di dalam sebuah register atau di memori.

SIB: byte SIB menentukan mode pengalamatan penuh. SIB byte terdiri dari tiga bidang: Bidang Scale (2 bit) menentukan faktor skala; bidang Index (3 bit) menentukan indeks register; bidang Base (3 bit) menentukan base register.

Displacement: Jika ModR / M menetapkan bahwa perhitungan alamat memerlukan perpindahan, satu, dua, atau empat byte yang terkandung dalam instruksi.

Immediate: Provides Memberikan nilai dari 8, 16 32 bit operan.

PowerPC PowerPC I Instruksi di PowerPC adalah 32 bit panjang dan mengikuti format biasa. Yang 6 bit

pertama dari instruksi menentukan operasi yang akan dilakukan. Untuk memuat load / store, aritmatika, dan instruksi logis, opcode ini diikuti oleh dua bit register referensi-5, memungkinkan 32 register tujuan umum untuk digunakan.

Operasi
Pentium Data Movement

MOV: Perpindahan operand antar register atau antara register dan memori. PUSH: Push operand ke stack. PUSHA: Push semua register pada stack MOVSX: Move byte, word, dword, sign extended

LEA: Load effective address LEA IN, OUT: Input, output operan dari I/O

Arithmetic

ADD: Add operands SUB: Subtract operands MUL: Unsigned integer multiplication IDIV: Divide operands

Logical

AND: And operands BTS: Bit test and set. BSF: Bit scan forward.Scans a word or dword for a 1-bit and stores the number of the first 1-bit into a register

SHL / SHR: Shift logical left or right SAL / SAR: Shift arithmetic left or right ROL / ROR: Rotate left or right SETcc: Sets a byte to zero or one depending on any of the 16 conditions defined by status flags

Control Transfer

JMP: Unconditional jump CALL: Kontrol Transfer ke lokasi lain. JE / JZ: Jump if equal / zero LOOPE / LOOPZ: Loops if equal / zero. INT / INTO: Interrupt / Interrupt if overflow.

String Operations

MOVS: Move byte, word, dword string. LODS: Load byte, word, dword of string

PowerPC Data Movement


lwzu: Load word and zero extend to left; update source register. ld: Load doubleword lmw: Load multiple word; load consecutive words into contiguous registers from the target register through general purpose register

lswx: Load string byte ke register awal dengan target register; 4 byte per register;

Arithmetic

add: Menambahkan isi dari dua register dan tempat dalam register ketiga subf: Kurangkan isi dari dua register dan tempat dalam register ketiga mullw: Multiply low order 32 bit contents of two registers and place 64 bit product in third register

divd: Divide 64-bit contents of two registers and place in quotient in third register lfs: Load 32 bit floating point nomor dari memori, dikonversi ke format 64 bit, dan menyimpannya dalam register floating point

fadd: Tambahkan isi dari dua register dan tempat dalam register ketiga fmadd: Multiply isi dari dua register, menambahkan isi yang ketiga, dan hasil tempat dalam register keempat

fcmpu: Bandingkan dua operands floating point dan set kondisi bit

Logical

cmp: Compare two operands and set four condition bits in the specified crand: Condition register AND: two bits of the Condition Register are ANDed and the resut placed in one of the two bit positions

and: AND contents of two registers and place in third register cntlzd: Count number of consecutive 0 bits starting at bit zero in source register and place count in destination register

rldic: Rotate left doubleword register, AND with mask, and store in destination register

sld: Shift left bits in source register and store in destination register

Control

b: Unconditional branch bl: branch to target address and place effective address of instruction following the branch into the Link Register

bc: Branch conditional on Count Register and'or on bit in Condition Register sc: System call to invoke an operating system service trap: Compare two operands and invoke system trap handler if specified conditions are met

2. Apa yang menyebabkan Sitem Operasi bersifat unik untuk setiap framework? Sebagai contoh komputer 32 bit dan 64 bit menggunakan sistem operasi yang 32 bit dan 64 bit pula. Adanya Windows 32-bit dan 64-bit mengacu pada kemampuan processor yang dapat menjalankan jenis Windows ini. Windows 64-bit hanya dapat diinstall pada komputer yang processornya sudah mempunyai kemampuan 64-bit, dan Windows 32-bit dapat diinstall baik pada processor dengan kemampuan 32-bit maupun 64-bit. Perbedaan versi 32-bit dan 64-bit pada suatu software Windows ini mengacu pada edisi Windows yang digunakan, apakah Windows 32-bit atau 64-bit. Suatu software yang didesain untuk Windows 64-bit hanya bisa digunakan pada Windows 64-Bit, sedangkan software yang didesain untuk Windows 32-bit masih mungkin bisa digunakan pada Windows 64-Bit tetapi tidak berlaku untuk semua software. Processor 32-bit artinya register-registernya (unit penyimpanan data terkecil di dalamnya) berukuran 32 bit. Processor 64-bit artinya register-registernya berukuran 64 bit. Pengaruh ukuran register terhadap kecepatan: Setiap proses baca/tulis dari memory (disebut dengan load/store) membaca/menulis informasi sebesar ukuran register; maka register 64-bit potensial membaca/menulis memory 2x kecepatan register 32-bit. Pengaruh ukuran register terhadap presisi: Secara simplistik: Makin panjang register, makin banyak angka di-belakang-koma yang bisa dihitung secara akurat.

Sebagai gambaran: Misalkan resolusi bilangan real pada 32-bit adalah 0.0001, maka resolusi bilangan real pada 64-bit bisa mencapai 0.0000001 (jadi jauh lebih presisi). Pengaruh ukuran register terhadap ukuran memori: Salah satu dari sekian banyak register adalah addressing register. Addressing register (atau registers, kalau lebih dari satu) adalah register yang memiliki fungsi menunjuk ke alamat tertentu dalam memory. Jangkauan (range) penunjukan ini disebut dengan istilah memory space. Pada arsitektur 32-bit, addressing registers mampu menunjuk posisi memory dari 0 s/d 4294967295 (4 GiB 1). Inilah yang mengakibatkan muncul batasan 4 GiB pada sistem berbasis arsitektur 32-bit. Pada arsitektur 64-bit, addressing registers mampu menunjuk posisi memory dari 0 s/d 18446744073709551615 (16 EiB 1). Seperti kita lihat, tidak ada lagi batasan 4 GiB pada sistem berbasis arsitektur 64-bit. Pengaruh ukuran register terhadap dataset: Dataset adalah istilah untuk seperangkat data yang di-load ke dalam memory untuk diproses dan (optionally) ditulis kembali ke hard disk.Sistem 32-bit terbatas pada dataset sebesar (2^32)-1, atau (4 GiB 1). Mengingat sebagian memory harus digunakan untuk OS dan program database ybs, maka biasanya dataset nya hanya sebesar 1-2 GiB saja. Artinya, sebuah database yang berukuran, katakanlah, 20 GiB (tidak asing dalam konteks perusahaan besar), harus diproses 10~20x. Sistem 64-bit tidak memiliki batasan di atas. Dia dapat me-load dataset sebesar ketersediaan memory. Artinya, database 20 GiB di atas dapat di-load seluruhnya (asal memory mencukupi), diproses dalam sekali jalan saja.