- What is Scribd?
- Documents[selected]
- Explore Documents
Categories
- Academic Papers
- Business Templates
- Court Filings
- All documents
- Sports & Recreation
- Bodybuilding & Weight Training
- Boxing
- Martial Arts
- Religion & Spirituality
- Christianity
- Judaism
- New Age & Spirituality
- Buddhism
- Islam
- Art
- Music
- Performing Arts
- Wellness
- Body, Mind, & Spirit
- Weight Loss
- Self-Improvement
- Technology & Engineering
- Politics
- Political Science All categories
Lab 2
0% found this document useful [0 votes]
54 views
17 pages
Copyright
© Attribution Non-Commercial [BY-NC]
Available Formats
DOCX, PDF, TXT or read online from Scribd
Share this document
Did you find this document useful?
0% found this document useful [0 votes]
54 views17 pages
Lab 2
Jump to Page
You are on page 1of 17
ĐỒ
ÁN VI X
Ử
LÝ & C
Ấ
U TRÚC MÁY TÍNH GVHD: TR
Ầ
N TH
Ị
MINH H
Ạ
NH
SVTH:
C
Ậ
N
–
BÌNH
–
TU
Ấ
N
ALU
1.
Giới thiệu :
-
Trong lab 2 này chúng ta xây dựng khối ALU 32 bits với nhiệm vụ thực hiện các lệnhsố học đơn giản như ADD, SUB , XOR , SLT .
-
ALU 32 bits được xây dựng từ
32 bộ alu 1 bit
-
Đây là khối xử lý mọi công việc tính toán của bộ vi xử lý .
2.
M
ục đích thiế
t k
ế
:
-
Th
ự
c hi
ệ
n thi
ế
t k
ế
m
ộ
t kh
ối ALU đơn giả
n.-
Hai ngõ vào 32 bit, tín hi
ệu điề
u khi
ển 2 bít dùng để
l
ự
a ch
ọ
n m
ộ
t trong b
ố
n phéptoán: add,sub,xor và slt.-
Ngõ ra có
độ
dài 32 bit,ngoài ra còn có các c
ờ
báo hi
ệ
u: overflow, zero, carryout,negative.
3.
Sơ đồ khối :
32 bit ALU323232ZeroOverflowCarryOut ALUControlBus ABus BOutput
ĐỒ
ÁN VI X
Ử
LÝ & C
Ấ
U TRÚC MÁY TÍNH GVHD: TR
Ầ
N TH
Ị
MINH H
Ạ
NH
SVTH:
C
Ậ
N
–
BÌNH
–
TU
Ấ
N
Nguyên lý hoạt động của khối ALU:
-
Khối ALU có 2 đầu vào A,B mỗi đầu vào 32 bits.
-
Khối ALU sẽ dựa vào 2 bits ALU Control mà sẽ xác định phép toán cần xử lý
Vd: ALU Control = 00 thì sẽ thực hiện phép A + B
-
Kết quả các phép toán sẽ được đưa ra ở Output 32 bits
-
Ngoài ra còn có các bits cờ :
+ Zero : sẽ bằng 1 khi kết quả ở đầu ra Output = 0 và bằng 0 khi Output khác 0
+ Overflow : sẽ được set bằng 1 khi thực hiện các phép toán ADD , SUB có xảy ra tràn.
+ Carryout : sẽ được set bằng 1 trong các phép toán ADD, SUB khi xảy ra có nhớ ở bits 31+ Negative : sẽ được set bằng 1 khi kết quả sau khi tính toán là một số âm .
- Vì tín hi
ệu vào có 32 bit . Do đó ta chỉ
c
ầ
n g
ọ
i 32 l
ầ
n modul Calc_bit
[đã xây dự
ng
ở
ph
ầ
n trên]
để
th
ự
c hi
ệ
n ADD, SUB , XOR 32 bit theo th
ứ
t
ự
t
ừ
bit 0 đế
n bit 31.
Cách xác định cờ Overflow như sau:
CinAdd-cinSub
a b CAdd outAdd CSub outSub0 0 0 0 0 0 00 0 1 0 1 1 10 1 0 0 1 0 10 1 1 1 0 0 01 0 0 0 1 1 11 0 1 1 0 1 01 1 0 1 0 0 01 1 1 1 1 1 1
+ Đố
i v
ớ
i phép c
ộ
ng: 2 s
ố
h
ạ
ng c
ủ
a phép c
ộ
ng cùng d
ấu nhưng kế
t qu
ả
khác d
ấ
u v
ớ
i 2 s
ố
h
ạ
ng
đó. Từ
b
ả
ng, suy ra cách nh
ậ
n bi
ế
t thông qua bit nh
ớ
: overflow x
ả
y ra khi bit nh
ớ
cinAdd vàCAdd c
ủ
a MSB khác nhau.
ĐỒ
ÁN VI X
Ử
LÝ & C
Ấ
U TRÚC MÁY TÍNH GVHD: TR
Ầ
N TH
Ị
MINH H
Ạ
NH
SVTH:
C
Ậ
N
–
BÌNH
–
TU
Ấ
N
+ Đố
i v
ớ
i phép tr
ừ
: s
ố
b
ị
tr
ừ
là s
ố
dương và số
tr
ừ
là s
ố
âm, k
ế
t qu
ả
là s
ố
âm ho
ặ
c s
ố
b
ị
tr
ừ
là s
ố
âm và s
ố
tr
ừ
là s
ố
dương, kế
t qu
ả
là s
ố
dương. Từ
b
ả
ng, suy ra cách nh
ậ
n bi
ế
t thông qua bit
mượ
n: overflow x
ảy ra khi bit mượ
n cinSub và CSub c
ủ
a MSB khác nhau.- Sau khi th
ự
c hi
ện tính toán, ta có đượ
c k
ế
t qu
ả
c
ủa 4 phép toán ADD, SUB, XOR và SLT. Căn
c
ứ
vào 2 bit điề
u khi
ể
n
ở
port ALU control để
xác đị
nh k
ế
t qu
ả
nào s
ẽ
được đưa ra output porttheo như bả
ng sau:
ALUCONTROLLINES
FUNCTION
00
Add
01
XOR
10
Sub
11
SLT
Do đó, cần có khối chọn kênh MultiplexorOut
4
] Thi
ế
t k
ế
kh
ố
i ALU
4.1] Thi
ế
t kê kh
ố
i ADD, SUB và XOR a] Phép AddCode:
module add[a,b,s,cin,cout];input a,b,cin;wire c1,c2,c3;output cout,s; xor [s,a,b,cin];and [c1,a,b];or [c2,a,b];and [c3,c2,cin];or [cout,c1,c3];endmodule
Reward Your Curiosity
Everything you want to read.
Anytime. Anywhere. Any device.
No Commitment. Cancel anytime.