Showing posts with label WONG WAI MUN. Show all posts
Showing posts with label WONG WAI MUN. Show all posts

Tuesday, 18 December 2012

Language of the Computer: Branch and Jump Addressing


Instructions: Language of the Computer
Constant
-          Kebanyakan constant adalah kecil
-          16-bit immediate adalah mencukupi
-          constant kecil kerap digunakan(50% daripada operan)
-          e.g. 
·         A = A + 5;
·         B = B + 1;
·         C = C - 18;


-          Jadi, dalam kebanyakan program, constant akan dimuatkan dalam 16 bit yang diperuntukkan bagi immediate field
-          Design Principle: Make the common case fast
– Common case: constant is small
–Hanya perlu menggunakan satu arahan dalam common case


Untuk constant yang besar
-          Kita dapat memuatkan 32-bit ke dalam register
-          Mesti guna dua instuction, new "load upper immediate" instruction
-          For the occasional 32-bit constant
            lui rt, constant
·         Copies 16-bit constant to left 16 bits of rt
·         Clears right 16 bits of rt to 0




Branch addressing


-          Arahan cabang adalah dinyatakan
·         Opcode, two registers, target address
-          Most branch targets are near branch
-          Formats:

-          dapat menentukan register (seperti LW dan Sw) dan menambah ia untuk menangani

·         penggunaan Instruction Address Register (PC = program counter)
·         Kebanyakan branch adalah local (principle of locality)


PC-relative addressing

-          Immediate field  adalah 16 bit tetapi kita perlu address yang 32 bit
-          Obtain address using PC-relative addressing
·         On branch,  new PC = PC + immediate field in branch instruction
·         Actually, new PC = (PC + 4) + immediate field in branch instruction

Jump addressing


-          Jump (j and jal) targets could be anywhere in text segment
·         Encode full address in instruction
-          J format ada 26 bits dalam address field
-          Untuk mendapatkan 32 bits
·         Anggapkan bahawa jump address adalah word address
·         26 + 2 (least significant bits) = 28
·         Get 4 most significant bits from PC
·         4 + 26 + 2 = 32
·         Hanya boleh jump antara   2^28= 256 MB block of addresses
-          (Pseudo)Direct jump addressing
·         Target address = PC31…28 : (address × 4)



Target Addressing Example





Branching Far Away





Addressing Mode Summary




MIPS Simulator: Data Representation


Untuk memahami cara memanipulasi data dan melaksanakan pengiraan dalam MIPS program, kita hendaklah mengetahui bagaimana data diwakili oleh komputer dalam pandangan bahasa pengaturcaraan MIPS.

Character Representation


-          1 Byte = 8 bit
-          Satu character  boleh diwakili dengan 1 byte.
-          Contoh:
.asciiz                    “ABC abc”

According to the ASCII TABLE , the bit patterns that the assemble will produce in the object module:
                                41  42  43  20  61  62  63  00

-          nombor-nombor ini mewakili hexadecimal system.
-          Kita juga boleh letak 0x di depan nombor-nombor ini untuk menunjukkan nombor-nombor ini adalah hexadecimal system .
Explanation for the solution:
-          Merujuk kepada ASCII TABLE , lajur (Hex), character pertama ,“A”, sepadan dengan bit pattern  0x41.
-          character kedua , “B”, sepadan dengan bit pattern  0x42.
-          Character  “C”, sepadan dengan bit pattern 0x43.
-          Character , “ ” (space), sepadan dengan bit pattern 0x20.
-          Character ,“a”, sepadan dengan bit pattern 0x61
-          Character , “b”, sepadan dengan bit pattern 0x62
-          Character , “c”, sepadan dengan bit pattern 0x63
-          Bit pattern yang terakhir adalah 0x00(NUL) , ia digunakan untuk menunjukkan end of string of characters (akhir rentetan watak).

-          Cara untuk tulis bit pattern dalam decimal system juga adalah sama. Cuma kita merujuk kepada lajur (Dec).

-          An alternative way to write each character:


            “A “  “B”   “C”  “(space)”  “a”   “b”    “c” “(NUL)”
.byte    65     66     67        32         97     98     99      00 

-          Eg:
.asciiz                    Z@6 J#)

Solution:
Hexadecimal:     5A  40  36  20  4A  23  29  00
Decimal:  .byte  90  64  54  32  74  35  41  00





Number Representation

-          komputer beroperasi pada binary numbers.
-          Dalam MIPS, nombor adalah diwakili dalm decimal system atau hexadecimal system.
-          Apabila kita hendak memasukkan nombor ke dalam register,kita perlu ingat jenis number system yang kita nak tulis dalam program tersebut.
-          Contohnya :
To load 20 into $5, kita ada dua cara untuk mewakili decimal 20 dalam MIPS:
1. ori $5, $0, 20                  #load number 20 into $5
2. ori $5, $0, 0x14              # load number 20 into $5                              16|20
§                                                                                        1 – 4

