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
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:
- huong_dan_thuc_hanh_kien_truc_may_tinh_bai_so_2.pdf