Tải bản đầy đủ (.docx) (14 trang)

đề cương và đáp án môn kỹ thuật vi xử lý

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 (240.42 KB, 14 trang )

Đề cương ôn tập
Môn: kỹ thuật vi xử lý
Câu 1: Những đặc điểm cấu trúc của bộ vi xử lý (Công suất, độ dài từ, khả năng đánh địa chỉ, tốc
độ). Cho bộ vi xử lý có tần số làm việc 750MHz theo kiến trúc NeuMamn, bên trong được thiết kế 4
ALU và để thực hiện một lệnh vi xử lý cần 5 vi lệnh với hệ số thời gian truy nhập bộ nhớ là 100ns.
Xác định tốc độ thực hiện lệnh của bộ vi xử lý.
Đáp án
1. Đặc điểm cấu trúc của bộ vi xử lý
Bộ vi xử lý được viết tắt là BVXL (công suất, độ dài từ, khả năng đánh địa chỉ, tốc độ). Cho Bộ
VXL có tần số làm việc 750Mhz, theo kiến trúc NeuManm, bên trong được thiết kế 4 ALU và để
thực hiện 1 lệnh VXL cần 5 vi lệnh với hệ số thời gian truy cập bộ nhớ là 100 ns. Xác định tốc độ
thực hiện lệnh của bộ VXL.
Trả lời:
1.1 Những đặc điểm cấu trúc của bộ VXL:
+ Công suất của bộ VXL: là khả năng xử lý dữ liệu
Đặc điểm:
• Độ dài từ của bộ VXL(data word length), tính bằng số byte.
• Tốc độ xử lý lệnh của Bộ VXL (instruction execute speed)
• Dung lượng nhớ VL có thể đánh địa chỉ (addressing capacity).
* Công suất máy tính
Tốc độ x.lý thông tin, khả năng lưu trữ thông tin, khả năng kết nối nhiều loại thiết bị ngoại vi, …
phụ thuộc vào công suất của bộ VXL trong CPU.
* Độ dài từ:
Mỗi bộ VXL có thể xử lý dữ liệu với độ dài từ cố định. Phụ thuộc vào từng thế hệ VXL và mức
độ phát triển của công nghệ VXL, độ dài từ có thế là 4 bit, 8 bit, 16 bit, 32 bit, 64 bit. Tập lệnh
của bộ VXL thường có các lệnh thực hiện theo từ và theo byte. Nếu 1 từ là 2 byte thì cũng phân
biệt byte cao và byte thấp. Byte thấp chiếm các bit từ 0 đến 7, Byte cao chiếm các bit từ 8 đến 15.
Độ rộng từ có độ dài bao nhiêu bit thì cũng có bấy nhiêu bit đối với các thanh ghi, ALU và bus dữ
liệu bên trong bộ VXL. Bus dữ liệu bên ngoài cũng thường có chừng đó độ dài nhưng cũng có thể
chỉ 1 byte trong khi độ dài xử lý bên trong của bộ VXL là 6 bit. Độ dài từ càng lớn càng tạo ra
nhiều khả năng tính toán của bộ VXL, khoảng biểu diễn số rộng hơn, tốc độ tính toán nhanh hơn.


* Khả năng đánh địa chỉ:
Các từ dữ liệu và lệnh máy cắt trong BỘ NHỚ tại các ngăn nhớ khác nhau. Mỗi ngăn nhớ phải
có địa chỉ nhận biết. Dải đánh địa chỉ càng lớn thì dung lượng BỘ NHỚ càng nhiều. Để đánh địa
chỉ, bộ VXL thường có thanh ghi địa chỉ. Độ rộng của thanh ghi địa chỉ quyết định giải địa chỉ
của vùng nhớ vật lý mà bộ VXL thỏa mãn. VD: độ rộng của thanh ghi là 6 bit có thể đánh được
địa chỉ khoảng nhớ vật lý là 216 = 26 . 210 = 64 KB = 65536 từ 8 bit.
Với số mũ ở hệ cơ số 2 ta có thể đánh giá ngay được độ rộng của thanh ghi địa chỉ hay bus địa
chỉ. VD: để đánh được địa chỉ đến 32Gb, cần phải có 35 đường dây địa chỉ (A0-A34). Khả năng
đánh địa chỉ càng lớn thì càng cho phép tạo ra 1 hệ thống máy tính có cấu hình mạnh với nhiều
loại thiết bị ngoại vi, bộ nhớ chính có dung lượng lớn (đến vài trăm MB) và khả năng xử lý
nhanh.
* Tốc độ thực hiện lệnh:
Tốc độ thực hiện lệnh của bộ VXL có thể đo bằng tốc độ thực hiện các lệnh dấu phẩy động


FLOPS hoặc tính bằng triệu lệnh/giây (MIPS). Công thức tính MIPS theo kiến trúc NeuMan là:
MIPS = (f*N)/(M+T)
Trong đó:
f : tần số làm việc của Bộ VXL
N: số lượng các đơn vị xử lý số học và logic (ALU) không phụ thuộc vào nhau bên trong bộ VXL
M: số lượng vi lệnh trung bình của 1 lệnh trong bộ VXL
T : hệ số tg truy cập BỘ NHỚ (chu trình chờ đợi trong khi truy cập BỘ NHỚ )
Theo CT này, tốc độ thực hiện lệnh của bộ VXL có thể thay đổi nhờ 4 yếu tố. Để nâng cao tốc độ
VXL kiên trúc song song , đường ống, đồng xử lý, BỘ NHỚ dự trữ. Và bus rộng đã được áp
dụng cho cac chip VXL công nghệ cao hiện nay.
MIPS phụ thuộc vào tần số nhịp đồng hồ của bộ VXL. Tần số nhịp càng lớn thì tốc độ thực hiện
lệnh càng cao. Các bộ VXL khi s/x thường có kí hiệu chữ cái hay số cụ thể để phân biệt tần số
nhịp đồng hồ. Tần số nhịp đồng hồ của bộ VXL phụ thuộc vào công nghệ chế tạo bộ VXL. Phần
lớn các bộ VXL được chế tạo theo 2 công nghệ bán dẫn: NMOS và CMOS
1.2 Tốc độ thực hiện lệnh của bộ VXL:

