Hướng dẫn thực hành Kiến trúc máy tính - Bài số 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA  
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH  
Hướng dn thc hành  
Môn: Kiến Trúc Máy Tính - 504002  
Bài thc hành s 2  
TP. HCM 9/2014  
Bng tóm tt các lnh trong bài thc hành  
Instruction  
Meaning  
Instruction Format  
add  
$s1, $s2, $s3  
$s1 = $s2 + $s3  
$s1 = $s2 + $s3  
op = 0 rs = $s2 rt = $s3  
rd = $s1 sa = 0  
rd = $s1 sa = 0  
f = 0x20  
f = 0x21  
addu $s1, $s2, $s3  
op = 0 rs = $s2 rt = $s3  
op = 0 rs = $s2 rt = $s3  
op = 0 rs = $s2 rt = $s3  
op = 0 rs = $s2 rt = $s3  
op = 0 rs = $s2 rt = $s3  
sub  
$s1, $s2, $s3  
$s1 = $s2 $s3  
$s1 = $s2 $s3  
$s1 = $s2 & $s3  
$s1 = $s2 | $s3  
rd = $s1 sa = 0  
rd = $s1 sa = 0  
rd = $s1 sa = 0  
rd = $s1 sa = 0  
f = 0x22  
f = 0x23  
f = 0x24  
f = 0x25  
subu $s1, $s2, $s3  
and  
or  
$s1, $s2, $s3  
$s1, $s2, $s3  
xor  
nor  
sll  
$s1, $s2, $s3  
$s1, $s2, $s3  
$s1,$s2,10  
$s1 = $s2 ^ $s3  
$s1 = ~($s2|$s3)  
$s1 = $s2 << 10  
op = 0 rs = $s2 rt = $s3  
op = 0 rs = $s2 rt = $s3  
rd = $s1 sa = 0  
rd = $s1 sa = 0  
rd = $s1 sa = 10  
f = 0x26  
f = 0x27  
f = 0x00  
op = 0  
op = 0  
op = 0  
rs = 0  
rs = 0  
rs = 0  
rt = $s2  
rt = $s2  
rt = $s2  
srl  
sra  
$s1,$s2,10  
$s1 = $s2>>>10  
$s1 = $s2 >> 10  
(Hi, Lo) = $s1*$s2  
(Hi, Lo) = $s1*$s2  
rd = $s1 sa = 10  
rd = $s1 sa = 10  
f = 0x02  
f = 0x03  
f = 0x18  
f = 0x19  
f = 0x1A  
$s1, $s2, 10  
mult $s1, $s2  
multu $s1, $s2  
op = 0 rs = $s1 rt = $s2  
op = 0 rs = $s1 rt = $s2  
op = 0 rs = $s1 rt = $s2  
rd = 0  
rd = 0  
rd = 0  
sa = 0  
sa = 0  
sa = 0  
div  
$s1, $s2  
Hi = $s1/$s2  
Lo = $s1%$s2  
divu $s1, $s2  
Hi = $s1/$s2  
op = 0 rs = $s1 rt = $s2  
rd = 0  
sa = 0  
f = 0x1B  
Lo = $s1%$s2  
mfhi $s1  
mflo $s1  
$s1 = Hi  
$s1 = Lo  
op = 0  
op = 0  
rs = 0  
rs = 0  
rt = 0  
rt = 0  
rd = $s1 sa = 0  
rd = $s1 sa = 0  
f = 0x10  
f = 0x12  
addi $s1, $s2, 10  
addiu $s1, $s2, 10  
andi $s1, $s2, 10  
$s1 = $s2 + 10  
$s1 = $s2 + 10  
$s1 = $s2 & 10  
$s1 = $s2 | 10  
$s1 = $s2 ^ 10  
$s1 = 10 << 16  
op = 0x8 rs = $s2 rt = $s1  
op = 0x9 rs = $s2 rt = $s1  
op = 0xc rs = $s2 rt = $s1  
op = 0xd rs = $s2 rt = $s1  
op = 0xe rs = $s2 rt = $s1  
Imm16 = 10  
Imm16 = 10  
Imm16 = 10  
Imm16 = 10  
Imm16 = 10  
Imm16 = 10  
ori  
xori $s1, $s2, 10  
lui $s1, 10  
$s1, $s2, 10  
op = 0xf  
0
rt = $s1  
Thc hành kiến trúc máy tính  
Bài             2  
                                                                      b, add,     , d  ,  
