Tải bản đầy đủ (.doc) (18 trang)

Câu hỏi thi cấu trúc máy tính phần 3 Học viện KTQS MTA

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 (120.13 KB, 18 trang )

Đề thi và đáp án phần 3 môn học cấu trúc máy tính: Vào ra.
Số câu hỏi: 12 câu.
Số điểm cho mỗi câu: 2 điểm
A. Câu hỏi.
Câu hỏi 1: Thế nào là vào/ ra theo mode địa chi gián tiếp và trực tiếp (Với máy tính
IBM-PC sử dụng BVXL của Intel)? Không gian vào/ra của hai mode địa chỉ này khác
nhau như thế nào? Khi sử dụng một phần không gian bộ nhớ làm không gian vào/ra.
Khi đó những tín hiệu điều khiển nào được sử dụng để điều khiển quá trình đọc/ghi
số liệu từ cổng vào/ra. Điều gì là rất quan trong khi thực hiện chương trình ghi/ đọc
cổng loại này?
Câu hỏi 2: Trình bày sơ đồ ghép nối Data Bus với các cổng vào ? Những tín hiều
điều khiển nào sẽ được dùng để điều khiển quá trình đọc số liệu từ cổng vào (trường
hợp vào/ra có không gian địa chỉ riêng). Trình bày lệnh ASM thực hiện lệnh trao đổi
số liệu 8 bits và 16 bits.
Câu hỏi 3: Trình bày sơ đồ ghép nối Data Bus với các cổng ra ? Những tín hiều điều
khiển nào sẽ được dùng để điều khiển quá trình ghi số liệu từ cổng ra (trường hợp
vào/ra có không gian địa chỉ riêng). Trình bày lệnh ASM thực hiện lệnh trao đổi số
liệu 8 bits và 16 bits.
Câu hỏi 4: Bộ vi xử lý truy cập (đọc/ghi) các cổng vào/ra nhờ những lệnh nào? Có
các Mode địa chỉ như thế nào? Số cổng vào/ra có thể địa chỉ hoá được tối đa là bao
nhiêu, tại sao? Tín hiệu điều khiển nào phân biệt CPU đang truy cập vào/ra hay bộ
nhớ?
Câu hỏi 5: Máy tính có mấy hình thức quản lý thiết bị vào/ra? Hình thức nào được
sử dụng trên các máy tính IBM và tương thích. Trình bày vai trò của bảng vector ngắt.
Trong bộ nhớ máy tính,vector ngắt nằm ở vị trí nào? Vector ngắt có bao nhiêu phần
tử, mỗi phần tử gồm mấy byte. Nội dung của nó chứa thông tìn gì? Trình bày cách
xác định địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt có số hiệu ngắt là
int 14h?
Câu hỏi 6: Thế nào là ngắt cứng và ngắt mềm. Hệ điều hành của máy tính IBM cho
phép quản lý tối đa được bao nhiêu ngắt cứng và ngắt mềm. Khi một ngắt được kích
hoạt, CPU xác định địa chỉ của chương trình con phục vụ ngắt đó như thế nào? (cụ thể


cho trường hợp ngắt mềm, ngắt cứng). Xác định các ô nhớ chứa thông tin cho phép
xác định địa chỉ logic của chương trình con phục vụ ngắt có số hiệu ngắt là 18h.
Câu hỏi 7: Định nghĩa vai trò của ngăn xếp và thanh ghi con trỏ ngăn xếp - SP khi
thực hiện thao tác cất giữ và hồi phục số liệu vào trong Stack (ngăn xếp). Khi khởi


động máy tính SP được thiết lập giá trị như thế nào. Khi nào thì SP có giá trị tăng và
khi nào thì có giá trị giảm đi.
Câu hỏi 8: Vì sao nói điều quan trọng nhất trong thao tác ngắt trên máy tính là xác
định được số hiệu ngắt. Với ngắt cứng và ngắt mềm làm thế nào để máy tính xác định
được số hiệu ngắt đó. Để mở rộng các ngoại vi được điều khiển bằng ngắt cứng. Trên
máy tính IBM và tương thích hiện nay, người ta dùng giải pháp nào? Cách nào cho
phép xác định được địa chỉ độ lệch và địa chỉ đoạn của chương trình con phục vụ
ngắt có sô hiệu ngắt là nn. trên một máy tính hiện có.
Câu hỏi 9: Lý do nào để người ta sử dụng phương pháp truy cập số liệu trực tiếp
vào bộ nhớ (DMA)? Với cấu trúc của vi mạch 8237 lắp trên máy tính IBM PC XT
cho phép truyền tối đa mấy kênh DMA, một kênh DMA một lần thực hiện DMA cho
phép truyền tối đa một khối số liệu có dung lượng là bao nhiêu? Tại sao? Nêu vai trò
của 4 kênh DMA trên máy IBM XT? Trên máy tính IBM AT/PC số kênh DMA có
được tăng lên không?
Câu hỏi 10: Phân biệt vào/ra song song và vào/ra nối tiếp. Ưu nhược điểm của 2
phương pháp truyền này. Chúng được sử dụng trong các trường hợp nào. Khi khởi
động, máy tính IBM – PC sẽ kiểm tra và cất giữ địa chỉ của các cổng vào ra song
song và nối tiếp vào đâu. Để kiểm tra sự có mặt của các cổng COM và cổng LPT
trong máy tính IBM PCs người ta dùng phương pháp nào? DTE và DCE là gì?
Câu hỏi 11: Thế nào là phương pháp truyền vi sai, phương pháp này có những ưu
điểm gì và chuẩn vào/ra nào trên máy tính hiện nay sử dựng phương pháp truyền này.
Modem nối với máy tính bằng cổng gì? . Mức logic “0” và mức logic “1” của chuẩn
này trên máy tính tương ứng với điện áp nào? Tại sao? Cách chuyển đổi điện áp này
trên máy tính.?