f = 750MHz
N=4
M=5
T=100
MIPS=(f*N)/(M+T)=(750*4)/(5+100)=28.57
2. Câu 2: Hãy nêu những đặc tính nâng cao tốc độ của bộ vi xử lý là gì? Định nghĩa kiến trúc
siêu hướng? Khuôn dạng dữ liệu.
Đáp án:
+Xử lý song song: là 2 quá trình, tính toán cùng xảy ra đồng thời. Trong kiến trúc máy tính, sự kết
hợp 2 bộ VXL trong khối xử lý trung tâm (CPU) tạo ra khả năng xử lý song song trong cùng 1 tg.
Kiến trúc này có thể tạo ra tốc độ xử lý dữ liệu lên gấp đôi so với kiếntrúc chỉ dùng 1 bộ VXL. Cũng
có thế thực hiện song song ngay bên trong cấu trúc của bộ VXL, bằng cách thiết kế sao cho quá trình
xử lý D.liệu bên trong chip VXL chia thành các phiên khác nhau và thực hiện song song nhờ sự phân
chia khôi logic điều khiến(CU) bên trong thành phần riêng.
+ Đồng xử lý: là bộ VXL riêng biệt kết nối với bộ VXL thông qua bus hệ thông. Bộ đồng xử lý chỉ
thực hiện 1 số chức năng đặc biệt, ví dụ như các phép toán đòi hỏi sự chính xác sử dụng dấu phẩy
động. Tốc độ xử lý của bộ đồng xử lý những phép tỉnh này sẽ nhanh hơn rất nhiều so với bộ xử lý
chính. Các bộ VXL công nghệ cao hiện nay đã cấy vào bên trong khối xử lý dấu phẩy động FPU càng
làm tăng tốc độ tỉnh toán các phép tỉnh nhanh và chính xáchơn nhiều.
+Bộ nhớ lưu trữ (cache memory): BỘ NHỚ cache là BỘ NHỚ có tốc độ cao, nó có thể nằm ngay
bên trong bộ VXL với dung lượng hạn chế hoặc nằm kế ngay bên cạnh bộ VXL và kết nôi trực tiếp
với chip xử lý với dung lượng đủ lớn, trong khi đó BỘ NHỚ chính kết nối với bộ VXL thông qua bus
hệ thông. Sự trao đổi dữ liệu giữa BỘ NHỚ chính và bộ VXL bị hạn chế về tốc độ, vì vậy để tăng tốc
độ xử lý, phải tổ chức làm sao khi thực hiện chương trình, bộ VXL trước hết tìm kiếm lệnh ở BỘ
NHỚ dự trữ trước, nếu không có lệnh chứa trong BỘ NHỚ dự trữ thì mới phải tìm tới BỘ NHỚ
chính. Điều này có nghĩa là nếu đa số lệnh không có trong BỘ NHỚ dự trữ thì tốc độ xử lý chậm hơn
gấp đôi so với truy cập thắng vào BỘ NHỚ chính. Vì vậy phải tổ chức làm sao đa số các lệnh của
chương trình nằm hẳn trong BỘ NHỚ dư trữ, ví dụ các lệnh có tần suất xuất hiện trong chương trình
cao thì có thể cất trong BỘ NHỚ dự trữ. Dung lượng BỘ NHỚ dựtrữ phải đủ lớn để đảm bảo lưu trữ
những chương trình ứng dụng lớn. Ngày nay, dung lượng BỘ NHỚ dự trữ bên trong các chip VXL



