Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

1) Biểu diễn số nguyên thập phân có dấu và không dấu theo cách biểu diễn số

bù 2, số BCD, số thực về dạng số dấu chấm đô ̣ng IEEE 32 bit.
2) Tổ chức bộ nhớ chính của VXL Intel 8086/8088. Quá trình chuyển đổi địa
chỉ segment:offset sang địa chỉ vật lý trong VXL 80286. Tổ chức các thanh
ghi địa chỉ trong họ Vi xử lý Intel 8086/8088. Mô tả quá trình thực hiện
lệnh của bộ vi xử lý Intel 8086.
3) Các đặc điểm chính ảnh hướng đến công suất của bộ vi xử lý (VXL)?
Trình bày công thức tính tốc độ thực hiện lệnh MIPS và giải thích các
thông số liên quan.
Có 3 đặc điểm:
- Độ dài từ của bộ VXL (tính bằng byte)
+ Phụ thuộc vào thế hệ VXL: 4, 8, 16, 32, 64 bit
+ Độ rộng của các thanh ghi, bus trong, bus ngoài thường bằng độ dài của
từ dữ liệu
+ Độ dài từ xử lý lớn => tăng khả năng biểu diễn dữ liệu, tăng tốc độ tính
toán
- Khả năng đánh địa chỉ
+ Quyết định dung lượng của bộ nhớ mà VXL có thể đánh địa chỉ
+ Khả năng đánh địa chỉ cảu VXL theo số bit địa chỉ
- Tốc độ xử lý lệnh:
+ Có thể do bằng tốc độ thực hiện các lệnh dấu phẩy động FLOPS haowcj
tính toán bằng triệu lệnh/giây (MIPS)
MIPS = (f*N)/(M+T)
f: tần số làm việc của VXL
N: Số lượng các bộ ALV độc lập
M: số lượng các vi lệnh trung bình của 1 lệnh trong bộ VXL
T: hệ số thời gian truy cập bộ nhớ
4)Thanh ghi trạng thái (flags) trong CPU gồm những bit đặc biệt sau (được
xác lập giá trị tuỳ thuộc vào kết quả thao tác cuối cùng của ALU): Sign (cờ
dấu - SF); Zero (cờ Zero – ZF); Carry (cờ nhớ - CF); Overflow (cờ tràn –
OF).

Phuocdeptraivodich
5)Các chế độ địa chỉ? Chế độ địa chỉ bộ nhớ trực tiếp và chế độ địa chỉ bộ
nhớ gián tiếp qua thanh ghi?
- Có 5 chế độ địa chỉ:
+ Tức thì
+ Trực tiếp
+ Gián tiếp
+ Chỉ số
+ Tương đối
- Chế độ địa chỉ bộ nhớ trực tiếp: sử dụng một hằng để biểu diễn địa chỉ một
ô nhớ làm một toán hạng. toán hạng còn lại có thể là 1 thanh ghi hoặc 1 địa
chỉ ô nhớ.
VD: LOAD R1,1000; R1 <- M[1000]: nạp nội dung ô nhớ có dịa chỉ 1000
vào thanh ghi R1
- Chế độ địa chỉ gián tiếp: trong chế độ địa chỉ gián tiếp, một thanh ghi hoặc
1 ô nhớ được sử dụng để lưu địa chỉ một ô nhớ làm một toán hạng. Toán
hạng còn lại có thể là 1 hằng, 1 thanh ghi hoặc địa chỉ một ô nhớ. Nếu
thanh ghi được sử dụng để lưu địa chỉ ô nhớ ta có thể độ địa chỉ gián tiếp
qua thanh ghi, ngược lại nếu ô nhớ được dùng để lưu địa chỉ ô nhớ khác ta
có chế độ địa chỉ gián tiếp qua ô nhớ.
VD: + Gián tiếp qua thanh ghi: LOAD R j, Ri; Rj <- M[Ri]; nạp ND ô nhớ
có địa chỉ lưu trong thanh ghi Ri vào thanh ghi Rj
+ Gián tiếp qua ô nhớ: LOAD Ri, 1000; Ri <- M[M[1000]]; nạp ND
ô nhớ có địa chỉ lưu trong ô nhớ 1000 vào thanh ghi Ri
So sánh trực tiếp và gián tiếp qua thanh ghi:
- Chế độ địa chỉ bộ nhớ trực tiếp: trong chế độ địa chỉ này, toán hạng địa chỉ
lệnh của ô nhớ dùng để chứa dữ liệu, còn toán hạng kia chỉ có thể 1 thanh
ghi mà không thể là 1 ví trí nhớ. Nếu so sánh với chế độ địa chỉ tức thì ta
thây sở đây ngay sau mã lệnh không phải là 1 hoán hạng mà là 1 chỉ lệnh
của toán hạng. Xét về phương diện địa chỉ thì dó là đại chỉ trực tiếp
- Chế độ bộ nhớ gián tiếp qua thanh ghi: trong chế độ địa chỉ này, toán hạng
là 1 thanh ghi được sử dụng để chứa địa chỉ lệnh của ô nhớ chứa dữ liệu,
còn toán hạng kia chỉ có thể là 1 thanh ghi mà không được là một ô nhớ.

