You are on page 1of 54

CÂU HỎI ÔN TẬP

1) Câu hỏi: Vẽ sơ đồ cấu trúc của hệ thống máy tính? Nêu chức năng của từng bộ
phận? Nêu hạn chế lớn nhất của máy tính theo kiến trúc của Von Neumann.
2) Câu hỏi: Giả sử tại thời điểm máy tính thực hiện chương trình, giá trị của các
thanh ghi trong CPU như sau: DS=CS=SS=ES=189Ah; IP =01C4h,
SP=FFF8h, SI=0000h, DI = 0000h,
3) Hãy cho biết:
- Chương trình này có phần mở rộng là .COM hay .EXE? Tại sao?
- Mã của lệnh chương trình trên nằm trong bộ phận nào của máy tính? Tại vị
trí có địa chỉ vật lý nào? Chỉ rõ cách xác định?

4) Câu hỏi: Các máy tính cá nhân (PC) hiện nay được thiết kế theo kiến trúc nào?
Theo kiến trúc này, máy tính gồm những bộ phận gì? Nêu chức năng của từng
bộ phận? Nhược điểm chính của kiến trúc này là gì?
5) Câu hỏi: Bộ xử lý trung tâm (CPU) của máy tính liên kết với các bộ phận khác
của hệ thống máy tính (các cổng vào/ra và bộ nhớ) bằng những nhóm tín hiệu
nào? Nêu chức năng, hướng truyền của các nhóm tín hiệu đó? Khi CPU nhận
lệnh để thực hiện, thì mã lệnh chuyển từ đâu tới đâu, theo đường nào?
6) Câu hỏi: Phân biệt địa chỉ logic và địa chỉ vật lý của một ngăn nhớ? Nêu
phương pháp CPU xác định địa chỉ vật lý dựa trên địa chỉ logic? Hãy cho biết
lệnh đầu tiên sau khi máy tính khởi động xong có địa chỉ logic bằng bao nhiêu?
Tính địa chỉ vật lý của lệnh đó?
7) Câu hỏi: Bộ vi xử lý 8086/88 có bus địa chỉ và dữ liệu bao nhiêu bit? Nó có
thể truy cập tối đa được bao nhiêu ô nhớ? Mỗi ô nhớ chứa bao nhiêu bit? Khi
CPU thực hiện lệnh:
MOV [DI],AL
thì ô nhớ được truy cập có địa chỉ là bao nhiêu? Cho biết giá trị các thanh ghi
bên trong CPU trước lúc thực hiện lệnh là:
AX = 0000; BX = 0000; CX = 0000; DX = 0000; SP = FFEE; BP=0; SI
=0; DI=0; DS=127Ch; ES=127Ch; SS=127Ch; CS=0700h; IP=0100h

8) Câu hỏi: Đoạn bộ nhớ là gì? Địa chỉ đoạn bộ nhớ chứa trong các thanh ghi
nào? Độ dài của các thanh ghi địa chỉ của đoạn là bao nhiêu bit? Hãy cho biết
ngăn nhớ có địa chỉ vật lý là 256A3h có thể nằm trong những đoạn bộ nhớ nào,
địa chỉ độ lệch bao nhiêu (hãy viết ra ít nhất 3 địa chỉ logic của địa chỉ vật lý
trên)? Viết công thức liên hệ giữa địa chỉ vật lý và địa chỉ logic?
9) Câu hỏi: Giả sử máy tính thực hiện chương trình có phần mở rộng là .COM.
Với trạng thái ban đầu các thanh ghi đoạn và con trỏ chỉ số trong CPU như sau:
CS=DS=SS=ES=1000H; IP=0100; AX=0000; BX=0000; CX=0000;
DX=0000; BP=0000;SP=FFFE; SI=0000; DI=0000. Hỏi:
Khi CPU nhận mã lệnh từ bộ nhớ, nó sử dụng những thanh ghi gì để xác định
địa chỉ của lệnh cần đọc vào?
CPU tính địa chỉ vật lý của lệnh trên cơ sở nội dung của các thanh ghi đó theo
công thức nào?
Xác định địa chỉ vật lý của byte mã lệnh đầu tiên với các dữ liệu cho ở trên?

10) Câu hỏi: Xử lý đường ống là gì? Do có cấu trúc bên trong nào mà bộ vi xử lý
8086 có khả năng thực hiện chương trình theo kiểu đường ống? Giả sử các
lệnh đều có thời gian nhận lệnh, giải mã và thực thi là 1 chu kỳ máy. Bằng
hình vẽ biểu đồ thời gian, hãy xác định thời gian để CPU hoàn thành 5 lệnh
theo cơ chế xử lý đường ống?
11) Câu hỏi: Hãy cho biết tên, ký hiệu và ý nghĩa của 6 cờ chỉ thị trạng thái của
kết quả trong CPU? Xác định giá trị các cờ đó sau khi bộ vi xử lý 8086 thực
hiện lệnh sau:
MOV AL,056H
ADD AL,0AAH
(Biết rằng trước đó giá trị các bit cờ trên và thanh ghi AL bằng 0).

12) Câu hỏi: Tại sao trong Bộ vi xử lý 8086 của Intel tất cả các thanh ghi địa chỉ
(đoạn và độ lệch) có dài tối đa là 16 bits nhưng địa chỉ vật lý CPU tạo ra có độ
dài 20 bits (từ A0 đến A19)? Hãy cho biết các cặp thanh ghi (đoạn và độ lệch)
tương ứng để địa chỉ hóa mã lệnh, dữ liệu và ngăn xếp? Xác định tên các thanh
ghi chứa địa chỉ logic của byte mã lệnh nằm trong đoạn bộ nhớ có địa chỉ là
1034h và độ lệch là 0200h? Tính địa chỉ vật lý của byte mã lệnh nói trên?
13) Câu hỏi: Bus hệ thống của máy tính nối Bộ vi xử lý Intel 8088 với bộ nhớ và
các cổng vào/ra gồm những bus con gì? Vẽ sơ đồ tạo các bus con trong máy
tính PC/XT dùng vi xử lý 8088? Trình bày một chu kỳ bus đọc bộ nhớ?
14) Câu hỏi: Trên bản đồ bộ nhớ máy tính? Bộ nhớ ROM BIOS trong máy tính
IBM PCXT nằm ở vùng địa chỉ nào? Nêu chức năng của bộ nhớ ROM BIOS
trong máy tính IBM PCXT? Khi khởi động máy tính thì thanh ghi đoạn mã
lệnh (CS) và con trỏ lệnh (IP) được khởi tạo giá trị bao nhiêu để vùng nhớ
ROM BIOS sẽ được quy chiếu đầu tiên?
15) Câu hỏi: Tại sao bộ nhớ RAM chính của máy tính thường sử dụng vi mạch
nhớ DRAM? Ưu, nhược điểm của vi mạch nhớ DRAM so với vi mạch nhớ
SRAM? Khi máy vi tính IBM PC sử dụng loại vi mạch nhớ là loại DRAM thì
CPU cần có thêm thao tác gì để bảo toàn dữ liệu trong bộ nhớ RAM trong quá
trình làm việc?
16) Câu hỏi: Trình bày về bản đồ bộ nhớ trên máy tính IBM PC XT (độ lớn,
không gian địa chỉ, các vùng chính của bản đồ nhớ ...). 1KB ở vùng nhớ có địa
chỉ thấp nhất và vùng nhớ có địa chỉ cao nhất trong bản đồ nhớ được sử dụng
vào mục đích gì?
17) Câu hỏi: Một chu kỳ truy cập đọc bộ nhớ của vi xử lý 8086 gồm mấy chu kỳ
đồng hồ? Hãy cho biết ý nghĩa của tín hiệu ALE và chu kỳ nào nó tích cực, khi
CPU truy cập bộ nhớ? Tín hiệu nào trong các tín hiệu sau tích cực: IOR, IOW,
MEMR, MEMW, khi CPU thực hiện lệnh:

MOV AL,[SI]

18) Câu hỏi: Một chu kỳ truy cập ghi bộ nhớ của vi xử lý 8086 gồm mấy chu kỳ
đồng hồ? Tín hiệu nào trong các tín hiệu sau tích cực: IOR, IOW, MEMR,
MEMW, khi CPU thực hiện lệnh ghi bộ nhớ? Tính thời gian của một chu kỳ
ghi bộ nhớ, nếu biết tần số đồng hồ của CPU là 10MHz?
19) Câu hỏi: Vẽ bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088? Nêu
chức năng, dung lượng, vùng địa chỉ của bộ nhớ qui ước (conventional
memory)? Trong máy tính, để phát hiện lỗi đọc và ghi bộ nhớ, mỗi byte được
bổ sung thêm thông tin gì? Giá trị của nó được xác định như thế nào?
20) Câu hỏi: Vẽ bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088? Nêu
chức năng, dung lượng, vùng địa chỉ của bộ nhớ hiển thị VDR (Video Display
RAM)? Xác định địa chỉ đoạn và độ lệch của ngăn nhớ trong bộ nhớ hiển thị
VDR tương ứng với ký tự ở góc dưới cùng bên trái màn hình, nếu màn hình
được thiết lập ở chế độ văn bản, độ phân dải 80 x 25?
21) Câu hỏi: Vẽ bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088? Nêu
chức năng, dung lượng, vùng địa chỉ của bộ nhớ ROM? Hãy cho biết, vi mạch
ROM BIOS có dung lượng 8KB, nằm ở vùng địa chỉ nào (từ... đến....)?
22) Câu hỏi: Tín hiệu nào trong các tín hiệu sau tích cực: IOR, IOW, MEMR,
MEMW, khi CPU thực hiện lệnh đọc mã lệnh? Tính thời gian của một chu kỳ
ghi bộ nhớ, nếu biết tần số đồng hồ của CPU là 10MHz? Nếu chip nhớ RAM
có thời gian truy cập là 100ns, thì CPU có cần chèn thêm trạng thái chờ vào
chu kỳ ghi không? Tại sao?
23) Câu hỏi: Vẽ bản đồ bộ nhớ máy tính IBM PC/XT? Nêu chức năng của các
vùng nhớ? Sau khởi động, CPU thực hiện lệnh đầu tiên nằm trong vùng nhớ
nào? Điều đó có liên quan gì với giá trị của thanh ghi đoạn mã lệnh và con trỏ
lệnh?
24) Câu hỏi: Số bit địa chỉ và dữ liệu của Bus hệ thống trên máy tính có liên quan
gì đến dung lượng và độ rộng từ nhớ của bộ nhớ trên máy tính? Một chu kỳ bus
đọc hay ghi bộ nhớ của vi xử lý 8088 gồm mấy chu kỳ đồng hồ? Tính thời gian
mà bộ vi xử lý truy cập ngăn nhớ, nếu tần số của đồng hồ là 5MHz (giả sử
không có chu kỳ đợi khi truy cập)?
25) Câu hỏi: Máy tính IBM PC XT có 20 bits địa chỉ. Nếu bộ nhớ RAM (có địa
chỉ từ 00000 – 9FFFF) sử dụng vi mạch nhớ có dung lượng 4x8 kbits, thì có
bao nhiêu vi mạch nhớ được sử dụng? Giải mã địa chỉ được tổ chức mấy cấp?
Những bit địa chỉ nào được dùng để chọn vi mạch nhớ, những bit địa chỉ nào
được dùng để chọn ngăn nhớ trong vi mạch nhớ?
26) Câu hỏi: Mô tả các lệnh vào/ra cổng của bộ vi xử lý: tên lệnh, cú pháp, chức
năng? Dung lượng của không gian vào /ra khi sử dụng chế độ địa chỉ trực tiếp?
Tín hiệu điều khiển nào được sử dụng khi dùng lệnh đọc cổng vào và ghi cổng
ra?
27) Câu hỏi: Trình bày chức năng, các thanh ghi bên trong và các chế độ lập trình
của vi mạch vào/ra song song 8255A? Trong máy tính PC, vi mạch 8255A nằm
trên Mainboard có địa chỉ chọn chip là bao nhiêu, được lập trình ở chế độ nào?
Chiều của các cổng được thiết lập như thế nào? Viết lại đoạn chương trình khởi
tạo 8255A trong BIOS của máy tính?
28) Câu hỏi: Trình bày chức năng, các thanh ghi bên trong và các chế độ làm
việc của vi mạch định thời 8253? Trong máy tính PC, vi mạch 8253 có địa chỉ
bao nhiêu? Các bộ đếm của 8253 được khởi tạo ở những chế độ nào? Viết lại
đoạn mã chương trình khởi tạo cho 3 bộ đếm của 8253?
29) Câu hỏi: Trình bày khái niệm truyền dữ liệu nối tiếp, giao thức truyền đồng
bộ và không đồng bộ, chế độ thu/phát đơn công và song công? Phân biệt thiết
bị truyền thông? Mô tả chuẩn truyền thông nối tiếp RS-232 về: cơ khí, điện và
giao thức truyền? Tại sao truyền không đồng bộ phải đóng khung dữ liệu?