chưa cao (32Kb :16Kb Dcache, 16Kb lcache). Với BỘ NHỚ dự trữ bên ngoài có thể đạt tới dung
lượng 2-4 MB.
+Kỹ thuật đường ông: Mô phỏng dây chuyền lắp ráp máy móc, hệ thông
đường dẫn, trong 1 số VXL hiện nay có chức năng thực hiện các lệnh máy liên
tục thành 1 dây chuyền với 5 công đoạn : nhập D.Liệu của lệnh từ BỘ NHỚ , giải mã
lệnh, thực hiện các lệnh, ghi kết quả thực hiện lệnh vào BỘ NHỚ . Khí lệnh thứ 1 bắt
đầu bước vào thực hiện, ở giai đoạn 2 thì mã lệnh của lệnh tiếp theo được
đọc từ BỘ NHỚ ra để thực hiện bước 1 (giải mã lệnh). Cứ như vậy, các lệnh được
thực hiện theo 1 dây chuyền liên tục như là dòng nước đi trong đường ông.
Tốc độ xử lệnh vì thế được tăng lên rất cao.
_Bus rộng: Kĩ thuật bus rộng áp dụng cho cả bên trong lẫn bên ngoài bộ VXL.
Bên trong bộ VXL, thanh ghi tổng (A) có độ dài gấp đôi bus, như vậy tốc độ tỉnh toán sẽ nhanh hơn,
bởi không phải thực hiện các phép truy cập với BỘ NHỚ để lưu trữ các kết quả trug gian của các
phép tỉnh.
+Kiến trúc siêu hướng: Kiến trúc của bộ VXL có các khôi chức năng xử lý song
song bên trong gọi là kiến trúc siêu hướng, nghĩa là cùng l lúc nhiều hướng
xử lý khác nhau bên trongVXL. Kiến trúc siêu hướng là sự phát triển tiếp theo
của kiến trúc RISC, nó không những nâng cao tốc độ xử lý mà còn nâng cao
độ tin cậy của CPU, bởi vì khi có sự cô ở 1 chip VXL thì chip VXL còn lại vẫn
đảm nhiệm chức năng được bình thường.
_Khuôn dạng d.liệu: Khuôn dạng d.líệu của các loại VXL được phân biệt theo các số có dấu, không
dấu, các kí tự mã ASCII, mã BCĐ (hệ 2 - 10) - không dấu và có dấu B - Byte (8 byte), H - nửa từ (16
bit), W từ (32 bit), D - từ kép (64 bít) (sự
phân loại này cho các bộ VXL 32 bit) Bít đầu là bit cao nhất (MSB)
các kí tự mã ASCII : mỗi kí tự được mã hóa bằng 8 bit. Dữ liệu ở mã BCĐ : dữ liệu được biểu diễn bằng
các nhóm số 4 bit. Mỗi nhóm số 4 bit có giá trị không vượt quá 10 (1010). Phân biệt dữ liệu ở mã BCĐ
đóng gói và không đóng gói. Trong BCĐ đóng gói, tất cả 64 bít được chia ra 8 nhóm (8 digit) và cả 8
digít được dùng để mã hóa. Hai BCĐ digit trong 1 byte. Trong BCĐ không đóng gói, chỉ dùng 4 bit thấp

trong từng byte để làm digít mã BCĐ, 4 bit cao của từng byte không dùng tới và đều ghi giá trị 0. Các dấu
phẩy động phân ra số chính xác đơn 32 bit và chính xác kép 64 bit theo chuẩn IEEE 754-1985. Cũng có
thể mở rộng độ chínhxác đến 80 bit ở 1 số bộ VXI. Số dấu phẩy động có bit lớn nhất (MSB) dùng làm
dấu, dấu = 0, đó là số dương. Dấu = 1 là dấu âm.
Câu 3: Vẽ sơ đồ cấu trúc bên trong của bộ vi xử lý 8,16 bit. Giải thích
chức năng từng bộ phận:ALU, các thanh ghi, CU. Các vi mạch hỗ trợ cho


Bộ VXL.
Đáp án:


Giải thích chức năng từng bộ phận (ALU, các thanh ghi, CU):

a.

Đơn vị số học - logic (ALU) chứa khối logic thực hiện xử lý d.lỉệu Thực hiện các phép tỉnh số
học và logic: and, sub, mul, div, and, or,not,…Shift left, Shift right, decr, incr,…Có hai cổng vào
(in) để nhận d.lỉệu vào ALU và cổng ra (out) để lấy kết quả xử lý d.lỉệu của ALU ra ngoài. các
thanh ghi templ và temp2 làm nhiệm vụ nhận d.lỉệu từ các nơi khác nhau bên trong BVXL thông
qua bus d.lỉệu bên trong và lưu trữ trung gian dữ liệu trong quá trình xử lý d.lỉệu trongALU.
Tương tự, cổng ra kết nối với bus d.lỉệu bên trong do đó kết quả phép toán có thế đc ra tới các nơi
khác nhau, d.lỉệu thường được đưa tới nơi bộ cộng. các lệnh máy đc ALU xử lý có thể 1 hay 2
toán hạng.

_Lệnh máy đc đọc từ BỘ NHỚ vào BVXL đc giải mã nhờ bộ giải mã lệnh để tạo
ra chuỗi các tín hiệu đi tới ALU đ.khỉển quá trình x.lý d.lỉệu trong ALU.


b. Các thanh ghi: đc chia thành nhóm theo mục đích s.dụng

