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

ĐỀ CƯƠNG ÔN TẬP LẬP TRÌNH HỆ THỐNG

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 (422.5 KB, 15 trang )

Câu 1:So sánh tốc độ thực hiện của chương trình khi sử dụng chương trình con khi khai báo là
near và far trong Assembly?
NEAR: chương trình con được gọi thì địa chỉ offset(16 bit) được lấy từ ngăn xếp để gán cho thanh ghi
IP. Chương trình con và chương trình gọi nó trên cùng một đoạn(segment).
FAR: thì chỉ lấy địa chỉ Segment offset trong ngăn xếp được lấy để gán cho thanh ghi CS và IP.
Chương trình con và chương trình chính trong các đoạn khác nhau.
 Như vậy khi sử dụng chương trình con khai báo near thì chương trình sẽ thực hiện nhanh hơn.
Câu 2: phân biệt giữa file và thư mục con. Phân biệt điểm nhập file trong thư mục và điểm nhập
file trong FAT?
-Thư mục con: dưới mỗi thư mục gốc chứa các thu mục con và file trực thuộc. trong thư mục con lại có
thư mục con của nó là file trực thuộc nó. Mỗi thư mục con chỉ có 1 tên duy nhất.
-File là nơi lưu trữ thông tin bao gồm dữ liệu, chương trình, văn bản…mỗi file có một tên riêng phân
biệt, bao gồm 2 phần: phần tên và phần mở rộng (.exe, .doc, .txt, .iso, …).
*,Điểm nhập file trong thư mục:
Dos tạo một điểm nhập 32byte cho mỗi file trong thư mục. Cấu trúc mỗi điểm nhập:
-07: Tên file, byte 0 dùng làm byte trạng thái
-8-10: Phần mở rộng
-11: Thuộc tính
-12-21: Để mở rộng
-22-23: Giờ tạo (h:m:s)
-25: Ngày tạo (y:m:d)
-26-27: Số hiệu cluster đầu tiên


28-31: Kích thước file theo byte
=> Vừa là địa chỉ cluster đầu tiên của file trong vùng dữ liệu vừa là số thứ tự của điểm nhập của file
trong bảng
FAT.
*,Điểm nhập file trong bảng FAT:
-FAT(File Allocation Table) là tạo ra bản đồ các file trên đĩa
-Bao gồm các điểm nhập cho file, kích thước của điểm nhập tuỳ thuộc vào từng loại đĩa


-Nội dung điểm nhập trong bảng FAT:
+FFF chỉ đây số thứ tự của điểm nhập này là địa chỉ cluster cuối cùng của file
+,000 chỉ điểm nhập chưa sử dụng
+,000 < a < FFF thì a vừa chỉ địa chỉ cluster hiện tại vừa chỉ trạng thái của file sẽ xem tiếp trong điểm
nhập thứ a của bảng FAT
=>File sẽ không lưu trữ thành các cluster liên tiếp mà các cluster của file sẽ được tham chiếu trong
bảng FAT
Câu 3: Tính sốxung nhịp đồng hồphát ra của bộ đếm 0 trong 1 giây biết tần sốcủa máy phát
xung là 1,93 MHz và số đếm 500?
Số xung nhịp đồng hồ phát ra của bộ đếm 0 trong 1s là:
Fout=Fin/N=1,93*10^6/500=3860Hz.
Câu 4: phân biệt Macro và chương trình con?
-Macro và chương trình con cùng là một nhóm lệnh thực hiện 1 công việc
-Chương trình con đc gọi thông qua chỉ dẫn CALL trong khi macro đc chèn thẳng vào ct tại vị trí chỉ
định
-Macro thực hiện nhanh hơn chương trình con vì ko thông qua call mà thực hiện trực tiếp như các asm
khác,
-Thời gian biên dịch: Macro ít tốn thời gian biên dịch hơn procedure


-Thời gian thực hiện: Macro nhanh hơn chương trình con vì không tốn thời gian khôi phục trạng thái
thông tin khi được gọi.Kích thước : kích thước chương trình dài hơn
Câu 5. Nhiệm vụcủa PIT (Programable Interval Timer) trong đồng hồ hệ thống là gì
PIT: programmable Interval Timer: bộ đếm khoảng thời gian lập trình được.
Nhiệm vụ: đếm khoảng thời gian từ một thời điểm nào đó.
Trong họ PC-IBM, PIT 8253/8354 thường dùng để:
-

