Thursday, 20 December 2012

MIPS-Data representation


MIPS –DATA REPRESENTATION

Character Representation

Terdapat 8 bit dalam 1 bait dan 1 character diwakili dengan 1 bait. Kebanyakan computer yang menawarkan 8 bit mengikut ASCII.


Seksyen Assembly Language Program

            .asciiz                  “XYZ  xyz”

Corak bit yang dihasilkan oleh Penghimpun dalam modul objek:

            58 59 5A 20 78 79 7A 00

Number Representation

 Dua cara untuk memuatkan sesuatu nombor dalam register:

(1)  Ori $5, $0, 2 #memuatkan nomber 2 dalam register $5
(2)  Ori $5, $0, 0x10 #memuatkan nomber 2 dalam register $5

Goh Pei Ing
B031210215



MIPS System Call

Program MIPS boleh menjadikan panggilan sistem dengan menggantikan parameter dalam daftaran yang ditetapkan, bergantung kepada panggilan, dan melaksanakan arahan perangkap. Kembali kepada  keputusan dibuat didapati dalam daftar dinyatakan lain, juga bergantung kepada panggilan.
Gambar rajah:


Dalam SPIM “exception handle” digunakan dengan cara berikut:
li $v0, code   # Load $v0 with the "system call code"
                          # number of an OS service
.........             # Put parameters for the service in
.........             # registers $a0, $a1
Syscall           # Invoke the operating system
                        # Return value (if any) is in $v0 or $f0

MIPS Assembly Languages Program Format

MIPS program penghimpun adalah fail teks biasa yang terdiri daripada dua jenis kenyataan:
·         Menghimpun arahan yang memberitahu penghimpun bagaimana untuk menterjemahkan program tetapi tidak boleh diterjemahkan kepada kod mesin.
·         Arahan dilaksanakan, dimana pelaksanaan akan diterjemahkan kepada kod mesin. Kadang-kadang boleh dirujuk sebagai kod program.

