Pages

Monday, 17 December 2012

DATA ALIGNMENT

DATA ALIGNMENT




  • Data alignment adalah untuk membuat keseimbangan dalam saiz data dalam mips.
  • Setiap byte mempunyai alamat yang tersendiri


rajah saiz data mips




rajah data alingment



by adam harris 
b031210243


Muted Professor

Saturday, 15 December 2012

MIPS: Register & System Call


MIPS

Registers

-          MIPS mengandungi 32 general purpose registers yang bernombor 0 – 31.
-          Registers $ 0 sentiasa membawa nilai 0.

Nama
No registers
Penggunaan
Dikekalkan pd panggilan?
$zero
$0
constant 0 (hardware)
n/a
$at
$1
reserved for assembler
n/a
$v0 - $v1
$2-3
returned values
Tidak
$a0 - $a3
$4-7
Arguments
Ya
$t0 - $t7
$8-15
Temporaries
Tidak
$s0 - $s7
$16-23
saved values
Ya
$t8 - $t9
$24-25
Temporaries
Tidak
$gp
$28
global pointer
Ya
$sp
$29
stack pointer
Ya
$fp
$30
frame pointer
Ya
$ra
$31
return addr (hardware)
Ya


System Call

SPIM simulator untuk seni bina MIPS menyediakan “exception handler” yang mensimulasikan sistem operasi kecil yang mebolehkan user memasukkan input dari keyboard dan memaparkan output pada monitor.

Assembly programs service by loading the system call (syscal) instruction.

Contoh exception handler yang digunakan dalam SPIM.

Li $v0, code     #load $v0 dgn “system call code”
                 #no. servis OS
                 #masukkan parameter utk servis
                 #registers $a0, $a1 atau $f12
Syscall          #invoke OS
                 #kembalikan nilai (jika ada)dalam $v0 atau $f0

Untuk keluar dari program, (bagi mengelakkan SPIM crash jika tiada arahan).

li $v0,10 #load $v0 with code 10 == exit
syscall   #kembali kan data

Muhammad Nasruddin Bin Rosli
B031210017


Muted Professor

RAID 5, 6 & RAID Comparison


RAID Level 5

RAID 5 disusun dengan cara yang hampir sama dengan RAID 4. Bezanya ialah RAID 5 mengagihkan “parity-strip” ke seluruh cakera. Satu peruntukan yang biasa di pakai ialah “round-robin” seperti yang ditunjukkan pada gambar di bawah.


Untuk “n-disk array”, “parity strip” berada pada cakera yang berbeza untuk “n stripes” yang pertama dan corak ini kemudiannya berulang.
Pengagihan “parity strip” ke seluruh drives mengelakkan kemungkinan berlaku kesesakan I/O (I/O bottleneck) yang berlaku dalam RAID 4.


RAID Level 6

RAID 6 telah diperkenalkan oleh penyelidik Berkeley [KATZ89]. Dalam RAID 6, dua kiraan parity berbeza dijalankan dan disimpan dalam blok berasingan pada disk yang berbeza. Oleh itu, array RAID 6 yang user data nya memerlukan N disks akan mengandungi N 2 disks.

Gambar di bawah menunjukkan RAID 6. P dan Q adalah dua data check algorithms yang berbeza.
Salah satu daripada dua algorithms ini ialah pengiraan eksklusif-OR yang digunakan dalam RAID 4 dan 5. Tapi yang lagi satu adalah data check algorithm yang bebas yang membolehkan ia untuk menjana semula data walaupun dua disks itu mengandungi user data fail.


Kelebihan RAID 6 adalah ia menberikan “extremely high data availability”. Tiga disks akan gagal dalam MTTR (mean time to repair) interval menyebabkan data akan hilang. Sebaliknya, pada RAID 6 terdapat “substantial write penalty” kerana setiap proses write akan memberi kesan kepada dua parity blocks. Berdasarkan performance benchmarks yang dijalankan, ia menunjukkan RAID 6 controller boleh mengalami lebih 30% penurunan prestasi keseluruhan proses WRITE berbanding RAID 5. Prestasi READ RAID 5 and RAID 6 adalah sama.

---------------------------------------------------------------------------------------------------

Perbandingan antara RAID