Tạo xung đồng bộ hệ thống: cho xung định thời gian bởi bộ đếm 0 với lối ra OUT0, lối vào từ


-

máy xung nhịp.
Tạo xung điều khiển ngắt để điều khiển việc làm tươi DRAM bởi bộ đếm 1.
Tạo xung âm thanh ra loa hay báo thức bởi bộ đếm 2 với lối ra OUT0

Câu 6:Phân loại ngắt?
 Cách 1: Phân loại dựa vào việc kích hoạt ngắt: có ngắt cứng, ngắt mềm, ngắt lôgic( ngoại lệ)
 Ngắt cứng: sử dụng làm phương pháp vào / ra dữ liệu, trong đó thiết bị vào / ra (thiết bị vật lý:
bàn phím, máy in , đồng hồ nhịp thời gian v.v..) chủ động khởi động quá trình vào / ra. Quá trình
phục vụ ngắt cứng được kích hoạt bằng một tín hiệu vật lý từ bên ngoài.
 Ngắt mềm: là ngắt được kích hoạt bằng các chương trình để gọi các chương trình con phục vụ
ngắt thông qua chỉ thị INT.
 Ngắt lôgic(Ngoại lệ): là ngắt do chính CPU phát ra khi nó gặp lỗi. Ví dụ phép chia cho 0, tràn
bộ nhớ...
 Cách 2: Theo sự nhận biết ngắt của CPU: ngắt che được và ngắt không che được
 Ngắt che được(Maskable): có thể thiết lập để CPU nhận biết hoặc không thể nhân biết được ngắt
dựa vào cờ IF. Nếu IF=1, CPU có thể nhận biết ngắt, IF=0, CPU không thể nhận biết được;
nghĩa là khi có yêu cầu ngắt CPU vẫn làm việc bình thường
 Ngắt không che được( Non Maskable): CPU luôn nhận biết được khi có yêu cầu ngắt, việc thiết
lập cờ IF không ảnh hưởng gì
Câu 7:PIC 8259 sửdụng đểlàm gì. Nhiệm vụcủa các chân IR0, IR1, … IR7, INTR, INTA của PIC
8259?


 PIC 8259 là một vi mạch điện tử khả trình được thiết kế để giúp CPU thực hiện quá trình ngắt
cứng. PIC 8259 thực hiện các chức năng sau:
 Ghi nhận được 8 yêu cầu ngắt IRQi , i = 0,1,2,….,7.
 Cho phép chọn và phục vụ các yêu cầu ngắt theo mức ưu tiên.
 Cung cấp cho CPU số ngắt tương ứng với yêu cầu ngắt IRQ i số ngắt này đại diện cho địa

chỉ của chương trình con phục vụ thiết bị yêu cầu ngắt IRQi
 Cho phép hoặc không cho phép các yêu cầu ngắt IRQi kích hoạt hệ thống ngắt.
-

Ngắt INTR:
+)Ngắt này cho phép khi IF=1, cấm ngắt khi IF=0 và thanh ghi flag
+)Được xoá về "0" bởi lệnh CLI (Clear interrupt).
+)Được xác lập lên "1"bởi STI
+)Thường được nối vào chân yêu cầu ngắt của mạch xử lý ưu tiên ngắt (8214, 8259).