_Nhóm thanh ghi dùng chung:
Thanh ghi A (bộ cộng), B, C, D, E, H, L : 8 bit.
để xử lý 16 bít, có các lệnh thực hiện với các cặp thanh ghi BC, CE, HL
Các thanh ghi khác : thanh ghi trạng thái (SR), con trỏ ngăn xếp (SP), thanh đếm lệnh (PC), thanh ghi
lệnh (instruction register),...
Thanh ghi tổngA (accumulator): tham gia phần lớn các phép tỉnh độ dài của thanh tổng có thể tính bằng
độ dài từ hoặc gấp đôi độ dài từ của BVXL.
những lệnh l/O với ngoại vi là nhóm lệnh trao đổi byte d.liệu giữa thanh ghi
tổng A với các thanh ghi của điều khiển ngoại vi.
_Lệnh nhập d.liệu IN PORT là lệnh đọc d.liệu từ cổng của ngoại vì vào thanh
ghi A và OUT PORT là đọc nội dung thanh ghi A ra port ngoại vi. Thanh đếm chương trình PC (program
counter) l chươngtrình đc BVXL thực hiện phải chứa trong BỘ NHỚ chính. PC chứa đ.chỉ của lệnh trong
BỘ NHỚ và chỉ ra cho BVXL biết lệnh tiếp theo nằm ở ngăn nhớ nào để lấy ra thực hiện. trong các
BVXL công nghệ cao có cơ chế quản lý BỘ NHỚ ảo. Cơ chế đánh địa chi ảo có sự biến đổi đ.chỉ ảo
thành đ.chỉ VL nội dung của đ.chỉ lệnh sẽ phức tạp.
Thanh ghi trạng thái SR(status register) dùng để ghi kết quả của các lệnh k.tra, s.sánh và 1 số lệnh tính
toán với các thanh ghi thanh ghi trạng thái còn đgl thanh ghi cờ, s/dụng các bit cờ có thể thực hiện rẽ
nhánh chương trình = các lệnh nhảy và rẽ nhánh có đ.kiện Con trỏ ngăn xếp SP (stack pointer) Ngăn xếp
là BỘ NHỚ có cơ chế truy cập theo kiểu LIFO, luôn đc truy cập ở đinh TOP. Nó làm nhiệm vụ lưu trữ
những thông tin phải dùng đi dùng lại nhiều lần. Các lệnh tác động đến ngăn xếp: call, ret, int, Các lệnh
chuyên dùng để cất giữ n.dung và phục hồi các thanh ghi của ngăn xếp là push và pop, các lệnh này làm
thay đổi đỉnh của ngăn xếp.
Con trỏ ngăn xếp SP chứa đ.chi của đỉnh ngăn xếp và n.dung của SP sẽ
thay đổi mỗi khi thực hiện các lệnh vừa nêu trên khi khởi động hệ thống máy tính, con trỏ ngăn xếp luôn
đc khởi tạo về địa chỉ đỉnh của ngăn xếp. Thanh ghi đ.chỉBỘ NHỚ và logic (memory address register
and logic) có độ dài 16 bit, các đầu ra của nó đc điều khiển nối ra bus đ/c của h.thống máy tỉnh để thực
hiện chọn ngăn nhớ or để chọn cổng ngoại vi nào đó. Trong chu kì đọc lệnh, l lệnh máy đc đọc từ BỘ
NHỚ , lúc này ndung thanh ghi đ/c ngăn nhớ và n.dung của thanh đếm lệnh PC là như nhau, nghĩa là
thanh ghi đ.chi BỘ NHỚ trỏ tới từ lệnh đang đc đọc từ BỘ NHỚ . Thanh ghi đchi BỘ NHỚ không thể
tự động tăng hay giảm ndung mà nó nhận đchi lệnh từ PC, từ SP và thanh ghi chỉ số. Phụ thuộc vào các

loại VXL, nó có thể có đ.dài khác nhau: 16, 32, 64 bit Thanh ghi lệnh IR(instruction register) chứa lệnh
đang thực hiện như là bộ đệm duy trì ndung mã lệnh và đầu ra của IR đưa tới bộ giải mã lệnh để tạo ra
chuỗi các tín hiệu điều khiển thực hiện lệnh.

b.

Control Unit (đơn vị điều khiển)
có liên hệ thông tin với t.cả các đ.vị trong BVXL bởi nó đ.khỉển toàn bộ
h.độg xử lý thông tin bên trong BVXL.
kqua giải mã lệnh đc đưa đến khối logic điều khiển CL (control logic)
tạo ra chuỗi các tín hiệu để đ.khỉển quá trình ghi đọc với các thanh ghi


bên trong, tính toán trong ALU từ CL, các xung tin hiệu đ.khỉển đi ra bus điều khiển của h.thống
tác
động đến BỘ NHỚ hoặc đơn vị l/O để thực hiện trao đổi d.liệu CL nhận tin hiệu đ.khỉển từ bên
ngoài, nhưtín hiệu ngắt (INT, NMI),
HOLD, RESE1Ị... để xử lý bên trog trc khi đưa ra các tin hiệu trả lời như:
chấp nhận ngắt INTA, dừng HALT,…CL quyết định thứtự làm việc của từng đvị trong bộ VXL và
sựtrao đổi
thông tin với thế giới bên ngoài chip VXL. CL là trung tâm đ.khỉển của BVXL
3. Các vi mạch hỗ trợ cho BVXL
Mỗi loại VXL có những mạch hỗ trợ phù hợp đi theo: các bộ VXL công
80386) đã có những vi mạch

nghệ cao hiện nay (kể từ

VLSI hỗ trợ gộp nhiều chức năng đ.khỉển khác nhau đc đưa vào để có thể
thành 1 CPU của 1 máy vi tính.
Các máy tính thể hệ pentium 586] 150 - 233 MHz với bảng mẹ PSI/ ISA

có các vi mạch VLSI hỗ trợ như: 82437VX, 82438VX, để tạo nhịp đồng
hồ, điều khiển l/O...
Các máy vi tính hiện nay đều có khả năng thiết lập ban đầu cho các vi
mạch hỗ trợ (chipset), đó là các chế độ chipset features setu p, bios
features setup,...
Câu 4: Vẽ sơ đồ khối đơn vị giao tiếp bus (BIU) của các bộ vi xử lýmcông nghệ cao. Giải thích chức
năng từng bộ phận: BIU, PUIQ, SFU, Cache, IU, MMU.
Đáp án


* Chức năng của từng bộ phận:
1. BIU: Bus địa chỉ là các đường dẫn tín hiệu logic một chiều để truyền địa chỉ tham chiếu tới các khu
vực bộ nhớ và chỉ ra dữ liệu được lưu giữ ở đâu trong không gian bộ nhớ. Trong qúa trình hoạt động CPU
sẽ điều khiển bus địa chỉ để truyền dữ liệu giữa các khu vực bộ nhớ và CPU. Các địa chỉ thông thường
tham chiếu tới các khu vực bộ nhớ hoặc các khu vực vào ra, hoặc ngoại vi. Dữ liệu được lưu ở các khu
vực đó thường là 8bit (1 byte), 16bit, hoặc 32bit tùy thuộc vào cấu trúc từng loại vi xử lý/vi điều khiển.
2. PUIQ (khối tiền đọc lệnh và hàng lệnh)
- chứa các mạch logic để đọc trc các lệnh từ Icache và đặt vào hàng xếp các lệnh theo nguyên tắc vào trc
ra sau FIFO
- 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ọ VXL ngày nay cho phép 1 số lệnh đồng thời đc giải mã (xử lý song song )
3. SFU (special function unit): khối chức năng đặc biệt, có thể là:
- khối đồ họa
- khối xử lý tín hiệu
- khối xử lý ảnh
- bộ XL ma trận và vector
4. Cache: là BỘ NHỚ tốc độ nhanh nằm giữa BVXL và BỘ NHỚ chính


- Sự tồn tại BỘ NHỚ dự trữ với k.thước đủ lớn làm tăng hiệu suất của BVXL vì nó cho phép BVXL truy

nhập thông tin nhanh hơn nhiều so với truy cập vào BỘ NHỚ chính
- BỘ NHỚ dự trữ kép (dual cache memory) phân ra BỘ NHỚ dự trữ các lệnh (Icache), BỘ NHỚ dự trữ
lưu trữ d.liệu (Dcache). Cả 2 cache đều kết nối với bus bên trong. Chúng nhận thông tin từ BỘ NHỚ
chính thông qua bus D.liệu và BIU.
- Icache kết nối trực tiếp với PUIQ, nó chuyển 1 hay 1 số lệnh vào PUIQ trong 1 c.kì
- Thông qua bus D.liệu bên trong BỘ NHỚ dự trữ D.liệu (Dcache) và bus D.liệu điều hành (ODB) giao
tiếp với các đơn vị chức năng khác (IU, SFU, FPU)
* Trong nhiều loại VXL còn có thêm BỘ NHỚ dự trữ thứ cấp (secondary cache memory)
- cache bên trong chip VXL là cache sơ cấp (primary cache)
- cache thứ cấp nằm bên ngoài chip và giữa cache sơ cấp và BỘ NHỚ chính bên trong cấu trúc BỘ
NHỚ . Nó có tốc độ truy cập nhanh hơn truy cập BỘ NHỚ chính (vì nó nằm bên ngoài BVXL nên nó có
thể có dung lượng lớn hơn cache sơ cấp).
- dung lượng của cache thứ cấp có thể lên đến vài MB (pentium III cho phép mở rộng tới 4 MB)
5. IU (integer unit): đơn vị nguyên
- 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.
- Dòng d.liệu đi theo 2 đường để tới các đvị thao tác các phép tính số học. Đ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 đ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 đvị x.lý dấu phẩy động FDU, ...
- D.liệu từ Dcache thông qua bus dữ liệu thao tác ODB chuyển tới các đvị x.lý
- Đvị dịch ống cho phép thực hiện các lệnh dịch nhiều bit nhanh trong 1 c.kì đơn.
6. MMU : có các chức năng sau:
Chuyển đổi địa chỉ ảo hay địa chỉ logic thành địac hi vật lý. Điajc hi vật
lý được chuyển tới cache hoặc thông qua BIU và bus địa chỉ tới BỘ NHỚ bên
ngoài bộ vxl để 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 cho BỘ NHỚ , bảo vệ BỘ NHỚ cho cả 2 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 (address translation cache)
phục vụ quá trình chuyển đổi các trang nhớ ảo thành phần trang nhớ
vật lý
Đơn vị phân trang , TLB (hoặc ATC) đều có TRONG mmu của hầu hết
các bộ vxl hiện đại. trong intel X86 có đơn vị phân đoạn. Trong trường
hợp ko có TLB,MMU chứa phần logic giám sát truy nhập đến các bảng và
thư mục tương ứng trong BỘ NHỚ CHÍNH
Câu 5: Giải thích phương pháp xử lý lệnh theo kiến trúc siêu hướng
(Superscalar). Với xu hướng phát triển công nghệ RISC, CU được hoàn toàn
cứng hoá hay thường được lập trình.
_Kiến trúc siêu hướng (superscalar) thể hiện trong đặc tỉnh thực hiện các
lệnh song song . Khốitiền đọc lệnh gửi ra i lệnh cùng l thời điếm tới khối
giải mã. Khối điều khiển lần lượt tạo ra các chỉ thị cho 1 số ống thực
hiện. Số lượng lệnh không nhất thiết phải = số ống, tuy nhiên sối lệnh
số ống sẽ là hiệu quả nhất, vì nhưvậy là ỉ lệnh cũng thực hiện song song
Đơn vị fflều khiển CU của BVXL có thế hoàn toàn cứng hoặc đc lập trình.