30) 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ú pháp viết các lệnh đó? Số cổng vào/ra có thể địa chỉ hoá được tối đa là bao
nhiêu tương ứng với chế độ địa chỉ trực tiếp và gián tiếp? Tín hiệu điều khiển
nào phân biệt chiều truy cập của CPU đối với cổng vào/ra? Mức tích cực của
chúng?
31) Câu hỏi: Các phương pháp phục vụ các thiết bị ngoại vi tiêu chuẩn của máy
tính IBM PC XT? Ưu nhược điểm của chúng? Trình bày về bảng vector ngắt:
chức năng, vị trí trong bộ nhớ? Vec-tơ ngắt (địa chỉ đoạn và độ lệch) của
chương trình con phục vụ ngắt INT 28h nằm ở những ngăn nhớ nào trong bảng
vec-tơ ngắt?
32) Câu hỏi: Định nghĩa ngắt và phân loại ngắt? Vector ngắt là gì, 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 17h?
33) Câu hỏi: Thế nào là ngắt cứng và ngắt mềm? Bộ vi xử lý 8086 có bao nhiêu
ngắt? Các ngắt được đánh số hiệu như thế nào? 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? Xác
định địa chỉ các ô nhớ chứa vec-tơ (địa chỉ đoạn và độ lệch) của chương trình
con phục vụ ngắt có số hiệu INT 18h?
34) Câu hỏi: Chức năng của ngăn xếp (Stack)? Các lệnh nào cho phép người
dùng truy cập ngăn xếp? Khi nào bộ vi xử lý tự động truy cập ngăn xếp? Khi
một ngắt được kích hoạt, bộ vi xử lý cất vào ngăn xếp những thông tin gì của
chương trình đang thực hiện? Việc khôi phục những thông tin đó được thực
hiện khi nào?
35) Câu hỏi: Nêu định nghĩa ngắt, phân loại ngắt, chương trình con phục vụ ngắt
và vec-tơ ngắt? Tại sao nói việc xác định được số hiệu ngắt là vô cùng quan
trọng trong quá trình máy tính xử lý và phục vụ ngắt?
36) Câu hỏi: Mô tả chuẩn truyền nối tiếp RS-232 về: cơ khí, mức tín hiệu điện,
giao thức truyền? Chuẩn RS232 hỗ trợ giao thức truyền nào? Khung dữ liệu là
gì, gồm những bit gì? Hãy vẽ biểu đồ tín hiệu trong khung dữ liệu của ký tự
“C” (mã ASCII là 43h) với tham số định khung sau: độ dài dữ liệu 7 bit, kiểm
tra bit bậc chẵn, 2 bit dừng?
37) Câu hỏi: Định nghĩa vào/ra song song và vào/ra nối tiếp? Chúng được sử
dụng trong các trường hợp nào? Địa chỉ của các cổng vào ra nối tiếp COM1-
COM4 và vào ra song song LPT1-LPT4 được lưu ở đâu? Tại địa chỉ nào? Địa
chỉ cổng có độ dài bao nhiêu bit? Hãy viết lệnh đọc cổng có địa chỉ 03FDh?
38) Câu hỏi: Thế nào là chế độ đồ hoạ và chế độ văn bản trên màn hình? Trong
chế độ văn bản, mỗi ký tự trên màn hình tương ứng mấy byte trong bộ nhớ hiển
thị (Video RAM)? Byte thuộc tính trong Video RAM có ý nghĩa gì? Xác định
byte thuộc tính của một ký tự hiện trên màn hình có màu trắng trên nền đỏ?
39) Câu hỏi: Nêu mối quan hệ giữa độ phân giải màn hình, số bits mã hoá màu
và dung lượng của bộ nhớ Video RAM? Chuẩn bus AGP sử dụng để làm gì?
Tính thông lượng (hay dải thông) của bus AGP 1x nếu biết độ rộng bus là 32
bit, tần số bus là 66MHz?
40) Câu hỏi: Dải thông của bus là gì? Đơn vị đo dải thông? Công thức tính dải
thông? Yếu tố nào ảnh hưởng đến dải thông của bus? So sánh dải thông của
một bus song song 8 bit và một bus nối tiếp có cùng tần số truyền?
41) Câu hỏi: Lập bảng so sánh bus ISA và bus PCI về các đặc tính sau: độ rộng
dữ liệu, độ rộng địa chỉ, tốc độ bus (tần số bus), kích thước của bus, khả năng
chống nhiễu xuyên âm, kiểu kích phát của tín hiệu ngắt, hỗ trợ chia sẻ ngắt,
khả năng cầu hình tự động plug-n-play, độ phụ thuộc vào bộ vi xử lý? Tính dải
thông của hai bus ISA và PCI sử dụng các giá trị độ rộng dữ liệu và tần số ở
trên?
42) Câu hỏi: Trình bày về giao diện USB: chức năng, kiểu truyền dữ liệu (nối
tiếp, song song), tốc độ truyền, tổ chức ghép nối (tô-pô) chủ-tớ? Hãy cho biết
số lượng thiết bị USB nối với chủ USB? Cáp truyền USB: cấu tạo, độ dài, kỹ
thuật chống nhiễu đường truyền?
43) Câu hỏi: Trong máy tính hiện nay, bus hệ thống (nối CPU-bộ nhớ) và bus
vào/ra (nối CPU-ngoại vi) có làm việc cùng một tần số không? 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?
44) Câu hỏi: Thế nào là bus hệ thống trong máy tính? Bus hệ thống gồm những
bus con nào? Chức năng của từng bus con đó? Độ rộng của bus địa chỉ, bus dữ
liệu xác định khả năng gì của máy tính? Dải thông của bus phụ thuộc vào
những yếu tố gì? Tại sao?
45) Câu hỏi: Phương pháp phục vụ ngoại vi bằng ngắt có ưu điểm gì so với
phương pháp phục vụ ngoại vi bằng phương pháp hỏi vòng? Qui trình thực
hiện của bộ vi xử lý khi có một ngắt được kích hoạt? Ý nghĩa của bit cờ ngắt IF
(Interrupt Flag) đối với ngắt cứng? Lệnh phần mềm để che (cấm) và không che
(cho phép) ngắt?
46) Câu hỏi: Dải thông của Bus là gì? Đơn vị đo dải thông? Các biện pháp để
tăng dải thông của Bus máy tính? Các loại Bus ISA, MCA, EISA, PCI, AGP
được phát triể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?
47) Câu hỏi: Thiết bị được gọi là “Cầu nối – bridge” trên các máy tính hiện nay
dùng để thực hiện chức năng gì? Có mấy loại cầu và mỗi loại dùng để kết nối
giữa bộ phận nào với nhau?
48) Câu hỏi: 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ác
cổng đó, người ta dùng phương pháp nào? Cổng USB là bao nhiêu? Giải thích
lý do tại sao giao diện qua cổng USB lại cho phép quản lý số ngoại vi đến 127
thiết bị?
49) Câu hỏi: Thế nào là byte thuộc tính trong bộ nhớ Video RAM. Cho biết card
màn hình của máy tính đang ở chế độ 02: văn bản, độ phân giải 80 cột x 25
dòng, địa chỉ bộ nhớ Video bắt đầu từ B8000h. Xác định địa chỉ logic của byte
ký tự và byte thuộc tính ứng với vị trí dòng 12 cột 20 trên màn hình.

BÀI TẬP

1) Bài tập: Lập trình hợp ngữ Assembly file có phần mở rộng là .COM sử
dụng ngắt INT 10h/AH=0 để đặt chế độ màn hình là 02h. Sau đó, sử dụng
ngắt INT 10h/AH=13h để hiển thị lên màn hình máy tính dòng chữ: “HOC
VIEN KTQS” có thuộc tính là nền đỏ chữ vàng (4Eh) bắt đầu tại vị trí cột
15, dòng 20.
2) Bài tập: Lập trình hợp ngữ Assembly file có phần mở rộng là .COM sử
dụng ngắt INT 10h/AH=0 thiết lập chế độ màn hình 03.Sau đó, sử dụng
ngắt INT 10h/AH=13h để hiển thị lên màn hình bắt đầu tại vị trí cột 30,
dòng 12, chuỗi ký tự “CAU TRUC MAY TINH” có thuộc tính chữ màu đỏ,
nền màu vàng (1110_0100b).
3) Bài tập: Viết chương trình hợp ngữ sử dụng ngắt INT 14h/AH=00 để thiết
lập tham số truyền của cổng COM1: tốc độ truyền 4800 baud, độ dài dữ liệu
7 bit, 1 bit dừng (1 stop bit), kiểm tra lỗi bằng bit bậc chẵn (Even Parity).
Sau đó, kiểm tra thanh ghi đệm phát rỗng (bit D5=1 của từ trạng thái cổng
COM) thì sử dụng ngắt INT 14h/AH=01 để gửi chuỗi ký tự “Hello!” ra cổng
COM1.

4) Bài tập: Lập trình hợp ngữ Assembly file có phần mở rộng là .COM thiết
lập màn hình chế độ đồ họa 13h, sau đó vẽ trên màn hình một đường dọc bắt
đầu từ toạ độ cột 62 hàng 60 (62,60) đến toạ độ cột 62 hàng 30 (62,30).
5) Bài tập: Lập trình hợp ngữ Assembly file có phần mở rộng là .COM sử
dụng ngắt INT 21h/AH=9 hiển thị thông báo: “Nhan phim:”. Sau đó, dùng
ngắt INT16h/AH=00 để đọc ký tự từ bàn phím và hiện ký tự đó ra màn hình
bằng ngắt INT 10h/AH=0Eh. Quá trình cứ lặp liên tục cho đến khi bạn ấn
phím ESC có mã ASCII là 1Bh chương trình sẽ kết thúc.
6) Bài tập: Lập trình hợp ngữ Assembly file có phần mở rộng là .COM sử
dụng ngắt INT 10h/AH=0 thiết lập màn hình chế độ 0, sau đó sử dụng ngắt
INT 10h/AH=09 hiển thị lên màn hình bắt đầu tại ví trí có toạ độ là cột 20 ,
hàng 12 lần lượt 6 ký tự có mã ASCII như sau: 31h, 32h, 33h, 34h, 35h, 36h,
với thuộc tính chữ trắng trên nền đỏ?
7) Bài tập: Lập trình hợp ngữ Assembly file có phần mở rộng là .COM thiết
lập tham số truyền cho vi mạch UART 8250 trên máy tính có địa chỉ giải mã
là 3f8h như sau: 7 bit data, 1 bits stop, kiểm tra lẻ, tốc độ truyền là 14.400
bps, với tần số clock là 1,843MHz. (Có thể dùng ngắt INT 14h/AH=0 để
thiết lập tham số truyền của cổng COM1)
8) Bài tập: Lập trình hợp ngữ Assembly file có phần mở rộng là .COM sử
dụng ngắt INT 16h/AH=0 đọc ký tự từ bàn phím. Nếu có phím được ấn thì
hiện thị thông báo "Phim duoc an la:" và ký tự. Sau đó lại quay lại đọc bàn
phím. Chương trình kết thúc khi ấn phím ESC (mã ASCII là 1Bh).
9) Bài tập: Lập trình hợp ngữ Assembly file có phần mở rộng là .COM sử
dụng ngắt INT 10h/AH=0 để thiết lập chế độ màn hình 06 (chế độ màn hình
đồ hoạ, độ phân giải 640x200, 2 màu). Sau đó, sử dụng ngắt INT
10h/AH=0Ch để vẽ một đường chéo màu trắng từ điểm ảnh có toạ độ
(60,60) đến toạ độ (40,40).
10) Bài tập: Lập trình hợp ngữ Assembly file có phần mở rộng là .COM sử
dụng ngắt INT 16h/AH=0 liên tục đọc dữ liệu từ bàn phím. Nếu ký tự được
nhấn là ‘b’ thì bật loa bằng cách đặt 2 bit D1, D0 của cổng ra với địa chỉ 61h
đều bằng 1. Sau đó, quay lại đọc dữ liệu bàn phím. Nếu có phím bất kỳ
được nhấn (không phải phím ‘b’) thì loa tắt bằng cách xóa 2 bit D1, D0 của
cổng 61h. Rồi quay lại đọc bàn phím.
11) Bài tập: Viết chương trình hợp ngữ sử dụng ngắt INT 14h/AH=00 để thiết
lập tham số truyền của cổng COM1: tốc độ 4800 baud, độ dài dữ liệu 7 bit, 1
bit dừng (1 stop bit), kiểm tra lỗi bằng bit bậc chẵn (Even Parity). Sau đó,
kiểm tra có dữ liệu nhận (bit D0=1 của từ trạng thái cổng COM) thì sử dụng
ngắt INT 14h/AH=02 để nhận ký tự từ cổng COM1, rồi cất vào bộ nhớ bắt
đầu từ địa chỉ DS:200h. Nếu nhận được ký tự Esc (mã ASCII là 1Bh) thì kết
thúc chương trình.
12) Bài tập: Lập trình hợp ngữ sử dụng ngắt INT 14h/AH=1 khởi tạo cổng
máy in LPT1. Sau đó kiểm tra trạng thái cổng máy in. Nếu trạng thái máy in
sẵn sàng (bit D7=1 trạng thái cổng máy in), thì sử dụng ngắt INT 14h/AH=0
để in ra chuỗi ký tự “I print a message”. Sau đó thoát ra.

Câu hỏi 1: Vẽ sơ đồ cấu trúc của hệ thống máy tính? Nêu chức năng của từng bộ
phận? Nêu hạn chế lớn nhất của máy tính theo kiến trúc của Von Neumann.
Trả lời:
+ Bộ xử lý trung tâm: đóng vai trò chủ đạo nhất trong hệ máy tính. Ở đây
tiến hành toàn bộ các tính toán, các phép tính số học và đại số và biến đổi
các mã tương ứng. Đây chính là đầu não của các máy tính. Khi bắt đầu hoạt
động, nó nhận mã lệnh từ bộ nhớ, sau đó giải mã các lệnh này thành các dãy
xung điều khiển để điều khiển các khối tương ứng thực hiện theo đúng trình
tự và nội dung có trong mã lệnh

+Bộ nhớ (memory): Bộ nhớ thự hiện việc lưu trữ thông tin và trao đổi thông
tin.
Ở các hệ máy vi tính, người ta sử dụng bộ nhớ bán dẫn bao gồm ROM,
RAM. Trong ROM có thể chứa các chương trình điều khiển hoạt động của
toàn hệ khi bật máy.Còn một phần chương trình điều khiển hệ thống,
chương trình ứng dụng thường được lưu ở RAM.
Bộ nhớ máy tính thực chất là bộ nhớ trong để phân biệt với khái niệm bộ
nhớ ngoài mà nhiều tài liệu hiện vẫn hay sử dụng để chỉ thiết bị từ (Băng,
đĩa từ)

+Khối phối ghép vào/ra (I/O) tạo khả năng giao tiếp máy tính với thế giới
bên ngoài. Các thiết bị ngoại vi như màn hình, bàn phím, máy in, các bộ
biến đổi D/A, A/D.... đều liên hệ với hệ máy tính qua bộ phận này mà cụ thể
cho từng thiết bị là các cổng.

+BUS địa chỉ: Khi ghi/đọc bộ nhớ bộ xử lý trung tâm sẽ đưa ra trên bus này
địa chỉ của các ô nhớ có liên quan. Lưu ý là bus địa chỉ là bus một chiều xuất
phát từ CPU.
+ BUS dữ liệu thường có từ 8, 16, 20, 24, 32 đến 64 đường dây tuỳ thuộc
vào từng CPU cụ thể. BUS dữ liệu là loại 2 chiều.Các phần tử có đầu ra nối
thẳng với bus dữ liệu đều phải được trang bị đầu ra 3 trạng thái để baỏ đảm
cho bus hoạt động được bình thường.
+ BUS điều khiển thường gồm hàng chục dây tín hiệu khác nhau, và xét theo
cả nhóm thì đó là lọai bus 2 chiều.

+Thiết bị vào: biến đổi tín hiệu tự nhiên hoặc cho bởi con người sang dạng
mã máy để bộ vi xử lý thực hiện. Thiết bị vào thông dụng nhất có bàn phím,
con chuột, máy quét scaner, thiết bị phân tích nhận dạng tiếng nói, CD-
ROM.....
+ Thiết bị ra: biến đổi các mã bên trong máy tính sau khi xử lý để con người
có thể hiểu được hoặc điều khiển các thiết bị khác. Thiết bị ra thông dụng
nhất có màn hình, máy in, faxmodem, máy vẽ, loa hay các thiết bị điều khiển
khác.
Hạn chế: Cả hai quá trình tương tác với lệnh hoặc với số liệu, không thể
thực hiện cùng lúc.

Câu hỏi 2+3: Giả sử tại thời điểm máy tính thực hiện chương trình, giá trị
của các thanh ghi trong CPU như sau: DS=CS=SS=ES=189Ah; IP
=01C4h, SP=FFF8h, SI=0000h, DI = 0000h,
Hãy cho biết:
- Chương trình này có phần mở rộng là .COM hay .EXE? Tại sao?
- Mã của lệnh chương trình trên nằm trong bộ phận nào của máy tính?
Tại vị trí có địa chỉ vật lý nào? Chỉ rõ cách xác định?

Trả lời:

+Chương trình này có phần mở rộng là.COM, vì CS=DS=SS= 189Ah (tức


CS/DS/SS nằm trong cùng 1 đoạn)

+ Mã chương trình trên nằm trong bộ nhớ của của máy tính. Bắt đầu từ ô nhớ
có địa chỉ vật lý là 18B74h. (189A0+01C4)

+Các lệnh trên được thực hiện trong “Đơn vị thực hiện” EU của bộ vi xử lý.
Các lệnh được thực hiện lần lượt theo thú tự từ trên xuống.
+Khi thực hiện 1 lệnh nào đó thì giá trị của thanh ghi IP được tăng lên thêm 2
để trỏ vào vị trí lệnh tiếp theo của chương trình.

+Khi chuẩn bị thực hiện lệnh lệnh đầu tiên thì các thanh ghi CS = 189Ah, IP =
01C4h.còn khi thực hiện lệnh thứ nhất thì chúng có giá trị: CS = 189Ah, IP =
01C6h.

+ Khi thực hiện lệnh thứ hai thì chúng có giá trị: CS = 189Ah, IP = 01C8h

Câu hỏi 4: Các máy tính cá nhân (PC) hiện nay được thiết kế theo kiến
trúc nào? Theo kiến trúc này, máy tính gồm những bộ phận gì? Nêu chức
năng của từng bộ phận? Nhược điểm chính của kiến trúc này là gì?
Trả lời
Với kiến trúc Von Neumann, máy tính có một bộ nhớ và một bus để chuyển dữ
liệu vào và ra đơn vị xử lý trung tâm (CPU) .CPU có thể đọc một lệnh, hoặc
đọc/ghi dữ liệu từ bộ nhớ.

+ Bộ nhớ máy tính là hệ thống con dùng lưu trữ tạm thời các chỉ thị của
chương trình và dữ liệu sẽ được thực hiện bởi máy tính. Nó thuờng được gọi là
RAM. Bộ nhớ được chia thành các ô, mỗi ô có địa chỉ riêng để dữ liệu có thể
nạp.
+ Hệ thống vào/ra (I/O), đây là hệ thống con cho phép máy tính tương tác với
các thiết bị khác và liên lạc với thế giới bên ngoài. Nó cũng chịu trách nhiệm
lưu trữ chương trình bằng cách điều khiển đĩa cứng.
+ Đơn vị tính toán/logic (ALU): Đây là hệ thống con thực hiện tất cả các phép toán
số và phép so sánh.
Đơn vị điều khiển thực hiện:
(1) tìm trong bộ nhớ chỉ thị chương trình kế tiếp sẽ chạy,
(2) giải mã chỉ thị đó thành cái máy tính có thể hiểu,
(3) đưa mệnh lệnh thích hợp tới ALU, bộ nhớ, và hệ thống vào/ra
+ Hạn chế: Cả hai quá trình tương tác với lệnh hoặc với số liệu, không thể thực
hiện cùng lúc.

Câu hỏi 5: Bộ xử lý trung tâm (CPU) của máy tính liên kết với các bộ phận
khác của hệ thống máy tính (các cổng vào/ra và bộ nhớ) bằng những nhóm
tín hiệu nào? Nêu chức năng, hướng truyền của các nhóm tín hiệu đó? Khi
CPU nhận lệnh để thực hiện, thì mã lệnh chuyển từ đâu tới đâu, theo
đường nào?
Trả lời
+ Bộ xử lý trung tâm (CPU) của máy tính liên kết với các bộ phận khác của hệ
thống máy tính (ngoại vi, bộ nhớ) thông qua các nhóm tín hiệu được gọi là hệ
thống bus.
+ Trong máy tính có hai nhóm bus là bus hệ thống, nối giữa CPU với bộ nhớ
chính (trong các máy hiện đại ngày nay bus hệ thống được nối giữa CPU và vi
mạch tổng hợp) và bus vào ra nối ghép giữa các thiết bị ngoại vi tới CPU.
+Hệ thống bus bao gồm 3 loại bus là bus địa chỉ, bus dữ liệu và bus điều khiển.
+ BUS địa chỉ: Phục vụ việc chọn ô nhớ hoặc thiết bị vào/ra. Khi ghi/đọc bộ
nhớ hoặc thiết bị vào/ra, bộ xử lý trung tâm sẽ đưa lên bus này địa chỉ của các
thiết bị liên quan. Đây là bus một chiều và xuất phát từ CPU.
+ BUS dữ liệu: được dùng để chuyển dữ liệu và thường có từ 8, 16, 20, 24, 32
đến 64 đường dây tuỳ thuộc vào từng CPU cụ thể. BUS dữ liệu là loại 2 chiều.
Các phần tử có đầu ra nối thẳng với bus dữ liệu đều phải được trang bị đầu ra 3
trạng thái để bảo đảm cho bus hoạt động được bình thường.

+ BUS điều khiển: Hỗ trợ cho việc trao đổi các thông tin điều khiển và trạng thái
như phân biệt thiết bị được CPU truy nhập là bộ nhớ hay thiết bị vào/ra, thao tác
truy nhập là đọc hay viết v.v......Bus điều khiển thường gồm hàng chục dây tín hiệu
khác nhau, và xét theo cả nhóm thì đó là loại bus 2 chiều.
Khi CPU đọc lệnh để thực hiện, thì mã lệnh chuyển từ bộ nhớ vào CPU thông
qua bus dữ liệu
Câu hỏi 6: Phân biệt địa chỉ logic và địa chỉ vật lý của một ngăn nhớ? Nêu phương
pháp CPU xác định địa chỉ vật lý dựa trên địa chỉ logic? Hãy cho biết lệnh đầu tiên
sau khi máy tính khởi động xong có địa chỉ logic bằng bao nhiêu? Tính địa chỉ vật
lý của lệnh đó?

Trả lời

+ Địa chỉ logic của một ngăn nhớ là địa chỉ gồm: đ/c segment + đ/c offset, được
viết theo cách như sau: Thanh ghi đoạn:Thanh ghi lệch,
+ Còn địa chỉ vật lý của một ngăn nhớ chính là số thứ tự của ngăn nhớ đó,
được bắt đầu tính từ 0 (ngăn nhớ thứ nhất có địa chỉ vật lý là 0)
+CPU xác định địa chỉ vật lý dựa trên địa chỉ logic theo cách: Địa chỉ đoạn sẽ
được dịch trái 1 khoảng 4 bit kết hợp với địa chỉ offset giữ nguyên sẽ tạo thành
cách xác định địa chỉ 20 bit.

+Như vậy, địa chỉ vật lý được xác định theo công thức như sau:
Địa chỉ vật lý = Thanh ghi đoạn x 16 + Thanh ghi lệch
Lệnh đầu tiên khi máy tính khởi động xong có địa chỉ logic = 137Ch : 100h
Địa chỉ vật lý của lệnh đó là: 138C0h.

Câu hỏi 7: Bộ vi xử lý 8086/88 có bus địa chỉ và dữ liệu bao nhiêu bit? Nó
có thể truy cập tối đa được bao nhiêu ô nhớ? Mỗi ô nhớ chứa bao nhiêu
bit? Khi CPU thực hiện lệnh:
MOV [DI],AL
thì ô nhớ được truy cập có địa chỉ là bao nhiêu? Cho biết giá trị các thanh
ghi bên trong CPU trước lúc thực hiện lệnh là:
AX = 0000; BX = 0000; CX = 0000; DX = 0000; SP = FFEE; BP=0; SI
=0; DI=0; DS=127Ch; ES=127Ch; SS=127Ch; CS=0700h; IP=0100h