Phuocdeptraivodich
6) Xử lý đường ống là gì? Vấn đề nảy sinh khi thực hiện cơ chế này? Nêu
một vài cách khắc phục những vấn đề đó. Sự khác nhau cơ bản trong cơ
chế đường ống lệnh (pipeline) giữa 2 đơn vị xử lý CISC và RISC? Lấy ví
dụ minh họa với VXL Intel 80486.
- Xử lý đường ống là một kỹ thuật làm cho các giai đoạn khác nhau của
nhiều lệnh được thi hành cùng một lúc
- Các vấn đề nảy sinh:
+ Xung đột cấu trúc (Structural hazard): là khi một lệnh dự kiến không thể
thực thi trong đúng chu kỳ pipeline của nó do phần cứng cần không thể hỗ
trợ. Nói cách khác, xung đột cấu trúc xảy ra khi có hai lệnh cùng truy xuất
vào một tài nguyên phần cứng nào đó cùng một lúc.
+ Xung đột dữ liệu (Data hazard): là khi một lệnh dự kiến không thể thực
thi trong đúng chu kỳ pipeline của nó do dữ liệu mà lệnh này cần vẫn chưa
sẵn sàng.
+ Xung đột điều khiển (Control/Branch hazard): là khi một lệnh dự kiến
không thể thực thi trong đúng chu kỳ pipeline của nó do lệnh nạp vào
không phải là lệnh được cần. Xung đột này xảy ra trong trường hợp luồng
thực thi chứa các lệnh nhảy
- Cách khắc phục:
+ Cách 1: Chờ chu kỳ xung clock.
+ Cách 2: Kỹ thuật nhìn trước (forwarding hay bypassing)
Kỹ thuật nhìn trước: một phương pháp giải quyết xung đột dữ liệu bằng
đưa thêm vào các bộ đệm phụ bên trong, các dữ liệu cần có thể được
truy xuất từ bộ đệm này hơn là chờ đợi đến khi nó sẵn sàng trong bộ
nhớ hay trong thanh ghi.
- Sự khác nhau cơ bản trong cơ chế đường ống giữa 2 đơn vị CISC và RISC
là nguyên tắc thực hiện mọi thứ trong các thanh ghi. Đọc và lưu dữ liệu vào
các thanh ghi (gọi là Load – Store).
- Ví dụ minh họa VXL Intel 80486: Một hoạt động viết bộ nhớ 16 bit mất
chừng 22 nhịp đồng hồ trong VXL 8088 và 4 nhịp trong 80386 thì chỉ diễn
ra 1 nhịp trong 80486.
7) Chương trình hợp ngữ
8) Tại sao kiến trúc vi xử lý RISC còn được gọi là kiến trúc “Load/Store”.
Vì:
- Load là lệnh mà nạp dữ liệu từ bộ nhớ vào các thanh ghi.
- Store là lệnh ghi giá trị từ thanh ghi ra bộ nhớ
Vậy mọi thao tác làm việc từ bộ nhớ chỉ có lệnh Load/Store đều đọc từ bộ nhớ
đưa ra thanh ghi