Trong hầu hết các BVXL, công nghệ CISC (Intel X86 và Motorola) CU
thường đc lập trình. Với xu hướng phát triển công nghệ RISC, CU đc hoàn
toàn cứng hóa nhằm tăng tốc độ thực hiện hâu hết các lệnh trong 1 chu
kì đơn.
Câu 6: Chức năng của đơn vị quản lý bộ nhớ MMU.
Trả lời:
MMU : có các chức năng sau:
Chuyến đổi địa chỉ ảo hay địa chỉ logic thành địa chỉ vật lý. Địa chỉ vật
lý được chuyến tới cache hoặc thông qua BIU và bus địa chỉ tới BỘ NHỚ bên
ngoài bộ vxl để 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 cho BỘ NHỚ , bảo vệ BỘ NHỚ cho cả 2 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 (address translation cache) phục vụ quả trình
chuyển đổi các trang nhớ ảo thành phân trang nhớ vật lý
Đơn vị phần trang , TLB (hoặc ATC) đều có TRONG mmu của hầu hết
các bộ vxl hiện đại. trong intel X86 có đơn vị phân đoạn. Trong trường
hợp ko có TLB,MMU chứa phần logic giám sát truy nhập đến các bảng và
thư mục tương ứng trong BỘ NHỚ CHÍNH
Câu 7: Bộ nhớ Cache: Cấu trúc Cache, thuật tóan thay thế (pp thay
thế dòng của tập trong cache)
Vẽ sơ đồ của cấu trúc Cache và cho biết nguyên tắc họat động. Cho
dòng X=275 trong bộ nhớ chính với số lượng các tập trong Cache là k=128.
Xác định dòng X của bộ nhớ chính được xếp vào tập bao nhiêu của bộ nhớ
Cache.
1. Cấu trúc Cache
Cache ghi nhớ 1 tập hợp Ai các địa chỉ của BNC và các từ dữ liệu M(Ai)
tương ứng của tập hợp Ai
Dữ liệu trao đổi giữa cache và BNC được nhóm theo các khối dữ liệu
Các dong cất giữ trong cache ko có địa chỉ riêng mà chúng được tham
chiếu tại địa chỉ của chúng lưu vào trong BNC Địa chỉ các dòng trong cache được sắp xếp địa chỉ Nội
dung của mảng là bản sao của tập các khối nhở liên tiếp nhau kèm theo địa chỉ của BNC
2. Thuật toán thay thế (phương pháp thay thế đồng của tập trong Cache)
B1: C1PU yêu cầu lệnh/d.lỉệu lưu trữ trong địa chỉ “a”
B2: Khi đó nội dung từ đ.chỉ “a” không có bên trong BN Cache, CPU phải
mang nó về trực tiếp từ BN RAM.
B3: Bộ phận đ.khỉển Cache tải 1 hàng (thông thường 64 byte) bắt đầu từ
đ.chỉ “a” và bên trong BN Cache. Điều đó nhiều hơn d.lỉệu CPU đã yêu cầu, do đó nếu chương trình tiếp
tục chạy tuần tự (có nghĩa là yêu cầu đ.chỉ a + 1), lệnh/d.lỉệu tiếp theo CPU sẽ yêu cầu đã đc tải trong BN
Cache.
B4: Mạch fflện gọi là PreFetch tải nhiều v.tríd.liệu hơn sau dòng sau, có nghĩa là bắt đầu những nội dung
tải từ địa chỉ a + 64 vào BN Cache.Nếu chương trình thường chạy tuần tự thì CPU không bao h cần lấy

d.lỉệu trực tiếp từ BN RAM về, những lệnh và d.lỉệu CPU yêu cầu sẽ thường nằm trong BN Cache trc khi
CPU hỏi tới chúng.Nếu chương trình thường chạy tuần tự thì CPU không bao giờ cần lấy dữ liệu trực tiếp
từ bộ nhớ RAM về (ngoại trừ việc tải lệnh đầu tiên), những lệnh và dữ liệu CPU yêu cầu sẽ thường
nằmtrong bộ nhớ Cache trước khi CPU hỏi tới chúng.Tuy nhiên những chương trình lại không chạy như
vậy, chúng sẽ thường nhảy từ vị trí bộ nhớ này tới vị trí bộ nhớ khác.Thách thức lớn nhất của Bộ phận


điều khiển Cache chính là cố gắng phỏng đoán CPU sẽ nhảy tới địa chỉ nào, để tải nội dung của địa chỉ đó
vào bên trong bộ nhớ Cache trước khi CPU yêu cầu
nó để tránh trường hợp CPU phải đi tới bộ nhớ RAM của hệ thống, vi điều đó làm chậm hiệu suất làm
việc của toàn bộ hệ thống. Nhiệm vụ này được gọi là Dự đoán rẽ nhánh và những CPU mới đều có đặc
điểm này. Những CPU hiện đại có tỉ
lệ “hit” ít nhất là 80%, có nghĩa là ít nhất 80% thời gian CPU không cần truy cập trực tiếp tới bộ nhớ
RAM của hệ thống và thay thế vào truy cập tới bộ nhớ Cache
3. Nguyên tắc hoạt động
Địa chỉ vật lỷ A từ bộ vxl được gửi đến cache khi bắt đầu chương trình
truy cập bộ nhớ thì cache so sánh phần tử của A với tất cả các địa chỉ Ai,
nếu có sựtrùng thì cache được chọn từ dữ liệu tương ứng với địa chỉ A,
tức là M(A). Và nó kết thúc chu trình truy cập bộ nhớ bằng cách truy
nhập dữ liệu từ bộ vxl tới bản sao hoặc ngược lại đọc bản sao tới bộ
vxl.Nếu ko có sự trùng hợp, cache khởi tạo 1 trình tự với 1 hoặc vài chu
trình để nạp bộ địa chỉ tương ứng, địa chỉ A chứa M(A)
Cache chia thành 1 số tập (set)
Vd: set 0->set k-l
-Mỗi tập có một sô dòng (line)
Vd: line 0->set 0
Ko phải mảng chương trình nào cũng được cất toàn bộ vào cache mà chỉ một phần
Mảng thông tin của chương trình thuộc cache gọi là hỉt(trúng đích) và
hệ số của hit gọi là hệ số trúng đích,ký hiệu là H,còn mảng thông tin của
chương trình ko thuộc cache goi la miss(trượt đích) và hệ số của miss gọi