Câu hỏi 12: Trình bày khái niệm về track, sector, cluster và bảng FAT trên đĩa mềm
và đĩa cứng. Nếu 1 file có kích thước chỉ có 8 bytes thôi, hệ điều hành sẽ phải cấp
không gian đĩa là bao nhiêu để lưu trữ file này (giả thiết 1 sector có kích thước là
1024 bytes, 1 cluster bao gồm 4 sectors).


B. Đáp án.
Câu 1
Câu hỏi: Thế nào là vào/ ra theo mode địa chi gián tiếp và trực tiếp (Với máy
tính IBM-PC sử dụng BVXL của Intel)? Không gian vào/ra của hai mode địa
chỉ này khác nhau như thế nào? Khi sử dụng một phần không gian bộ nhớ làm
2
không gian vào/ra. Khi đó những tín hiệu điều khiển nào được sử dụng để điểm
điều khiển quá trình đọc/ghi số liệu từ cổng vào/ra. Điều gì là rất quan trong
khi thực hiện chương trình ghi/ đọc cổng loại này?
Phân biệt vào/ra theo mode địa chỉ trực tiếp và gián tiếp: Vào ra theo mode địa
chỉ trực tiếp là địa chỉ của cổng vào/ra được nằm trực tiếp ngay trong lệnh vào
0.25
ra. Vi dụ khi cần đọc số liệu từ cổng có địa chỉ 55h vào thanh ghi AL.
IN
AL, 55h
; Đọc nội dung cổng có địa chỉ 55h vào thanh
ghi Al.
Vào ra theo mode địa chỉ gián tiếp là địa chỉ cổng vào/ra được nằm trong thanh
ghi DX. Ví dụ: Khi cần đọc số liệu từ cổng có địa chỉ là 0378h ta cần thực hiện
như sau:
MOV

DX, 0378h ; nạp địa chỉ cổng vào thanh ghi DX.


IN

AL, DX

0.25

; đọc số liệu từ cổng 378h vào thành ghi AL

Không gian địa chỉ của hai Mode địa chỉ trực tiếp và gián tiếp: Khi thực hiện
vào/ra theo mode địa chỉ trực tiếp, địa chỉ cổng được mã hoã bởi 8 bits địa chỉ 0.25
từ A0 đến A7 do đó nó có khả năng địa chỉ hoá được 2 8 = 256 cổng vào và 28 =
256 cổng ra.
Khi thực hiện vào/ra theo mode địa chỉ gián tiếp, địa chỉ cổng được mã hoã bởi
16 bits địa chỉ từ A0 đến A15 do đó nó có khả năng địa chỉ hoá được 2 16 = 0.25
65,536 cổng vào và 216 = 65,536 cổng ra.
Khi sử dụng 1 phần không gian bộ nhớ làm không gian vào ra: Trong cấu trúc
BVXL của một số hãng như Motorolla không có hỗ trợ vào/ra bằng các lệnh
vào ra. Khi đó để thiết kế không gian vào/ra cho máy tính sử dụng các BVXL 0.25
loại này người ta phải dùng một phần của không gian bộ nhớ làm không gian
vào ra. (Không gian địa chỉ vào ra được quy định bởi người thiết kế hệ thống).
Khi đó muốn thực hiện trao đổi số liệu với các cổng vào/ra người ta phải sử 0.25
dụng các lệnh trao đổi số liệu với bộ nhớ. Ví dụ: khi cần đọc số liệu từ cổng có
địa chỉ 35000h vào thanh ghi AL của BVXL.
MOV

AX, 3000h; khởi động thanh ghi đoạn dữ liệu.

MOV

DS, AX.



MOV

AL,[500];

đọc số liệu từ cổng 3500h vào thanh ghi AL

Khi đó các tín hiệu điều khiển quá trinh đọc/ghi cổng vào/ra là các tín hiệu
đọc/ghi bộ nhớ MEMR hay MEMW .

0.25

Cổng vào ra trong trường hợp này sẽ được địa chỉ hoá bằng 20bits địa chỉ do
đó cần có những lưu ý sau:
Mạch giải mã cổng vao/ra là mạch giải mã 20bits địa chỉ (giải mã tuyệt 0.25

đối)

Khi thực hiện các lệnh đọc ghi bộ nhớ nhất thiết phải khởi tạo thanh ghi
đoạn chứa địa chỉ cổng vào/ra.
Câu 2
Câu hỏi : Trình bày sơ đồ ghép nối Data Bus với các cổng vào ? Những tín
hiều điều khiển nào sẽ được dùng để điều khiển quá trình đọc số liệu từ cổng
2
vào (trường hợp vào/ra có không gian địa chỉ riêng). Trình bày lệnh ASM thực điểm
hiện lệnh trao đổi số liệu 8 bits và 16 bits.
Sơ đồ ghép nối Data Bus với các cổng vào trên máy tính:
74 LS 244
D0


Từ
cổng
vào

A0
BUS
địa
chỉ

BUS
số
liệu

D7

0.5
G1

G2

A7

IOR
Thực hiện lệnh IN AL, 5Fh

Để nói ghép Bus với các cổng vào người ta sử dụng bộ đệm một chiều là vi
mạch 74LS244 để ghép nối các cổng vào với Bus số liệu như sơ đồ trên.

0.25



Khi đó mạch giải mã sẽ cho ra tín hiệu chọn chip CS kết hợp với tín hiệu đọc
cổng IOR nối vào các chân điều khiển của vi mạch 74LS244 để thực hiện điều 0.25
khiển quá trình đọc số liệu.
Lệnh trao đổi số liệu giữa Bus và cổng vào: Trao đổi số liệu 8 bits ( AL là
thanh ghi chứa số liệu): Đối với cổng được địa chỉ bởi 8 bits (mode địa chỉ trực
tiếp):
In

0.25

Al, port#

