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 dẫn thực hành  
Môn: Kiến Trúc Máy Tính - 504002  
Bài thực hành số 2  
TP. HCM 9/2014  
Bảng tóm tắt các lệnh trong bài thực 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  
Thực 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 lệnh về số học, luận lý.  
a) Sinh viên viết   ươ g trì   dù g  á  lệnh add, addi, sub, subi  or  or  … để thực  
hiệ       tí   bê  dưới, kết quả chứa 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
 
Thực hành kiến trúc máy tính  
Bài   ự          2  
b) Cũ g t ực hiện phép tính trên dùng các lệnh về dịch bit (shift bit) thay vì thực  
hiện nhiều phép cộng/trừ.  
G i ý: Thay vì th c hi n 5 phép cộng ta th c hi n  ộ  phép dịch bit (2bit) và một  
phép cộng.  
c) Lầ  lượt thực hiện phép cộng hai số đủ lớn (0x70000000) bằng lệnh addu và add.  
Quan sát kết quả, giải thích sự k á     u đó.  
B   2. Các lệnh về số học           .  
Viết   ươ g trì   tí   g á trị biểu thức của b ểu t ứ    bê  dưới. kết quả lư  v o t     
ghi $t8, (giả sử x đủ nhỏ sao cho kết quả của biểu thứ  k ô g vượt quá 32 b t  để đơ  
giản thử nghiệm với x = 0, x = 1).  
 
 
                     
với a = 4, b = 3, c = 2, d = 1  
G i ý: (t eo   ươ g   á  Hor er's Met od, sinh viên có thể làm theo cách của riêng  
mình)  
-
-
-
-
-
-
-
Khởi tạo giá trị cho a, b, c, d, x bằng lệnh số họ :  dd/ dd   orx ……  
Nhân a với x rồ  lư  kết quả vào thanh ghi tạm. t = a*x  
Thực hiện phép số tính giữa thanh ghi tạm với b. t = t - b //t = ax - b  
Nhân thanh ghi tạm với x.  
t = t*x  
t = t – c //t = ax2 – bx - c  
t = t*x  
// t = (ax2 – bx – c)x  
//t = (ax - b)x  
Thực hiện phép số tính giữa thanh ghi tạm với c.  
Nhân thanh ghi tạm với x.  
Thực hiện phép số tính giữa thanh ghi tạm với d. t = t + d // t = ax3 – bx2 – cx +d  
B   3. Các lệnh về số họ            .  
 ươ g tự   ư b   2  tì  g á trị  ủ  b ểu t ứ    bê  dướ .  ết quả lư  v o t     g   $t8  
       
    
       
 ớ    = 1, b = 2, c = 1, d = 2  
H ệ  tượ g gì s  xả  r  k   x = 2?  
5
   
pdf 5 trang Thùy Anh 22240 Free
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