là hệ số trượt đich,ký hiệu là 1-H.
Phương pháp thay thế dòng của tập trong cache gọi là thuật toán thay
thế bao gồm 1 số phương pháp thay thế sau:
+tùy ý
+FIFO
+ít sử dụng nhất
Từ đó ta có thể tỉnh được thời gian truy xuất trung bình của dòng dữ liệu
trong bộ nhớ
ta=Htal+(l-H)ta2 hay ta=tal+(l-H)tb
tal: thời gian truy xuất cache
ta2 : thời gian truy xuất BNC
tb=tal-ta2 : thời gian vận chuyển từ BNC đến cache
Cho dòng X = 275 trong BN chính v ớỉ số lượng các tập trong Cache là k
128. Xác định dòngX của BN chính đc xếp v ảo tập bao nhiều của BN
Cache. Dòng 275 sẽ đc xếp như sau : 275/128 = 2 + 19/128, nghĩa là dòng
275 của BN chính đc xếp vào tập 19 trong Cache.


Câu 8: Các kiểu của bộ xử lý song song và hiệu suất của xử lý song
song. Hãy so sánh cấu trúc máy tính chia sẻ bộ nhớ và phân tán bộ nhớ.
Các kiểu của BVXL song song
Phân loại Flynn:
+Chuỗi lệnh là chuỗi d.lỉệu SISD
+Chuỗi lệnh là nhiều chuỗi d.lỉệu SIMD
+Nhiều chuỗi lệnh 1 chuỗi d.lỉệu MISM
+Nhiều chuỗi lệnh nhiều chuỗi d.lỉệu MISM
_Phân loại theo cấu trúc:
Truyền thông theo các biến số dùng chung
Các hệ kết nối chặt chế hay các BVXL gọi là VXL đối xứng SM P.
Hệ thống VXL chia sẻ BN: Cứ 1 VXL có 1 BN l/O dùng riêng của nó

Hiệu suất của XL song song: Hiệu suất của XL song song : E(n) = T(1) / n*T(n) Trong đó: - n: số
processors - T(n): thời gian thực hiện của n processors *
_So sánh cấu trúc máy tính chia sẻ BN và phân tán BN
Máy tính chia sẻ Bộ nhớ
Hệ thống máy tính với tổ chức, mà trong đó các đvị nhớ kết nối
trên mạng N làm thành 1 BN chính tổngthế đảm bảo chia sẻ cho tất
cả các đvị x.lỷ, gọi là máy tính có BN chia sẻ.
Máy tính phân tán Bộ nhớ
Hệ thống máy tính mà trong đó mỗi đ.vị x.lý kết nối với 1 đvị nhớ
tạo thành 1 khối xử lý riêng (với tài nguyên riêng) và kết nối với
nhau trên mạng kết nối N để trao đổi tài nguyên, thì gọi là máy tính
có BN phân phối tài nguyên.
Câu 10: Các kiểu của Bộ XL song song. Các BVXL có cấu trúc ống.
a)Các kiểu bộ xử lý song song
Có nhiều cách phân loại song song dựa trên cấu trúc hoặc hành vi của
chúng: Đơn vị xử lý trung tâm (CPU) đọc các lệnh và các toán hạng từ bộ nhớ,
thực hiện lệnh, và chuyển kết quả vào lại bộ nhớ chính (main memory).
Các bước thực hiện lệnh này gộp lại thành một chu kỳ lệnh (lnstruction Cycle)
Các lệnh có thể hình thành một chuỗi các lệnh liên tiếp nhau đọc từ bộ
nhớ vào bộ xử lý, trong khi các toán hạng cũng hợp thành một chuỗi dữ
liệu theo sau đi tới và từ bộ xử lý.
Nếu đặt M1 và MD là số lượng các chuỗi lệnh và các chuỗi dữ liệu tương
ứng thì theo Micheal J.Flyunn, các máy tính được phân loại thành 4
nhóm dựa trên số lượng M1 và MD.
Phân loại Flynn
1.Một chuỗi lệnh một chuỗi dữ liệu SISD (Single lnstruction Stream
Multiaple Data Stream)
MI=MD=L Hầu hết các máy tính và máy vi tính sử dụng với một chip VXL
các loại là các máy tinh kiểu SISD
2. Một chuỗi lệnh nhiều chuỗi dữ liệu SIMD:

Ml=l,MD>l, trong các hệ thống máy tính SIMD có nhiều bộ VXL làm việc
song song với nhau, thực hiện một mệnh lệnh giống nhau nhưng với


