To chuc-may-tinh

Preview:

Citation preview

BÁO CÁOTỔ CHỨC MÁY TÍNH

GV: Nhóm 9: Ths. HỒ VIẾT VIỆT HOÀNG VĂN QUỐC NGUYỄN THỊ NGỌC LINH NGUYỄN ĐÌNH SƠN LÊ THANH HÙNG NGUYỄN NGỌC GIÁP

LAB1:DESIGN A MIPS 32 BY 32 REGISTER FILE

YÊU CẦU THIẾT KẾ Có thể đọc 1 lúc 2 register Không cần tín hiệu điều khiển đọc Register luôn luôn bằng 0 Chỉ có thể ghi đối với 1 register Cần tín hiệu điều khiển ghi

NGUYÊN TẮC THIẾT KẾ Cấu trúc đơn giản và có quy tắc Nhỏ gọn và xử lý nhanh Thiết kế sự đòi hỏi sự thỏa hiệp tốt

I.GIỚI THIỆU REGISTER FILE: Cấu tạo 1 Register File bao gồm:- 32 thanh ghi 32 bit, riêng thanh ghi đầutiên (Reg0) luôn mang giá trị 0, chỉ có thể đọc mà không thể ghi .- Có 4 ngõ vào gồm 2 ngõ vào chọn thanhghi cần đọc ( Read register 1 & ReadRegister2),1 ngõ vào để chọn thanh ghi chothao tác ghi ( Write Register) và 1 ngõ vào chứa dữ liệu cần ghi vào thanh ghi (WriteData)- Có 2 ngõ ra dữ liệu 32 bit ( Read Data 1& Read Data 2)- 1 ngõ vào để điều khiển quá trình ghi (RegWrite)

II.SƠ ĐỒ CHI TIẾT REGISTER FILE Khối 1: Decoder

Khối 2: Register

Khối 3: Multiplexor

III. THIẾT KẾ CÁC KHỐI:1. DECODER:

-Decoder(bộ giải mã 5:32) có nhiệmvụ giải mã 5 bit ngõ vào Write Registerdưới sự điều khiển của RegWrite để lựa chọn thanh ghi được yêu cầu cho quá trình ghi.

-Để thiết kế bộ giải mã 5:32 ta có thểxây dựng dễ dàng hơn từ các bộ giải mã 2:4 và 3:8

+ Mạch giải mã 2:4

2->4AB

Y0Y1Y2Y3

Sơ đồ khối

Bảng chân trị A B

Y0 Y1 Y2 Y3

0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1

Sơ đồ thiết kế

+Mạch giải mã 3:8

3->8

Y0Y1Y2Y3Y4Y5Y6Y7Y8

A

B

C

A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1

Sơ đồ khối

Bảng chân trị

Sơ đồ thiết kế

+Mạch giải mã 5:32 Sơ đồ thiết kế dựa trên các bộ giải mã 2:4 và 3:8

2. KHỐI 32 REGISTERS:+ Ở đây ta sử dụng thanh ghi 32bitscó sẵn trong Logisim

Register Data OutData In

Write Enable

3. KHỐI MULTIPLEXOR:

+Mux 2-1(32bits):

A

B

S

M

Sơ đồ khối Sơ đồ thiết kế

S M0 A1 B

Bảng chân trị

+Mux 4-1(32bits): Thiết kế dựa trên Mux2-1(32bits)

AB

C

D

M

S1 S0S1 S0 M0 0 A0 1 B1 0 C1 1 D

+Mux 8-1(32bits): Thiết kế dựa trên 2 bộ Mux 4-1(32bits) và Mux 2-1(32bits)

32 thanh ghi ngõ vào

Mux8-1

Mux8-1

Mux8-1

Mux8-1

Mux4-1

Thanh ghi được chọn ở ngõ ra

+Mux 32-1(32bits) 5 bits Select

IV. TẠO REGISTER FILE TỪ CÁC KHỐI ĐÃ THIẾT KẾ:

LAB 2 : DESIGN A MIPS 32-BIT ALU