Câu 8: giả sử tần số máy phát xung không đổi muốn thay đổi âm thanh đầu ra cần phải làm gì?
- Cùng một tần số của máy phát xung nhịp, muốn điều khiển tần số của máy phát âm thanh cần
phải thay đổi số đếm N trong bộ chia tần số (bộ đếm 2 của PIT 8253/8354).
Câu 9: Giảsử ổ đĩa có dung lượng 100KB trong đó 20KB dành cho bảng FAT, Sector Boot và
thưmục gốc. Kích thước mỗi Cluster là 10KB và trên đĩa có đúng 8 file, mỗi file kích thước 5KB.
Hỏi theo cách quản lý của DOS, ổ đĩa đã đầy chưa; tính dung lượng ổ đĩa lãng phí?
Khi kích thước file nhỏ hơn Cluster, DOS vẫn dành cho file cả một Cluster. Theo đề bài thì trên
đĩa có 8 file chiếm 8 Cluster vậy dung lượng cần dung cho 8 file này là 8*10=80 KB.
80+20=100 KB vậy theo cách quản lí của DOS thì ổ đĩa đã đầy.
Dung lượng ổ đĩa lãng phí là: 80-8*5=40KB.
câu 10: bản chất địa chỉ ô nhớ là gì? Không gian địa chỉ vật lí của mỗi hệ thống máy tính phụ
thuộc vào cái gì?
- Coi các bộ nhớ như là ma trận vuông cấp n thì mỗi ô là một địa chỉ của ô nhớ chính là thứ tự
của ô nhớ.


- Địa chỉ của ô nhớ là chỉ số và thứ tự của ô nhớ được nhà sản xuất quy định.
- Không phải lưu trữ vì địa chỉ ô nhớ được nhà sản xuất lưu trữ sẵn.
- Không gian địa chỉ vật lí của mỗi hệ thống máy tính phụ thuộc vào độ rộng address bus
Câu 11: Mỗi file có bao nhiêu điểm nhập file trong thưmục. Giảsử1 file có kích thước 155KB, biết

kích thước một cluster là 10KB. Xác định dung lượng cần thiết trên ổ đĩa đểlưu trữ file?
-

Mỗi file có một điểm nhập file trong thư mục có kích thước 32byte.
Vì kích thước của file nhỏ hơn kích thước 1 cluser nên ta chia file này thành nhiều file nhỏ
có kích thước nhỏ hơn hoặc bằng cluser. Ở đây chia file thành 15 file có kích thước mỗi file
là 10KB và một file còn lại có kích thước 5 KB. Vậy cần phải dùng 16 cluser do đó dung
lượng cần thiết trên ổ đĩa để lưu trữ file là 16*10=160 KB.

Câu 12: Phân biệt đơn vị lưu thông tin giữa ổ đĩa và RAM?
-

-Ổ đĩa:Thông tin tổ chức trên các mặt đĩa theo các rãnh, rãnh được chia thành các cung.

-

Dung lượng đĩa = số mặt * số rãnh trên một mặt * số cung trên một rãnh * số byte trên một
cung.

-

Loại thiết bị này bắt buộc máy tính phải di chuyển cơ học một cách tuần tự để truy cập dữ
liệu.

-

-RAM: được tổ chức từ các ô nhớ. Mỗi ô nhớ có một địa chỉ. Bộ nhớ trong RAM được đặc
trưng bằng dung lượng và tổ chức bộ nhớ của nó (số ô nhớ, số bit cho mỗi ô nhớ).

Câu 13: Phân biệt giữa thanh ghi chỉ số, thanh ghi dữ liệu và tập thanh ghi nội của đồng hồ thời

gian thực dùng chip MC146818
-

Đồng hồ thời gian thực sử dụng chip MC146818 gồm:
+ Thanh ghi dữ liệu (địa chỉ 71h), thanh ghi chỉ số (địa chỉ 70h, chứa số hiệu của mỗi thanh ghi nội)

đóng vài trò cổng giao diện cho phép MC146818 liên lạc với môi trường bên ngoài
+ Tập thanh ghi nội: gồm 64 thanh ghi, chứa dữ liệu và thông tin trạng thái, điều khiển của
MC146818
14. Khi sửdụng chức năng 43h của ngắt 21h đểthay đổi thuộc tính của file, cho biết dấu hiệu kết
thúc xâu chứa tên file là gì (Xâu chứa tên file có segment:offset = DS:DX).
Dấu hiệu kết thúc xâu chứa tên file là byte 0
Câu 15: Giảsửtrong bảng FAT có 1000 phần tử, trong đó có 100 phần tửcó giá trịlà 0. Tính số
lượng cluster trống, sốlượng cluster đã sửdụng?


