1. Trang chủ
  2. » Giáo án - Bài giảng

kiến trúc máy tính trương văn cường lecture 03 chương ter 02 language of the computer 02 sinhvienzone com

49 101 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Bốn nguyên tắc thiết kế cơ bản• Ba toán hạng trong máy tính • Biểu diễn lệnh trong máy tính • Phân loại được lệnh theo 3 định dạng: R-type, I-Type, J-Type • Phân loại được lệnh theo c

Trang 1

COMPUTER ARCHITECTURE

Lecture 2

Instruction: Language of the Computer

Chapter 2

Trang 2

• Bốn nguyên tắc thiết kế cơ bản

• Ba toán hạng trong máy tính

• Biểu diễn lệnh trong máy tính

• Phân loại được lệnh theo 3 định dạng:

R-type, I-Type, J-Type

• Phân loại được lệnh theo chức năng

• Chuyển đổi lệnh giữa các ngôn ngữ: cấp cao, hợp ngữ, và ngôn ngữ máy.

The goals

Trang 4

• Slide:

• Computer Organization and Design, 4th Edition,

Patterson & Hennessy, © 2008, MK

• Mary Jane Irwin, Penn State University

Trang 5

1 Arithmetic instruction

2 Logical instruction

Lecture contents

Trang 6

Instruction format

op op op

R format: Các lệnh có các toán hạng là toán hạng thanh ghi

I format: Các lệnh có các toán hạng là toán hạng bộ nhớ

J format: Các lệnh nhảy (Jump)

Trang 7

MIPS instruction class

Instruction class MIPS example

Trang 8

MIPS instruction encoding

Trang 9

• Base 16

• Compact representation of bit strings

• 4 bits per hex digit

Trang 10

Add Signed instruction

Trang 11

Add Unsigned instruction

Trang 13

Add Immediate instruction

addi $rt, $rs, imm

Operation: Rt = Rs + imm

Imm: Hằng số 16 bit có dấu

Rs: toán hạng nguồn

Rt: toán hạng đích

Trang 14

add Immediate Example

Trang 17

Addition/subtraction Integer

Lệnh Phép toán R-Format

Op Rs Rt Rd Sa Func add $s1, $s2, $s3 $s1 = $s2 + $s3 0 $2 $3 $1 0 0x20 (32) addu $s1, $s2, $s3 $s1 = $s2 + $s3 0 $2 $3 $1 0 0x21 (33) sub $s1, $s2, $s3 $s1 = $s2 - $s3 0 $2 $3 $1 0 0x22 (34) subu $s1, $s2, $s3 $s1 = $s2 - $s3 0 $2 $3 $1 0 0x23 (35)

• add & sub: “tràn” (overflow) sinh ra arithmetic exception

• Trong trường hợp “tràn”, kết quả không được ghi vào thanh ghi đích

• addu & subu: hoạt động giống add & sub

• Tuy nhiên các toán hạn g được hiểu là số nguyên không dấu => không bị “tràn” ( không xảy ra arithmetic

exception)

Trang 18

Overflow and Carry

• Giá trị “nhớ” quan trọng khi…

• Cộng hoặc trừ số nguyên không dấu

• Báo tổng dạng không dấu bị ngoài tầm biểu diễn

• Xảy ra khi < 0 hoặc >maximum giá trị không dấu

n-bit

• Giá trị “tràn” quan trọng khi …

• Cộng hoặc trừ số nguyên có dấu

• Báo tổng dạng có dấu bị ngoài tầm biểu diễn

• Tràn số xảy ra khi

• Cộng hai số dương được tổng là số âm

• Cộng hai số âm được tổng là số dương

Trang 19

Review: range number

• Số không dấu n bit

• Tầm biểu diễn: 0 to +2 n – 1

• Số có dấu n bit

• Tầm biểu diễn: –2 n – 1 to +2 n – 1 – 1

0 0

1 1

2 n 2 n

1 n 1

x

0 0

1 1

2 n 2 n

1 n 1

x

Trang 20

Review: range number

Trang 21

Review: range number

Trang 22

Overflow and Carry

Trang 26

Assignment

• Ví dụ: mã C của lệnh

f = (g + h) - (i + j);

• f, …, j in $s0, …, $s4

Trang 27

• Các lệnh thao tác trên bit

Logical Operations

Shift left << << sll Shift right >> >>> srl

Bitwise AND & & and, andi

 Tách, chèn các bit vào 1 word

Trang 28

• shamt: dịch bao nhiêu bit

• Phép dịch trái

• Dịch trái và điền các bít 0

• Dịch trái (sll)i bits tương đương nhân với 2 i

• Phép dịch phải

• Dịch phải và điền các bit 0 vào bên phải

• Dịch phải (srl) i bits tương đương với chia cho 2 i

Trang 29

• Di chuyển các bit bên trái hoặc phải của 1 từ

sll $t2, $s0, 8 #$t2 = $s0 << 8 bits srl $t2, $s0, 8 #$t2 = $s0 >> 8 bits

• Instruction Format ( R format)

MIPS Shift Operations

 5 bits dịch được tối đa 31 vị trí

0 $rs = 0 $rt = s0

16

$rd=t2 10

Trang 30

• Thường sử dụng cho việc tạo mặt nạ cho các bit

• Chọn một số bit, xoá các bit còn lại

Trang 31

AND Operations

Trang 32

OR Operations

Trang 33

• Chèn các bit 1 vào trong 1 từ, các bit còn lại không đổi

Trang 34

XOR Operations

Trang 36

NOT Operations

Trang 37

• Đảo bit

• Change 0 to 1, and 1 to 0

• Sử dụng phép NOR thay cho NOT

Tại sao không sử dụng phép NOT?

Trang 38

Summary

Trang 40

CORE INSTRUCTION SET

Trang 41

• SignExtImm: Mở rộng bit cho 16 bit cao

• ZeroExtImm: Mở rộng bit 0 cho 16 bit cao

SignExtImm vs ZeroExtImm

Trang 43

• Khởi tạo số 32 bit dùng lệnh "load upper

Trang 44

• Khởi tạo 1 giá trị 32 bit cho thanh ghi

• Lưu ý: không có giá trị 32 bit trong 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)

How About Larger Constants?

Trang 45

• Khởi tạo các thanh ghi sau

Trang 46

• Khởi tạo các thanh ghi sau

Trang 47

• Khởi tạo giá trị thanh ghi $s0 = 0x12

• Tính f= s0*0x1422_ac12, lưu f vào thanh ghi $s1

assignments

Trang 48

• Khảo sát các giá trị thanh ghi t0,t1,a0 khi thực hiện tuần tự các lệnh:

• Chuyển đổi các lệnh sang mã nhị phân

Trang 49

Next Lecture and Reminder

Ngày đăng: 28/01/2020, 23:15

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm