Tải bản đầy đủ (.pdf) (69 trang)

bộ câu hỏi ôn tập cấu trúc máy tính có lời giải chi tiết

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 (2.11 MB, 69 trang )

Ôn tập :4 (12 câu )
Câu hỏi 1:Thế nào là chế độ đồ hoạ và chế độ văn bản
trênCard điều khiển màn hình và màn hình?Trong chế độ văn
bản, byte thuộc tính trongVideo RAM có ý nghĩa gì?
Trên màn hình và Card điều khiển màn hình của máy tính có hai
chế độ làm việc: Chế độ văn bản và chế độ đồ hoạ.
-hình là một ký tự, một ký tự là một tập hợp các điểm sáng được
sắp xếp thành các hàng và cột (Tuỳ theo độ phân giải mà mỗi ký
tự có kích thước là 8*14 điểm sáng hay 9*14 điểm sáng.v .v .).
Trong Card điều khiển màn hình có một mạch giải mã tạo ký tự
được nạp sẵn trong một vi mạch ROM thông qua một mạch chốt
và dịch để đưa ký tự ra màn hình. Tuỳ theo độ phân giải của màn
hình mà kích thước của màn hình có thể là 80 cột * 25 = 1000 ký
tự hàng hay 80 cột * 25 hàng = 2000 ký tự. Như vậy có thể thấy
rằng đối tượng điều khiển của Card điều khiển màn hình là rất ít.
Chế độ văn bản chỉ tồn tại trên hệ điều hành DOS Chế độ đồ hoạ:
Card điều khiển màn hình khi đó cần điều khiển đến từng điểm
sáng trên màn hình nếu mànhình có độ phân giải là 800 điểm sang
* 600 điểm sáng = 48,000 điểm sang thì khi đó đối tượng điều
khiển của card màn hình sẽ là 48,000 điểm sang lớn hơn gấp nhiều
lần khi nó làm việc ở chế độ văn bản.
Chế độ đồ hoạ được sử dụng trên hệ điều hành Windows. Ở mỗi
một điểm điều khiển trên màn hình, cần phải có thông tin về điểm
ảnh, hay ký tự, màu sắc, độ sáng và vị trí của nó. Ở chế độ văn
bản thông tin về màu sắc và độ sáng của một ký tự trên màn hình
được chứa trong 1 byte và byte đó được gọi là byte thuộc
tính.Vùng nhớ của Video RAM được quy định bắt đầu từ địa chỉ
A0000h đến BFFFFh. Ở chế độ văn bản thường người ta sử dụng
vùng nhớ Video RAM bắt đầu từ địa chỉ B0000h hoặc B8000h
tuỳ theo từng loại card và màn hình Như vậy mỗi một vị trí của
của một ký tự trên màn hình sẽ tương ứng với hai byte của bộ nhớ


Video RAM. Người ta quyđịnh tính từ trái qua phải, từ trên xuống
dưới, ký tự ở vị trí cột đầu tiên, hàng đầu tiên trên màn hình sẽ
được đánh số 0, tiếp theo là 1, 2, .v .v . Giả sử địa chỉ đầu tiên của
mà Video Ram sẽ sử dụng bắt đầu từ địa chỉ B800h, màn hình có
độ phân giải 80 cột * 25 hàng thì nội dung của Video RAM từ địa
chỉ đó sẽ như sau:
Địa chỉ logic
Địa chỉ vật

Nội dung

B800:0000
B8000
Mã ASCII của kí tự hàng 1
cột 1
B800:0001
B8001
Thuộc tính của kí tự tại hàng
1 cột 1
B800:0002
B8002
Mã ASCII của kí tự hàng 1
cột 2
B800:0003
B8003
Thuộc tính của kí tự tại hàng
1 cột 2
B800:07CE
B87CE
Mã ASCII của kí tự hàng 25

cột 80
B800:07CF
B87CF
Thuộc tính của kí tự tại hàng
25 cột 80

Câu hỏi 2: Nêu mối quan hệ giữa độ phân giải màn hình, số
bits mã hoá màu và độ lớn của bộ nhớ Video RAM? Tại sao
người ta lại luôn luôn đưa ra các giải pháp sử dụng giao diện
Card AGP. AGP 2x, AGP4x, 8x rồi PCI Exp 16x cho Card điều
khiển màn hình trên máy tính?
Mối quan hệ giữa độ phân giải màn hình, số bits mã hoá màu và
độ lớn của Video RAM. Ở chế độđồ hoạ: Có hai tham số liên quan
đến điểm ảnh là:
- Vị trí của điểm ảnh
- Thuộc tính của điểm ảnh bao gồm màu và độ sáng.
Khả năng màu càng lớn thì bộ nhớ Video càng phải lớn. Số màu
hiển thị tại một thời điểm của 1 điểm ảnh luôn là 2n (n là số bits
mã hoá màu)
Chẳng hạn như Card VGA có độ phân giải 640 * 480 có khả năng
hiển thị 256 màu (mã hoá bởi 8 bits màu đòi hỏi bộ nhớ là
640*480*8 = 2,457,600 bits. Card SVGA có độ phân giải
1024*768 vàđược mã hoá bởi 24 bits màu cần dung lượng bộnhớ
là 1024*768*24 = 18,874,368 bits = 2,359,296 byte tương đương
với dung lượng bộ nhớ 2,5 MB.Như vậy có thể kết luận rằng, độ
phân giải màn hình càng lớn, số bits mã hoá màu của màn hình
càng lớn thì đòi hỏi bộ nhớ Video RAM cànglớn.
Ta thấy rằng muốn cho hình ảnh trên màn hình trung thực và rõ
nét thì độ phân giải và số màu hiển thị củacủa Card màn hình càng
phải lớn, điều đó có nghĩa làđể hiển thị được 1 trang màn hình có

tính năng nhưtrên thì lượng thông tin phải được truyền từ CPU
đếnBộ nhớ Video thông qua Bus cũng phải lớn. Ví dụ khisử lý
ảnh 3D, một bộ nhớ đồ hoạ cập nhật với tốc độ 30 hình/giây , độ
phân giảI màn hình là 640 * 480, vị trícủa điểm ảnh được biểu
diễn bởi 2 bytes, cần 1 lần đọckhung hình, 2 lần đọc/ghi bộ đệm
Z, 8 lần đọc ghi kếtcấu và 1 lần đọc các thành phần bổ xung màu.
Khi đótốc độ trao đổi dữ liệu là: 640 * 480 * 2 byte*30 hình/s *
(1+2+8+1) = 640*480*60*12 = 221,184,000 bytes/sec.Dải thông
của Bus PCI chỉ là 133MB/s như vây ta thấyngay rằng nếu dùng
Bus PCI sẽ không đáp ứng được bàitoán xử lý hình ảnh này . Để
nâng cao tốc độ truyền dữliệu giữa CPU và Card màn hình người
ta đưa ra chuẩnAGP, Bus AGP có tần số làm việc 66Mhz nhanh
gấp đôitần số làm việc của Bus PCI là 33Mhz và có 4 chế độ hỗtrợ
truyền là 1X, 2X, 4X, 8X. Tốc độ truyền 1X tươngứng vớI 266
MB/s, 2X tương ứng với 512MB/s, 4X là1GBs và chế độ 8X là
2,1 GBs và PCI Express tương ứngvới tốc độ truyền là 4,4GBs.
Rõ ràng là để xử lý hình ảnhvới tốc độ nhanh hơn cho chất lượng
hình ảnh cao thì tốcđộ truyền giữa CPU đến Card Video càng phải
cao, đó làlý do mà người ta liên tục đưa ra các chuẩn AGP 1X,
2X, 4X, 8X và PCI Express.
Câu hỏi 3: Trong máy tính IBM PC, chuẩn Centronic khác với
chuẩn LPT ở điểmnào? Vì sao hiện nay người ta sử dụng chuẩn
LPT mà không sử dụng chuẩn Centronic. Có thể dùng phương
pháp nào để kiểm tra sự có mặt của các cổng LPT trên máy
tính?
Nối ghép Centronic là chuẩn giao diện máy in đầu tiêndành cho
các máy tính họ 80x86 của Intel. Ghép nốinày có 36 chân được
đánh số từ 1-36 trong đó có nhiềuchân đất cho phép các đường
tín hiệu có đất riêngnhằm để tránh tác động của nhiễu qua đường
nguồn.36 chân này được chia thành các nhóm sau:

Các đường dữ liệu - Để chuyển dữ liệu từ máytính đến máy in
Các tín hiệu trạng thái máy in – Xác định trạng thái máy in tại
một thời điểm bất kỳ.
Các đường đất - Để cấp đất cho từng tín hiệu tín hiệu dữ liệu, tín
hiệu điều khiển và trạng thái.
Từ máy tính AT dùng BVXL 80286 trở đi nối ghép máy in dùng
giao diện DB-25P (25 chân). Về cơ bản giống như chuẩn Cetronic
khác nhau ở chỗ chuẩn DB25P không sử dụng các đường tínhiệu
đất về cho các chân dữ liệu và điều khiển. Lý do là về sau này
máy in dùng nguồn Switching có khả năngchịu được sự thay đổi
lớn của phụ tải mà không gây nhiễu do đó không cần sử dụng các
đường đất riêng biệt cho từng tín hiệu.
Khi bật nguồn máy tính, ROMBIOS sẽ kiểm tra sự có mặt của
máy in qua các cổng DB-25P . Địa chỉ của các cổng máyin được
chứa trong địa chỉ từ 0040:0008 đến 0040:000F của vùng nhớ (8
bytes, mỗi cổng máy in cần 2 bytes).
Địa chỉ cơ sở
LPT
Cổng dữ
liệu
Cổng trạng
thái
Cổng điều
khiển
00408-00409
LPT1
03BC H
003BD H
03BE H
0040A-0040B

LPT2
0378 H
0379 H
037A H
0040C-0040D
LPT3
0278 H
0279 H
027AH
Ví dụ: Kiểm tra trên máy tính cổng máy in nào được dùng:
C> DEBUG
d 40:98 L8
0040:0008 78 03 00 00 00 00 00 00
Như vậy trên máy tính tồn tại 1 cổng DB- 25P có địa chỉ cơ sở là
0378 H, không có cổng máy in nào nữa tồn tại trên máy tính



Câu hỏi 4: Khi nào xảy ra hiện tượng tràn bàn phím. Để phân
biệt ký tự “E” và “e” người ta dùng giải pháp nào?
Khi phím được ấn mã bàn phím sẽ được truyền nối tiếp sang bảng
mạch mẹ, từ đây được chuyển thành tín hiệu song song và được
cất vào 1 bộ đệm trước khi CPU thực hiện đọcmã của phím vừa
được ấn. Bộ đêm bàn phím này lưu được mã quét của 20 phím.
Nếu CPU bận không kịp đọc, thôngtin sẽ được chứa đầy trong bộ
đệm và xảy ra hiện tượng tràn bàn phím. Khi bộ đệm này đầy nó
sẽ ngừng nhận phím ấn và gửI 1 byte có giá trị là 0FFh đến CPU.
Chương trình phục vụ ngắt bàn phím Int 09h đầu tiên sẽ kiểm tra
giá trị của byte này , nếu là 0FFh nghĩa là tràn bộ đệm và nó sẽ
phát âm thanh ra loa thông báo cho ngườI sử dụng biết. Nếu

không ngắt Int 09h sẽ kiểm tra phím Shift, Alt và Ctrl. Sau đó Int
09h sẽ ghi mã quét và mã ASCII vào một bộ đệm bàn phím nữa
dài
32 bytes có địa chỉ từ 0041Eh đến 0043Dh, ngắt Int 16h sẽ thực
hiện đọc bộ đệm bàn phím này . Nếu như ngắt Int 16h không kịp
đọc dữ liệu trong bộ đệm này cũng xảy ra hiện tượng tràn bàn
phím
Ta biết rằng mõi một phím trên bàn phím chỉ códuy nhất môt mã
quét bàn phím. Để phân biệt kýtự “E” và “e” hay nói cách khác là
phân biệt hai kýtự có cùng một mã quét bàn phím người ta sử
dụng byte trạng thái bàn phím, byte trạng thái thái bàn phím thứ
nhất được lưu trữ ở địa chỉ 0040:0017 và byte trạng thái thái bàn
phím thứ hai được lưu trữ ở địa chỉ 0040:0018. Như vây tuỳ thuộc
vào bit biểu diễn trạng thái Capslock hay bit RightShift, hoặc
LeftShift có mức logic “1” mà chúng ta xác định được mã ASCII
của ký tự tương ứng với mã quét bàn phím
Câu hỏi 5: Giao diện USB hiện nay có những ưu điểm gì nổi
bật so với các giao diện khác như RS-232, LPT. Truyền số liệu
trong giao diệnUSB sử dụng nguyên lý nào. Nguyên lý đó có ưu
điểm gì nổi bật.?
USB là một giao thức truyền dữ liệu tuần tự giữa máy tính với các
thiết bị ngoại vi. Máy tính khiđó được coi như chủ Bus. Nguyên
tắc kết nối nàyhoàn toàn tương tự như cách trao đổi thông tin
trong mạng máy tính nghĩa là mỗi thiết bị ngoạivi sẽ được máy
tính gán cho 1 địa chỉ IP (Internet Protocol). Do đó kết nối USB
có những ưu điểm nổi trội hơn với giao diện RS 232 hay LPT như
sau:
Dữ liệu sẽ được truyền trên USB theo hai chế độ:
Chế độ cao tốc (Full speed mode) với tốc độ 12Mbs.
Chế độ chậm (low speed mode) với tốc độ 1,5Mbs.

Có tốc độ cao hơn rất nhiều lần so với hai giao diện RS 232 hay
LPTNgoài ra giao diện USB còn được HĐH hỗ trợ “hot plug and
play” Người sử dụng có thể cắm thêm hoặc tháo ra một thiết bị
ngoại vi mà không cần tắt máy tính hay cài đặt lại hệ thống. Thiết
bị ngoại vi cũng không cần bản mạch phụ trên máy chủ vì chức
năng này được phần mềm hệ thống đảm nhiêm. Khi phát hiện ra
một thiết bị ngoại vi mới, hệ điều hành sẽ tự động cài đặt các phần
mềm điều khiển thiết bị. Đây là những tính năng mà các ngoại vi
nối với máy tính qua giao diện RS232 và LPT không thể có được.
Với nguyên tắc kết nối theo kiểu mạng máy tính nên giao diện
USB cho phép kết nối được tối đa 127 thiết bị bằng cách nối tiếp
nhau hoặc dùng Hub trung tâm. Trong khi đó nếu dùng giao diện
RS-232 hay LPT máy tính chỉ có khả năng quản lý tối đa đến 4
ngoại vi
Ngoài ra quá trình truyền số liệu trong giao diện USB sử dụng
nguyên lý truyền dòng sử dụng bộ khuyếch đại vi sai, nguyên lý
này cho phép triệt tiêu được nhiễu loạn tác động lên đườngtruyền
và đảm bảo truyền được khoảng cách xa
Câu hỏi 6:Trong máy tính hiện nay . Nói CPU, bộ nhớ,hệ Bus
và ngoại vi làm việc ở cùng 1 tần số?Điều đó là đúng hay sai?
Tại sao? Thiết bịnào trên hệ thống Bus của máy tính đảm bảo
cho các bộ phận trên làm việc ở các tần sốkhác nhau?
Nói trên máy tính hiện nay, CPU, bộ nhớ hệ Bus và ngoại vi làm
việc ở cùng 1 tần số là không đúng vì các lý do sau đây:
Trên máy XT ban đầu sử dụng BVXL 8086/88 CPU, RAM và I/O
cùng được nối vào 1 Bus
Năm 1987 Compaq đưa ra ý tưởng chia đồng hộhệ thống thành 2
hệ khác nhau, CPU và RAM làmviệc cùng 1 tần số độc lập với
tần số của I/O ý tưởng này được thực hiên trên máy tính sử dụng
trên máy tính sử dụng BVXL 80286 và 80386. Kết nối giữa 2 Bus

là 1 thiết bị gọi là Bridge (Cầu nối)
Từ máy tính sử dụng BVXL 80486 Intel sử dụng kiến trúc “Clock
doubling” trong BVXL khi đó tần sô làm việc của BVXL bằng
tần số làm việc của Bus nhân 2. Ở các BVXL tiến tiến tần sô làm
việc của BVXL có thể gấp 10,12 lần tần số làm việc của Bus.Như
vậy ta thấy rằng kiến trúc Clock double và Bridge là thiết bị đảm
bảo cho CPU, bộnhớ, hệ Bus và ngoại vi làm việc ở các tần số
khác nhau.
Câu hỏi 7: Thế nào là hệ thống BUS, trên máy tínhcó bao nhiêu
loại Bus nêu chức năngcủa từng loại Bus đó? Độ rộng củaBus
địa chỉ, Bus số liệu quy định khảnăng cụ thể nào của máy tính?
LoạiBus nào được dùng phổ biến hiện nay trên các máy tính
IBM và tương thích?
Hệ thống Bus trên máy tính là thiết bị được dùng để kết nối tất cả
các thành phần trên máy tính với nhau.Có 3 loại bus: Bus dữ liệu
(data bus), bus địa chỉ (addressbus) và bus điều khiển (control
bus).
Address Bus : nhóm tín hiệu cho phép xác định địa chỉ củaô nhớ
hay thiết bị vào ra trong quá trình đọc/ghi thông tin lên bộ nhớ
hay cổng vào/ra.
Data Bus : nhóm đường truyền để tải data thực sự giữa các thiết
bị hệ thống do địa chỉ trên address bus đã xác định. Độ rộng của
data bus (số đường dây dẫn) xác định data trong mỗi lần truyền là
bao nhiêu.
Control Bus : nhóm đường truyền cho các tín hiệu điều khiển như
: các thao tác là đọc hay ghi, thao tác được thực hiện trên bộ nhớ
hay trên thiết bị ngoại vi, nhận dạng chu kỳ bus và khi nào thì
hoàn thành thao tác…Độ rộng bus chính là số đường dây dẫn hợp
thành
Độ rộng của bus địa chỉ: Trên mỗi đường dây chỉcó thể có 1 trong

2 trạng thái 0 hoặc 1 nên bus cóđộ rộng n thì có thể nhận biết được
2n địa chỉ. Nhưvây độ rộng của Bus địa chỉ quy định số ô nhớ
tốiđa mà hệ máy tính có thể quản lý được.Độ rộng của bus số liệu:
được thiết kế theo nguyên tắc là bội của 8 (8,16,32,64 bit) như thế
mỗi lần
truyn 1 byte/2 bytes/4 bytes tựy theo mỏy . B rngData bus cng
ln thỡ data truyn cng nhanh. Loi Bus c dựng ph bin trờn
cỏcmỏy tớnh IBM hin nay l Bus PCI. Busny cú rng Bus
a ch l 32 bits v rng bus s liu l 64 bits.
Bus PCI tơng thích với ISA, EISA vàMCA. Nhờ sử dụng
cầu nối bus, chuẩn đã hỗ trợ cho các bus tốc độ chậm
ISA,EISA và MCA.Bus PCI cho phộp thit lp ch t ng
thit lp cu hỡnh
Cõu hi 8: Qun lý ngoi vi bng ngt cú uim gỡ so vi qun
lý ngoi vi bng phng phỏp hi vũng? Gii thớch ti sao trờn
BUSPCI cho phộp cú mt vi thit b cú cựng ach ngt? Vớ
d nh IRQ 11 cú th c dựngcho n 6 thit b l
Audio,SerialBusController, Network Controller, Mass Storage
Controller v IEEE 1394.
Qun lý ngoi vi bng phng phỏp hi vũng, c sau 1 khong
thi gian nht nh mỏy tớnh hi trng thỏi ca ngoi vi, nu bớt
thụng tin biu din trngthỏi ca ngoi vi thay i thỡ ngha l
ngoi vi ú c yờu cu phc v, khi ú mỏy tớnh s chy chng
trỡnh phc v ngoi vi ú. Nh võy phn ng ca mỏy tớnh vi
yờu cu c phc v ca ngoi vi l khụng tc thi.
Qun lý ngoi vi bng ngt: Khi mt ngoi vi c yờu cu c
phc v, nú s phỏt tớn hiu yờu cu c phc v - IRQs.
Ngaylp tc mỏy tớnh s dng tt c cỏc cụngvic ang thc hin
chy chng trinhphc v ngoi vi ú. Nh võy phn ng ca
mỏy tớnh vI yờu cu c phc v ca ngoi vi trong trng hp

ny l tc thi. õy chớnh l u im ni tri ca vic qun lý
ngoại vi bằng ngắt so với việc quản lý ngoại vi bằng phương pháp
hỏi vòng
Trên các hệ Bus hiện đại như MCA, EISA, PCI sử dụng tín hiệu
IRQ là tín
hiệu mức.Do đó có khả năng chia sẻ các tín hiệu ngắt IRQs. Nghĩa
là có thể có hai hay nhiều ngoại vi cùng sử dụng một tín hiệu ngắt
IRQ.
Khi IRQ có mức tích cực, chương trình điều khiển của các ngoại
vi sẽ kiểm tra và nhận dạng xem ngoại vi nào trên Bus có yêu cầu
ngắt. Ví dụ dưới đây cho thấytrên Bus PCI tín hiệu ngắt IRQ 11
có thể chung cho đến 6 ngoại vi
Câu hỏi 9: Dải thông của Bus là gì? Các biện pháp để tăng
dảithông của Bus máy tính? Các loại Bus ISA, MCA, EISA,
PCI, AGP, PCI Exp được pháttriển theo tiêu chí nào? Các loại
Bus vừa kể trên Bus nào có hỗ trợ Plug and Play.
Dải thông của Bus là năng suất truyền hay tốc độmà Bus có thể
truyền số liệu từ thiết bị chủ đếnthiết bị tớ. Đơn vị đo của dải
thông là MB/s vàđược xác định bởi công thức sau:
Dải thông = tần số l/v của Bus * độ rộng Bus dữ liệu (byte)
Từ công thức trên ta thấy giải pháp đểtăng dải thông của Bus là:
Tăng tần số làm việc của Bus
Tăng độ rộng của Bus số liệu
Ngoài ra việc thay đổi giao thức của Bus cũng góp phần làm tăng
dải thông.Các loại Bus ISA, MCA, EISA, PCI, AGP, PCI Exp
được xây dựng và phát triển theo tiêu chí: Dải thông của các hệ
Bus ra đời sau bao giờ cũng lớnhơn dải thông của các hệ Bus thế
hệ trước để nhằm đảm bảo tốc độ truyền dữ liệu giữa thiết bị chủ
đếnthiết bị tớ ngày càng cao như các ứng dụng đồ hoạ, quá trình
đọc và ghi thông tin các bộ nhớ ngoài như ổ đĩa cứng chuẩn ATA,

chuẩn SATA.v.v .
Trong các loại Bus kể trên, các hệ Bus MCA, EISA,PCI, AGP và
PCI Exp có hỗ trợ Plug and Play ởcác mức độ từ thấp đến cao
theo nguyên tắc các hệBus ra đời sau bao giờ cũng có khả năng
tự độngđịnh dng cấu hình (Plug and Play) cao hơn hệ Bus thế hệ
trước
Câu hỏi 10:Thiết bị được gọi là “Cầu nối – bridge” trên cácmáy
tính hiện nay dùng để thực hiện chức năng gì?Có mấy loại?
Mỗi loại được dùng cụ thể vào nhữngcông việc gì?
Năm 1987 Compaq đưa ra ý tưởng chia đồnghộ hệ thống thành 2
hệ khác nhau, CPU vàRAM làm việc cùng 1 tần số độc lập với
tầnsố của I/O ý tưởng này được thực hiên trênmáy tính sử dụng
trên máy tính sử dụngBVXL 80286 và 80386. Kết nối giữa 2 Bus
là1 thiết bị gọi là Bridge (Cầu nối)
Hiện nay MainBoard của máy tính được điều khiểnbởi rất nhiều
mạchphần cứng có các chức năngkhác nhau. Tất cả chúng được
đóng trong mộtmạch tích hợp cực lớn gọi là chipset. Cấu trúc phổ
biến nhất của chipset thường có 2 chip gọi là northand south
Bridges.North bridge: Điều khiển truyền số liệu giữa CPU,RAM,
cổng AGP và cổng PCI Express * 16x.South Bridge: Liên kết với
North bridge và truyền số liệu đến tất cả các ngoại vi còn lại


Câu hỏi 11:Số lượng ngoại vi tối đa mà máy tính có thể quản
lýđược bằng cổng COM là bao nhiêu? Cổng LPT là bao nhiêu?
Để kiểm tra sự có mặt của cáccổng đó, người ta dùng phương
pháp nào? CổngUSB là bao nhiêu? Giải thích lý do tại sao
giaodiện qua cổng USB lại cho phép quản lý số ngoạivi đến 127
thiết bị?
Số lượng cổng COM và cổng LPT mà máytính có thể quản lý

được tối đa là 4 thiết bị cho mỗi loại. Khi khởi động máy tính, hệ
điều hành sẽ kiểm tra sự có mặt của các cổngCOM và LPT có trên
máy , địa chỉ của các cổng COM và LPT sẽ được ghi vào trong
cácô nhớ từ địa chỉ 0040:0000 đến 0040:000F h.Do đó để kiểm
tra sự có mặt của các cổngCOM và cổng LPT trên máy tính ta có
thể sử dụng lệnh D của chương trình Debug để kiểm tra với câu
lệnh như sau:D 0040:0000 l10
Khi đó máy tính sẽ hiển thị nội dung củacác ô nhớ từ 0040:0000
đến 0040:0007 là địa chỉ cá các cổng từ COM 1 đến COM 4. Nội
dung các ô nhớ từ 0040:0008 đến0040:000F là địa chỉ của các
cổng từ LPT1 đến LPT4. Nếu nội dung của các ô nhớ đó là 00
nghĩa là cổng COM hay cổng LPT tương ứng không tồn tại trên
máy tính.Số lượng ngoại vi qua giao diện USB mà máy tính có
thể quản tối đa đến 127 thiếtbị bằng cách nối tiếp nhau hoặc
dùngHub trung tâm Lý do giao diện USB có thể quản lý được số
ngoại vi lớn đến như vậy là do giao diện này sử dụng kết nối kiểu
mạng máy tính, mối thiết bị ngoại vikhi được nối vào giao diện
USB sẽ được cấp một địa chỉ IP . Hệ điều hành qua đó có thể nhận
dạng được thiết bị.
Cõu hi 12: Th no l byte thuc tớnh trong b nh Video
RAM. Cho bit card mn hỡnhca mỏy tớnh ang ch 02:
vnbn, phõn gii 80 ct x 25 dũng, ach b nh Video bt
u t B8000h. Xỏc nh a ch logic ca byte ký tv byte
thuc tớnh ng vi v trớ dũng12 ct 20 trờn mn hỡnh.
Byte thuc tớnh trong b nh Video RAM c s dng khi mn
hỡnh lm vic ch vn bn (text) cho phộp biu din mu sc
v sỏng ca ca ký t trờn mn hỡnh. Mimt byte thuc tớnh
trong Video RAM tngng vi 1 v trớ ca ký t trờn mn hỡnh
Vớ d Video RAM cú a ch t B8000H v cú ln 16KB. Cỏc
địa chỉ chẵn chứa các ký tự và địa chỉ lẻ chứa thuộc tính của ký t


a ch logic
a ch vt lý
Ni dung
B800:0000
B8000
kớ t hng 1 ct 1
B800:0001
B8001
Thuc tớnh ca kớ t ti
hng 1 ct 1
B800:0002
B8002
kớ t hng 1 ct 2
B800:0003
B8003
Thuc tớnh ca kớ t ti
hng 1 ct 2
B800:07CE
B87CE
kớ t hng 25 ct 80
B800:07CF
B87CF
Thuc tớnh ca kớ t ti
hng 25 ct 80

Xỏc nh a ch logic ca byte ký t v byte thuc tớnh ca kýt
ti v trớ dũng 12 ct 20 khi mn hỡnh lm vic ch 02.Sụ th
t ca ký t trờn mn hỡnh tng ng vi v trớ cho trc ch
phõn gii 80 ct v 25 hng vi th t c tớnh t hng 0 ct 0

c xỏc nh nh sau:
Số thứ tự = vị trí dòng * 80 + vị trí cột= 12 * 80 +20 = 980
Vị trí của ô nhớ trong Video RAM chứa mã ASCII và thuộc tính
của ký tự được xác định như sau:
Vị trí của ô nhớ = số thứ tự ký tự *2 = 980 *2 = 1,960 = 7A8h
Vậy địa chỉ của các ô nhớ sau sẽ chứa mã ASCII và thuộc tính
Của ký tự tại vị vị trí dòng 12 cột 20 trên màn hình:
Ô nhớ B800:07A8 chứa mã ASCII của ký tự tại vị trí dòng 12 cột
20
Ô nhớ B800:07A9 chứa thuộc tính của ký tự tại vị trí dòng 12 cột
20












Ôn tập 3 (12 câu )

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 địachỉ này khác nhau như thế nào?
Khi sử dụngmột phần không gian bộ nhớ làm không
gianvà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?
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ủacổng vào/ra được nằm
trực tiếp ngaytrong lệnh vào ra. Ví dụ khi cần đọc số liệu từ cổng
có địa chỉ 0FFh vào thanh ghi AL.IN AL, 0FFh ; Đọc nội dung
cổng có địa chỉ 0FFh 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 ; đọ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ỉ từ A0 đến A7 do đó nó có khả năng
địa chỉ hoá được 28= 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 216= 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 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ử 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
+)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ữnglư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 đố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 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.

• Để 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.
• Khi đó mạch giải mã sẽ cho ra tín hiệu chọn chip kết hợp với tín
hiệu đọc cổng nối vào các chân điều khiển của vi mạch 74LS244
để thực hiện điều 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): Đốivới cổng được địa chỉ bởi 8
bits (mode địa chỉ trựctiếp):

In Al, port#
Đối với cổng được đỉa chỉ bởi 16 bits (mode địa chỉ gián tiếp):
Mov dx, port#
In 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 địachỉ trực tiếp):
In Ax, port#
Đối với cổng được địa chỉ bởi 16 bits (mode địa chỉ gián tiếp):
Mov dx, port#
In Ax, dx
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.
Để 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.
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 điều khiển quá trình ghi số liệu.Lệnh trao
đổi số liệu giữa Bus và cổngra:
Trao đổi số liệu 8 bits ( AL là thanh ghi chứa số liệu): Đối với
cổng được địachỉ bởi 8 bits (mode địa chỉ trực tiếp):
Out 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
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 port#, Ax

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


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ớ?
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 vào ra bằng các lệnh vào ra trực tiếp. là lệnh IN và
lệnh OUT.
Lệnh IN và lệnh OUT có hai mode địachỉ:
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 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ổngvà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.
Không gian vào/ra sử dụng mode địa chỉ giántiếp với 16 bits địa

chỉ ta có thể địa chỉ hoáđược 216= 65,536 cổng vào và 216=
65,536cổng ra.
Vì không gian vào/ra được địa chỉ hoá bởi 8bits hay 16 bits địa
chỉ do đó không cần phảixác định địa chỉ đoạn và độ lệch như
vớikhông gian bộ nhớ.
• Tín hiệu trạng thái đượ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 và để tạo ra các tín hiệu điều khiển
quá trình ghi đọc bộ nhớ và vào/ra.
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êncác máy tính IBM và tương
thích. Trìnhbà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ỗiphầ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ìnhcon 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 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ênmáy tính
có trạng thái được biểu diễn thông qua cácbits trạng thái ở một
cổng vào/ra có địa chỉ đượcquy đị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ácbits đại diện tương ứng với các thiết bị vào/ra. Nếubits trạng
thái tương ứng với thiết bị ở mức tích cựctương ứng với thông
báo thiết bị vào/ra cần đượcphục vụ, khi đấy máy tính sẽ chạy một
chương trìnhtươ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ươngphá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ươngpháp này là không đáp ứng được tức thời

với yêucầ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 đượcgá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ểnngắ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 chương trình con phụcvụ ngắt đáp ứng yêu cầu của
ngoại vi tương ứng. Saukhi chương trình con phục vụ ngắt kết
thúc, trạng tháicủa CPU trước đó sẽ được hồi phục và CPU lại
tiếp tụcquá 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ínhIBM PC và tương
thích hình thức quản lý ngoại vi bằngngắ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 (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 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ắtnày sẽ được chứa trong các ô nhớ ở
bảngvector ngắt như sau.Địa chỉ đầu tiên của phần tử ngắt bằng 4
lầnsố 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
Câu hỏi 6:Thế nào là ngắt cứng và ngắt mềm. Hệ điềuhà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ắtmềm, ngắt cứng). Xác định các ô nhớ
chứathông tin cho phép xác định địa chỉ logic củachương trình
con phục vụ ngắt có số hiệu ngắt là 18h.
Ngắt cứng: (Hardware Interrupt) đượcphá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 quantrọ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
Ngắt mềm (Software Interrup) Dochương trình yêu cầu để thực
hiện 1chương trình con nào đó có sẵn trongROM hay trong RAM.
Ngắt mềm đượcthực hiện bởi lệnh INT .Ngoài ra còn có ngắt phát
sinh nội bộđược sinh ra khi trong quá trinh thựchiện chương trình
xảy ra các tình huốngnhư tràn số liệu bộ nhớ, chương trìnhthực
hịên gặp phải phép chia cho 0 hoặcdo 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ácngắ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 256ngắt, mỗi ngắt được gán 1 số hiệu ngắtđược đánh số
từ 00h đến 0FFh.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:
Với ngắt mềm: Số hiệu ngắt được nằm ngay trong lệnhINT, khi
đó HĐH chỉ cần lấy số hiệu ngắt đó nhân với4 để 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ủachươ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

×