100 phần tử 0 => số cluster trống =100
số cluster còn lại = 1000-100=900
Câu 16. Khi sử dụng chức năng 0Ah của ngắt 21h để đọc vào một xâu lưu trữ tại địa chỉ
segment:offset = DS:DX. Ngay sau đó sử dụng chức năng 09h của ngắt 21h để in ra xâu vừa nhập
vào mà không thay đổi vùng nhớ chứa xâu đã nhập.Cho biết kết quả. Giải thích
Khi sử dụng chức năng 0Ah của ngắt 21 thì đầu vào của chuỗi được đặt ở địa chỉ DS:DX, trong
đó byte đầu tiên chứa kích thước , byte thứ 2 chứa số các kí tự được đọc vào và khi in ra thì phải
bắt đầu từ địa chỉ DS:DX+2. Như vậy muốn in chính xác chuỗi đã nhập thì phải thay đổi vùng nhớ
là tăng địa chỉ offset lên 2. Ví dụ: địa chỉ bắt đầu của chuỗi tại offset 56 thì sẽ bắt đầu in chuỗi từ vị
trí 58.
Chức năng 09h của ngắt 21 sẽ in chuỗi cho đến khi gặp kí tự kết thúc $ thì dừng lại nhưng ở đây
khi nhập vào chức năng 0Ah k thể tự đống thêm kí tự $.
Như vậy không thể in ra chuỗi vì 2 lí do: thiếu kí tự kết thúc chuỗi($) và vùng nhớ chứa xâu không
thay đổi.

Câu 17. Sử dụng bộ đếm 2 của PIT (Programable Interval Timer) để tạo âm thanh, tính min,
max của số đếm N sao cho âm thanh tạo ra có thể nghe được biết ngưỡng nghe của người từ
16Hz đến 20000Hz và tần số máy phát xung là 1GHz
-

Ta có : f(out)=16Hz-20000Hz và f(máy phát xung)=1GHz
 N(min)=10^9/16=62500000
 N(max)=10^9/20000=50000

Câu 18: Cho biết ổ đĩa mềm có dung lượng chưa sửdụng là 100KB, kích thước mỗi cluster là 2
sectors, kích thước mỗi sector là 7.5KB. Cho một file có kích thước 95KB. Hỏi có thể lưu trữfile
này trên ổ đĩa mềm không. Giải thích
-

Cluster là đơn vị lưu trữ lôgic nhỏ nhất. Mỗi file được chia thành

các đơn vị lưu trữ lôgic nhỏ hơn là cluster. Một file có ít nhất một
cluster
-

Do đó không thể lưu trữ file trên đĩa mềm

o

Kích thước một cluster = 2*7.5KB

o

Số cluster cần thiết để lưu trữ file = [95/15] = 7



o

Số cluster còn trống = lấy cận dưới (100/15) = 6

Câu 19. Trong chương trình sử dụng nhiều Macro có ảnh hưởng đến tốc độ thực hiện không.
Giải thích
Nếu trong chương trình sử dụng nhiều Macro thì nó sẽ không ảnh hường tới tốc độ thực hiện bởi vì
macro là tên thay thế cho một nhóm các câu lệnh có nhiều đoạn mã giống nhau trong một chương
trình , nó được chèn thẳng vào chương trình tại vị trí chỉ định và thực hiện trực tiếp như các asm khác
chứ không thông qua chỉ dẫn CALL.
Câu 20. Trong chương trình sử dụng nhiều chương trình con có ảnh hưởng đến tốc độ thực hiện
của chương trình không. Giải thích?
Trong chương trình sử dụng chương trình con có ảnh hưởng tới tốc độ thực hiện chương trình. Bởi vì
khi gọi chương trình con, có sự chuyển điều khiển nên khi bắt đầu chương trình con phải lưu lại trạng
thái, trạng thái của chương trình gọi; khi kết kết thúc phải phục hồi trạng thái, trạng thái chương trình
chính và trả điều kiện cho chương trình chính.
Câu 21. Trang màn hình là gì, kích thước trang màn hình là phụ thuộc cái gì?
Biết RAM màn hình có kick thước 32KB,màn hình trong chế độ văn bản có độ phân giải
25x40,để biểu diễn một ký tự trong chế độ này cần 2byte.Tính số trang màn hình tối đa.
-

Trang màn hình thực chất là một trang nhớ RAM màn hình. Màn hình chỉ hiển thị được một lượng
thông tin nhất định của một trang nhớ trong RAM màn hình.

-

Tuỳ loại card màn hình khác nhau mà độ phân giải khác nhau, dung lượng bộ nhớ đệm khác nhau
=> số trang màn hình khác nhau.


-

Số lượng trang MH = Kích thước RAMMH/Kích thước hiển thị(tuỳ thuộc vào độ phân giải và chế
độ)

-

Kích thước trang màn hình là phụ thuộc vào card màn hình và chế độ hiển thị.

Biết RAM màn hình có kick thước 32KB,màn hình trong chế độ văn bản có độ phân giải 25x40,để biểu
diễn một ký tự trong chế độ này cần 2byte.Tính số trang màn hình tối đa.
Ta có:


-

kích thước lượng thông tin hiển thị là: 25x40x2=2000(byte)
Số lượng trang màn hình tối đa: 32x1024:2000 xấp xỉ 16 trang.

Câu 22.Phân biệt số hiệu ngắt,vectơ ngắt,bảng vectơ ngắt, chương trình con phục vụ ngắt.Mô tả
tiến trình thực hiện khi ngắt xảy ra.
 Có 256 ô, các ô được đánh số thứ tự từ 00h, 01h, …FFH.Số thứ tự của từng ô trong bảng
được gọi là số hiệu ngắt
 Nội dung mỗi ô chứa địa chỉ logic của một chương trình phuc vụ ngắt xác định, các địa
chỉ này còn được gọi là véc tơ ngắt .Vector ngắt là các biến bộ nhớ dài 4 bytes mà có khả
năng chứa được một địa chỉ lôgic đầy đủ gồm 2 byte segment và 2 byte offset
 Các vector ngắt được xếp nối tiếp nhau kể từ đầu của vùng bộ nhớ tạo thành bảng vector
ngắt .Chiều dài của bảng vector ngắt là 256*4=1024 hay 400h. Bảng vector ngắt sẽ nằm
trong vùng bộ nhớ có địa chỉ vật lý từ 00000h đến 003FFh


Quá trình phục vụ ngắt là quá trình gọi và thực thi các chương trình con phục vụ ngắt( Interup
Routines)
 Các chương trình phục vụ ngắt đều có đặc điểm: Hầu hết đã được viết sẵn (là các ctr của
hệ điều hành )và Địa chỉ của các ctr con này phải được đặt ở một vùng nhớ xác định gọi
là bảng véc tơ ngắt
Mô tả tiến trình thực hiện khi ngắt xảy ra.
 Tiến trình ngắt:
1. Công việc chính đang thực hiện
2. Lưu trữ trạng thái CPU và địa chỉ trở về của ctr chính (trạng thái CPU được quy định bởi

giá trị trong tập thanh ghi của CPU). Yêu cầu ngắt.
3. Thực hiện chương trình con phục vụ ngắt
4. Khôi phục trạng thái ctr chính


5. Tiếp tục thực hiện ctr chính
Câu 23: Mô tả quá trình hoạt động của máy từ khi bắt đầu nhấn nút bật máy đến khi nạp xong
hệ điều hành. Tại sao Boot sector luôn được nạp vào địa chỉ 7C00h?
1. Mô tả quá trình hoạt động của máy từ khi bắt đầu nhấn nut bật máy đến khi nạp xong hệ điều
-

hành.
sau khi nguồn được cung cấp cho máy tính.
CPU tiến hành đọc hệ thống ROM BIOS để bắt đầu khởi động chương trình BIOS
Tiến hành kiểm tra các thiết bị cơ bản nhất trên hệ thống để xem tình trạng của các thiết bị này

-

sẵn sàng chưa (RAM, HDD, VGA, chipset, mainboard).
BIOS tìm kiếm video card được xây dựng trong chương trình BIOS và chạy nó.