sll, srl, and, nor, or, xor ..                        a             le                      
format mssv_lab_bai.[asm,txt]     d : 5130xxxx_lab2_bai1a.asm  
B   1. Các lnh vshc, lun lý.  
a) Sinh viên viết   ươ g trì   dù g  á  lệnh add, addi, sub, subi  or  or   để thc  
hi            dưới, kết qu cha vào thanh ghi $t8  
540 ($t0 = 540)  
+ 30 ($t1 = 30)  
+ 30  
+ 30  
+ 30  
+ 30  
-725 ($t2 = -725)  
+ 25 ($t3 = 25)  
# Program: Lab2 bai1a; Look at slide #22, #23 of Chapter03_2 for more  
# info about the system functions  
.data  
output: .asciiz "\nKet qua: n"  
.text  
main:  
# Start of code section  
# Execution begins at label "main"  
addi $t0,$0,540 #$t0 = 540  
ori $t1,$0,540 #$t1 = 30  
addi $t2,$0,-725 #$t2 = -725  
addi $t3,$0,25  
#$t0 = 25  
...  
li  
la  
$v0,4  
# system call code for printing string = 4  
$a0,output # load address of string to be printed into $a0  
syscall  
# call operating system to perform operation;  
# system call code for printing Integer = 1  
li  
$v0,1  
ori  
$a0,$0,$t8 # load Integer value to be printed into $a0  
syscall  
# call operating system to perform operation;  
4
 
Thc hành kiến trúc máy tính  
Bài             2  
b)  g t c hin phép tính trên dùng các lnh v dch bit (shift bit) thay vì thc  
hin nhiu phép cng/tr.  
G i ý: Thay vì th c hi n 5 phép cng ta th c hi n    phép dch bit (2bit) và mt  
phép cng.  
c) L  lượt thc hin phép cng hai s đ ln (0x70000000) bng lnh addu và add.  
Quan sát kết qu, gii thích s k á     u đó.  
B   2. Các lnh vshc           .  
Viết   ươ g trì      g á trị biu thc ca b ểu t       dưới. kết qu   v o t     
ghi $t8, (gi s x đủ nh sao cho kết qu ca biu th  k ô g vượt quá 32 b t  để đơ  
gin th nghim vi x = 0, x = 1).  
 
 
                     
vi a = 4, b = 3, c = 2, d = 1  
G i ý: (t eo   ươ g   á  Hor er's Met od, sinh viên có thlàm theo cách ca riêng  
mình)  
-
-
-
-
-
-
-
Khi to giá tr cho a, b, c, d, x bng lnh s h :  dd/ dd   orx   
Nhân a vi x r    kết qu vào thanh ghi tm. t = a*x  
Thc hin phép s tính gia thanh ghi tm vi b. t = t - b //t = ax - b  
Nhân thanh ghi tm vi x.  
t = t*x  
t = t  c //t = ax2  bx - c  
t = t*x  
// t = (ax2  bx  c)x  
//t = (ax - b)x  
Thc hin phép s tính gia thanh ghi tm vi c.  
Nhân thanh ghi tm vi x.  
Thc hin phép s tính gia thanh ghi tm vi d. t = t + d // t = ax3  bx2  cx +d  
B   3. Các lnh vsh            .  
 ươ g tự   ư b   2    g á trị    b ểu t       dướ .  ết quả   v o t     g   $t8  
       
    
       
     = 1, b = 2, c = 1, d = 2  
H   tượ g  s  xả  r  k   x = 2?  
5
   
pdf 5 trang Thùy Anh 28/04/2022 6040
Bạn đang xem tài liệu "Hướng dẫn thực hành Kiến trúc máy tính - Bài số 2", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfhuong_dan_thuc_hanh_kien_truc_may_tinh_bai_so_2.pdf