Đối với cổng được đỉa chỉ bởi 16 bits (mode địa chỉ gián tiếp):
Mov
In

dx, port#
Al, dx.

Trao đổi số liệu 16 bits ( AX là thanh ghi chứa số liệu): Đối với cổng được địa
chỉ bởi 8 bits (mode địa chỉ trực tiếp):
In

0.25

0.25

Ax, port#


Đối với cổng được địa chỉ bởi 16 bits (mode địa chỉ gián tiếp):
Mov
In

dx, port#

0.25

Ax, dx

Câu 3
Câu hỏi: Trình bày sơ đồ ghép nối Data Bus với các cổng ra ? Những tín hiều
điều khiển nào sẽ được dùng để điều khiển quá trình ghi số liệu từ cổng ra
2
(trường hợp vào/ra có không gian địa chỉ riêng). Trình bày lệnh ASM thực hiện điểm
lệnh trao đổi số liệu 8 bits và 16 bits.
Để thiết kế các cổng ra người ta sử dụng vi mạch chốt 74LS 373 để ghép nối
bus số liệu với các cổng ra như sơ đồ trên.

0.25

Khi đó mạch giải mã sẽ cho tín hiệu chọn chíp CS kết hợp với tín hiệu ghi
cổng IOW nối vào các chân điều khiển của vi mạch 74LS373 để thực hiện 0.25
điều khiển quá trình ghi số liệu.
Lệnh trao đổi số liệu giữa Bus và cổng ra: Trao đổi số liệu 8 bits ( AL là thanh
ghi chứa số liệu): Đối với cổng được địa chỉ bởi 8 bits (mode địa chỉ trực tiếp):
Out

0.25


port#, Al

Đối với cổng được đỉa chỉ bởi 16 bits (mode địa chỉ gián tiếp):
Mov

dx, port#

Out

dx., Al

0.25


Trao đổi số liệu 16 bits (AX là thanh ghi chứa số liệu): Đối với cổng được địa
chỉ bởi 8 bits (mode địa chỉ trực tiếp):
Out

0.25

port#, Ax

Đối với cổng được đỉa chỉ bởi 16 bits (mode địa chỉ gián tiếp):
Mov

0.25

dx, port#


Out

dx, Ax

Sơ đồ ghép nối Data bus với cổng ra trên máy tính
74 LS 373
D0

D

Từ
BUS
Số
liệu

Cổng ra

0.5
D7

A0
BUS
địa
chỉ

OC

A7

IOW

Thực hiện lệnh OUT 99h, Al

Câu 4
Câu hỏi: Bộ vi xử lý truy cập (đọc/ghi) các cổng vào/ra nhờ những lệnh nào?
Có các Mode địa chỉ như thế nào? Số cổng vào/ra có thể địa chỉ hoá được tối
2
đa là bao nhiêu, tại sao? Tín hiệu điều khiển nào phân biệt CPU đang truy cập điểm
vào/ra hay bộ nhớ?
Máy tính IBM PC sử dụng BVXL của hãng Intel thực hiện truy cập các cổng
0.25
vào ra bằng các lệnh vào ra trực tiếp. là lệnh IN và lệnh OUT.
0.25
Lệnh IN và lệnh OUT có hai mode địa chỉ:
Mode địa chỉ trực tiếp: Không gian vào/ra được địa chỉ hoá bởi 8 bits địa chỉ từ
A0 – A7, ở mode này địa chỉ cổng được nằm trực tiếp trong lệnh. Ví dụ:
IN

AL, 30h;

đọc cổng có địa chỉ 30h vào thành ghi AL


OUT 28h, AL;

Ghi số liệu từ thanh ghi AL ra cổng có địa chỉ 28h.

Không gian vào/ra sử dụng mode địa chỉ trực tiếp với 8bits địa chỉ ta có thể địa 0.25
chỉ hoá được 28 = 256 cổng vào và 28 = 256 cổng ra.
Mode địa chỉ gián tiếp: Không gian vào/ra được địa chỉ hoá bởi 16 bits địa chỉ
từ A0 –A15, ở mode địa chỉ này, địa chỉ của cổng vào/ra được ghi vào thanh

ghi DX. Ví dụ:
Đọc số liệu từ cổng có địa chỉ 3f8h vào thanh ghi AL.
MOV

DX, 03f8h;

Nạp địa chỉ cổng vào thanh ghi DX

IN

AL, DX;

Đọc số liệu từ cổng 3f8h vào thanh ghi AL.

0.25

Không gian vào/ra sử dụng mode địa chỉ gián tiếp với 16 bits địa chỉ ta có thể
địa chỉ hoá được 216 = 65,536 cổng vào và 216 = 65,536 cổng ra.

0.25

Vì không gian vào/ra được địa chỉ hoá bởi 8 bits hay 16 bits địa chỉ do đó
không cần phải xác định địa chỉ đoạn và độ lệch như với không gian bộ nhớ.

0.25

Tín hiệu trạng thái M/ IO được phát ra từ CPU thông báo khi nào thì CPU truy
cập bộ nhớ và khi nào thì truy cập vào/ra. Tín hiệu này được kết hợp với các
tín hiệu RD và WR để tạo ra các tín hiệu điều khiển quá trình ghi đọc bộ nhớ
và vào/ra.


0.25

M/ IO

RD

WR

1
1
0
0

0
1
0
1

1
0
1
0

MEMR
MEMW
IOR
IOW

Tín hiệu đọc bộ nhớ

Tín hiệu ghi bộ nhớ
Tín hiệu đọc cổng vào/ra
Tín hiệu ghi cổng vào/ra

0.25