BIOS tìm kiếm thiết bị khác của ROM (IDE/ATA)
BIOS bắt đầu tìm kiếm ổ đĩa khởi động (floppy disk hoặc hard disk hoặc CD-ROM…)
BIOS tìm kiếm thông tin boot để bắt đầu tiến trình boot hệ điều hành sử dụng thông tin trong
boot sector. Bao gồm các file: io.sys, msdos.sys, command.com được nạp lên RAM trong quá

trình khởi động máy tính.
2. Tại sao Boot sector luôn được nạp vào địa chỉ 7C00h?
- Khi boot phải nạp vào vùng nhớ có địa chỉ bắt đầu là 07C00h vì 07C00h là vùng nhớ mặc định
của Master boot. Khi boot ROM trên BIOS khởi động nó sẽ copy hệ điều hành trên RAM tại
đại chỉ của Master boot record. Sau khi copy lên nó sẽ trao quyền điều khiển cho hệ điều hành
mới.
Câu 24.Phân biệt chương trình dịch ra dạng COM và dịch ra dạng EXE.tại sao với chương trình
dịch ra dạng EXE đầy đủ đã có chỉ thị Assume chỉ dẫn nạp địa chỉ đoạn dữ liệu vào thanh DS mà
trong chương trình vẫn phải nạp lại địa chỉ đoạn dữ liệu vào thanh DS.


1.
-

Phân biệt:
Dạng COM:
Chỉ dùng một đoạn duy nhất, các thanh ghi CS, DS, ES và SS đều có giá trị giống nhau.
Kích thước chương trình tối đa là 64K.
Tập tin COM được nạp vào bộ nhớ trong và thực hiện nhanh hơn tập tin EXE.
Khi DOS thực hiện tập tin COM, nó tạo một vùng ô nhớ từ độ dời 0 đến 0FFh để chứa thông tin
cần thiết cho DOS. Vùng này gọi là vùng PSP prefix) và tất cả các thanh ghi đoạn đều phải chỉ
tới vùng PSP này. Vì thếđịa chỉ bắt đầu của tập tin COM phải có địa chỉđộ dời là 100h.

2.


Dạng EXE:


-



Chương trình lớn và nằm ở nhiều đoạn khác nhau.
Có thể gọi các chương trình con dạng Far.
Kích thước tập tin tùy ý.
Có header ởđầu tập tin để chứa các thông tin điều khiển cần thiết.
Thi hành chậm hơn tập tin dạng COM.
Tập tin dạng EXE, không dùng lệnh ORG 100h ởđầu chương trình.

Tại sao với chương trình dịch ra dạng EXE đầy đủ đã có chỉ thị Assume chỉ dẫn nạp địa chỉ
đoạn dữ liệu vào thanh DS mà trong chương trình vẫn phải nạp lại địa chỉ đoạn dữ liệu vào
thanh DS :
Assume: lệnh này cho biết một đoạn nào đó thuộc loại gì. Ví dụ: assume ds:data, cs:code
dùng để báo cho hợp ngữ biết đoạn có tên data là đoạn ds và đoạn có tên code là đoạn cs và như
vậy mỗi lần liên hệ đến một nhãn, biến thì ta phải báo cho biết đoạn của chúng (vd : assume
ds :nhan cho biết nhan thuộc đoạn ds)
Vì vậy khi khai báo assume thì chỉ cho biết cái đoạn mình khai báo thuộc CS,DS,SS,ES
nên trong đoạn chương trình ta phải nạp địa chỉ đoạn dữ liệu vào thanh ghi DS thông qua AX.

Câu 25. Bản chất của việc lập trình trao đổi thông tin giữa CPU và khối ghép nối thiết bị là gì.
Trình bày nguyên lý lập trình điều khiển thiết bị ngoại vi thông qua khối ghép nối, minh hoạ
bằng việc mô tả hoạt động lập trình trực tiếp bàn phím
TL: ????
Bản chât là trao đổi thông tin giữa mỗi chip của khối ghép nối luôn đăcn trưng bởi tập lệnh và các
thanh ghi giao diện (thanh ghi trạng thái, lệnh, dữ liệu). CPU muốn ra lệnh cho khối ghép nối thực hiện