Trả lời:

+ Bộ vi xử lý 8086 có bus địa chỉ là 20 bit, bus dữ liệu 16 bit. Còn bộ vi xử lý


8088 có bus địa chỉ là 20 bit, nhưng bus dữ liệu chỉ 8 bit.
+Bộ vi xử lý 8086 sử dụng 20 đường địa chỉ nên có thể lập địa chỉ cho 220=
1048576 ô nhớ. Tương ứng với không gian nhớ 1MB.

+Mối ô nhớ chứa tối đa : 65536 ô nhớ

+Khi CPU thực hiện lệnh: MOV AL,[BX], ô nhớ được truy cập có địa chỉ đoạn
ghi trên thanh ghi đoạn DS, địa chỉ offset ghi trên BX.

+Vậy địa chỉ logic là DS:BX = 127C:0000, và địa chỉ vật lý của ô nhớ được
truy cập là 127C0h

Câu 8 :Đoạn bộ nhớ là gì? Địa chỉ đoạn bộ nhớ chứa trong các thanh ghi nào?
Độ dài của các thanh ghi địa chỉ của đoạn là bao nhiêu bit? Hãy cho biết ngăn
nhớ có địa chỉ vật lý là 256A3h có thể nằm trong những đoạn bộ nhớ nào, địa
chỉ độ lệch bao nhiêu (hãy viết ra ít nhất 3 địa chỉ logic của địa chỉ vật lý trên)?
Viết công thức liên hệ giữa địa chỉ vật lý và địa chỉ logic?
Trả lời:
- Đoạn bộ nhớ là vùng rộng bộ nhớ chứa 2^16 byte=64KB ô nhớ liên tiếp
nhau được xác định bằng một địa chỉ đoạn tương ứng bắt đầu từ địa chỉ 0 và
địa chỉ đoạn lớn nhất là FFFFFh.
- Địa chỉ đoạn bộ nhớ chứa trong thanh ghi đoạn CS,DS,SS,ES.
- Độ dài của các thanh ghi địa chỉ đoạn là 16bit.
- Ngăn nhớ có địa chỉ vật lý 256A3h có thể có nhiều địa chỉ logic khác nhau
VD: một vài địa chỉ như sau
+ 256A:0003 tương ứng đoạn bộ nhớ có địa chỉ 256Ah và địa chỉ độ
lệch 0003h
+ 2560:00A3 tương ứng đoạn bộ nhớ có địa chỉ 2560h và địa chỉ đọ
lệch 00A3h
+ 2500:05A3 tương ứng đoạn bộ nhớ có địa chỉ 2500h và địa chỉ độ
lệch 05A3h
- Công thức lên hệ giữa địa chỉ vật lý và địa chỉ logic
Địa chỉ vật lý = thanh ghi đoan *16+ thanh ghi offset
Câu 9:Giả sử máy tính thực hiện chương trình có phần mở rộng là .COM. Với
trạng thái ban đầu các thanh ghi đoạn và con trỏ chỉ số trong CPU như sau:
CS=DS=SS=ES=1000H; IP=0100; AX=0000; BX=0000; CX=0000;
DX=0000; BP=0000;SP=FFFE; SI=0000; DI=0000. Hỏi:
Khi CPU nhận mã lệnh từ bộ nhớ, nó sử dụng những thanh ghi gì để xác định
địa chỉ của lệnh cần đọc vào?
CPU tính địa chỉ vật lý của lệnh trên cơ sở nội dung của các thanh ghi đó theo
công thức nào?
Xác định địa chỉ vật lý của byte mã lệnh đầu tiên với các dữ liệu cho ở trên?

Trả lời:

+ khi CPU nhận mã lệnh từ bộ nhớ nó sử dụng thanh ghi CS và IP để xác


định ddiajchir của lệnh cần đọc vào từ bộ nhớ. Trong đó thanh ghi CS dùng để
chỉ tới đoạn bộ nhớ, thanh ghi IP chứa địa chỉ Offset trong đoạn bộ nhớ đó

+ CPU tính địa chỉ vật lý của lệnh trên cơ sở nội dung các thanh ghi đó theo
công thức

Địa chỉ vật lý = thanh ghi đoan *16+ thanh ghi offset (thanh ghi
độ lệch)

+ với dữ liệu như trên thì khi nhận lệnh đầu tiên giá trị thanh ghi chứa địa
chỉ của lệnh sẽ là CS=1000h và IP =0100h. Vậy địa chỉ vật lý của byte mã
lệnh đầu tiên là: 1000h*16+0100=10100h

Câu 10: Xử lý đường ống là gì? Do có cấu trúc bên trong nào mà bộ vi xử lý
8086 có khả năng thực hiện chương trình theo kiểu đường ống? Giả sử các lệnh
đều có thời gian nhận lệnh, giải mã và thực thi là 1 chu kỳ máy. Bằng hình vẽ
biểu đồ thời gian, hãy xác định thời gian để CPU hoàn thành 5 lệnh theo cơ chế
xử lý đường ống?

Trả lời:

+ Xử lý đường ống là : vừa có khả năng thực hiện lệnh hiện tại vừa có khả năng
nhận các lệnh tiếp theo

+ bộ vi xử lý 8086 có khả năng xử lý đường ống là do cấu trúc bên trong của bộ
vi xử lý này có 2 đơn vị hoạt động tương đối độc lập nhau là đơn vị thực hiên
EU và đơn vị giao tiếp BIU
- Trong thời gian EU thực hiện lệnh thì BIU vẫn có thể đảm nhận nhiệm vụ
nhận trước các lệnh cất tạm vào các hàng đợi lệnh và các thanh ghi dữ liệu.
Nhờ vậy mà khi bus bị bận trong chu kỳ đọc thì EU thực hiện các lệnh
trước đó còn khi bus bận trong chu kỳ ghi thì EU lại thực hiện các lệnh khác

+ IF: nhận lệnh, ID: giải mã lệnh, EX :thực thi

Lệnh\T T1 T2 T3 T4 T5 T6 T7
I1 IF ID EX
I2 IF ID EX
I3 IF ID EX
I4 IF ID EX
I5 IF ID EX
Vậy cần 7 chu kỳ để thực hiên 5 lệnh

Câu 11:Hãy cho biết tên, ký hiệu và ý nghĩa của 6 cờ chỉ thị trạng thái của kết
quả trong CPU? Xác định giá trị các cờ đó sau khi bộ vi xử lý 8086 thực hiện
lệnh sau:
MOV AL,056H
ADD AL,0AAH
(Biết rằng trước đó giá trị các bit cờ trên và thanh ghi AL bằng 0).

+ thanh ghi cờ là thanh ghi 16 bit dung để lưu giữ thông tin về trạng thái của
EU hoặc kết quả phép toán do ALU thực hiện

ST Tên Kí hiệu Ý nghĩa


T
1 Cờ phụ AF AF=1 nếu bit 4 có nhớ
2 Cờ nhớ CF CF=1 nếu bit cao nhất có nhớ
3 Cờ tràn OF OF=1 nếu tràn hay phếp tính vượt thang
4 Cờ bậc PF PF=1 nếu tổng chữ số 1 bằng chẵn
chẵn
5 Cờ Rezo ZF ZF=1 nếu kết quả bằng 0
6 Cờ dấu SF SF=0 nếu số dương
SF=1 nếu số âm
+ ta có: 056h= 0000 0101 0110 và 0AAh= 0000 1010 1010

Phép tính : 0000 0101 0110

+0000 1010 1010


0001 0000 0000

AF=1, CF=0, OF=0, PF=0, ZF=0, SF=0

Câu 12:Tại sao trong Bộ vi xử lý 8086 của Intel tất cả các thanh ghi địa chỉ
(đoạn và độ lệch) có dài tối đa là 16 bits nhưng địa chỉ vật lý CPU tạo ra có độ
dài 20 bits (từ A0 đến A19)? Hãy cho biết các cặp thanh ghi (đoạn và độ lệch)
tương ứng để địa chỉ hóa mã lệnh, dữ liệu và ngăn xếp? Xác định tên các thanh
ghi chứa địa chỉ logic của byte mã lệnh nằm trong đoạn bộ nhớ có địa chỉ là
1034h và độ lệch là 0200h? Tính địa chỉ vật lý của byte mã lệnh nói trên?
Trả lời:
+ Bộ vi xử lý 8086 của Intel tất cả các thanh ghi địa chỉ (đoạn và độ lệch) có
dài tối đa là 16 bits nhưng địa chỉ vật lý CPU tạo ra có độ dài 20 bits (từ A0
đến A19) vì CPU sử dụng các thanh ghi đoạn 16bit CS,DS,SS,ES để xác
định địa chỉ đoạn và sủ dụng các thanh ghi Offet IP,SP,BP,SI,DI để xác
định địa chỉ dịch chuyển tính từ địa chỉ đoạn. Cụ thể là địa chỉ đoạn sẽ được
dịch trái 1 khoảng 4 bit kết hợp với địa chỉ offset giữ nguyên sẽ tạo thành địa
chỉ 20bit của địa chỉ vật lý
+ Cặp thanh ghi dùng để địa chỉ hóa mã lệnh là CS:IP ,Đối với dữ liệu là thanh
ghi SI:DI, Đối với ngăn xếp là SS:SP
+ byte mã lệnh nằm trong đoạn bộ nhớ có địa chỉ là 1034h và độ lệch là 0200h
sử dung thanh ghi CS=1034h và IP=0200h. vậy địa chỉ vật lý
=10340+0200=10540h

Câu 13: Bus hệ thống của máy tính nối Bộ vi xử lý Intel 8088 với bộ nhớ và
các cổng vào/ra gồm những bus con gì? Vẽ sơ đồ tạo các bus con trong máy
tính PC/XT dùng vi xử lý 8088? Trình bày một chu kỳ bus đọc bộ nhớ?

Trả lời:Bus hệ thống của máy tính nối Bộ vi xử lý Intel 8088 với bộ nhớ và các
cổng vào/ra gồm những bus con là: bus dữ liệu, bus điều khiển, bus địa chỉ
HTMP
HT BUS
Clock
8284

Bus ®Þa 74LS373 Bus ®Þa


chØ chØ HT I/O
Bé nhí
8086/
8088 Bus d÷ 74LS245 Bus d÷
liÖu liÖu

Bus ®iÒu 8288 Bus ®iÒu


khiÓn khiÓn

HÖ thèng bus ë mode cùc ®¹i

Câu 14:Trên bản đồ bộ nhớ máy tính? Bộ nhớ ROM BIOS trong máy tính
IBM PCXT nằm ở vùng địa chỉ nào? Nêu chức năng của bộ nhớ ROM BIOS
trong máy tính IBM PCXT? Khi khởi động máy tính thì thanh ghi đoạn mã
lệnh (CS) và con trỏ lệnh (IP) được khởi tạo giá trị bao nhiêu để vùng nhớ
ROM BIOS sẽ được quy chiếu đầu tiên?
Trả lời:
+ vùng nhớ 256K byte từ C0000h FFFFFh trong bản đồ nhớ của máy tính
được dành cho ROM
+ trong số 256K byte một phần dùng để chứa các chương trình của ROM
BIOS, một phần dành cho chương trình dịch ngôn ngữ BASIC, một phần dành
cho bộ điều khiển đĩa cứng, và các ROM của bảng mạch ngọa vi khác và phần
còn lại là cho người dùng
C000:0000C000:7FFF vùng mở rộng bộ nhớ ROM
C000:8000C000:CFFF điều khiển đĩa cứng
D000:0000E000:FFFF vùng mở rộng bộ nhớ ROM(XT)
F000:0000F000:FFFF ROM BIOS
+ khi khởi động máy tính sẽ khởi tạo thanh ghi đoạn mã lệnh CS=FFFFh và
thanh ghi con trỏ lệnh IP=0000h . Bộ vi xử lý nhận thông tin do CS:IP trỏ tới
là FFFF:0000 ứng với địa chỉ vật lý FFFF0h

Câu 15:

Câu hỏi: Tại sao bộ nhớ RAM chính của máy tính thường sử dụng vi
mạch nhớ DRAM? Ưu, nhược điểm của vi mạch nhớ DRAM so với vi
mạch nhớ SRAM? Khi máy vi tính IBM PC sử dụng loại vi mạch nhớ là
loại DRAM thì CPU cần có thêm thao tác gì để bảo toàn dữ liệu trong bộ
nhớ RAM trong quá trình làm việc?
Trả lời:
- Máy tính sử dụng vi mạch là DRAM(RAM động) thì máy tính phải có thao
tác làm tươi thường xuyên.
- DRAM có ưu điểm chính là dung lượng(mật độ) cao hơn, chi phí trên mỗi
bit rẻ hơn và tiêu thụ điện năng trên mỗi bit ít hơn so với SRAM
- Lý do của việc làm tươi thường xuyên là để khắc phục tình trạng phóng điện
của tụ điện dẫn tới mất dữ liệu.
- Về cấu tạo: các ô nhớ SRAM được chế tạo dưới dạng mạch lật(flip-flop),
còn DRAM sử dụng tụ điện để nhớ từng bit
- SRAM không cần làm tươi thường xuyên do vậy có thể truy cập bất kỳ lúc
nào,DRAM khi đang làm tươi thì không thể đọc hoặc ghi.
- Do mỗi bit của SRAM là một flip-flop và mỗi flip-flop có 6 transistor nên
SRAM có nhiều transistor hơn DRAM và do vậy có dung lượng nhớ thấp
hơn DRAM.
- SRAM thường được sử dụng trong những vị trí không đòi hỏi dung lượng
lớn nhưng cần tốc độ cao.

Câu 16:

Câu hỏi: Trình bày về bản đồ bộ nhớ trên máy tính IBM PC XT (độ lớn,
không gian địa chỉ, các vùng chính của bản đồ nhớ ...). 1KB ở vùng nhớ có
địa chỉ thấp nhất và vùng nhớ có địa chỉ cao nhất trong bản đồ nhớ được sử
dụng vào mục đích gì?
Trả lời
- Máy tính XT với bộ VXL 8086/88 có 20 chân địa chỉ có khả năng quản lý
1Mb bộ nhớ(2^20=1048576=1Mb) ứng với không gian địa chỉ từ 00000H-
FFFFFH
Trong không gian này bộ nhớ quy thành bộ nhớ quy ước có địa chỉ trong
khoảng 00000-
- 9FFFFH và Bộ nhớ trên có địa chỉ trong dải A0000-FFFFFH
- Toàn bộ không gian nhớ1M được chia thành 16 đoạn, mỗi đoạn 64K và
đánh số theo hệ thập lục 0,1,2..A,B..F. Trong đó các đoạn từ 0-9 sử dụng
cho bộ nhớ quy ước, đoạn A-B dành cho video RAM còn các đoạn C,D,E,F
dành cho ROM.
- Hình vẽ sơ lược bản đồ bộ nhớ máy tính PC XT.
-

- Bộ nhớ quy ước là phần bộ nhớ dành cho RAM được dùng cho bảng vector
ngắt, dữ liệu BIOS,tham số và yêu cầu của DOS , hệ điều hành và các phần
mềm ứng dụng.

- Bộ nhớ trên có dải từ A0000-FFFFF với tổng bộ nhớ là 384K Trong đó

- 128K từ A0000 đến BFFFFH cho video RAM

- Từ C0000 đến FFFFFH với tổng số 256K dành cho ROM


1024 byte ở vùng nhớ thấp nhất trong bản đồ bộ nhớ được sử dụng cho bảng
vector ngắt

Câu 17
Câu hỏi: Một chu kỳ truy cập đọc bộ nhớ của vi xử lý 8086 gồm mấy chu kỳ
đồng hồ? Hãy cho biết ý nghĩa của tín hiệu ALE và chu kỳ nào nó tích cực, khi
CPU truy cập bộ nhớ? Tín hiệu nào trong các tín hiệu sau tích cực: IOR, IOW,
MEMR, MEMW, khi CPU thực hiện lệnh: MOV AL,[SI]
- ở trạng thái bình thường để ghi hoặc đọc vào bộ nhớ hoặc các thiết bị vào ra
8088/86 cần 4 chu kỳ đồng hồ T1,T2,,T3,T4 .
- ALE(Address latch enable) dùng sường xuống của tín hiệu này để mở chốt
địa chỉ nhớ. Địa chỉ này được mở nên có thế tiến hành đọc và ghi bộ nhớ,
đến khi ALE trở lại mức cao.
- ALE tích cực ở chu kỳ T1 .
- Tín hiệu trạng thái M/|IO được phát hiện 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

M//IO /RD /WR


1 0 1 /MEMR Tín hiệu đọc
bộ nhớ
1 1 0 /MEMW Tín hiệu ghi
bộ nhớ
0 0 1 /IOR Tín hiệu đọc
cổng vào /ra
0 1 0 /IOW Tín hiệu ghi
cổng vào/ ra

Khi cpu thực hiện lệnhMOV AL,[SI] thì tín hiệu /IOR ở mức tích cực .

Câu 18:
Câu hỏi: Một chu kỳ truy cập ghi bộ nhớ của vi xử lý 8086 gồm mấy chu kỳ
đồng hồ? Tín hiệu nào trong các tín hiệu sau tích cực: IOR, IOW, MEMR,
MEMW, khi CPU thực hiện lệnh ghi bộ nhớ? Tính thời gian của một chu kỳ
ghi bộ nhớ, nếu biết tần số đồng hồ của CPU là 10MHz?
- Gồm 4 chu kỳ
- /MEMW tích cực khi CPU thực hiện lệnh ghi bộ nhớ
- Thời gian của một chu kỳ ghi bộ nhớ khi tần số đồng hồ CPU là 10MHz :
4*1/(10.10^6)=400ns

Câu 19:

Câu hỏi: Vẽ bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088? Nêu
chức năng, dung lượng, vùng địa chỉ của bộ nhớ qui ước (conventional
memory)? Trong máy tính, để phát hiện lỗi đọc và ghi bộ nhớ, mỗi byte được
bổ sung thêm thông tin gì? Giá trị của nó được xác định như thế nào?
- Sơ đồ bộ nhớ
Bộ nhớ quy ước:
- Bộ VXL 8088 có 20 chân địa chỉ nên địa chỉ hóa được 2^20 =1MB ô nhớ
ứng với không gian địa chỉ từ 00000H-FFFFFH . Trong đó 640KB bộ nhớ
được dành cho bộ nhớ RAM được bố trí liên tục từ 00000-9FFFFH gọi là bộ
nhớ quy ước.
- Khi khởi động BIOS sẽ kiểm tra không gian nhớ này và lưu tổng số bộ nhớ
được lắp đặt vào vùng giữ liệu của BIOS tại địa chỉ 0040:0017
- 1KB đầu tiên có địa chỉ từ 00000-003FFF dành cho bảng vector ngắt,256
byte tiếp theo từ 00400-004FF được dành cho vùng dữ liệu cảu BIOS. 256
byte tiếp theo nữa từ 00500-005FF dùng để ghi các tham số DOS .vùng từ
00700-9FFFF để dành cho các yêu cầu của DOS ghi cấu hình máy. Phần còn
lại dành cho các phần mềm ứng dụng.Mọi máy tính PC/XT và tương ứng
đều có bộ nhớ quy ước.
- Trong máy tính thường dùng mã kiểm tra lỗi trong bộ nhớ :
o Một trong mã đó là mã chẵn lẻ (Parity code)
o Khi ghi dữ liệu bit Parity được ghi cùng dữ liệu (bit thứ 9)
o Khi đọc byte, Parity được kiểm tra xem có trùng Parity lưu trong bit 9
không.Nếu trùng-OK,nếu sai-phát sinh ngắt NMI đến CPU.
Ngoài mã Parity phát hiện lỗi , mã sửa lỗi (ECC) có thể sửa lỗi một số bit trong
dữ liệu.

Câu 20:

Vẽ bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088? Nêu chức năng,
dung lượng, vùng địa chỉ của bộ nhớ hiển thị VDR (Video Display RAM)? Xác
định địa chỉ đoạn và độ lệch của ngăn nhớ trong bộ nhớ hiển thị VDR tương
ứng với ký tự ở góc dưới cùng bên trái màn hình, nếu màn hình được thiết lập
ở chế độ văn bản, độ phân dải 80 x 25?
- Bản đồ bộ nhớ
Vùng nhớ có địa chỉ từ A0000-FFFFF (384KB) được gọi là vùng nhớ trên.
128KB từ địa chỉ A0000-BFFFF dùng cho Video RAM.
Chức năng VDR (Video display RAM) : Để hiển thị thông tin lên màn hình
của PC trước tiên CPU phải chuyển các thông tin đó vào bộ nhớ VDR.
Xác định địa chỉa đoạn và offset

Câu 21:

Câu hỏi: Vẽ bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088? Nêu
chức năng, dung lượng, vùng địa chỉ của bộ nhớ ROM? Hãy cho biết, vi mạch
ROM BIOS có dung lượng 8KB, nằm ở vùng địa chỉ nào (từ... đến....)?
- Vùng nhớ 256K byte từ C0000H-FFFFFH được dành cho ROM. Trong số
256K byte, một phần dùng để chứa các chương trình của ROM BIOS, Một
phần dành cho chương trình dịch ngôn ngữ BASIC (để trong ROM) một
phần bộ nhớ cho bộ điều khiển đĩa cứng và các ROM của bảng mạch ngoại
vi khác và phần còn lại cho người dùng. Bản đồ bộ nhớ ROM như sau:

- Vị trí vùng nhớ - Mô tả


C000:0000-C000:7FFF Vùng nhớ mở rộng cho bộ nhớ ROM
C000:8000-C000:CFFF Điều khiển đĩa cứng
D000:0000-E000:FFFF Vùng mở rộng bộ nhớ ROM (xt)
F000:0000-F000:FFFF ROM BIOS
Câu hỏi 22: Tín hiệu nào trong các tín hiệu sau tích cực: IOR, IOW, MEMR,
MEMW, khi CPU thực hiện lệnh đọc mã lệnh? Tính thời gian của một chu kỳ
ghi bộ nhớ, nếu biết tần số đồng hồ của CPU là 10MHz? Nếu chip nhớ RAM
có thời gian truy cập là 100ns, thì CPU có cần chèn thêm trạng thái chờ vào
chu kỳ ghi không? Tại sao?
+ Khi CPU thực hiện lệnh đọc mã lệnh thì các tín hiệu IOR, IOW ở mức tích
cực

+ Tần số của đồng hồ là 10MHz => ta có chu kỳ là 100ns. Do đó chu kỳ đọc


ghi bộ nhớ là 400ns (vì 1 chu kỳ gồm 4 chu kỳ đồng hồ )

1. Nếu chip nhớ RAM có thời gian truy cập là 100ns, thì CPU có cần chèn
thêm trạng thái chờ vào chu kỳ ghi không? Tại sao?

Câu 23: Vẽ bản đồ bộ nhớ máy tính IBM PC/XT? Nêu chức năng của các
vùng nhớ? Sau khởi động, CPU thực hiện lệnh đầu tiên nằm trong vùng nhớ
nào? Điều đó có liên quan gì với giá trị của thanh ghi đoạn mã lệnh và con trỏ
lệnh?

1. Vẽ bản đồ bộ nhớ máy tính IBM PC/XT

2. Chức năng của các vùng nhớ:


Trong bộ nhớ máy tính IBM PC/XT :
- Bộ nhớ quy ước:
+ 640 Kb đầu tiên được bố trí liên tục từ địa chỉ 00000h->9FFFFh và
được gọi là bộ nhớ quy ước trong đó:
- 1 Kb đầu tiên của bộ nhớ quy ước từ địa chỉ 00000-> 003FFh được
dành cho bảng vecto ngắt
+ 256 byte tiếp theo vùng nhớ từ 00400->004FFh được dành cho vùng dữ
liệu của BIOS
+ 256 byte tiếp theo nữa vùng nhớ từ 00500->005FFh dùng để ghi các
tham số của DOS(vùng dữ liệu DOS)
+ vùng 00700h->9FFFFh để dành cho các yêu cầu của DOS, ghi cấu hình
máy
- Địa chỉ từ A0000->FFFFFh với tổng bộ nhớ là 384Kb trong đó:
+ 128Kb rừ A0000h->BFFFFh dành cho video
+ từ C0000h->FFFFFh với tổng số 256Kb dành cho ROM.

- Sau khởi động, CPU thực hiện lệnh đầu tiên nằm trong vùng nhớ nào?
Điều đó có liên quan gì với giá trị của thanh ghi đoạn mã lệnh và con trỏ
lệnh?

