Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
662,8 KB
Nội dung
COMPUTER ARCHITECTURE Chapter Lecture Instruction: Language of the Computer CuuDuongThanCong.com https://fb.com/tailieudientucntt The goals • Bốn nguyên tắc thiết kế • Ba tốn hạng máy tính • Biểu diễn lệnh máy tính • Phân loại lệnh theo định dạng: Rtype, I-Type, J-Type • Phân loại lệnh theo chức • Chuyển đổi lệnh ngôn ngữ: cấp cao, hợp ngữ, ngôn ngữ máy Sep-16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chapter contents Introduction Operations/operands of the Computer Hardware Signed and Unsigned number (review) MIPS Instruction Arithmetic instruction Logical instruction Branch/jump instruction Sep-16 CuuDuongThanCong.com https://fb.com/tailieudientucntt References • Slide: • Computer Organization and Design, 4th Edition, Patterson & Hennessy, â 2008, MK ã Mary Jane Irwin, Penn State University • KTMT, ĐH BKTPHCM • Textbook: Chương (p.74 – p.221) • Software: • Mars / Qtspim • MIPS reference Data • Resources: • https://uit.edu.vn/~ktmt/mips-tutorial • https://uit.edu.vn/~ktmt/references Sep-16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Lecture contents Arithmetic instruction Logical instruction Sep-16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Instruction format Instruction Formats: all 32 bits wide op rs rt op rs rt op rd sa funct R format I format immediate J format jump target R format: Các lệnh có tốn hạng toán hạng ghi I format: Các lệnh có tốn hạng tốn hạng nhớ J format: Các lệnh nhảy (Jump) Sep-16 CuuDuongThanCong.com Lecture review https://fb.com/tailieudientucntt MIPS instruction class Instruction class Arithmetic Số học Data transfer Di chuyển liệu Logical Shift Conditional branch Rẽ nhánh có điều kiện Jump Nhảy MIPS example add, sub, addi addu, addui lw, sw, lb, lbu, lh, lhu, sb, lui and, or, nor, andi, ori, sll, srl beq, bne, slt, slti, sltiu j, jr, jal FIGURE 2.45, textbook, p.179 Sep-16 CuuDuongThanCong.com Lecture review https://fb.com/tailieudientucntt MIPS instruction encoding Arithmetic instruction CuuDuongThanCong.com https://fb.com/tailieudientucntt Hexadecimal • Base 16 • Compact representation of bit strings • bits per hex digit 0000 0001 0010 0011 0100 0101 0110 0111 a b 1000 1001 1010 1011 c d e f 1100 1101 1110 1111 Example: eca8 6420 1110 1100 1010 1000 0110 0100 0010 0000 Arithmetic instruction CuuDuongThanCong.com https://fb.com/tailieudientucntt Add Signed instruction op rs rt rd shamt funct bits bits bits bits bits bits rs rt rd 0x20 (32) add $rd, $rs, $rt Operation: Rd = Rs + Rt Sep-16 CuuDuongThanCong.com 10 Arithmetic instruction https://fb.com/tailieudientucntt XOR Operations • Giống “0” xor $t0, $t1, $t2 $t2 0000 0000 0000 0000 0000 1101 1100 00002 $t1 0000 0000 0000 0000 0011 1100 0000 00002 $t0 0000 0000 0000 0000 0011 0001 1100 00002 Logical Instruction CuuDuongThanCong.com https://fb.com/tailieudientucntt NOT Operations Sep-16 CuuDuongThanCong.com 36 Logical Instruction https://fb.com/tailieudientucntt NOT Operations • Đảo bit • Change to 1, and to • Sử dụng phép NOR thay cho NOT • Tại không sử dụng phép NOT? • a NOR b == NOT ( a OR b ) nor $t0, $t1, $zero Register 0: always read as zero $t1 0000 0000 0000 0000 0011 1100 0000 00002 $t0 1111 1111 1111 1111 1100 0011 1111 11112 Logical Instruction CuuDuongThanCong.com https://fb.com/tailieudientucntt Summary Sep-16 CuuDuongThanCong.com 38 Logical Instruction https://fb.com/tailieudientucntt Summary • Instruction Format (R format) and $t0, $t1, $t2 #$t0 = $t1 & $t2 or #$t0 = $t1 | $t2 xor $t0, $t1, $t2 $t0, $t1, $t2 nor $t0, $t1, $t2 #$t0 = $t1 xor $t2 #$t0 = not($t1 | $t2) • Instruction Format (I format) andi $t0, $t1, 0xFF00 #$t0 = $t1 & ff00 ori #$t0 = $t1 | ff00 $t0, $t1, 0xFF00 Sep-16 CuuDuongThanCong.com 39 Logical Instruction https://fb.com/tailieudientucntt CORE INSTRUCTION SET Sep-16 CuuDuongThanCong.com 40 Logical Instruction https://fb.com/tailieudientucntt SignExtImm vs ZeroExtImm • SignExtImm: Mở rộng bit cho 16 bit cao • ZeroExtImm: Mở rộng bit cho 16 bit cao Sep-16 CuuDuongThanCong.com 41 Logical Instruction https://fb.com/tailieudientucntt Sep-16 CuuDuongThanCong.com 42 Logical Instruction https://fb.com/tailieudientucntt How About Larger Constants? • Khởi tạo số 32 bit dùng lệnh "load upper immediate" lui $t0, 10101010101010102 16 10101010101010102 • Sử dụng ori để khởi tao giá trị 16 bit thấp ori $t0, $t0, 10101010101010102 1010101010101010 0000000000000000 0000000000000000 1010101010101010 1010101010101010 1010101010101010 Logical Instruction CuuDuongThanCong.com https://fb.com/tailieudientucntt How About Larger Constants? • Khởi tạo giá trị 32 bit cho ghi • Lưu ý: khơng có giá trị 32 bit lệnh I-Type • Sử dụng lệnh “load upper immediate” • Ví dụ: khởi tạo $s1=0xA54765D9 (hằng số 32-bit) addiu $s1,$0,0xA547 0x0000 0xA547 0xA547 0x0000 sll $s1,$s1,16 ori $s1,$s1,0x65D9 0xA547 Sep-16 CuuDuongThanCong.com 0x65D9 44 Logical Instruction https://fb.com/tailieudientucntt assignments • Khởi tạo ghi sau • $s0 = 0x1001_0035 • Ss1 = 0xa200_23C4 • $s2 = 0x0000_3000 • Tính f = 2*s0+s1-s2, lưu vào s3 Sep-16 CuuDuongThanCong.com 45 Logical Instruction https://fb.com/tailieudientucntt assignments • Khởi tạo ghi sau • $s0 = 0x1001_0035 • Ss1 = 0xa200_23C4 • $s2 = 0x0000_3000 • Tính f = 2*s0+s1-s2, lưu vào s3 • Tính f = s0*37 • Tính phép nhân dựa phép dịch Sep-16 CuuDuongThanCong.com 46 Logical Instruction https://fb.com/tailieudientucntt assignments • Khởi tạo giá trị ghi $s0 = 0x12 • Tính f= s0*0x1422_ac12, lưu f vào ghi $s1 Sep-16 CuuDuongThanCong.com 47 Logical Instruction https://fb.com/tailieudientucntt assignments • Khảo sát giá trị ghi t0,t1,a0 thực lệnh: • Chuyển đổi lệnh sang mã nhị phân • addi $t0, $0, 100 addi $t1, $0, -4 add $a0, $t1, $t0 sll $a0,$a0, sll $a0,$a0, 16 Instruction Code t0 t1 a0 0x00000000 0x00000000 0x00000000 addi $t0, $0, 100 Sep-16 CuuDuongThanCong.com 48 Logical Instruction https://fb.com/tailieudientucntt Next Lecture and Reminder • Next lecture • Instruction: language of the Computer – L03 • Lệnh di chuyển nhớ • Lệnh rẽ nhánh, lệnh nahyr • Reminder • Đọc phần 2.7, 2.10 49 Sep-16 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Sep-16 CuuDuongThanCong .com 48 Logical Instruction https://fb .com/ tailieudientucntt Next Lecture and Reminder • Next lecture • Instruction: language of the Computer – L03 • Lệnh di chuyển nhớ... ngữ: cấp cao, hợp ngữ, ngôn ngữ máy Sep-16 CuuDuongThanCong .com https://fb .com/ tailieudientucntt Chapter contents Introduction Operations/operands of the Computer Hardware Signed and Unsigned.. .The goals • Bốn nguyên tắc thiết kế • Ba tốn hạng máy tính • Biểu diễn lệnh máy tính • Phân loại lệnh theo định dạng: Rtype, I-Type, J-Type • Phân loại lệnh theo chức • Chuyển