Câu 5
Câu hỏi: Máy tính có mấy hình thức quản lý thiết bị vào/ra? Hình thức nào
được sử dụng trên các máy tính IBM và tương thích. Trình bày vai trò của
bảng vector ngắt. Trong bộ nhớ máy tính,vector ngắt nằm ở vị trí nào? Vector
2
ngắt có bao nhiêu phần tử, mỗi phần tử gồm mấy byte. Nội dung của nó chứa điểm
thông tìn gì? Trình bày cách xác định địa chỉ đoạn và độ lệch của chương trình
con phục vụ ngắt có số hiệu ngắt là int 14h?
Máy tính có hai thức thức quản lý thiết bị vào/ra là: Quản lý thiết bị bằng cách
0.25
hỏi vòng và quản lý thiết bị bằng phương pháp ngắt
Quản lý bằng cách hỏi vòng là: Mỗi thiết bị vào/ra trên máy tính có trạng thái 0.5
được biểu diễn thông qua các bits trạng thái ở một cổng vào/ra có địa chỉ được
quy định. Máy tính sau một khoảng thời gian nhất định sẽ đọc số liệu từ cổng
và xét trạng thái của các bits đại diện tương ứng với các thiết bị vào/ra. Nếu


bits trạng thái tương ứng với thiết bị ở mức tích cực tương ứng với thông báo
thiết bị vào/ra cần được phục vụ, khi đấy máy tính sẽ chạy một chương trình
tương ứng bằng lệnh CALL hay lệnh JUMP để phục vụ thiết bị vào/ra đó. Ưu
điểm của phương pháp này là thiết kế phần cứng đơn giản có thể dùng cho các
hệ tối thiểu. Nhược điểm của phương pháp này là không đáp ứng được tức
thời với yêu cầu của ngoại vi.
Quản lý bằng phương pháp ngắt: Mỗi thiết bị vào/ra được gán với một tín hiệu

ngắt. khi ngoại vi yêu câu được phục vụ, nó sẽ phát tín hiệu IRQ đến mạch
điều khiển ngắt và qua thiết bị này thông báo cho CPU biết yêu cầu được phục
vụ. Khi CPU nhận được thông báo này nó sẽ cất toàn bộ trạng thái hiện thời
(địa chỉ CS:IP, thanh ghi RF) vào trong ngăn xếp và văn cứ vào số hiệu ngắt để
xác định được địa chỉ của chương trình con phục vụ ngắt. CPU sẽ thực hiện 0.5
chương trình con phục vụ ngắt đáp ứng yêu cầu của ngoại vi tương ứng. Sau
khi chương trình con phục vụ ngắt kết thúc, trạng thái của CPU trước đó sẽ
được hồi phục và CPU lại tiếp tục quá trình trước đó. Ưu điểm của phương
pháp này là đáp ứng tức thời yêu cầu của ngoại vi. Trên máy tính IBM PC và
tương thích hình thức quản lý ngoại vi bằng ngắt được áp dụng
Vector ngắt là một vùng nhớ có độ dài 1024 bytes (1 KB) được quy định nằm
ở địa chỉ từ 00000h – 003FFh dùng để chứa địa chỉ của các chương trình con
phục vụ ngắt. Vecter ngăt gồm có 256 phần tử mỗi phần tử gồm có 4 byte
0.25
(tương đương 1 KB bộ nhớ) được dùng để chứa địa chỉ đoạn và độ lệch của
chương trình con phục vụ ngắt (hai byte thấp chứa địa chỉ độ lệch và 2 byte
cao chứa địa chỉ đoạn)
Hệ điều hành của máy tính IBM quy định có 256 ngắt được đánh số từ 00h –
FFh do đó mỗi phần tử của vector ngắt sẽ chứa địa chỉ của 1 chương trình con
0.25
phục vụ ngắt. Địa chỉ đầu tiên của mỗi phần tử ngắt trong bảng vector ngắt
được xác định gấp 4 lần số hiệu ngắt
Với ngắt có số hiệu là 14h thì địa chỉ đoạn và độ lệch của chương trình con
phục vụ ngắt này sẽ được chứa trong các ô nhớ ở bảng vector ngắt như sau.
Địa chỉ đầu tiên của phần tử ngắt bằng 4 lần số hiệu ngắt: 14h x 4 = 50h.
Như vậy ô nhớ có địa chỉ 00050h và 00051h sẽ chứa địa chỉ độ lệch của
chương trình con phục vụ ngắt 14h.
Ô nhớ 00052h và ô nhớ 00053h chứa địa chỉ đoạn của chương trình con phục
vụ ngắt có số hiệu 14h


0.25


Câu 6
Câu hỏi 6: Thế nào là ngắt cứng và ngắt mềm. Hệ điều hành của máy tính
IBM cho phép quản lý tối đa được bao nhiêu ngắt cứng và ngắt mềm. Khi một
ngắt được kích hoạt, CPU xác định địa chỉ của chương trình con phục vụ ngắt
2
đó như thế nào? (cụ thể cho trường hợp ngắt mềm, ngắt cứng). Xác định các ô điểm
nhớ chứa thông tin cho phép xác định địa chỉ logic của chương trình con phục
vụ ngắt có số hiệu ngắt là 18h.
Ngắt cứng: (Hardware Interrupt) được phát sinh bởi các mạch của máy tính khi
đáp lại 1 sự kiện nào đó. Nó được dùng để điều khiển các thiết bị ngoại vi quan 0.25
trọng trên máy tính như bàn phím, ổ đĩa, máy in .v.v. Các ngắt này được vi
mạch điều khiển ngắt 8259A quản lý.
Máy tính IBM PC XT có 8 ngắt cứng là:
IRQ0 Timer
IRQ1 Keyboard
IRQ2 Dùng trong máy AT
IRQ3 Serial port 2
IRQ4 Serial port 1
IRQ5 Hardisk
IRQ6 Floppy disk
IRQ7 Parallel port 1

0.25

Ngắt mềm (Software Interrup) Do chương trình yêu cầu để thực hiện 1 chương
trình con nào đó có sẵn trong ROM hay trong RAM. Ngắt mềm được thực hiện
bởi lệnh INT.