Phuocdeptraivodich
Dựa vào 2 lệnh trên thì nó ứng với đặc điểm kiến trúc VXL RISC là:
- Kiến trúc VXL RISC ưu tiên cho việc sử dụng đữ liệu trong thanh ghi vì
các thanh ghi truy cập nhanh hơn.
- Kiến trúc này sử dụng nhiều thanh ghi, nhờ đó số lượng thanh ghi tăng lên
về mặt kích thước, về mặt số lượng, vì vậy thời gian truy nhập bộ nhớ có
thể giảm tối thiếu nhờ giảm tối thiểu số lượng lệnh đặt trong bộ VXL và
truy nhập bộ nhớ gài chồng lên nhau theo thời gian.
 Kiến trúc VXL RISC còn được gọi là kiến trúc ‘Load/Store’.
9)Biểu diễn câu lệnh ngôn ngữ bậc cao c = a + b bằng lệnh Assembly (theo kiến trúc
“Load/Store”). Ngoài ra, chỉ ra địa chỉ ô nhớ và nôi dung tương ứng trong phần
mã lệnh và dữ liệu, theo các giả thiết sau:
a. Các biến a, b, c được lưu trong bộ nhớ (tại phần dữ liệu) trong các
“words” (mỗi word = 4 byte) liên tiếp nhau, và được khởi tạo trước với
các giá trị lần lượt là a = 125, b = 28, c = 0.
b. Địa chỉ biến a được lưu bắt đầu bằng 0x0000EC00.
c. Chỉ thị Assembly đầu tiên (lệnh Load) được lưu trong phần mã lệnh bắt
đầu bằng 0x000b12A.
d. Mỗi mã lệnh bao gồm 2 phần: mã opcode ở byte đầu tiên, 3 byte còn lại
chỉ địa chỉ ô nhớ tương ứng (cần đọc/ghi dữ liệu). Opcode của lệnh store
là 1, load là 2 và add là 3.
- Theo đề bài ta biến đổi có 2 bảng sau:

address Data

a 0x0000EC00 0x0000007D

b 0x0000EC04 0x0000001C

c 0x0000EC08 0x00000000

Opcode Code
0x0000b12A 0x0200EC00
0x0000b12E 0x0300EC04
0x0000b132 0x0100EC08
- Lệnh Load
PC -> MAR: 0x0000b12A
M -> MBR: 0x0200EC00
MBR -> IR: 0x0200EC00
IR -> MAR: 0x0000EC00
Phuocdeptraivodich
M -> MBR: 0x0000007D
MBR -> AC: 0x0000007D ;

- Lệnh Add
PC -> MAR: 0x0000b12E
M -> MBR: 0x0300EC04
MBR -> IR: 0x0300EC04
IR -> MAR: 0x0000EC04
M -> MBR: 0 x0000001C
MBR + AC -> AC: 0x00000099; 0x0000001C + 0x0000007D
- Lệnh Store
PC -> MAR: 0x0000b132
M -> MBR: 0x0100EC08
MBR -> IR: 0x0100EC08
IR -> MAR: 0x0000EC08
AC -> MBR: 0x00000099
MBR -> AC: 0x00000099