Trả lời :
- Khi khởi động máy tính sẽ khởi tạo thanh ghi đoạn mã lệnh CS=FFFFh và
thanh ghi con trỏ lệnh IP=0000h, bộ vi xử lý 8088 nhận thông tin do CS:IP
trỏ tới là FFFF:0000, ứng với địa chỉ vật lý FFFF0h. Như vậy khi CPU
thực hiện lệnh đầu tiên nằm ở vùng địa chỉ cao(vùng nhớ trên) của bản đồ
nhớ

Câu 24. Số bit địa chỉ và dữ liệu của Bus hệ thống trên máy tính có liên quan
gì đến dung lượng và độ rộng từ nhớ của bộ nhớ trên máy tính? Một chu kỳ
bus đọc hay ghi bộ nhớ của vi xử lý 8088 gồm mấy chu kỳ đồng hồ? Tính thời
gian mà bộ vi xử lý truy cập ngăn nhớ, nếu tần số của đồng hồ là 5MHz (giả
sử không có chu kỳ đợi khi truy cập)?

1. Số bit địa chỉ và dữ liệu của Bus hệ thống trên máy tính có liên quan gì đến
dung lượng và độ rộng từ nhớ của bộ nhớ trên máy tính?
Trả lời:
- Số lượng các tín hiệu địa chỉ (bus địa chỉ) của một CPU quyết định độ lớn
của không gian nhớ của máy tính sử dụng CPU đó, tức là quyết định số
lượng ô nhớ lớn nhất có thể có trong bộ nhớ máy tính. Số lượng các tín hiệu
địa chỉ càng lớn thì không gian nhớ càng lớn. Giả sử số lượng tín hiệu địa
chỉ là n thì số ô nhớ có thể là 2n.
- Số lượng các tín hiệu số liệu (bus số liệu) quyết định tốc độ truy cập bộ nhớ
của CPU (hiểu theo cách là dung lượng dữ liệu có thể truy cập trong 1 chu
kỳ đọc ghi).
2. Một chu kỳ bus đọc hay ghi bộ nhớ của vi xử lý 8088 gồm 4 mấy chu kỳ đồng
hồ : (T1, T2, T3 ,T4 )
3. Tính thời gian mà bộ vi xử lý truy cập ngăn nhớ, nếu tần số của đồng hồ là
5MHz (giả sử không có chu kỳ đợi khi truy cập)?

Trả lời : tần số của đồng hồ là 5MHz => ta có chu kỳ là 200ns. Do đó chu kỳ
đọc ghi bộ nhớ là 800ns (vì 1 chu kỳ ghi gồm 4 chu kỳ đồng hồ )

Câu 25.Máy tính IBM PC XT có 20 bits địa chỉ. Nếu bộ nhớ RAM (có địa chỉ
từ 00000 – 9FFFF) sử dụng vi mạch nhớ có dung lượng 4x8 kbits, thì có bao
nhiêu vi mạch nhớ được sử dụng? Giải mã địa chỉ được tổ chức mấy cấp?
Những bit địa chỉ nào được dùng để chọn vi mạch nhớ, những bit địa chỉ nào
được dùng để chọn ngăn nhớ trong vi mạch nhớ?

( chưa làm)

Câu hỏi 26: Mô tả các lệnh vào/ra cổng của bộ vi xử lý: tên lệnh, cú pháp,
chức năng? Dung lượng của không gian vào /ra khi sử dụng chế độ địa chỉ
trực tiếp? Tín hiệu điều khiển nào được sử dụng khi dùng lệnh đọc cổng vào
và ghi cổng ra?

1. Mô tả các lệnh vào/ra cổng của bộ vi xử lý: tên lệnh, cú pháp, chức năng?

- Tập lệnh của vi mạch 8086/8088 có một lệnh để nhận dữ liệu từ thiết bị
vào/ra là INput và một lệnh để gửi số liệu ra thiết bị vào/ra là OUTput. Có
bốn cách dùng khác nhau của mỗi lệnh này: hai loại chuyển dữ liệu 8 hay
16 bít thông qua các cổng vào/ra 8 bít, và hai chuyển dữ liệu 8 hay 16 bít
thông qua các cổng 16 bít.

Instruction Data Comment


Width

IN AL,d8 8 Ðọc một byte từ cổng vào/ra 8 bít


IN AL,DX Ðọc một byte từ cổng vào/ra xác định bởi
8 thanh ghi DX
IN AX,d8
16 Ðọc một word từ cổng vào/ra 8 bít
IN AX,DX
16 Ðọc một word từ cổng vào/ra xác định bởi
OUT d8,AL thanh ghi DX
8
OUT Gửi một byte ra cổng vào/ra 8 bít
DX,AL 8
Gửi một byte ra cổng vào/ra xác định bởi
OUT d8,AX 16 thanh ghi DX

OUT 16 Gửi một word ra cổng vào/ra 8 bít


DX,AX
Gửi một word ra cổng vào/ra xác định bởi
thanh ghi

2. Dung lượng của không gian vào /ra khi sử dụng chế độ địa chỉ trực tiếp?
- 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.
3. Tín hiệu điều khiển nào được sử dụng khi dùng lệnh đọc cổng vào và ghi
cổng ra?
- 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.

M/ IO RD WR
1 0 1 MEMR Tín hiệu đọc bộ nhớ
1 1 0 MEMW Tín hiệu ghi bộ nhớ
0 0 1 IOR Tín hiệu đọc cổng vào/ra
0 1 0 IOW Tín hiệu ghi cổng vào/ra
Câu 27. Trình bày chức năng, các thanh ghi bên trong và các chế độ
lập trình của vi mạch vào/ra song song 8255A? Trong máy tính PC, vi
mạch 8255A nằm trên Mainboard có địa chỉ chọn chip là bao nhiêu,
được lập trình ở chế độ nào? Chiều của các cổng được thiết lập như thế
nào? Viết lại đoạn chương trình khởi tạo 8255A trong BIOS của máy
tính?

I. Trình bày chức năng, các thanh ghi bên trong và các chế độ lập trình
của vi mạch vào/ra song song 8255A?

Hình: Sơ đồ khối
1. Chức năng
Ðệm BUS dữ liệu:

Ðây là đệm ba trạng thái, 8 bít, 2 hướng được sử dụng để ghép nối với BUS dữ
kiệu hệ thống.Dữ liệu được truyền đi hay nhận thông qua các lệnh IN, OUT của
VXL.Từ điều khiển (Control Words) và thông tin trạng thái cùng được chuyển
thông qua đệm BUS này.

Ðiều khiển logic đọc/ghi:

Chức năng của khối này là điều khiển việc truyền dữ liệu ở trong và ngoài vi mạch.
Nó nhận đầu vào từ BUS địa chỉ và BUS điều khiển và ngược lại đưa lệnh ra các
nhóm điều khiển.

CS (Chip Select):

Nếu chân này ở mức thấp sẽ kích hoạt việc trao đổi thông tin giữa 8255 và CPU.

(Read):

Chân này ở nức thấp cho phép 8255 gửi dữ liệu và thông tin trạng thái về
CPU.Ðồng thời cho phép CPU đọc từ 8255.

(Write):

Chân này ở mức thấp cho phép CPU gửi số liệu ra 8255.

A0 và A1 (Port Select 0 và Port Select 1):

Các đầu vào này kết hợp với các đầu vào , , điều khiển việc chọn 1 trong 3
cổng và thanh ghi từ điều khiển. Thường ta nối luôn chúng vào các bít A0 và A1 của
BUS địa chỉ.

2. Các chế độ lập trình

Các chế độ chọn của 8255A.

- Chế độ 0 :chế độ vào ra cơ sở


Trong chế độ này các cổng A,B,CH,CL có thể lập trình vào ra, nghiã
là, tất cả các bít có thể vào hoặc ra.

- Chế độ 1: Cổng A cổng B có thể vào hoặc ra tín hiệu trao đổi (hand
Shacking) được cung cấp bởi cổng C

- Chế độ 2: Cổng A có thể sử dụng điều khiển vào hoặc ra với tín hiệu trao
đổi được cung cấp từ cổng C Cổng B hoặc sử dụng ở chế độ đơn giản hoặc
được sử dụng ở chế độ cao vào /ra.

II. Trong máy tính PC, vi mạch 8255A nằm trên Mainboard có địa chỉ chọn
chip là bao nhiêu, được lập trình ở chế độ nào? Chiều của các cổng được
thiết lập như thế nào?
Trả lời :
Trong máy tính PC, vi mạch 8255A nằm trên Mainboard có địa chỉ chọn chip tại
địa chỉ 60h-63h , được lập trình ở chế độ 0 .
Chiều thiết lập của các cổng:
Vi mạch 8255 có 3 cổng 8 bít (A, B, và C). Các cổng này được thiết lập là
cổng ra hay vào tuỳ thuộc vào nhu cầu sử dụng. Trong đó, cổng C có thể
được sử dụng như cổng hội thoại cho A và B khi làm việc ở mode 1 hay
mode 2.

Nhóm B, như đã biết gồm cổng B và C thấp, có thể được thiết lập là các cổng vào
hoặc ra. Có thể hoạt động ở mode 0 hay1.Khi hoạt động ở mode 1 (có hội thoại),
cổng B có thể là cổng vào hoặc ra có tín hiệu hội thoại (handshakinh) được cung
cấp bởi cổng C thấp.

Nhóm A có cổng A và C cao, có thể hoạt động ở mode 0, 1 hoặc 2. Khi hoạt động
ở mode 1, cổng A được cung cấp tín hiệu hội thoại bởi C cao, còn khi ở mode 2 nó
dùng toàn bộ cổng C làm hội thoại.

III. Viết lại đoạn chương trình khởi tạo 8255A trong BIOS của máy tính?
Mov AL,80h ; lệnh khởi tạo

Out Command,AL ; Ðưa ra thanh ghi Command giá trị nằm trong AL

Câu 28: Trình bày chức năng, các thanh ghi bên trong và các chế độ làm
việc của vi mạch định thời 8253? Trong máy tính PC, vi mạch 8253 có địa
chỉ bao nhiêu? Các bộ đếm của 8253 được khởi tạo ở những chế độ nào?
Viết lại đoạn mã chương trình khởi tạo cho 3 bộ đếm của 8253?

1. Chức năng

Cập nhật đồng hồ hệ thống: bộ đếm 0 của PIT phát tuần hoàn một ngắt cứng
qua
IRQ0 của 8259 để CPU có thể thay đổi đồng hồ hệ thống. Bộ đếm hoạt động
trong chế độ 2. Ngõ vào được cấp xung clock tần số 1.19318 MHz. G0 = 1 để
bộ đếm luôn được phép đếm. Giá trị ban đầu được nạp là 0 cho phép PIT phát
ra xung chính xác với tần số:1.19318/65536 = 18.206Hz. Cạnh dương của mỗi
xung này sẽ tạo ra một ngắt cứng trong 8259. Yêu cầu này sẽ dẫn tới ngắt 08h
để cập nhật đồng hổ hệ thống 18.206 lần
trong 1 giây.
Làm tươi bộ nhớ: PIT nối với chip DMAC dùng làm tươi bộ nhớ DRAM. Bộ
đếm 1 sẽ định kỳ kích hoạt kênh 0 của DMAC-8237A để tiến hành 1 chu trình
đọc giả làm tươi bộ nhớ. Bộ nhớ 1 hoạt động trong chế độ 3 phát sóng vuông
với giá trị nạp ban đầu là 18. Do đó sóng vuông được phát ra có tần số
1,19318 MHz/18 = 66288 Hz (chu kỳ bằng 0.015s). Như vậy cứ sau 15 ms
cạnh dương của sóng vuông này sẽ tạo 1 chu kỳ đọc giả để làm tươi bộ nhớ.
Phát sóng âm với tần số biến đổi ra loa của PC: Bộ đếm 2 của PIT được
dùng đểphát sóng âm ra loa của PC.

2. Các chế độ đếm:


Chế độ 0 (Interrupt on Terminal Count): tín hiệu ngõ ra ở mức thấp cho tới
khi bộ đếm tràn thì sẽ chuyển lên mức cao.

Chế độ 1 (Programmable Monoflop): tín hiệu ngõ ra chuyển xuống mức thấp
tại cạnh âm của xung clock đầu tiên và sẽ chuyển lên mức cao khi bộ đếm kết
thúc.

Chế độ 2 (Rate Generator): tín hiệu ngõ ra xuống mức thấp trong chu kỳ đầu
tiên và sau đó chuyển lên mức cao trong các chu kỳ còn lại.
Chế độ 3 (Square-Wave Generator): tương tự như chế độ 2 nhưng xung ngõ ra
là sóng vuông khi giá trị đếm chẵn và sẽ thêm một chu kỳ ở mức cao khi giá
trị đếm lẻ.