công việc chỉ cần đưa chỉ thị ra địa chỉ thanh ghi lệnh (của khối ghép nối) muốn trao đổi thông tin cần
đọc ghi từ địa chỉ thanh ghi dữ liệu
VD: tiến trình lập trình bàn phím trực tiếp:
+ PC AT được trang bị bộ điều khiển là vi xử lí 8042 với cổng sau
-

Cổng 60h: là cổng dữ liệu, sử dụng để ghi mã từ phím hoặc từ CPU. CPU phải đưa lệnh

-

đọc cổng INAL,60h để biết phím nào được nhấn.
Cổng 60h là cổng điều khiển và trạng thái với các lệnh từ CPU.
Thao tác chủ yếu:
+ trao đổi dữ liệu.


+ Gán địa chỉ cổng cho thanh ghi DX.
+ Đọc trạng thái phím(vào AL) IN AL,64h
+ kiểm tra và trờ trạng thái sẵn sàng của bàn phím.
Câu 26: Ngắt 1Ah của BIOS có chức năng 05h đểthiết lập ngày/tháng/năm hiên tại là 1/1/2010.
Xác định tham sốvào cho các thanh ghi CH, CL, DH, DL.
TL:
CH= 0010 0001 (thế kỷ theo BCD);
CL= 0001 0000 (năm theo BCD);
DH= 0000 0001

(tháng theo BCD);

Dl= 0000 0001


(ngày theo BCD);

Câu 27: . Cho bảng FAT như hình dưới đây:

Biết điểm nhập của một file nào đó trong một thư mục cho biết chỉ số cluster đầu tiên của file là
1. Cho biết chuỗi cluser được phân bố cho file này. Biết dung lượng một sector là 512 byte, mỗi
cluster gồm 10 sector, tính dung lượng của file trên.
Chuỗi cluser phân bố cho file này: : 1-3-4-2-6-9-7-FF (8 cluster tất cả) tính dung lượng của file trên.(8
* 10 * 512) byte
Câu 28. Bản chất quá trình chuyển điều khiển chương trình là gì. Mô tả trạng thái hiện thời của
CPU (kiểm tra lại bản chất, tự chém)
- Trạng thái hiện thời của CPU :Chính là các giá tri hiện thời thuộc tập thanh ghi của CPU đó.
- Bản chất của quá trình chuyển điều khiển chương trình: CPU lưu lại trạng thái hiện thời của thanh
ghi vào ngăn xếp -> nạp giá trị mới là địa chỉ mã lệnh đầu tiên của chương trình con . Sau khi thực
hiện xong sẽ quay lại chương trình chính( nạp lại giá trị ở ngăn xếp)
Câu 29. Giả sử ổ đĩa có dung lượng 1000KB trong đó 200KB dành cho bảng FAT, Sector Boot và
thư mục gốc. Kích thước mỗi Cluster là 100KB. Theo cách quản lý của DOS, tính số lượng tối đa
các file có thể lưu trữ trên ổ đĩa


TL:
Dung lượng dành cho phần data là: 1000-200= 800 kb
 Số file tối đa có thể lưu trữ trên ổ đĩa : 800: 100= 8 ( file).
Câu 30. Mô tả quá trình nhận dữ liệu giữa thiết bị ngoại vi và máy vi tính theo chế
độNibble ở hình dưới đây:

TL: Các giai đoạn nhận dữ liệu giữa TBNV và MVT:
1-máy chủ báo sẵn sàng nhận bằng cách đưa hostbusy về 0
2-TBNV đặt nibble đầu tiên lên các tín hiệu trạng thái
3-TBNV báo nibble có giá trị bằng cách đặt PtrClk=0

4-Máy chủ đưa hostbusy =1 báo đã nhận nibble và chưa sẵn sàng nhận nibble mới
5-TBNV đưa PtrClk =1 để báo cho máy chủ
6- các bước 1-5 lặp lại cho nibble sau
Câu 31. Biết tần số của máy phát xung là 1GHZ, tính tần số của đồng hồ hệ thống khi số đếm N =
1000. Mô tả hoạt động của bộ đếm 1 và xác định chu kỳ làm tươi DRAM của bộ đếm 1 trong PIT
(Progamable Interval Timer) khi số đếm N = 100(phần tính chu kỳ làm tươi cần xem lại)
TL:
-Tần số của đồng hồ hệ thống:
Fout= Fin/N= 10^9: 1000= 1 MHz
-Hoạt động của bộ đếm 1:
-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ớ hoạt động trong chế độ 3 phát sóng vuông với giá trị nạp ban đầu là N=100. Do đó sóng
vuông được phát ra có tần số1GHz/100= 10^7 Hz (chu kỳbằng 1.10^-7s). Như vậy cứ sau 0.1μs 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ớ.


