Tải bản đầy đủ (.pptx) (24 trang)

CẤU TRÚC MÁY TÍNH THIẾT KẾ BỘ ALU CHO MIPS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (631.5 KB, 24 trang )

CẤU TRÚC MÁY TÍNH
THIẾT KẾ BỘ ALU CHO MIPS
GVHD: TS. TRƯƠNG QUANG VINH
N I DUNGỘ

GIỚI THIỆU VỀ MIPS ALU

HƯỚNG THIẾT KẾ

THỰC HIỆN
I.giới thiệu mips alu
I.Hướng thiết kế :

Thiết kế bộ alu 32 bit đơn giản

Các phép toán thực hiện: ANH, OR,XOR,SLT

Bảng điều khiển ngõ vào ALUcontrol:
ALU CONTROIL LINES FUNCTION
00 ADD
01 XOR
10 SUB
11 SLT

Dựa vào hướng thiết kế ,chia ALU thành các khối chính
sau:

Khối thực hiện : ADD,XOR ,SUB

Khối chọn kênh :MULTIPLEXOR
II:TH C HI NỰ Ệ


1. Kh i th c hi n Add, Sub, Xor:ố ự ệ
1.1 Phân tích:
Kh i này s th c hi n các phép toán ADD, SUB ố ẽ ự ệ
và XOR tín hi u vào 32 bit Bus A và Bus B. Đ ệ ở ể
th c hi n vi c này tr c tiên ta ph i xây d ng ự ệ ệ ướ ả ự
kh i m ch th c hi n các phép toán ADD, SUB và ố ạ ự ệ
XOR tín hi u 1 bit .Sau đó s xây d ng kh i m ch ệ ẽ ự ố ạ
th c hi n ADD, SUB và XOR 32bit d a trênự ệ ự
các kh i m ch ADD , SUB và XOR 1 bit này. ố ạ
S đ kh i c a kh i ADD, SUB và XOR có d ng ơ ồ ố ủ ố ạ
nh sau:ư
ADD,XOR,SUB
BUS A
BUS B
RESULT
carry
overflow
B c ng đ y đ (Full Adder)ộ ộ ầ ủ
ADD
b
a
cAddin
sum
cAddOut
Input Output
a b cAddIn Sum cAddOut
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1

1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Rút gọn bằng bảng Karnaugh
Ph ng trì nh tt:ươ
sum= a xor b xor cAddIn
cAddOut = ab + cAddIn(a+b)
Mô Ph ngỏ
1.3.khối thực hiện phép toán xor.
Xét 2 bit vào a và b,khối này sẽ thực hiện phép toán XOR a
và b.Ta chỉ cần dùng lệnh: xor #(50) U1(a_xor_b, a, b);
a b a xor b
0 0 0
0 1 1
1 0 1
1 1 0
Thực hiện phép toán sub
T ng t b c ng ta có b ng giá trươ ự ộ ộ ả ị
Input Output
a b cSubIn Sub cSubOut
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
Sub= a xor b xor cSubIn

cSubOut = nota.b + cSubIn(nota + b
Mô Ph ngỏ
Thiết kế SLT

k t qu b ng 1 n u A < Bế ả ằ ế

A < B A – B < 0

Quan tâm tới bit LSB
LSB b ng bit d u th c s c a k t qu phép tr ằ ấ ự ự ủ ế ả ừ
Xét các cờ

C zero ờ

C negative ờ

C carryout ờ

C overflow: ờ
C zero ờ

Khi k t qu b ng 0 thì c zero đ c set lên 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. ể ờ
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
C carryout ờ

Ch xét đ i v i phép c ng tr . ỉ ố ớ ộ ừ

C carry chính là cAddOut ho c cSubOut c a ờ ặ ủ
phép c ng ho c phép tr .ộ ặ ừ
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).

A, B khác dấu thì không xảy ra Overflow.
Overflow chỉ xảy ra khi cộng 2 số cùng dấu
Multiplexorout
Sử dụng bộ mux 4x32 to 32 được
xây dựng từ 32 bộ mux 4 to 1.
Căn cứ vào 2bit điều khiển của ALUControl.
Multiplexorout
C M N TH Y VÀ CÁC B N ĐÃ Ả Ơ Ầ Ạ
L NG NGHE!Ắ

×