Chế độ 4 (Software-triggered Pulse): giống như chế độ 2 nhưng xung Gate


không khởi động quá trình đếm mà sẽ đếm ngay khi số đếm ban đầu được
nạp. Ngõ ra ở mức cao để đếm và xuống mức thấp trong chu kỳ xung đếm.

Sau đó, ngõ ra sẽ trở lại mức cao.

Chế độ 5 (Hardware-triggered Pulse): giống như chế độ 2 nhưng xung Gate


không khởi động quá trình đếm mà được khởi động bằng cạnh dương của
xung clock ngõ vào. Ngõ ra ở mức cao và xuống mức thấp sau một chu kỳ
clock khi quá trình đếm kết thúc.

3. Trong máy tính PC, vi mạch 8253 có địa chỉ bao nhiêu? Các bộ đếm của 8253
được khởi tạo ở những chế độ nào? Viết lại đoạn mã chương trình khởi tạo cho 3
bộ đếm của 8253?
các bộ đếm được khởi tạo ở các chế độ:
+ Chỉ đọc/viết byte trọng số cao(MSB)
+ Chỉ dọc / viết byte trọng số thấp
+đọc /viết LSB trước và MSB sau

Đoạn mã được khởi tạo cho ba bộ đếm

Chương trình của bộ đếm 0 như sau:

MOV AL,36H ;từ điều khiển

OUT 43H,AL ;đến thanh ghi điều khiển của 8253

MOV AL,00 ;LSB và MSB của bộ chia

OUT 40H,AL ;LSB tới bộ đếm 0

OUT 40H,AL ;MSB tới bộ đếm 0


Chương trình của bộ đếm 1 như sau:

MOV AL,54H ;từ điều


khiển
OUT 43H,AL ; đến
thanh
ghi điều
khiển
MOV AL,18 ;số chia
18 (hệ
thập
phân)
OUT 41H,AL ;đến bộ
đếm 1

+ chương trình của bộ đếm 2 như sau

MOV AL,0B6H ;từ điều khiển


OUT 43H,AL
MOV AL,33H ;byte thấp
OUT 42H,AL
MOV AL,05 ;byte cao
OUT 42H,AL

câu 29:

1. Khái niệm truyền dữ liệu nối tiếp:


- Cần một đường dây để truyển. Phương pháp truyền từng bit một.
- Bên phát: Với mỗi byte từ bus dữ liệu của bộ vi xử lý được biến đổi
thành các bit nối tiếp nhờ thanh ghi dịch vào song song- ra nối tiếp rồi
mới được truyền ra đường dữ liệu.
- Bên thu: cần có thanh ghi dịch vào nối tiếp-ra song song để biến đổi dữ
liệu nối tiếp thành một byte để hệ thống xử lý.
- Chú ý: trong trường hợp sử dụng dường dây điện thoại thì cần biến đổi
tín hiện bit sang tín hiệu hình sin. Thiết bị ngoại vi thực hiện biến đổi trên
gọi là mode (modultor/demodulator)
2. Giao thức truyền đồng bộ và không đồng bộ:
- Truyền đồng bộ: mỗi lần truyền một khối dữ liệu (các ký tự)
- Truyền không đồng bộ: mỗi lần truyền đi một byte.
+ để xác định được nội dung của dữ liệu cần có một quy tắc xác định
thống nhất cả bên thu và bên phát và quy tắc đó được gọi là giao thức-
protocol.
+ khái niệm định khung trong giao thức truyền không đồng bộ: mỗi ký tự
được đặt giữa bit khởi động và bit dừng. Bit khởi động luôn luôn có độ
dài là 1 và giá trị là 0 còn bit dừng có thể có độ dài từ 1 đến 2 bit và có
giá trị là 1.
+ tốc độ truyền <=100.000bps
- Chú ý: có thể sử dụng chương trình để xác định cách truyền tin (đồng bộ
hay không đồng bộ). Tuy nhiên nên dùng các chip chuyên dụng để phân
biệt Ví Dụ: chíp thu phát không đồng bộ đa năng UART, chip thu phat
đồng bộ đa năng USART
3. Chế độ thu phát đơn công và song công:
- Thu phát đơn công: Là chế độ mà các thiết bị đó chỉ phát ra tín hiệu hoặc
chỉ thu tín hiện.
- Thu phát song công:
+ thu phát bán song công: trong cùng một thời điểm thiết bị chỉ thu hoặc
chỉ phát.
+ thu phá song công hoàn toàn: trong cùng một thời điểm thiết bị có thể
vừa phát và vừa nhận dữ liệu.
4. Phân biệt thiết bị truyền thông
- Thiết bị đầu cuối dữ liệu DTE: chỉ các máy tính hay thiết bị dùng để gửi
hoặc thu dữ liệu.
- Thiế bị truyền thông dữ liệu DCE: chỉ các thiết bị truyền thông ví dụ như
modem.
5. Mô tả chuẩn nối tiếp RS-232: (cơ khí, điện, giao thức truyền)

- Chuẩn RS-232 là chuẩn giao diện I/O của Mỹ đưa ra năm 1960.
- Điện áp vào/ra không tương thích với họ vi xử lý TTL (các mạch thực
hiện chức nằn logic) do đó cần có bộ chuyển đổi điện áp như MC1488,
MC1489. Ở mức 0 điện áp +3V đến +25V còn ở mức 1 điện áp từ -3V
đến -25V. MC1488 chuyển đổi từ TTL sang RS232 và MC1489 làm
ngược lại.
- Cách bố trí các chân cắm DB-25 (có 25 chân): DB-25P là đầu đực, và
DB-25S là đầu cái.
Do máy tính không sử dụng hết tất cả các chân nên IBM đưa ra chuẩn
DB-9 có 9 chân.
- Tốc độ truyền: trong khoảng 1.5m thì tốc độ có thể >100.000 bps
- Giao thức truyền:
Nối ghép DTE-DCE Nối ghép DTE-
DTE

DTE DCE DTE DTE


TXD TxD
2 2 TxD 2
2
3 RxD 3
3 3
7 Đất 7 7
7 RxD RxD

Đất

6. Tại sao truyền thông không đồng bộ phải đóng khung dữ liệu?
Để nhận dạng dữ liệu ở bên thu. Phân biệt giữa các ký tự do bên phát truyền
đi.

Câu 30

- Bộ vi xử lý 8086/88
+ sử dụng hai lệnh: IN, OUT. Để thực hiện truy cập vào ra. Cú pháp
chung của các lệnh này
IN đính, nguồn
OUT đính, nguồn
+ trong chế độ trực tiếp
Cú pháp: IN AL, port.
Hoặc MOV DL,port
IN AL,DL
OUT port,AL
Hoặc MOV DL,port
OUT DL,AL
Trong đó cổng port có độ dài 8bit. Vì vậy port nhận giá trị từ 00h đến
FFh (tương ứng với 256 giá trị). 8 bit địa chỉ này có thể truy cậpđược 256
cổng hoặc và 256 cổng ra thông qua Bus địa chỉ từ A0-A7.
+ trong chế độ gián tiếp
Cú pháp: MOV DX, port
IN AX,DX
MOV DX,port
OUT DX,AX
Trong đó cổng port có độ dài 16 bit. Với 16 bit địa chỉ cổng port nhận
các giá trị từ 0000h đến FFFFh. Tương ứng với 16 bit địa chỉ có 65536
cổng vào hoặc 65536 cổng ra thông qua Bus địa chỉ từ A0-A15.
+ tín hiệu điều khiển để phân biệt chiều truy cập đến các cổng vào ra của
CPU là tín hiệu DT/R:
Nếu DT/R=0 bus đang ở chế độ nhận. Do đó dữ liệu có thể được đọc từ
bộ nhớ hay từ các thiết bị ngoại vi.
Nếu DT/R=1 bus đang ở chế độ truyền. Do đó dữ liệu có thể ghi vào bộ
nhớ hoặc đưa ra thiết bị ngoại vi vào/ra.

Câu 31

- Có hai phương pháp phục vụ ngoại vi: phương pháp ngắt, phương pháp
thăm dò.
+ phương pháp ngắt: sử dụng tín hiệu ngắt và chương trình phục vụ ngắt
ISR.
+ phương pháp thăm dò: bộ vi điều khiển phải liên tục kiểm tra điều kiện
của tất cả các ngoại vị nếu ngoại vi nào đủ điều kiện thì thực hiện tiến
hàng phục vụ ngoại vi.
+ trong phương pháp ngắt:
 Ưu điểm:
+ có thể phục vụ được nhiều ngoại vi hơn.
+ cho phép bộ vi xử lý che hoặc bỏ qua một số yêu cầu phục vụ ngắt
của ngoại vi.
+ tốn ít thời gian của bộ vi điều khiển hơn phương pháp thăm dò.
 Nhược điểm
+ các phục vụ ngắt của hai hay nhiều ngoại vi diễ ra không đồng thời.

+ trong phương pháp thăm dò

 Ưu điểm: không cần gán ngắt và không cần bộ quản lý ngắt.


 Nhược điểm: tốn kém nhiều thời gian của bộ vi điều khiển hơn
phương pháp ngắt.
- Bảng vector ngắt:

Số hiệu ngắt Địa chỉ vật lý Địa chỉ logic


INT 01 00004 0000:0004
INT 02 00008 0000:0008
INT 03 0000C 0000:000C
….
INT FF 003FC 0000:03FC

- INT 28h (28h*4=B2h)


+ địa chỉ vật lý là: B2h, B3h,B4h,B5h
+ địa chỉ logic: 0000:00B2h,0000:00B3h, 0000:00B4h, 0000:00B5h

Câu 32 và 33

- Ngắt là: là sự đáp ứng các sự kiện bên ngoài nhằm thông báo cho CPU
biết thiết bị cần được phục vụ. Trong 8086/88 có 256 ngắt chạy từ
INT00-INT FF. Khi thực hiện ngắt CPU tự động thực hiện lưu các giá trị
của thanh ghi: cờ(FR), con trỏ lệnh (IP) và thanh ghi đoạn (CS) vào ngăn
xếp. Trong máy tính PC 80x86 địa chỉ ngăn luôn luôn gấp 4 lần số hiệu
ngắt.
- Ngắt chia là 2 loai:
+ ngắt cứng: ngắt thiết bị: 80x86 có 3 chân phục vụ cho ngắt cứng.
INTR: là chân yêu cầu ngắt, chân này có thể bị cấm (xóa cờ ngắt IF
bằng lệnh CLI) hoặc không cấm (lập cờ IF bằng lệnh STI). Chân này
được kích hoạt từ bên ngoài bằng nguồn điện 5V đặt vào chân INTR.

Chân NMI: ngắt không che, chân này thể cấm bằng các lệnh CLI và
STI, chân này được kích hoạt từ bên ngoài bằng nguồn điện 5V đặt vào
chân NMI.
Chân INTA: báo nhận ngắt.
+ trong ngắt mềm: phục vụ ngắt bằng các chương trình con phục vụ ngắt
(ISR). Nó được kích hoạt bằng phần mềm. Mỗi ngắt được gán 1 giá trị ví
dụ INT 21h ngắt gọi chức năng DOS
- Vector ngắt: là bảng chứa địa chỉ vật lý và địa chỉ logic tương ứng của
mỗi một số hiệu ngắt. trong 80x86 sử dụng 1KB vùng nhớ thấp nhất để
lưu bảng vector ngắt và không dùng để sử dụng vào mục đích khác.
- Nôi dung trong ngắt
Trong mỗi một ngắt có thể xác đinh được địa chỉ vật lý và địa chỉ logic
của chương trình con.
+ ngắt cứng: dựa vào việc xác địn thanh ghi đoạn.
+ ngắt mềm dựa vào số hiệu ngắt.
- Ví dụ xác định địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt
với INT 17H.
17h*4=68h vậy địa chỉ logic là: 68h,69h,6Ah,6Bh
Địa chỉ logic: 0000:0068h, 0000:0069h, 0000:006Ah, 0000:006Bh.

Câu 34

- Stack: là vùng nhớ trong để lưu trữ các dữ liệu tạm thời. Nó làm việc
theo nguyên tắc vào
Sau ra trước.
- Các lệnh cho phép người dùng truy cập vào ngăn xếp: pop, push
- Bộ vi xử lý tự động truy cập vào ngăn xếp khi mà bắt đầu hay kết thúc
chương trình phục vụ ngắt.

- Khi ngắt được thực hiện bộ vi xử lý tự động lưu giá trị của các thanh ghi:
cờ(FR), con trỏ lệnh (IP) và thanh ghi đoạn (CS) vào ngăn xếp. Và nó tự
động khôi phục dữ liệu sau khi kết thúc chương trình phục vụ ngắt.