0.25

Ngoài ra còn có ngắt phát sinh nội bộ được sinh ra khi trong quá trinh thực
hiện chương trình xảy ra các tình huống như tràn số liệu bộ nhớ, chương trình 0.25
thực hịên gặp phải phép chia cho 0 hoặc do yêu cầu của người lập trình trong
quá trình thiết kế hệ thống có thể đặt các ngắt bẫy để kiểm tra.
Hệ điều hành của máy tính IBM PC và tương thích cho phép quản lý được 256
ngắt, mỗi ngắt được gán 1 số hiệu ngắt được đánh số từ 00h đến 0FFh.

0.25

Khi một ngắt được kích hoạt HĐH sẽ xác định địa chỉ của chương trình con
phục vụ ngắt như sau:

0.5

Với ngắt mềm: Số hiệu ngắt được nằm ngay trong lệnh INT, khi đó HĐH chỉ
cần lấy số hiệu ngắt đó nhân với 4 để xác định được vị trí của 4 ô nhớ trong
bảng vectorr ngắt nơi chứa địa chỉ đoạn và độ lệch của chương trình con phục
vụ ngắt.
Với ngắt cứng: HĐH sẽ xác định số hiệu của ngắt tương ứng thông qua việc
đọc nội dung của thanh ghi ICW2 trên vi mạch quản lý ngắt sau đó HĐH lấy


số hiệu ngắt đó nhân với 4 để xác định được vị trí của 4 ô nhớ trong bảng
vectorr ngắt nơi chứa địa chỉ đoạn và độ lệch của chương trình con phục vụ
ngắt.
Xác định vị trí ô nhớ chứa địa chỉ đoạn và độ lệch của chương trình con phục
vụ ngắt tương ứng với ngắt có số hiệu ngắt là 18h:

Vị trí đầu tiên của ô nhớ trong bảng vector ngắt chứa địa chỉ của chương trình
con phục vụ ngắt có số hiệu là 18h là: 18h x 4 = 60h.

0.25

Như vậy hai ô nhớ có địa chỉ là 00060h, 00061h trong bảng vector ngắt sẽ
chứa địa chỉ độ lệch, hai ô nhớ có địa chỉ 00062h, 00063h sẽ chưa địa chỉ đoạn
của ngắt có số hiệu 18h
Câu 7
Câu hỏi 7: Định nghĩa vai trò của ngăn xếp và thanh ghi con trỏ ngăn xếp - SP
khi thực hiện thao tác cất giữ và hồi phục số liệu vào trong Stack (ngăn xếp).
2
Khi khởi động máy tính SP được thiết lập giá trị như thế nào. Khi nào thì SP có
điểm
giá trị tăng và khi nào thì có giá trị giảm đi.
Ngăn xếp là một vùng nhớ có độ dài 64 KB (tương đương 1 segment) được
máy tính sử dụng để cất tình trạng tạm thời của hệ thống gồm trạng thái của
các thanh ghi RF, CS, IP khi thực hiện các thao tác ngắt và là nơi cất giữ và hồi 0.25
phục thông tin các thanh ghi đa năng của BVXL khi thực hiện các lệnh Push
và Pop.
Thanh ghi con trỏ ngăn xếp (SP) là thanh ghi có độ dài 16 bits có chức năng
luôn trỏ đến đỉnh của ngăn xếp.

0.25

Đỉnh của ngăn xếp là vị trí của ô nhớ mà SP trỏ đến, tại đó sẽ diễn ra thao tác
phục hồi và cất giữ số liệu khi máy tính thực hiện các thao tác ngắt và các lệnh
PUSH và POP. . .

0.25


Địa chỉ của đỉnh ngăn xếp là: SS:SP. khi khới động máy tính IBM PC và tương
thích giá trị của thanh ghi SP bao giờ cũng được nạp giá trị lớn nhất FFFEh
Cấu trúc của ngăn xếp là cấu trúc LIFO (Vào sau/ra trước) do vậy khi máy tính
thực hiện quá trình cất giữ trạng thái và thực hiện các lệnh cất giữ PUSH thì
giá trị của ngăn xếp được giảm đi và khi máy tình thực hịên quá trình hồi phục
trạng thái hay các lệnh POP thì giá trị của ngăn xếp được tăng lên. Một thao
tác cất giữ hay hồi phục thông tin khiến cho giá trị của thanh ghi SP thay đổi 2
đơn vị. Tương đương với việc máy tính cất giữ hay hồi phục được 2 byte thông
tin.

0.25
0.5


Ngăn xếp

Con trỏ ngăn xếp

SP = FFFE h

SP =SP+2

SP =SP-2

SP =SP+2

0.5
SP =SP-2


SP =SP+2

SP =SP-2

Cất giữ số liệu ở ngăn xếp

Hồi phục số liệu ở ngăn xếp

Câu 8
Câu hỏi 8: Vì sao nói điều quan trọng nhất trong thao tác ngắt trên máy tính
là xác định được số hiệu ngắt. Với ngắt cứng và ngắt mềm làm thế nào để máy
tính xác định được số hiệu ngắt đó. Để mở rộng các ngoại vi được điều khiển
2
bằng ngắt cứng. Trên máy tính IBM và tương thích hiện nay, người ta dùng
điểm
giải pháp nào? Cách nào cho phép xác định được địa chỉ độ lệch và địa chỉ
đoạn của chương trình con phục vụ ngắt có sô hiệu ngắt là nn. trên một máy
tính hiện có.
Điều quan trọng nhất với thao tác ngắt là xác định được số hiệu ngắt vì khi xác
định được số hiệu ngắt HĐH sẽ thực hiện nhân số hiệu ngắt với 4 để xác định 0.25
được vị trí đầu tiên của ô nhớ trong bảng vector ngắt chứa địa chỉ độ lệch và
đoạn của chương trình con phục vụ ngắt tương ứng.
Với ngắt mềm được thực hiện bằng lệnh INT, số hiệu ngắt được nằm ngay
trong lệnh. Ví dụ lệnh Int 21h tương đương với việc yêu cầu HĐH hành thực 0.25
hiện 1 ngắt có số hiệu là 21h.