-          Eg:
Load 165 into $5
Solution:
1. ori $5, $0, 165                #load number 165 into $5
2. ori $5, $0, 0xA5             #load number 165 into $5                             16|165
                                                                                                                       10 – 5   ,where 10 = A 

MEMORY : EXTERNAL MEMORY


EXTERNAL MEMORY

Jenis EXTERNAL MEMORY:
è Magnetic Disk
-Raid
-removable

è Optical
-CD-ROM
-CD-Recordable (CD-R)
-CD-R/W
-DVD

è Magnetic Tape


Magnetic Disk
-ia merupakan peranti penyimpan computer yang utama.
-misalnya tape, ia boleh direkod dan merekod semula berulang kali.
-permukaan disk dibahagikan kepada trek sepusat. Trek yang lebih nipis boleh menyimpan data yang lebih banyak.
-trek juga dibahagikan kepada sektor, yang boleh memegang satu blok data yang boleh dibaca atau ditulis pada satu masa.
-untuk mengemaskini data dalam disk, satu atau lebih sektor dibaca ke dalam komputer, ditukar dan ditulis kembali ke dalam disk.

Magnetic Read and Write Mechanisms
-data rakaman dan dapatan melalui gegelung dinamakan head.
-read atau write head boleh digabungkan atau berasingan.
- operasi read / write - kepala adalah pegun manakala pinggan berputar.
- operasi write
-arus mengalir melalui gegelung menghasilkan medan magnet.
-deyutan dihantarkan ke head.
-pola magnet  dicatatkan pada permukaan bawah disk

-operasi read (traditional)
-medan magnet bergerak relatif kepada gegelung dan menghasilkan arus di dalam  gegelung tersebut.
-gegelung untuk read dan write adalah sama.
-contohnya floppy disk

-operasi read((contemporary)
            - read dan write head adalah berasingan
- rintangan elektrik bergantung kepada arah medan magnet yang bergerak di   bawahnya

Access Method
-Sequential
            -data dibaca dalam susunan
            - masa akses BERGANTUNG kepada lokasi data dan lokasi sebelumnya
            - contohnya tape.
-Direct
- akses langsung adalah keupayaan untuk mendapatkan data dari peranti storan dengan pergi terus ke mana ia terletak secara fizikal pada peranti dan bukannya dengan mempunyai berurutan mencari data pada satu lokasi fizikal demi satu
- masa akses BERGANTUNG kepada lokasi data dan lokasi sebelumnya
- contohnya disk

-Random
            - mengenal pasti lokasi alamat data individu dengan tepat.
            - masa akses adalah TIDAK BERGANTUNG kepada lokasi atau akses sebelumnya.
            - contohnya RAM
-Associative
- data terletak melalui perbandingan antara kandungan bahagian stor penyimpanan itu
- masa akses adalah TIDAK BERGANTUNG kepada lokasi atau akses sebelumnya.
-contohnya cache






RAID (redundant array of independent disks)
- a file is break into few disk
- joins two or more hard disks so that they make a logical disk
- mengelakkan kehilangan data, apabila satu atau lebih disk array gagal
- mendapatkan pemindahan data yang lebih cepat
- mempunyai keupayaan untuk menukar disk sementara sistem mengekal berjalan

·         RAID level 0 (Striping)
-          Disk diperlukan - N
-          No redundancy – tidak ada data yang terlebih
-          Data striped across all disk
-          Ia mengguna Round Robin striping



·         RAID level 1 (Mirroring)
-          Disk diperlukan - 2N
-          Mirrored
-          ada backup file
-          boleh membaca file dari backup atau disk asli
-          file perlu ditulis pada kedua-dua backup disk dan disk asli
-          kos yang mahal




·         RAID level 2 (Parallel access)
-          Disk diperlukan - N + (N-1)
-          disk are synchronized (serentak)
-          satu-satunya raid yang boleh repair error , raid lain hanya boleh detect error
-          apabila ia mendapati maklumat yang diperlukan tidak memberi pengertian, ia akan membina semula
-          maklumat  hilang atau salah, ia tidak boleh repair error tersebut
-          ia menggunakan Hamming codes



·         RAID level 3 (Parallel access)
-          Disk diperlukan - N + 1
-          hanya satu disk berlebihan
-          if the parity disk crashes, the parity information is lost
-          kadar pemindahan yang sangat tinggi



·         RAID level 4 (Independent access)
-          Disk diperlukan – N + 1
-          Setiap disk beroperasi secara bebas
-          permintaan kadar I / O yang tinggi
-          Every write must involve a parity disk – potential I/O bottleneck(kesesakan)
-          When 1 disk is spoiled, the data file can be reconstruct again



·         RAID level 5 (Independent access)
-          Disk diperlukan – N + 1
-          Parity disimpan pada setiap disk
-          Jika lebih daripada 1 disk rosak, maka data tidak boleh dibina semula
-          Jika hanya 1 disk rosak, ia masih boleh dibina semula



·         RAID level 6 (Independent access)
-          Disk diperlukan – N + 2
-          Sama dengan raid level 5
-          Jika lebih daripada 2 disk rosak, maka data tidak boleh dibina semula