Level
Kelebihan
Kekurangan
0
- Prestasi I/O meningkat baik secara ketara dengan mengagihkan beban I/O kepada banyak saluran & drives
- Tiada parity calculation overhead terlibat
- Reka bentuk yang sangat mudah
- Mudah untuk dilaksanakan
- Kegagalan hanya satu drive akan mengakibatkan semua data di dalam array hilang
1
- 100% redundancy of data bermaksud tidak perlu rebuild sekiranya berlaku kegagalan disk. Hanya perlu copy ke disk gantian.
- Dalam keadaan tertentu,
RAID 1 dapat menampung kegagalan banyak drives serentak.
- Reka bentuk subsistem storan RAID yang paling mudah.
- Kadar overhead yang paling tinggi antara semua jenis RAID
- (100%) tidak cekap
2
- Kadar pindahan data yang sangat tinggi
-  Semakin tinggi kadar pindahan data
diperlukan, semakin baik ratio of
data disks to ECC disks
- Reka bentuk controller yang lebih mudah berbanding RAID 3, 4 & 5
- Tidak cekap

3
- Kadar pindahan data yang sangat tinggi (Read&Write)
- Kegagalan disk tidak memberi kesan ketara terhadap pemprosesan
- Parity rendah bermaksud kecekapan tinggi
- Kadar transaksi sama dengan disk tunggal.
-  Rekabentuk controller agak kompleks.
4
- Kadar transaksi data (read) adalah sangat tinggi
- Parity rendah bermaksud kecekapan tinggi
- Rekabentuk controller yang agak kompleks
- Kadar transaksi data paling teruk
- Tidak cekap dan sukar membina semula data sekiranya disk gagal.
5
- Kadar transaksi data yang tertinggi
- Parity rendah bermaksud kecekapan tinggi
- Kadar pemindahan agregat yang baik
- Rekabentuk controller yang paling kompleks
- Sukar untuk membina semula sekiranya disk gagal
6
- Boleh menampung kegagalan drive yang banyak serentak
- Rekabentuk controller yang kompleks.
- Controller overhead untuk mengira parity adalah tinggi



Muhammad Nasruddin Bin Rosli
B031210017

Muted Professor

a LIL bit about MIPS by Zulhaizam Zafrie

SPIM - the MIPS simulator

a)  Membaca fails MIPS assembly language dan translates fails tersebut kepada machine language.
b) Executes the machine language instructions.
c) Menunjukkan kandungan  registers dan memory.
d) Berfungsi sebagai debugger.


Arithmetic Operations

a) Tambah dan tolak, 3 operan.
    -2 sumber (sources) dan 1 destinasi (destination)
        
                               add a, b, c
 






C code:
          a = b + c + d + e;
MIPS code:
          add a, b, c # hasil tambah b dan c dimasukkan ke dalam a
          add a, a, d # hasil tambah b,c dan d dimasukkan ke dalam a
         add a, a, e # hasil tambah b,c,d dan e dimasukkan ke dalam a






C code:
          f = (g + h) - (i + j);
MIPS code:
          add t0, g, h # temp t0 = g + h
          add t1, i, j # temp t1 = i + j
         sub f, t0, t1 # f = t0 - t1




Register Operations

a) Nama untuk assembler.
    - $t0, $t1, ..., $t9  -->  nilai 'temporary'
    - $s0, $s1, ..., $s7  -->  'variables'








Memory Operands

a) Memori yang digunakan untuk data komposit (composite data).
-Arrays, structures, dynamic data
b) Untuk menggunakan arithmetic operations
-Load values from memory into registers
-Store results from register to memory
c) Memory is byte adressed
-Setiap 'adress' mengenalpasti 8-bit byte
d) Adress perlu berada dalam kiraan gandaan 4 (multiple of 4)
_________________________________________________________________________________






Immediate Operands

a) Data pemalar (constant) yang dinyatakan dalam instruction.
   x = y + 4
   addi $s3, $s3, 4

b) Walaubagaimanapun, tiada operasi tolak dalam immediate operands.
    ~ just use -ve constant
       x = y - 1
       addi $s2, $s1, -1






---------------Zulhaizam Zafrie--------------
---------------TEKANsiniTEKAN--------------


















Muted Professor