Mục lục 1 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? 4 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. 4 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? 4 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? 6 Câu 4: phân biệt Macro và chương trình con? 6 Câu 5. Nhiệm vụcủa PIT (Programable Interval Timer) trong đồng hồ hệ thống là gì 6 Câu 6:Phân loại ngắt? 7 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? 7 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ì? 8 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 82538354). 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í? 8 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ì? 8 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? 9 Câu 12: Phân biệt đơn vị lưu thông tin giữa ổ đĩa và RAM? 9 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 9 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). 9 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? 10 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 10 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 10 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 11 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 11 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? 11 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ì? 12 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. 12 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. 13 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? 14 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. 15 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 16 Câu 26: Ngắt 1Ah của BIOS có chức năng 05h đểthiết lập ngàythángnăm hiên tại là 112010. 16 Xác định tham sốvào cho các thanh ghi CH, CL, DH, DL. 16 Câu 27: . Cho bảng FAT như hình dưới đây: 17 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) 17 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 17 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: 18 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) 18 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: 19 Câu 33. Với CPU 80868088, 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. 20 Câu 34. Với CPU 80868088, 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) 20 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. 21 Sau khi thực hiện chức năng này, các tham số ra như sau: CH=00100011, 21 CL=00110011, DH=00010010, DL=00000011. Cho biết ngày, tháng, năm hiện tại. 21 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 thực hiện. Bộ đệm bàn phím (typehead buffer) chứa trong bàn phím hay trong RAM 21 Bài 1. Ẩn hiện file 22 Bài 2. Trạng thái chuột 24 Bài 3. Vẽ đường thẳng 26 Bài 4. Kiểm tra xâu 28 Bài 5. In hoa thường 30 Bài 6. Ổ đĩa 32 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 810: Phần mở rộng 11: Thuộc tính 1221: Để mở rộng 2223: Giờ tạo (h:m:s) 25: Ngày tạo (y:m:d) 2627: Số hiệu cluster đầu tiên 2831: 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=FinN=1,93106500=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ọ PCIBM, PIT 82538354 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
Trang 1Mục lục
Mục lục 1 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? 4
Như vậy khi sử dụng chương trình con khai báo near thì chương trình sẽ thựchiện nhanh hơn 4
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? 4 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? 6 Câu 4: phân biệt Macro và chương trình con? 6 Câu 5 Nhiệm vụcủa PIT (Programable Interval Timer) trong đồng hồ hệ thống là gì 6 Câu 6:Phân loại ngắt? 7 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? 7 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ì? 8
- 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í? 8 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ì? 8 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? 9 Câu 12: Phân biệt đơn vị lưu thông tin giữa ổ đĩa và RAM? 9
Trang 2Câ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? 10 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 10 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 10 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 11 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 11 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? 11 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ì?
12
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 12 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 13 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? 14 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 15 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
Trang 3Câ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 16 Xác định tham sốvào cho các thanh ghi CH, CL, DH, DL 16 Câu 27: Cho bảng FAT như hình dưới đây: 17 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) 17
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 17 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: 18 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) 18
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: 19 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 20 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
Trang 5Câ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 thanhghi 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ựchiệ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 conchỉ 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ểmnhập:
-07:Tên file, byte 0 dùng làm byte trạng thái
Trang 6FAT
*,Đ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
Trang 7Câ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ẳngvà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ệntrự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 giankhô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ìnhdà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 raOUT0, 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
Trang 8Câ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ủ độngkhởi động quá trình vào / ra Quá trình phục vụ ngắt cứng được kích hoạtbằ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ươngtrì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épchia 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ẫnlà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êucầ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ựchiệ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 IRQi số ngắtnày đại diện cho địa chỉ của chương trình con phục vụ thiết bị yêu cầungắ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)
Trang 9Câ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áyphát âm thanh cần phải thay đổi số đếm N trong bộ chia tần số (bộ đếm 2 của PIT8253/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 dungcho 8 file này là 8*10=80 KB 80+20=100 KB vậy theo cách quản lí của DOSthì ổ đĩ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
Trang 10Câ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àythành nhiều file nhỏ có kích thước nhỏ hơn hoặc bằng cluser Ở đây chiafile thành 15 file có kích thước mỗi file là 10KB và một file còn lại có kíchthướ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ớ trongRAM đượ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épMC146818 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ạngthá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
Trang 11Câ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 ở địachỉ 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ùngnhớ 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
Trang 12Câ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ẫnCALL
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ệnchươ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ếtkế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 chochương trình chính
Trang 13Câ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ểnthị đượ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
Trang 14Câ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ý
đượ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
Trang 15Câ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ìnhBIOS
- 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ạngcủ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ạynó
- 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 ROM…)
CD BIOS tìm kiếm thông tin boot để bắt đầu tiến trình boot hệ điều hành sử dụngthô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 khicopy lên nó sẽ trao quyền điều khiển cho hệ điều hành mới
Trang 16Câ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.
Phân biệt:
1 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 đến0FFh để 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ụ: assumeds: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áothuộ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
Trang 17Câ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
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);