Với ngắt cứng: HĐH sẽ xác định số hiệu của ngắt tương ứng thông qua việc
đọc nội dung của thanh ghi ICW2 trên vi mạch quản lý ngắt sau đó HĐH lấy
số hiệu ngắt đó nhân với 4 để xác định được vị trí của 4 ô nhớ trong bảng 0.25

vectorr ngắt nơi chứa địa chỉ đoạn và độ lệch của chương trình con phục vụ
ngắt.
Để mở rộng các ngoại vi được điều khiển bẳng ngắt cứng có thể dùng hai vi
mạch điều khiển ngắt 8259 làm việc ở chế độ nối tầng như trên máy tính IBM
PC AT và tương thích cho phép quản lý đến 15 ngoại vi bằng ngắt cứng.

0.25

Ngoài ra trên các hệ Bus phát triển của máy tính như Bus PCI hiện nay sử
dụng tín hiệu kích hoạt ngắt là tín hiệu mức thì một tín hiệu ngắt có thể cho
phép ứng với nhiều ngoại vi

0.25

Với một máy tính hiện có, thường dùng chương trình Debug để xác định được
địa chỉ đoạn và địa chỉ độ lệch của một chương trình con phục vụ ngắt bất kỳ
(nn h) như sau:
Lấy số hiệu ngắt (nn h) nhân với 4 để xác định được ô nhớ đầu tiên trong bảng
vector ngắt là nơi chứa địa chỉ độ lệch và địa chỉ đoạn của chương trình con
phục vụ ngắt. Khi đã xác định được ô nhớ trong bảng vector ngắt. Sử dụng
lệnh D trong Debug:
D 0000: (nn h*4) L4
Khi đó trên màn hình sẽ hiện ra giá trị của 4 ô nhớ có địa chỉ lần lượt là 0000:
nn h*4, 0000: nn h*4 +1, 0000: nn h*4 +2 và 0000: nn h*4 +3.

0.75

Địa chỉ của chươnmg trình con phục vụ ngắt có sô hiệu nn h được xác định
như sau:
2 ô nhớ 0000: nn h*4 và 0000: nn h*4 +1 chứa địa chỉ độ lệch của chương

trình con phục vụ ngắt có số hiệu ngắt nn h. (IP)
2 ô nhớ 0000: nn h*4 +2 và 0000: nn h*4 +3 chứa địa chỉ độ lệch của chương
trình con phục vụ ngắt. có số hiệu ngắt nn h (CS)
Câu 9
Câu hỏi 9: Lý do nào để người ta sử dụng phương pháp truy cập số liệu trực
tiếp vào bộ nhớ (DMA)? Với cấu trúc của vi mạch 8237 lắp trên máy tính
IBM PC XT cho phép truyền tối đa mấy kênh DMA, một kênh DMA một lần
2
thực hiện DMA cho phép truyền tối đa một khối số liệu có dung lượng là bao điểm
nhiêu? Tại sao? Nêu vai trò của 4 kênh DMA trên máy IBM XT? Trên máy
tính IBM AT/PC số kênh DMA có được tăng lên không?


Khi máy tính cần phải chuyển một số lượng lớn số liệu giữa thiết bị ngoại vi
đến bộ nhớ hay từ vùng này đến vùng khác của bộ nhớ. Nếu sứ dụng CPU thì
đầu tiên CPU nhận thông tin rồi sau đó chuyển đến nơi nhận. Quá trình giải mã
lệnh còn cần thêm các thông tin bổ xung do đó công việc này sẽ rất tốn nhiều
thời gian. Vì vậy Intel thiết kế một bộ điều khiển và truy cập trực tiếp bộ nhớ
(DMA)là vi mạch 8237 cho phép có thể bỏ qua CPU để thực hiện truyền số
liệu trực tiệp giữa bộ nhớ và ngoại vi hay giữa bộ nhớ với bộ nhớ, quá trình
này chỉ thực hiện truyền số liệu mà không có quá trình giải mã lệnh và thực
hiện lệnh như ở trong CPU nhờ vậy mà làm cho quá trình này sẽ nhanh lên rất
nhiều

0.5

Vì dụ: nếu truyền 1 byte số liệu từ 1 cổng ngoại vi đến bộ nhớ thì máy tính
phải thực hiện các thao tác sau
Số chu kỳ đồng hồ
LAP:


MOV
OUT
INC
LOOP

AL, [SI]
PORT,AL
SI
LAP

10
10
2
17
Số chu kỳ thực hiện: 39

0.5

Quá trình này nếu thực hiện bằng truy cập trực tiếp thì chỉ mất có 4 chu kỳ
đồng hồ.
Với cấu trúc vi mạch 8237 lắp trên máy tính IBM PC XT cho phép máy tính có 0.25
4 kênh DMA.
Vì giá trị các thanh ghi địa chỉ hiện hành và đếm từ hiện hành của vi mạch
8237 có độ dài 16 bits do đó một kênh DMA mỗi lần thực hiện DMA cho phép 0.25
chuyển tối đa nội dung số liệu là 216 = 65,536 byte tương đương với 64 KB số
liệu
4 kênh DMA tương ứng trên máy tính IBM PC là:
Kênh DMA 0: Được dùng để làm tươi DRAM. Trong các máy AT/PC không
sử dụng.

Kênh DMA 1: Không sử dụng, người ta dùng kênh này cho mạng.

0.25