Bahagian label satu kenyataan mesti bermula dalam lajur 1 dan mesti berakhir dengan ":". ":" Tidak dijadikan sebahagian daripada label. Ia hanya berfungsi untuk visual membezakan definisi label baru dari unsur-unsur program lain.
Setiap label mewakili alamat ingatan dalam bahasa himpunan. Ia boleh menjadi alamat data atau adddress arahan (iaitu label boleh muncul dalam kedua-dua teks dan data.
Label mewakili alamat elemen arahan atau data yang segera berikut, sama ada ia mengikut baris yang sama atau garis berikutnya.
Contoh:

main : sll $0,$0,0
sll $0,$0,0
sll $0,$0,0
sll $0,$0,0
j main # jump to the point labeled main
addiu $8,$8,1


Opcode (Operational Code)
Opcode adalah sebahagian daripada arahan bahasa mesin yang menentukan operasi yang perlu dilakukan. Spesifikasi mereka dan format dibentangkan dalam seni bina set arahan pemproses.
Opcode adalah bidang yang ditandakan operasi asas dan format arahan. Bahasa Mnemonik biasanya adalah kod perenambelasan digunakan bagi maksud kesederhanaan dan pembacaan.
Operand
Kendalian mungkin mengandungi daftar, jumlah anjakan, label untuk memasuki ke dalam dan berterusan atau alamat.
*Nyatakan data yang diperlukan oleh operasi
* Operan boleh daftar, pembolehubah ingatan, atau pemalar
* Kebanyakan arahan mempunyai tiga operand
Contoh:
addiu $t0,$t0,1 # increment $t0

DISEDIAKAN  OLEH;
LIM ZERKIE
B031210127

Wednesday, 19 December 2012

Memory Allocation , Data Aligment , Registers

Memory Allocation

=>Peruntukan Ingatan


Segmen Aturcara dibahagi kepada 3 iaitu :

1.  Segmen Kod
     =>Menyimpan kod bahasa mesin bagi arahan 
          dalam sumber fail.

2.  Segmen Data
      Statik data      =>Saiz tidak berubah semasa program
                                         acess.
      Dinamik data =>Data boleh doperuntukkan.

3.Segmen Tindanan (stack)
   =>Cara perlaksanaan tindanan amat penting untuk
        memahami perlaksanaan mikropemproses.
        Tanpa tindanan,rutin (routine) dan fungsi
        tidak dapat di cipta.


Kegunaan segmen adalah untuk mencapai lebih daripada
64K RAM . Cara menyatakan tempat data adalah melalui
gabungan segmen dan ofset penunding.Ia dikenali
sebagai alamat logik (logical address)


Ini adalah jadual susun atur memori
















Data Alignment

=> Penjajaran Data



Jadual dibawah menunjukkan MIPS Data Saiz























Jadual dibawah adalah MIPS Penjajaran data












Registers

=> Memori yang berkelajuan tinggi yang terletak di dalam
      CPU dan berfungsi untuk menyimpan data sementara.

=> ALU menggunakan register untuk menyimpan data
      yang sedang diproses




























Disediakan oleh :

 CHUAH YIN BOON                                     

 B031210335



Tuesday, 18 December 2012

Fundamentals Of Emulation

Qtspim 


SPIM adalah simulator layan-diri yang berjalan MIPS32 program. Ia membaca dan melaksanakan program bahasa himpunan yang ditulis untuk pemproses ini. SPIM juga menyediakan penyahpepijat mudah dan set minimum perkhidmatan sistem operasi. SPIM tidak melaksanakan binari (disusun) program.

SPIM melaksanakan hampir keseluruhan MIPS32 dilanjutkan penghimpun set arahan. (Ia meninggalkan perbandingan titik paling terapung dan mod pembundaran dan jadual memori halaman sistem.) Seni bina PowerPC mempunyai beberapa varian yang berbeza dalam pelbagai cara (contohnya, seni bina MIPS64 menyokong integer 64-bit dan alamat), yang bermaksud bahawa SPIM tidak akan menjalankan program-program untuk semua pemproses PowerPC.

Laman utama Qtspim

Dari laman utama ini, kami terdapat beberapa perkara yang perlu tahu
1.Register display : Register display ini senarai 32 tujuan registers untuk kami dapat pilih tukar display dalam       
   hex,binary atau decimal dengan menggunakan klik kanan mouse pada paparan daftar.

2.Data display : Mengandungi User Data Segment, User Stack dan Kernel Data Segment. Data display menunjukkan MIPS memory menyimpankan data program.

3.Text display : Baris pertama adalah alamat lokasi ingatan suruhan mesin yang dipaparkan dalam perenambelasan pada baris kedua. Baris ketiga adalah kod pemasangan untuk mewakili arahan mesin.

4.Spim messages : Ia menunjukkan mesej dari simulator sama ada kod pemasangan mempunyai kesilapan (s) atau tidak.

Contoh menulis assembly program
1.Menulis assembly program dengan menggunakan note pad.
2.Contoh seperti bawa :

Soalan : Here is a sample program that demonstrates subtract operation; 100-50; in 2's complement negative. This program adds +100 to -50, leaving the result in $t3.

Dalam note pad tersebut juga terangkan macam mana menulis assembly dan alasannya.

3.Lepas menulis,sila menyimpan note pad ini. File ini perlu disimpan dengan menggunakan nama seperti (xxx.asm)

contoh asm file dan note pad file
4.Buka Qtspim, klik File -> Load file -> (Pilih asm file yang tadi simpan )
sebelum load asm file

selepas load asm file, data akan memasukkan 

5.Tekan F10 untuk menjalankan data yang baru masuk dari file asm tadi.

User akan nampak Int Regs [16] juga mendapat perbezaan jika terus menekan F10 sampai baris akhir.
Sebelum
Selepas

Jawapan 100-50=50, $t3=50


   Disediakan oleh,
YU HONG SHENG    B031210099








The Computer Organization And Microprocessor Operation

The Organization Of A Computer


System Bus : Mengawal input, output, memory, datapath (ALU) dan merupakan satu saluran komunikasi bagi kebanyakan komponen komputer.

- Datapath (ALU) : Melaksanakan operasi aritmetik.

- Control :  ▪ Merupakan salah satu komponen di dalam processor.
                   ▪ Menghantar isyarat untuk menentukan operasi datapath (ALU), memory, input dan output.

- Memory : ▪ Tempat program disimpan apabila program dijalankan.
                   ▪ Menyimpan data yang diperlukan apabila program dijalankan.

- Input : Alat yang memasukkan data ke dalam memory.

- Output : Alat yang membaca data dari memory dan menyampaikan keputusan pengiraan.


Microprocessor Operations


- 3 langkah asas untuk melaksanakan suatu machine instruction.

- Proses menyempurnakan ketiga-tiga langkah ini dipanggil 'machine cycle'. 

- Langkah-langkah :

 Ⅰ.  Program counter membekalkan instruction address kepada instruction memory.

 Ⅱ. Register operands yang digunakan oleh suatu arahan ditentukan dengan bidang arahan tersebut.

Ⅲ. Operasi yang dinyatakan dalam machine instruction dijalankan.



Disediakan oleh,
 KANG YI SHIN B031210356