37 : Định nghĩa vào/ra song song và vào/ra nối tiếp? Chúng được sử
dụng trong các trường hợp nào? Địa chỉ của các cổng vào ra nối tiếp
COM1-COM4 và vào ra song song LPT1-LPT4 được lưu ở đâu? Tại địa
chỉ nào? Địa chỉ cổng có độ dài bao nhiêu bit? Hãy viết lệnh đọc cổng có
địa chỉ 03FDh?
-

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
- 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 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
- 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 đầ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.
- 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.

39 ))
Câu hỏi: Nêu mối quan hệ giữa độ phân giải màn hình, số bits mã hoá
- màu và dung lượng của bộ nhớ Video RAM?(đề cương có rồi). Chuẩn
- bus AGP sử dụng để làm gì? Tính thông lượng (hay dải thông) của bus
- AGP 1x nếu biết độ rộng bus là 32 bit, tần số bus là 66MHz?
- Card tăng tốc đồ họa AGP.
- Ở chế độ đồ họa, để biểu diễn một trang màn hình có độ phân giải
cao,
- màu sắc rõ nét sẽ cần một dung lượng nhớ rất lớn. Khi thực hiện sử lý
- hình ảnh chuyển động thì trong 1 giây cần phải đưa đên 30 trang lên
- màn hình, lượng thông tin trao đổi giữa máy tính và Card điều khiển
- màn hình sẽ rất lớn (dải thông đòi hỏi cao). Thực tế bus PCI của máy
- tính không đủ dải thông để truyền lượng thông tin này , do vậy người ta
- thiết kế 1 giao diện truyền số liệu giữa Card điều khiển màn hình và
- CPU của máy tính trên cơ sở tốc độ truyền số liệu giữa CPU và RAM
- Card màn hình trên giao diện đó gọi là card tăng tốc đồ họa AGP.
- Xem thêm trong tài liệu.
- Trên cơ sở dải thông của bus PCI là 266MBps, người ta thiết kế Card
- AGP với các tốc độ truyền:
- 2X = 2 * 266MBps
- 4X = 4* 266MBps
- 8X = 8* 266MBps
- Ngoài việc tăng dải thông, để tăng tốc độ truyền AGP còn cải tiến cả
- giao thức truyền số liệu.
- Hiện nay khi mà PCI dược nâng cấp PCI Exp có dải thông đến 16X thì
- người ta không sử dụng AGP nữa mà sử dụng chuẩn PCI Exp cho các
- máy tính

38) Câu hỏi: Thế nào là chế độ đồ hoạ và chế độ văn bản trên màn
hình?
- Trong chế độ văn bản, mỗi ký tự trên màn hình tương ứng mấy byte
trong
- bộ nhớ hiển thị (Video RAM)? Byte thuộc tính trong Video RAM có ý
- nghĩa gì? Xác định byte thuộc tính của một ký tự hiện trên màn hình có
màu
- trắng trên nền đỏ?

- 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ạ.
- Chế độ văn bản: Đối tượng điều khiển của Card điều khiển màn 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àn hình có độ phân giải là 800 điểm sáng
* 600 điểm sáng = 48,000 điểm sáng thì khi đó đối tượng điều khiển của
card màn hình sẽ là 48,000 điểm sáng 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ỉ Địa chỉ vật Nội dung


logic lý
B800:000 B8000 Mã ASCII của ký tự tại hàng 1 cột 1
0
B800:000 B8001 Thuộc tính của ký tự tại hàng 1 cột
1 1
B800:000 B8002 Mã ASCII của ký tự tại hàng 1 cột 2
2
B800:000 B8003 Thuộc tính của ký tự tại hàng 1 cột
3 2

B800: B87CE Mã ASCII của ký tự tại hàng 25 cột


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

40) Câu hỏi: Dải thông của bus là gì? Đơn vị đo dải thông? Công thức
tính dải
- thông? Yếu tố nào ảnh hưởng đến dải thông của bus? So sánh dải thông
của
- một bus song song 8 bit và một bus nối tiếp có cùng tần số truyền?

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ủ đến thiế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ớn hơ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ủ đến thiế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 41: Lập bảng so sánh bus ISA và bus PCI về các đặc tính sau: độ
rộng dữ liệu, độ rộng địa chỉ, tốc độ bus (tần số bus), kích thước của bus,
khả năng chống nhiễu xuyên âm, kiểu kích phát của tín hiệu ngắt, hỗ trợ
chia sẻ ngắt, khả năng cầu hình tự động plug-n-play, độ phụ thuộc vào bộ
vi xử lý? Tính dải thông của hai bus ISA và PCI sử dụng các giá trị độ
rộng dữ liệu và tần số ở trên?
- (thanh chưa làm)
- -Câu 42: Trình bày về giao diện USB: chức năng, kiểu truyền dữ liệu
(nối tiếp, song song), tốc độ truyền, tổ chức ghép nối (tô-pô) chủ-tớ? Hãy
cho biết số lượng thiết bị USB nối với chủ USB? Cáp truyền USB: cấu
tạo, độ dài, kỹ thuật chống nhiễu đường truyền?
- // Trả lời: 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ày hoà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ại vi sẽ được máy tính gán cho 1 địa chỉ
IP (Internet Protocol).
- Dữ liệu sẽ được truyền trên USB theo hai chế độ:
- Chế độ cao tốc (Full speed mode) với tốc độ 12 Mbs.
- Chế độ chậm (low speed mode) với tốc độ 1,5 Mbs.
- Ngoà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ị.
- 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 đường truyền và đảm bảo truyền được
khoảng cách xa.
-
-
-
- -Câu 43: Trong máy tính hiện nay, bus hệ thống (nối CPU-bộ nhớ) và
bus vào/ra (nối CPU-ngoại vi) có làm việc cùng một tần số không? 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?
/// Trả lời: : Trong máy tính hiện nay, bus hệ thống (nối CPU-bộ nhớ) và
bus vào/ra (nối CPU-ngoại vi) không làm việc cùng một tần số vì
- 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àm việ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 44: Thế nào là bus hệ thống trong máy tính? Bus hệ thống gồm
những bus con nào? Chức năng của từng bus con đó? Độ rộng của
bus địa chỉ, bus dữ liệu xác định khả năng gì của máy tính?Dải thông
của bus phụ thuộc vào những yếu tố gì?Tại sao?

- Trả lời: bus hệ thống trong máy tính là đường dây để truyền tín hiệu
liên hệ giữa các khối chức năng trong máy tính lại với nhau. Hệ thống
bus bao gồm 3 loại bus là bus địa chỉ, bus dữ liệu và bus điều khiển.
- BUS địa chỉ: Phục vụ việc chọn ô nhớ hoặc thiết bị vào/ra. Khi ghi/đọc
bộ nhớ hoặc thiết bị vào/ra, bộ xử lý trung tâm sẽ đưa lên bus này địa chỉ
của các thiết bị liên quan. Đây là bus một chiều và xuất phát từ CPU.
- BUS dữ liệu: được dùng để chuyển dữ liệu và thường có từ 8, 16, 20, 24,
32 đến 64 đường dây tuỳ thuộc vào từng CPU cụ thể. BUS dữ liệu là loại
2 chiều. Các phần tử có đầu ra nối thẳng với bus dữ liệu đều phải được
trang bị đầu ra 3 trạng thái để bảo đảm cho bus hoạt động được bình
thường.
- BUS điều khiển: Hỗ trợ cho việc trao đổi các thông tin điều khiển và
trạng thái như phân biệt thiết bị được CPU truy nhập là bộ nhớ hay thiết
bị vào/ra, thao tác truy nhập là đọc hay viết v.v......Bus điều khiển thường
gồm hàng chục dây tín hiệu khác nhau, và xét theo cả nhóm thì đó là loại
bus 2 chiều.
- . Độ rộng bus địa chỉ càng lớn thì không gian nhớ càng lớn. Giả sử số
lượng tín hiệu địa chỉ là n thì số ô nhớ có thể là 2n.
- Độ rộng bus dữ liệu quyết định tốc độ truy cập bộ nhớ của CPU (hiểu
theo cách là dung lượng dữ liệu có thể truy cập trong 1 chu kỳ đọc ghi).
- Ta có công thức : Dải thông = tần số l/v của Bus * độ rộng Bus dữ liệu
(byte)
- Do đó ta có thể thấy giải thông của bus phụ thuộc tần số làm việc của
bus,độ rộng của bus dữ liệu và việc thay đổi giao thức của bus.
Câu 45: Phương pháp phục vụ ngoại vi bằng ngắt có ưu điểm gì so
với phương pháp phục vụ ngoại vi bằng phương pháp hỏi vòng? Qui
trình thực hiện của bộ vi xử lý khi có một ngắt được kích hoạt? Ý
nghĩa của bit cờ ngắt IF (Interrupt Flag) đối với ngắt cứng? Lệnh
phần mềm để che (cấm) và không che (cho phép) ngắt?

Trả lời: Quản lý ngoại vi bằng phương pháp hỏi vòng, cứ sau 1 khoảng
thời gian nhất định máy tính hỏi trạng thái của ngoại vi, nếu bít thông tin
biểu diễn trạng thái của ngoại vi thay đổi thì nghĩa là ngoại vi đó được
yêu cầu phục vụ, khi đó máy tính sẽ chạy chương trình phục vụ ngoại vi
đó. Như vây phản ứng của máy tính vớI yêu cầu được phục vụ của ngoạI
vi là không tức thời.
- Quản lý ngoại vi bằng ngắt: Khi một ngoại vi được yêu cầu được phục
vụ, nó sẽ phát tín hiệu yêu cầu được phục vụ - IRQs. Ngay lập tức máy
tính sẽ dừng tất cả các công việc đang thực hiện để chạy chương trinh
phục vụ ngoại vi đó. Như vây phản ứng của máy tính vớI yêu cầu được
phục vụ của ngoại vi trong trường hợpj này là tức thời. Đây chính là ưu
điểm nổi trội của việc quản 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
- Khi bộ vi xử lý nhận được tín hiệu ngắt nó thường tạm ngưng tất cả các
hoạt động khác và kích hoạt 1 chương trình con đang có trong bộ nhớ gọi
là chương trình xử lý ngắt tương ứng với từng số liệu ngắt cụ thể.
- Bít cờ ngắt IF là 1 trong những bit phản ánh trạng thái của sự kiện ngắt.
IF = 0 che ngắt,IF =1 cho phép ngắt

Câu 46: Dải thông của Bus là gì? Đơn vị đo dải thông? Các biện
pháp để tăng dải thông của Bus máy tính? Các loại Bus ISA, MCA,
EISA, PCI, AGP được phát triể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?

Trả lời: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ủ đến thiế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ớn hơ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ủ đến thiế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 47: Thiết bị được gọi là “Cầu nối – bridge” trên các máy tính
hiện nay dùng để thực hiện chức năng gì? Có mấy loại cầu và mỗi
loại dùng để kết nối giữa bộ phận nào với nhau?

Trả lời: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àm việ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).

- Hiện nay MainBoard của máy tính được điều khiển bởi rất nhiều
mạchphần cứng có các chức năng khác nhau. Tất cả chúng được đóng
trong một mạ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à north and 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 48: 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ác cổng đó, người ta dùng phương pháp nào?Cổng
USB là bao nhiêu? Giải thích lý do tại sao giao diện qua cổng USB
lại cho phép quản lý số ngoại vi đến 127 thiết bị?

Trả lời: 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
- 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 đầ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.
- Số lượng ngoại vi tối đa mà máy tính có thể quản lí được bằng cổng USB
tối đa là 127 thiết bị bởi 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.
Câu 49: Thế nào là byte thuộc tính trong bộ nhớ Video RAM. Cho
biết card màn hình của máy tính đang ở chế độ 02: văn bản, độ phân
giải 80 cột x 25 dòng, địa chỉ bộ nhớ Video bắt đầu từ B8000h. Xác
định địa chỉ logic của byte ký tự và byte thuộc tính ứng với vị trí
dòng 12 cột 20 trên màn hình.

Trả lời: Ở chế độ văn bản thông tin về màu sắc và độ sáng của 1 kí tự
trên màn hình được chứa trong 1 byte, byte đó là byte thuộc tính.
- Địa chỉ logic
- Mã ASCII của kí tự tại dòng 12 cột 20 là
- B8000:0000C
- B80014
- Thuộc tính của kí tự tại dòng 12 cột 20 là
- B8000:00020
- B8020

You might also like