Yêu Cầu Thiết Kế :

- Thực hiên được phép toán : Add, Sub, Xor, Set Less Than.- Cờ lệnh : zero, carry, overflow.

Cấu Tạo khối ALU:- Tín hiệu điều khiển 2 bit- Hai ngõ vào 32 bit.- Một ngõ ra 32 bit.- Cờ ngõ ra : zero, carry, overflow

II.Thiết kế1. Khối phép toán1.1.Mạch Add & Sub

Input Output

a b Cin sum Cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

Input Outputa b Cin Sub Cout0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 0 11 0 0 1 01 0 1 0 01 1 0 0 01 1 1 1 1

Sum= a xor b xor cin Cout = ab + cin(a+b)

Sub= a xor b xor cin Cout = nota.b + cin(nota +b)

Add 1bit Sub 1 bit

32 bit

1.2.Mạch Xor 32 bit

A B A xor B

0 0 0

0 1 1

1 0 1

1 1 0

1.3.Set Less Than

A < B Set 1A>=B Set 0

A - B

0 1

A>=B A<B

Set 0 Set 1

Kiểm tra bit dấu của A - B

Overflow Result 31 SLT0 0 00 1 11 0 11 1 0

2.Cờ Lệnh

Phép Toán Zero Carry Overflow

Add Y Y Y

Sub Y Y Y

Xor Y N N

SLT Y N N

2.1. Overflow:

Khi thực hiện phép cộng hoặc trừ với số có dấu => tràn có dấu cờ Overflow được set 1.

2.2. Carry

-Khi thực hiện phép cộng hoặc trừ số không dấu => tràn (có nhớ /mượn từ bit MSB) Cờ carry set lên 1

- Khi kết quả các phép toán bằng 0 => cờ zero set 1.- Dùng lệnh nor tất cả các bit từ 0 đến 31 của kết quả để kiểm tra cờ Zero

2.3. Cờ Zero

3. Các khối hỗ trợ3.1. Multiplexor 2-1 ( 1 bit)

2 bit vào => 1 bit ra

4 bit vào => 2 bit ra

Ứng dụng : điều khiển các cờ hiển thị theo tín hiệu điều khiển.

Phép Toán Zero Carry Overflow

Add Y Y Y

Sub Y Y Y

Xor Y N N

SLT Y N N

3.2. Multilexor 2-1 ( 32 bit)

Ứng dụng : điều khiển hiển thị kết quả của các phép toán theo tín hiệu điều khiển vào

Tín hiệu điều khiển

Phép Toán

00 Add

10 Sub

01 Xor

11 SLT

Na Linh

ALU 32 BITIII.Kết quả

CÁM ƠN THẦY VÀ CÁC BẠN ĐÃ LẮNG NGHE VÀ

THEO DÕI

CỜ NEGATIVE Cờ Negative: gán cờ Negative bằng bit thứ 31 của kết quả. + Bit thứ 31 = 1 (kết quả âm): cờ được set + Bit thứ 31 = 0 (kết quả dương): cờ không được set

2.1. Cờ Zero Cờ zero: được set khi kết quả bằng 0 Cờ overflow (tràn khi thực hiện cộng trừ với số có dấu): được set khi xảy ra

tràn Cờ carryout (tràn khi thực hiện cộng trừ với số không dấu): xảy ra khi có

nhớ (mượn) từ MSB Cờ negative: được set nếu kết quả âm

2.Cờ Lệnh

CỜ OVERFLOW Overflow (tràn có dấu –xảy ra khi kết quả phép toán vượt quá dải giới hạn

tính toán).

Vì vậy, có thể phát hiện overflow bằng cách so sánh cin và cout của bit thứ 31, nếu trái dấu thì xảy ra overflow

Cin Cout Overflow0 0 00 1 11 0 11 1 0

Overflow = Cout[31] xor Cint[31]

CỜ CARRYOUT Chỉ xét đối với phép cộng trừ. Cờ carry chính là cout của phép cộng hoặc phép trừ.