Kênh DMA 2: Dùng cho bộ điều khiển đĩa mềm.
Kênh DMA 3: Dùng cho bộ điều khiển đĩa cứng.
Trên máy tính AT người ta bổ xung thêm một vi mạch 8237 nữa do đó tăng số 0.25
lượng kênh DMA lên đến 7 kênh. Khi đó vi mạch 8237#2 nối thêm vào được
dùng làm vi mạch chủ và kênh 0 của nó được dùng để nối tầng với vi mạch
8237 #1. Các kênh 0, 1, 2, 3 của vi mạch 8237#1 được đưa ra trên phần 64
chân của Bus ISA dùng để truyền số liệu 8 bits giữa I/O và bộ nhớ.


Các kênh DMA 5 – DMA 7 xuất phát từ vi mạch 8237#2 được bố trí ở phần 36
chân của Bus ISA và được dùng để truyền số liệu 16 bits
Câu 10
Câu hỏi: Phân biệt vào/ra song song và vào/ra nối tiếp. Ưu nhược điểm của 2
phương pháp truyền này. Chúng được sử dụng trong các trường hợp nào. Khi
khởi động, máy tính IBM – PC sẽ kiểm tra và cất giữ địa chỉ của các cổng vào
2
ra song song và nối tiếp vào đâu. Để kiểm tra sự có mặt của các cổng COM và điểm
cổng LPT trong máy tính IBM PCs người ta dùng phương pháp nào? DTE và
DCE là gì?
Vào ra song song là mỗi một lần thực hiện lệnh IN hoặc OUT thì 8bits hay 16
bits số liệu đồng thời được đưa ra hay nhận vào tại cổng.
Vào ra nối tiếp là mỗi một lần thực hiện lệnh IN hoặc OUT thì chỉ duy nhất 1
bit số liệu được đưa ra hay nhận vào tại cổng. Muốn chuyển đủ. 1 byte số liệu
thì máy tính cần đến 8 lần thực hiện lệnh IN và OUT. Thao tác này phải sử
dụng 1 thanh ghi dịch để chuyển tín hiệu song song thành nối tiếp (lệnh OUT)
và chuyển tín hiệu nối tiếp thành song song (lệnh IN)

Truyền số liệu song song có tốc độ cao hơn nhiều lần so với truyền số liệu nối
tiếp nhưng khi Bus làm việc ở tần số cao thường bị can nhiễu làm ảnh hưởng
tới chất lượng truyền tin. Mặt khác nếu truyền khoảng cách xa thì giá thành sẽ
rất cao do số lượng đường truyền lớn
Xuất phát từ tính chất của truyền số liệu song song nên người ta thường sử
dụng phương thức truyền số liệu song song khi truyền số liệu trong nội bộ máy
tính và truyền số liệu giữa thiết bị chủ và thiết bị tớ với cự ly ngắn như truyền
số liệu giữa máy tính với các ngoại vi thông qua cổng kết nối LPT

0.25

0.25

Phương thức truyền số liệu nối tiếp thường được dùng khi truyền số liệu giữa
thiết bị chủ và thiết bị tớ có khoảng cách xa, khi đó thường có sự giúp đỡ của 0.25
các thiết bị truyền tin như Modem, Rounter.v.v.
Trên máy tính IBM PC cho phép quản lý tối đa đến 4 cống vào ra nối tiếp theo
chuẩn RS 232 (cổng COM) được gán số hiệu từ COM 1 đến COM 4 và 4 cổng
vào ra song song theo chuẩn LPT được gán số hiệu từ LPT1 đến LPT 4. Khi
khởi động máy tính, HĐH sẽ kiểm tra sự có mặt của các cổng vào ra nối tiếp
và vào ra song song và cất địa chỉ của chúng vào vùng nhớ có địa chỉ là:
Địa chỉ của các cổng vào ra nối tiếp được cất giữ từ địa chỉ: 0000:0400 đến
0000:0407
Địa chỉ của các cổng vào ra song song được cất giữ từ địa chỉ 0000:0408 đến
0000:040F

0.5


Do đó để xác định được số cổng vào ra song song và nối tiếp trên máy tính

hiện hành người ta thường dùng lệnh D của chương trình gỡ rối Debug để
quan sát nội dung của vùng nhớ có địa chỉ từ 0000:0400 đến 0000:400F. 8 byte 0.25
đầu tiên sẽ chứa địa chỉ của các cồng COM từ 1 đến 4 và 8 byte tiếp theo sẽ
chưa địa chỉ của các cổng LPT từ 1 đến 4. Khi giá trị của ô nhớ bằng 00 khi đó
cổng COM và LPT tương ứng không tồn tại.
Khi truyền số liệu đi xa người ta phân biệt thiết bị truyền số liệu thành thiết bị
đầu cuối và thiết bị truyền thông.
Thiết bị đầu cuối – DTE (Data Terminal equipment): là thiết bị sẽ chủ động
thu và phát số liệu ví dụ như máy tính, máy Fax, máy điện thoại.v.v.

0.5

Thiết bị truyền thông – DCE (Data Communication eqipment) là thiết bị chỉ
thực hiện khuyếch đại và truyền số liệu trên đường truyền ví dụ như modem,
router, switch.v.v.
Câu 11
Câu hỏi: Thế nào là phương pháp truyền vi sai, phương pháp này có những ưu
điểm gì và chuẩn vào/ra nào trên máy tính hiện nay sử dựng phương pháp
2
truyền này. Mức logic “0” và mức logic “1” của chuẩn RS 232 trên máy tính điểm
tương ứng với điện áp nào?
Phương pháp truyền vi sai là phương pháp sử dụng bộ khuyếch đại vi sai tại
đầu vào của đường truyền số liệu có sơ đồ như
sau:
+
V

U+

D+


Ura

D--

U-

R

R

V-

0.5
V-

V+

Tín hiệu sẽ được truyền trên hai dây tín hiêu là U+ và U- được đưa vào hai
chân D+ và D- tương ứng của bộ khuyếch đại vi sai. Với sơ đồ trên tín hiệu
trên đầu ra Ura sẽ là:

0.5


V +

U ra =  −
V


if

D+ ≥ D−

if

D+ < D−

Việc sử dụng bộ khuyếch đại vi sai có ưu điểm với hai tín hiệu U+ và U- được
xoắn với nhau cho phép triệt tiêu được nhiễu tác động lên đường truyền. Nếu
có một nhiễu loạn Unh tác động lên đường truyền thì tín hiệu đó sẽ tác động
đồng thời lên cả hai dây tín hiệu U+ và U-, khi đó:


+

+

D =U ±U
Tín hiệu tác động lên đầu vào D+ và D-: −  D − = U + U nh
nh


Khi truyền qua khuyếch đại vi sai:

(

0.5

) (


)

D + − D − = U + ± U nh − U − U nh = U + − U −

Rõ ràng tín hiệu nhiễu tác động lên đường truyền đã bị triệt tiêu khi truyền qua
bộ khuyếch đại vi sai. Phương thức truyền sử dụng khuyếch đại vi sai được sử
dụng trên giao thức truyền USB trên máy tính hiện nay
Chuẩn RS 232 quy định mức điện áp như sau:
Mức logíc 0: Tương ứng với mức điện áp từ +3V đến + 25V.
Mức logic 1: Tương ứng với mức điện áp từ -3V đến - 25V.
+25V
+3V
GND
-3V

Mức logic 0
Mức không xác định

0.5

Mức logic 1

-25V

Trên máy tính quy định mức logic 0 và 1 trên cổng COM theo chuẩn RS 232
như sau:
Mức logíc 0: Tương ứng với mức điện áp +12V
Mức logic 1: Tương ứng với mức điện áp -12V
Câu 12

Câu hỏi 12: Trình bày khái niệm về track, sector, cluster và bảng FAT trên đĩa
mềm và đĩa cứng. Nếu 1 file có kích thước chỉ có 8 bytes thôi, hệ điều hành sẽ
2
phải cấp không gian đĩa là bao nhiêu để lưu trữ file này (giả thiết 1 sector có điểm
kích thước là 1024 bytes, 1 cluster bao gồm 4 sectors).


Rãnh 0

Cung 9
Cung 8
Cung 7

Rãnh 1
Cung 1
Cung 2

Rãnh 2

Track là các vòng tròn đồng
tâm nằm trên bề mặt đĩa mà
trên đó người ta có thể ghi
thông tin lên đĩa, số track
trên một mặt đĩa phụ thuộc
vào kiểu đĩa và dung lượng
đĩa.

Trên mỗi một rãnh (track)
người ta chia thành nhiều
cung nhỏ để chứa thông tin

Cung 6
Cung 4
gọi là sector, số sector trên
Cung 5
một track cũng phụ thuộc
vào kiểu đĩa và dung lượng
đĩa, số lượng thông tin lưu
trên một sector thường có thể là 512 byte, 1024 byte.v.v. phụ thuộc vào dung
lượng đĩa và phiên bản của hệ điều hành
Cung 3

Cluster hay còn gọi là 1 liên cung là một đơn vị nhỏ nhất mà đĩa cấp phát cho
hệ điều hành khi lưu trữ thông tin, một cluster có thể gồm 1, 2, 4.v.v sector tuỳ
thuộc vào loại đĩa và hệ điều hành. HĐH bao giờ cũng sử dụng 1 số nguyên
lần các clusster khi lưu trữ thông tin vào đĩa
Bảng FAT (File alocation Table) còn gọi là bảng định vị tệp tin, nó cung cấp
cho hệ điều hành lộ trình tìm kiếm thông tin của các filel (tệp tin) trên đĩâ.
Chính vì vậy mà có 2 bảng FAT giống hệt nhau cho phép dự phòng khi có 1
bảng bị hỏng, HĐH sẽ đọc thông tin trên bảng còn lại. Bảng FAT luôn được
định vị sau bản ghi khởI động. Số lượng các ô chưa thông tin trông bảng FAT
(hay còn gọi là độ dài của bảng FAT) chính bằng số lượng cluster mà đĩa có
được. Theo sự phát triển của hệ điều hành người ta sử dụng bảng FAT 12, FAT
16, hay FAT 32 nghĩa là số lượng các ô chứa thông tin trong bảng FAT được
mã hoá bởi 12, 16 hay 32 bits. Và độ dài của mỗi ô cũng tương ứng là 12, 16
hay 32 bits.
Nội dung thông tin của mối ô trong bảng FAT nói nên:
Tình trạng của liên cung tương ứng trường hợp liên cung đó không chứa
thông tin.
Liên cung tiếp theo sẽ chứa thông tin của một file trên đĩa, trường hợp liên
cung đó chứ thông tin. Ví dụ thông tin ghi trên các ô của một bảng FAT 12 (16)

như dưới đây.
Thứ tự
Cluster

Bảng FAT

Ý nghĩa

0.5

0.25
1.0


0

Chỉ dạng tổ chức của đĩa

1
2

(F)FF7

Cluster hỏng

3

(0)004

Cluster tiếp theo sẽ là (0)004


4

(0)005

Cluster tiếp theo sẽ là (0)005

5

(F)FFF

Cluster cuối cùng của File

6

(0)000

Cluster rỗng

7

(0)000

Cluster rỗng

8

(0)000

Cluster rỗng


Với một file chỉ có kích thước là 8 bytes khi được lưu trữ trên một đĩa được
định dạng như sau: 1 clusster bao gồm 4 sector, mỗi sector có dung lượng 1024
bytes thì file đó sẽ chiếm trọn 1 cluster có kích thước là 1024 bytes x 4 = 4096 0.25
bytes. Hay nói cách khác file đó tuy chỉ có dung lượng 8 bytes nhưng sẽ chiếm
không gian trên đĩa là 4096 bytes tương đương với dung lượng của 1 cluster



×