10) Những đặc điểm chính của đơn vị xử lý RISC được cải tiến so với đơn vị
xử lý CISC?
- Kiến trúc RISC có các lệnh Nạp (Load) hoặc lưu trữ (Store) là có thể tham
chiếu tới bộ nhớ.
- Khác với CISC, RISC tồn tại ít lệnh và kiểu địa chỉ.
- Các lệnh thực hiện trong một nhịp chu kỳ.
- Có hỗ trợ cơ chế Pipeline.

11) Thế nào là kiến trúc xử lý siêu hướng (superscalar)? Ảnh hướng của kiến
trúc siêu hướng đến công suất bộ vi xử lý?
- Kiến trúc xử lý siêu hường là kiến trúc của bộ vi xử lý có các khối chức
năng xử lý song song bên trong, nghĩa là cùng 1 lúc nhiều hướng xử lý khác
nhau bên trong VXL. 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.
- Ảnh hưởng của kiến trúc siêu hướng đến công suất bộ VXL: kiến trúc của
bộ VXL có các khối chức năng xử lý song song và 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 vì vậy tăng công suất của bộ
VXL.

12) Viết đoạn lệnh đọc nội dung của vector ngắt ứng với ngắt số 9 trong bảng
vector ngắt.
org 100h
mov ax, 0

Phuocdeptraivodich
mov es, ax
mov al, 9h
mov bl,4h
mul bl
mov bx, ax ;
mov ax, es:[bx + 2]
call printhex
call printspace
mov ax, es:[bx]
call printhex
ret
printhex proc
pusha
mov cx,4
.print_digit:
rol ax,4
mov dl,al
and dl,0xF
add dl,'0'
cmp dl,'9'
jbe .ok
add dl,7
.ok:
push ax
mov ah,2
int 0x21
pop ax
loop .print_digit
popa
ret
endp

printspace proc
pusha
mov ah, 02h
mov dl, ':'
int 21h
popa
ret
endp

Phuocdeptraivodich
13)Phân tích quá trình hoạt động giữa bộ nhớ Cache và bộ nhớ chính. Phân
tích quá trình hoạt động theo phương pháp ánh xạ trực tiếp giữa bộ nhớ
Cache và bộ nhớ chính. Lấy ví dụ minh họa.
- Qúa trình hoạt động giữa bộ nhớ Cache và bộ nhớ chính:
+ CPU tham khảo trong bộ nhớ Cache. Nếu có dữ liệu mà nó cần thì nó lấy
từ Cache, nếu không có thì nó lấy từ bộ nhớ chính DRAM.
+ Nếu có dữ liệu trong Cache => cache hit (trúng cache).
+ Nếu không có dữ liệu trong Cache => cache miss (trật cache).
Từ Khối dòng

CacheS BN chính
CPU RAM DRAM

- Qúa trình hoạt đọng theo phương pháp ánh xạ trực tiếp:
Bộ nhớ chính có 2N byte nhớ
+ Bộ nhớ chính và cache được chia thành các khối có kích thước bằng nhau:
 Bộ nhớ chính: B0, B1, B2, … , Bp -1 ( p Blocks)
 Bộ nhớ Cache: L0, L1, L2, … , Lm -1 ( m Lines)
 Kích thước của Block = 8, 16, 32, 64, 128 byte
Một số Block của bộ nhớ chính được nạp vào các Line của Cache
+ Nội dung Tag (thẻ nhớ) cho biết Block nào của bộ nhớ chính hiện đang được
chứa ở Line đó
+ Khi CPU truy nhập (đọc/ghi) một từ nhớ, có 2 khả năng xảy ra:

 Từ nhớ đó có trong cache (cache hit)


 Từ nhớ đó không có trong cache (cache miss)
Mỗi Block của bộ nhớ chính chỉ có thể được nạp vào một Line của cache:
B0 -> L0
B1 -> L1

Bm-1 -> Lm-1
Bm -> L0
Bm+1 -> L1

Tổng quát
+ Bj chỉ có thể nạp vào Lj mod m
+ m là số Line của cache

