Upload
tung-hoang
View
6
Download
0
Embed Size (px)
Citation preview
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO VI XỬ LÝ
Môn học : Kỹ thuật vi xử lý
Lớp : CNT52ĐH2 - N01
Nhóm : 14
SV thực hiện : Phạm Quốc Khánh - 44775
Quách Nhật Tùng - 43221
Vũ Tuấn Minh - 43056
MỤC LỤC
I.Đơn vị giao tiếp Bus ( Bus Interface Unit ) :...........................................................................................2
II.Hàng đợi nhận trước (Prefetch Unit Instruction Queue).....................................................................3
III.Đơn vị quản lý bộ nhớ (Memory Managerment Unit).........................................................................3
IV.Đơn vị nguyên (Integer Unit)...............................................................................................................4
V.Đơn vị dấu chấm động (Floating-Point Unit)........................................................................................5
1
I.Đơn vị giao tiếp Bus ( Bus Interface Unit ) :
- Đơn vị này xử lý tất cả truyền dữ liệu và địa chỉ trên Bus cho EU( đơn vị thực
hiện) . Đơn vị này gửi ra địa chỉ , nạp lệnh từ bộ nhớ , đọc dữ liệu từ cổng và bộ
nhớ và ghi dữ liệu vào cổng và bộ nhớ .
Các bộ phận khác nhau của BIU :
a. Hàng đợi lệnh (Instruction Queue)
Trong khi EU đang giải mã hay thi hành một lệnh không cần sử dụng các hệ
thống BUS, BIU sẽ đưa vào sáu bytes lệnh tiếp theo. BIU chứa các byte này
trong một thanh ghi FIFO (First - In - First - Out) gọi là hàng đợi. Khi EU đã sẵn
sàng cho lệnh tiếp theo, nó sẽ chỉ cần đọc các byte lệnh trong hàng đợi của BIU.
Việc này làm tăng tốc độ của hệ thống, và kỹ thuật này được gọi là pipelining.
b. Các thanh ghi đoạn (Segment Register)
Gồm bốn thanh ghi CS, DS, ES, SS, dùng để chứa địa chỉ đoạn. Bộ nhớ trong
1MB của CPU 8088 được chia thành các đoạn, mỗi đoạn chứa tối đa 64 KB, ở
2
mỗi thời điểm CPU chỉ có thể truy xuất tối đa 4 đoạn được xác định bởi 4 thanh
ghi CS, DS, ES và SS. Cụ thể:
Thanh ghi CS (Code Segment): dùng để chứa địa chỉ đoạn của đoạn chứa
mã lệnh.
Thanh ghi DS (Data Segment): dùng để chứa địa chỉ đoạn của đoạn chứa
dữ liệu.
Thanh ghi ES (Extra Segment): dùng để chứa địa chỉ đoạn của đoạn chứa
dữ liệu bổ sung.
Thanh ghi đoạn SS (Stack Segment): dùng để chứa địa chỉ đoạn của đoạn
chứa Stack.
c. Con trỏ lệnh IP (Instruction Pointer)
Dùng để xác định địa chỉ offset của ô nhớ chứa mã lệnh của lệnh kế tiếp sẽ được
CPU thi hành (ô nhớ này nằm trong đoạn được xác định bởi thanh ghi CS).
Khi CPU thực hiện một lệnh, thanh ghi IP sẽ tự động thay đổi để chỉ đến địa chỉ
offset của ô nhớ chứa lệnh sẽ được CPU thi hành kế tiếp.
II.Hàng đợi nhận trước (Prefetch Unit Instruction Queue)Chứa mã lệnh chờ được xử lý.Hàng đợi lệnh có kích thước 4 byte đối với 8088
và 6 byte với 8086.Sở dĩ có điều này là vì hàng đợi lệnh phải có kích thước có
thể chứa được ít nhất một lệnh có độ dài bất kỳ (dài nhất) của bộ vi xử lý.Mà tập
lệnh của 8086 có độ dài từ 1-6 byte.
Hàng đợi lệnh làm việc theo cơ chế FIFO (First In First Out);nghĩa là lệnh nào
được đưa vào hàng đợi lệnh trước sẽ được xử lý trước
3
Các lệnh này đc chuyển tới khối giải mã lệnh DU (decoding unit)
Phần lớn các họ Vi xử lý ngày nay cho phép 1 số lệnh đồng thời đc giải mã (xử
lý song song )
III.Đơn vị quản lý bộ nhớ (Memory Managerment Unit)MMU của bộ VXL có các chức năng:
- Chuyển đổi địa chỉ ảo (virtual address) hay địa chỉ logic thành địa chỉ vật lý
(physical), tức là địa chỉ thực. Địa chỉ vật lý đc chuyển tới Cache, hoặc thông
qua BIU và Bus địa chỉ tới BN bên ngoài bộ vi xử lý để chọn vùng nhớ.
- Đảm bảo cơ chế phân trang trong tổ chức bộ nhớ ảo
- Đảm bảo cơ chế phân đoạn (segment) cho bộ nhớ
- Bảo vệ bộ nhớ cho cả hai cơ chế phân trang và phân đoạn
- Quản lý bộ đệm biến đổi truy cập nhanh TLB và quản lý bộ nhớ dự trữ chuyển
đổi ATC. Phục vụ quá trình chuyển đổi các trang nhớ ảo thành trang nhớ vật lý.
Đ.vị phân trang, TLB (hoặc ATC) đều có trong MMU của hầu hết các bộ vi xử
lý hiện đại. Trong Intel X86 có đơn vị phân đoạn. Trong trường hợp không có
TLB, MMU chứa phần logic giám sát truy nhận đến các bảng và thư mục tương
ứng trong bộ nhớ chính.
IV.Đơn vị nguyên (Integer Unit)- Có đặc tính cấu trúc phục vụ cho xử lý song song , nó có các đơn vị thao tác
thực hiện các phép số học nguyên cộng/trừ, nhân/chia, có tập các thanh ghi 32
bit hoặc 64 bit.
- Các BVXL CISC thường có 8,16 thanh ghi.
- Các VXL RISC có tới 32 thanh ghi, đôi khi có hơn 100 thanh ghi.
4
- Dòng dữ liệu đi theo 2 đường để tới các đơn vị thao tác các phép tính số học.
Đơn vị giải mã phân chia lệnh DID nhận các chỉ thị đã đc giải mã của CU và gửi
chúng tới các đvị x.lý các phép tính thích ứng.
- Các phép tính với số nguyên chuyển tới các đơn vị xử lý các số nguyên của IU,
các phép tính dấu phẩy động chuyển tới đơn vị xử lý dấu phẩy động FPU, …
- Dữ liệu từ D cache thông qua bus dữ liệu thao tác ODB chuyển tới các đơn vị
xử lý
- đơn vị xử lý ống cho phép thực hiện các lệnh dịch nhiều bit nhanh trong 1 chu
kì đơn.
V.Đơn vị dấu chấm động (Floating-Point Unit)FPU là một phần của một hệ thống máy tính thiết kế đặc biệt để thực hiện các
hoạt động trên các số dấu chấm. Hoạt động điển hình là cộng, trừ, nhân, chia,
căn bậc hai, bit thay đổi. Một số hệ thống (đặc biệt là lớn hơn, kiến trúc
microcode-based) cũng có thể thực hiện chức năng siêu việt khác nhau như tính
toán theo cấp số nhân hoặc lượng giác, mặc dù trong hầu hết các bộ vi xử lý hiện
đại được thực hiện chỉ với thói quen thư viện phần mềm.
Trong mục đích chung kiến trúc máy tính hiện đại nhất, một hoặc nhiều FPU
được tích hợp với CPU, tuy nhiên nhiều bộ xử lý nhúng, thiết kế đặc biệt cũ,
không có hỗ trợ phần cứng cho hoạt động dấu chấm động.
Trong quá khứ, một số hệ thống đã thực hiện dấu chấm động thông qua một bộ
xử lý đồng chứ không phải là một đơn vị tích hợp, trong thời đại vi tính, điều này
nói chung là một mạch tích hợp duy nhất, trong khi trong hệ thống cũ nó có thể
là một bảng mạch toàn bộ hoặc một cabin.
5
Không phải tất cả máy tính có một FPU phần cứng. Trong trường hợp không có
FPU, nhiều chức năng FPU có thể được mô phỏng, trong đó tiết kiệm chi phí
phần cứng tăng của một FPU nhưng là chậm hơn đáng kể. Thi đua có thể được
thực hiện trên bất kỳ của nhiều cấp độ: trong CPU như microcode, như một chức
năng hệ điều hành, hoặc trong mã không gian sử dụng.
Trong máy tính hiện đại nhất, có một số bộ phận của hoạt động dấu chấm động
từ các integer operations. Sự phân chia này thay đổi đáng kể bởi kiến trúc, một
số, như Intel x86 đã dành riêng ghi dấu chấm động, trong khi một số mang nó
như xa như các chương trình ép xung độc lập.
6