những dữ liệu khác nhau. Những dạng máy tính chuyên dụng cho xử lý
Vector và mảng(array) là những máy tính SIMD
3. Nhiều chuỗi lệnh một chuỗi dữ liệu MISD
Ml>l,MD=L Trong các máy tính MISD có nhiều bộ xử lý làm việc song
songvà có nhiều bộ xử lý làm việc song song và xử lý chức năng riêng
(theo những mệnh khác nhau) nhưng với dữ liệu giống nhau
4. Nhiều chuỗi lệnh nhiều chuỗi dữ liệu MIMD
Ml>l,MD>L Thi hành theo các mệnh lệnh khác nhau với các dữ liệu
khác nhau
Phân loại theo cấu trúc
Một hệ thống máy tính có thể được xem như một tập hợp n>=l bộ xử lý
hay đơn vị xử lý trung tâm(CPU)z Pl,P2,. . .,Pn và
m>=O đơn vị nhớ chia sẻ (share memory unit) hoặc module nhớ
MI,M2…Mm kết nối trong mạng N bên trong hệ thốngmáy tính.
Máy tính chia sẻ bộ nhớ:
Hệ thống máy tính với tổ ch ức, mà trong đó các đơn vị nhở kết nối trên
mạng thành một bộ nhớ chính tổng thể đảm bảo chia sẻ cho tất cả các
đơn vị xử lý.
Máy tính phân tán bộ nhớ Hệ thống máy tính mà trong đó mỗi đơn vị xử lý nổi với một đơn vị nhớ
tạo thành khối xử lý riêng (với tài nguyên riêng)
và kết nối với nhau trên mạng kết nối N để trao đổi tài nguyên, thì gọi là
máy tính có phân phối tài nguyên.
Cấu trúc nối mạng N cũng được phân loại. nó có thế cố những dạng như
sau: Bus chia sẽ đơn (Single Shared Bus)
Được sử dụng trong các hệ thống máy tỉnh tuần tư cũng như máy tỉnh
songsong.

Nhược điếm : Khi số lượng n (các đơn vị xử lý) và m (số lượng đơn vị nhớ)
tăng lên thì tốc độ của Bus đơn phải rất nhanh và àsự đụng độ cạnh
tranh truy cập Bus là tăng thời gian chờ đợi được phục vụ trên Bus với
các đơn vị xử lý và đơn vị nhớ.Mạng nhiều Bus khắc phục được nhược fflếm của Bus đơn.Trong đó, một
số đơn vị xử lý và đơn vị nhớ khác lại kết nối với mọt Bus
khác, hoặc có những đơn vị xử lý và đơn vị nhớ có thế kết nối cùng một
lúc với một số Bus àgiảm quá tải cho các Bus, sự đụng độ truy cập Bus
giảm tối thiếu.
Nhược điếm : khi có 1 sự cố nào đó xảy ra đối với một Bus nào đóầthì
hiệu suất mạng giảm ffl rõ rệt
Cảc Bus giao nhau (Crossbar Bus)
Mỗi đơn vị xử lý kết nối với tất cả đơn vị nhớ tương tự, mỗi đơn vị nhở kết
nối với các đơn vị xử lý. Cấu trúc này khắc phục được cẩu trúc nhiều Bus.
Nhược điếm : Có thế xảy ra trường hợp xấu là tất cả các đơn vị xử [ỷ cũng
truy cập vào 1 đơn vị nhớ.Kết nối hình câyMạng kết nối hình cây còn gọi là cây nhị phân, tức là với gốc
(các đơn vị
xử lý mẹ) chỉ có 2 đơn vị xử lý con kết nối vào
Nhưvậy nếu có số lượng hàng (tầng cây) là P thì sẽ có số tống các đơn vị
xử [ỷ là n=2p-l, tức là số tầng cây P xấp xi
bằng P=logn


Mạng kết nối siêu lập thế n- chiều
Mạng kết nối này còn gọi là kết nối n- cup nhị pạahn (binary n-cube) vì
nếu có n chiều thì có 2n đơn vị xử lý kết nối trong
khối lập thế. Nếu n=3 thì có 8 đơn vị xử lý.
b) Các bộ xử lý có cẩu trúc ống (pipelỉne processor)
bộ XL ống gồm có 1 chuỗi liên tiếp các mạch xử [ỷ mà các mạch xử lý đó
thường đgl phân đoạn hay tầng. Thông qua
chuỗi này, dòng toán hạng đc xử lý. Mỗi phân đoạn xử [ỷ từng phần của

các toán hạngvà các kết quả cuối cũng chỉ
nhận đc khi toàn bộ chuỗi các toán hạng đã ffl qua hết các phân đoạn
của ống. Mỗi phân đoạn x.lý từng phần các toán hạng và k.quả cuối cùng chỉ
nhận đc khi toàn bộ chuỗi các toán hạng đã đi qua hết các phân đoạn của đoạn ống.
Thanh ghi ra, (R)
Cấu trúc của BVXL ống:
Phân đoạn m, (Sm)
Phân đoạn 2, (82)
Phân đoạn 1, (SI) Các thanh ghi Ri là những bộ đệm nhận d.lỉệu Di - 1 (là các kết quả tính đc trong c.kì
xung nhịp đồng hồ trc của các đvị tỉnh Ci - 1) từ phân đoạn Si - 1, ngoại trù các thanh ghi Ri nhận d.liệu
bên ngoài ống. Một đường ống lệnh đơn giản có thể đc tổ chức gồm 2 phân đoạn:
phân đoạn đọc lệnh (31) và phân đoạn thực hiện lệnh (82)
Một đường ống lệnh cơ bản có thể hình thành nhờ phân theo chu kì
lệnh: đọc lệnh(Sl), giải mã lệnh(Sl), đọc các toán
hạng(SB), thực hiện lệnh (84), cất giữ kết quả (35)
Câu 11: Trình bày tóm tăt nội dung tiểu luận nghiên cứu của bạn về
môn học KTVXL. Cho biết những đặc trưng nổi bật và ưu nhược điểm.



×