Phuocdeptraivodich
14) Cơ chế hoạt động của bộ nhớ ảo? Sự kết hợp giữa phần cứng (Vi xử lý) và
Hệ điều hành trong quá trình hoạt động của bộ nhớ ảo? Ưu điểm của cơ
chế quản lý bộ nhớ theo trang 2 cấp so với theo trang 1 cấp?
- Bộ nhớ ảo: đó là 1 vùng không gian lưu trữ gần giống như bộ nhớ trong
(RAM) nhưng lại được đặt trên đĩa cứng và khoảng không gian này được
cố định (không thể thay đổi địa chỉ vật lý của các ô nhớ trên hệ điều hành).
Bộ nhớ ảo khi có thất bại, tương ứng với việc phải thâm nhập vào ổ đĩa.
Việc thâm nhập này rất chậm nên người ta chọn phương án hoàn toàn phối
hợp trong các khối (trang) có thể nằm ở bất kỳ vị trí nào trong bộ nhớ trong.
Cách này cho tỉ lệ thất bại thấp.
- Ưu điểm của cơ chế quản lý bộ nhớ theo trang 2 cấp so với theo trang 1
cấp: vì trang cấp 2 có kích thước lớn và việc phân trang tiếp trang cấp 1 sẽ
phân ra nhiều trang nhỏ hơn vì vậy sẽ tiết kiệm bộ nhớ, tăng tốc độ chuyển
đổi địa chỉ.
15)Nguyên tắc của việc trao đổi dữ liệu với thiết bị vào/ra bằng phương pháp
DMA?
 Vào ra bằng DMA: truy cập bộ nhớ trực tiếp
+ Thiết bị vào/ra khi có nhu cầu giao tiếp với bộ nhớ thì phát tín hiệu DRQ
đến bộ nhớ DMAC
+ DMAC phát tín hiệu HOLD đến CPU, yêu cầu CPU treo bus
+ CPU thực hiện nốt chu kỳ lệnh, phát tín hiệu HLDC đến DMAC
+ DMAC làm chủ bus, phát tín hiệu DACR đến I/O để báo cho I/O biết là
yêu cầu đã chấp nhận => I/O giao tiếp với bộ nhớ.
16)Phân biệt ngắt bị che và ngắt không bị che? Lấy một ví dụ minh họa hoạt
động của một ngắt không bị che.
17)Phân tích hoạt động của đơn vị quản lý bộ nhớ MMU trong tổ chức bộ
nhớ chính của các VXL Intel tiên tiến.
- Bộ nhớ ảo (MMU): Ý tưởng cơ bản của cơ chế bộ nhớ ảo đó chính là mỗi
chương trình sẽ có một không gian bộ nhớ riêng, không gian bộ nhớ đó sẽ
được chia nhỏ thành nhiều phần gọi là các trang nhớ. Các trang nhớ này sẽ
được ánh xạ vào bộ nhớ chính trong quá trình thực thi tuy nhiên không nhất
thiết tất cả các trang nhớ của chương trình phải nằm trong bộ nhớ chính.
Khi chương trình cần truy xuất một trang nhớ đã nằm trong bộ nhớ chính,
không gian địa chỉ bộ nhớ ảo của trang nhớ đó sẽ được ánh xạ sáng không
gian địa chỉ của bộ nhớ chính. Nếu trang nhớ đó chưa nằm trong bộ nhớ
chính, hiện tượng này chúng ta gọi là lỗi trang khối MMU sẽ báo cho hệ
điều hành để hệ điều hành tiến hành nạp trang tương ứng từ bộ nhớ ngoài
(ví dụ: ổ cứng) và tiến hành thực thi lại lệnh trước đó.

- Sơ đồ chuyển làm việc MMU:

Phuocdeptraivodich
CPU gửi địa chỉ ảo tới MMU

CPU

MEMORY Disk controller


MMU

MMU gửi địa chỉ vật lý tới bộ nhớ

Phuocdeptraivodich

You might also like