Câu 32. Mô tả quá trình chuyển dữ liệu từ thiết bị ngoại vi vào máy vi tính theo chế độ byte như
hình dưới đây:

TL: Mô tả:
1-Máy chủ báo sẵn sàng nhận bằng cách đưa hostbusy = 0
2-TBNV đặt byte đầu tiên lên đường dữ liệu
3-TBNV báo byte có giá trị bằng cách đặt PtrCLk= 0
4-Máy chủ đặt hostbusy= 1 => báo đã nhận được byte ,chưa sẵn sàng nhận byte tiếp theo
5-TBNV đưa PtrClk = 1 để báo cho máy chủ, máy chủ đưa HostClk = 1 để trả lời
6- lặp lại từ 1-5 cho byte sau
Câu 33. Với CPU 8086/8088, giả sử bảng vector ngắt bắt đầu từ 00000, tính địa chỉ vật lý của
vector ngắt của ngắt 8 (hình dưới). Giải thích cách tính.


Địa chỉ vật lý của ngắt 8:


Số ngắt * 4= 8 x 4= 00020 h
Giải thích: Số ngắt chỉ thứ tự của vecto ngắt và mỗi vecto ngắt chiếm 4 byte hay bốn ô trong bảng
vecto ngắt => địa chỉ vecto ngắt bằng số ngắt * 4
Câu 34. Với CPU 8086/8088, cho biết cách chuyển từ địa chỉ lôgic (segment:offset) sang địa chỉ
vật lý. Giải thích cách chuyển (kiểm tra lại phần giải thích)
TL: đc vật lý = segment*16 + offset
Hoặc dịch trái địa chỉ segment 4 bit + địa chỉ offset
Giải thích: vì bộ nhớ được chia làm các đoạn (segment) , trong mỗi đoạn các ô nhớ được xác định bằng
địa chỉ tương đối (offset) hay là khoảng cách từ ô nhớ đến địa chỉ đầu của đoạn. Mà địa chỉ vật lý là địa
chỉ xác định vị trí thực của 1 ô nhớ => ta chuyển từ địa chỉ logic sang địa chỉ vật lý như công thức trên.
Câu 35. Ngắt 1Ah của BIOS có chức năng 04h sử dụng để lấy thời gian thực.
Sau khi thực hiện chức năng này, các tham số ra như sau: CH=00100011,
CL=00110011, DH=00010010, DL=00000011. Cho biết ngày, tháng, năm hiện tại.
TL: các thanh ghi chứa giá trị thế kỷ, năm , ngày , tháng theo mã BCD nên:
CH = 0010 0011 và CL= 0011 0011 => năm : 2233
DH= 0001 0010 => tháng: 12
DL= 0000 0011=> ngày: 3
Ngày tháng năm hiện tại : 3-12-2233
Câu 36. Mô tả hoạt động của bàn phím. Ngắt 09h do CPU hay chip bàn phím
đệm bàn phím (typehead buffer) chứa trong bàn phím hay trong RAM
TL:
-Hoạt động:
Khi nhấn một phím và chương trình thi hành đang đọc nó; tiến trình như sau:
1. Bàn phím gửi ngắt 09h đến CPU yêu cầu trao đổi tin
2. Chương trình phục vụ ngắt 09h đọc từ cổng vào/ra và chứa vào trong bộ đệm.

thực hiện. Bộ



3.

Chương trình hệ thống hoặc ứng dụng có thể sử dụng các ngắt của hệ điều hành để đọc các giá

trị này
-Bộ đệm bàn phím (type head buffer ) chứa trong bàn phím.
-Ngắt 09h do CPU thực hiện.



×