C1:Hthống MT?C/n từng b/phận?Mã Ctrình,dữ liệu trong MT được bdiễn dưới dạng CPU:đóng vtrò chủ đạo nhất trong hệ MT.Ở đây tiến hành toàn bộ các tính toán các phép toán số học&đại số,bđ
Trang 1C1:Hthống MT?C/n từng
b/phận?Mã Ctrình,dữ liệu trong
MT được bdiễn dưới dạng
CPU:đóng vtrò chủ đạo nhất trong
hệ MT.Ở đây tiến hành toàn bộ các
tính toán các phép toán số học&đại
số,bđổi mã tương ứng.Đây chính là
đầu não of MT.Khi bđầu hđộ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
đkhiển để đkhiển các khối tương
ứng thực hiện theo đúng trình tự &
ndung of mã lệnh
Memory:thực hiện việc lưu
trữ&trao đổi thông tin.Ở các hệ MT
sử dụng bộ nhớ bán dẫn bao gồm
RAM&ROM.Trong ROM có thể
chứa các Ch/trình đkhiển toàn bộ
hđộng of hệ khi bật máy còn 1 phần
Ch/trình đkhiển hthống,Ch/trình
ứng dụng thì được lưu trong
RAM.Bộ nhớ MT thực chất là bộ
nhớ trong để phân biệt với khái
niệm bộ nhớ ngoài
Phối ghép vào ra tạo knăng gtiếp
MT vs TG:các device ngvi như màn
hình liên kết với MT qua các cổng
Bus:Bus đchỉ là bus 1chiều xphát từ
CPU.Khi đọc&ghi bộ nhớ XLTT sẽ
đưa ra trên bus này đchỉ of các ô
nhớ liên quan.BUS dữ liệu thường
có từ ,16,20,24,32 đến 64 đường
dây ùy tộc vào từng CPU cụ thể.bus
dữ liệu là bus 2 chiều.Các phtừ có
đầu ra nối thẳng với bus dữ liệu đều
phải trang bị đầu ra 3 trthái để đảm
bảo cho bus hđộng bthường.BUS
đkhiển bao gồm hang chục dây tín
hiệu khác nhau&xét theo cả nhóm
thì đó là bus 2chiều
decice vào ra:thbị vào bđổi tín hiệu
tự nhiên h cho bởi con người sang
dạng mã máy để bộ VXL thực
hiện(chuột,bphím).device ra biến
đổi các mã bên trong MT sau khi
XL để con người có thể hiểu được
hoặc đkhiển các thiết bị khác (màn
hình,máy in , máy vẽ,loa…)
Mã Ch/trình&dữ liệu trong MT:
được biểu diễn dưới dạng các bit
nhị phân được chứa trong bộ nhớ
MT
Khi máy thực hiện 1 lệnh trước tiên
nó sẽ xđịnh vtrí of lệnh thông qua
đchỉ CS:IP sau đó sẽ nạp thêm lệnh
đó thhiện giải mã lệnh thhiện&ghi
kquả trở lại bộ nhớ
Qtrình thhiện lệnh được chia thành
3 gđoạn: CPU lấy lệnh từ bộ nhớ
CPU giải mã lệnh&chạy lệnh; nếu
lệnh cần dữ liệu thì đọc dữ liệu từ
bộ nhớ CPU viết kết quả vào bộ nhớ nếu có
Câu 2 : Gsử MT thực hiện đoạn Ch/trình tại đchỉ 136Fh : 0100h MOV AH ,2
MOV DL , ‘a’
INT 21h
Mã Ch/trình trên nằm trong bộ nhớ
of MT bắt đầu từ ô nhớ có đchỉ vật
lý 137F0h(136Fh+ 0100h) Các lệnh trên được thực hiện trong
“Đvị thực hiện” EU of bộ VXL&thực hiện lần lượt từ trên xuống
Khi thực hiện 1 lệnh nào đó thì giá trị thanh ghi IP được tăng lên 2 để trỏ vào vị trí lệnh tiếp theo of Ch/trình
Khi thực hiện lệnh 1 thì CS = 136Fh&IP = 0100h
Khi thực hiện lệnh 2 thì CS = 136Fh&IP = 0102h
Câu 3 : Kiến trúc máy tinh PC là kiến trúc gì?
MT có 1 bộ nhớ&1 bus để chuyển
dữ liệu vào ra Đvị XLTT CPU.CPU
có thể đọc 1 lệnh hoặc đọc ghi dữ liệu từ bộ nhớ
Bộ nhớ MT là hthống con lưu trữ tạm thời các chỉ thị of Ch/trình&dữ liệu sẽ được thực hiện bởi
MT(RAM).Bộ nhớ thường được chia thành các ô có đchỉ riêng để dữ liệu có thể nạp
Hthống vào ra là hthống con cho phép MT tương tác với các thiết bị khác&liên lạc với bên ngoài,chịu trách nhiệm lưu trữ Ch/trình bằng cách đkhiển đĩa cứng
Đvị tính toán logic(ALU) là hthống con thực hiện tất cả các phép toán số&so sánh.Đvị đkhiển thực hiện : Tìm trong bộ nhớ chỉ thị Ch/trình kế tiếp sẽ chạy
Giải mã chỉ thị đó thành cái mà MT
có thể hiểu Đưa mệnh lệnh thích hợp tới ALU
bộ nhớ&hthống vào ra Hạn chế : cả 2 quá trình tương tác với lệnh hoặc số liệu không thể thực hiện cùng lúc
C4:Bộ XLTT CPU of MT lkết với các bộ phận khác of hthống MT = các nhóm tín hiệu nào
CPU liên kết với các bộ phận khác thông qua hthống bus
Trong MT có 2 nhóm hthống bus : Bus hthống:nối giữa CPU với bộ nhớ chính
Bus vào ra : nối ghép giữa thiết bị ngoại vi tới CPU
Hthống bus gồm 3 loại : BUS đchỉ : là bus 1 chiều xuất phát
từ CPU.Khi đọc&ghi bộ nhớ XLTT
sẽ đưa ra trên bus này đchỉ of các ô nhớ liên quan
BUS dữ liệu : thường có từ16,20, 24,32 đến 64 đường dây tùy thuộc vào từng CPU cụ thể.BUS dữ liệu là bus 2 chiều.Các phần từ có đầu ra nối thẳng với bus dữ liệu đều phải trang bị đầu ra 3 trạng thái để đảm bảo cho bus hđộng bình thường BUS đkhiển : bao gồm hang chục dây tín hiệu khác nhau&xét theo cả nhóm thì đó là 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 các bus dữ liệu
C5 đchỉ logic&đchỉ vật lý? Nêu phương pháp CPU xác định đchỉ vật lý dựa trên đchỉ logic ?Đchỉ vật lý được CPU sử dụng làm gì
Đchỉ logic là đchỉ gồm đchỉ segment + đchỉ offset được viết
thanh ghi đoạn : thanh ghi lệch
Đchỉ vật lý là số thứ tự of ngăn nhớ được bắt đầu tính từ 0
CPU xác định đại chỉ vật lý trên đchỉ logic theo cách : đchỉ đoạn sẽ được dịch trái 1 khoảng 4bit kết hợp với đchỉ offset giữ nguyên sẽ tạo thành cách xác định đchỉ 20bit
Đchỉ vật lý = thanh ghi đoạn * 16 + thanh ghi lệch
VD :Đchỉ đoạn : EF00………… dịch trái 4bit………EF000 Đchỉ offset : 0244……… giữ nguyên………….0244 Đchỉ tạo thành 20bit : EF244 Đchỉ vật lý được CPU sử dụng để xác định vị trí các ô nhớ trong bộ nhớ MT.Nó được đưa ra thông qua các chân đchỉ :
Dữ liệu AD0 – AD15&đchỉ trạng thái A16/S3 , A17/S4 , A18/S5 , A19/S6 với 8086
Dữ liệu AD0 – AD7, đchỉ trạng thái A16/S3, A17/S4 , A18/S5 , A19/S6&các chân đchỉ A8- A15 với 8088
Trang 2Câu 6 : Bộ VXL 8086/88 có bus
đchỉ&bus dữ liệu bao nhiêu bit?
Truy cập tối đa bn ô nhớ ? đchỉ ô
nhớ được đánh số như thế nào ?
Khi CPU thực hiện lệnh MOV
AL, [BX] ô nhớ được truy cập có
đchỉ bao nhiêu?
AX=0000;BX=0000;CX=0000;DX
=0000;SP=FFEE;BP=0000;SI=00
00;
DI=0000;DS=1369;ES=1369;SS=1
369;CS=1369;IP=0100
Bộ VXL 8086 có bus đchỉ là
20bit,bus dữ liệu là 16bit.VXL 8088
có bus đchỉ là 20bit&bus dữ liệu là
8 bit
8086 sử dụng 20 đường đchỉ nên có
thể lập đchỉ cho 220 =1048576 ô
nhớ,tương ứng với không gian nhớ
là 1MB
Đchỉ ô nhớ được đánh số từ 0 Khi
CPU thực hiện lệnh MOV AL,
[BX] ô nhớ được truy cập có đchỉ
đoạn ghi trên thanh ghi đoạn DS
,đchỉ offset ghi trên BX
Vậy đchỉ logic là DS:BX = 1369:
0000&đchỉ vật lý of ô nhớ được
truy cập là 13690h
Câu 7 : Đoạn bộ nhớ ?Đchỉ đoạn
bộ nhớ chứa trong thanh ghi
nào ? Độ dài of các thanh ghi
đoạn là bao nhiêu bit&số đoạn bộ
nhớ có thể đchỉ hóa tối đa bao
nhiêu đoạn ? Hãy cho biết ngăn
nhớ có đchỉ vật lý là 12345h nằm
trong đoạn bộ nhớ nào?đchỉ độ
lệch bao nhiêu ?
Đoạn bộ nhớ là vùng trong bộ nhớ
chứa 216 byte = 64KB ô nhớ liên
tiếp nhau được xác định bằng 1 đchỉ
đoạn tương ứng bắt đầu từ đchỉ
0&lớn nhất là FFFFFFh
Bên trong mỗi đoạn các ô nhớ được
gán đchỉ gọi là đchỉ offset được tính
từ đầu đoạn là 16bit&lớn nhất là
FFFFh
Đchỉ đoạn bộ nhớ chứa trong các
thanh ghi đoạn là CS,DS,SS,ES
Các thanh ghi đoạn có độ dài
16bit.Số đoạn nhiều nhất có thể là
216 đoạn
Với ngăn nhớ chứa đchỉ vật lý là
12345h có thể có nhiều đchỉ logic
khác nhau : 1234 :
0005;1230:0045…
Câu 8 : Khi CPU nhận mã lệnh từ
bộ nhớ nó sử dụng những thanh ghi gì để xác định đchỉ of lệnh cần đọc vào? Từ ndung các thanh ghi đó CPU xác định đchỉ vật lý of byte mã lệnh ntn?Giả sử đoạn Ch/trình sau nằm trong bộ nhớ 1234h: 0100h
MOV AH ,2 MOV DL , ‘a’
INT 21h Khi CPU nhận lệnh đầu tiên vào thì ndung các thanh ghi chứa đchỉ
of lệnh là bn?đchỉ vật lý of byte
mã lệnh đầu tiên là bn ?
Khi CPU nhận lệnh từ bộ nhớ nó sử dụng thanh ghi CS&IP để xác định đchỉ of lệnh cần đọc vào từ bộ nhớ.Trong đó CS chỉ tới đoạn bộ nhớ mã,IP xác định đchỉ offset trong đoạn bộ nhớ đó
Từ ndung các thanh ghi CPU xác định đchỉ vật lý :
Đchỉ vật lý = thanh ghi đoạn * 16 + thanh ghi lệch
Với đoạn Ch/trình trên nằm trong
bộ nhớ bắt đầu tại đchỉ 1234h:0100h thì khi nhận lệnh đầu tiên giá trị các thanh ghi đchỉ là : CS=1234h;IP=0100h
Đchỉ vật lý : 1234*16+0100=1244h
Câu 9 : Thế nào là XL đường ống trong 80x86 of Intel ?8086 có cấu trúc nào để có thể thực hiện Ch/trình kiểu đường ống?giả sử thực hiện 3 lệnh i1,i2,i3 các lệnh đều có thời gian nhận lệnh là 1T&thực hiện mất 2T.Xác định thời gian thực hiện 3 lệnh trên of CPU 8086&CPU thế hệ trước 8085?
Vì có khả năng vừa thực hiện lệnh hiện tại vừa có thể nhận lệnh tiếp theo cho nên có thể coi BVXL 80x86 of Intel có khả năng XL đường ống,có được là do bên trong
bộ VXL 8086 có 2 Đvị hđộng tương đối độc lập là Đvị thực hiện EU&Đvị giao tiếp BIU Trong thời gian EU nhận lệnh thì BIU vẫn có thể đảm nhiệm nhận trước các lệnh cất tạm vào hang đợi lệnh&các thanh ghi dữ liệu Khi bus bận trong chu kỳ đọc thì
EU thực hiện các lệnh trước đó&khi bus ghi thì EU lại thực hiện các lệnh khác
VD:với các CPU trước 8086 cần 9 chu kỳ để thực hiện hết 3 lệnh nhưng 8086/88 chỉ cần 7 do nhận lệnh i2&i3 cùng lúc với thực hiện i1
Câu 10 : Ý nghĩa of các thanh ghi
cờ ? Sau khi khởi động các cờ CF,PF,AF,ZF,SF,OF có giá trị nào?Xác định giá trị các cờ sau lệnh :
MOV AL ,9CH MOV AL ,64H Biết rằng trước đó giá trị các bit trên cờ&thanh ghi AL = 0
Thanh ghi cờ là thanh ghi 16 bit dung để lưu giữ thông tin về các trạng thái công tác of EU hoặc kết quả phếp toán mà ALU thực hiện.Căn cứ vào trạng thái cờ mà người lập trình có thể sử dụng các lệnh thích hợp
Câu 11 : Tại sao trong VXL 8086/88 of Intel tất cả các thanh ghi đchỉ có độ dài tối đa là 16 bit nhưng đchỉ vật lý có độ dài 20 bit ? CPU dung biểu thức nào xác định đchỉ vật lý?Xác định tên thanh ghi chứa đchỉ logic of byte
dữ liệu nằm trong đoạn bộ nhớ có đchỉ 1034h&độ lệch là 0200h?tính đchỉ vật lý?
Trong VXL 8086/88 of Intel tất cả các thanh ghi đchỉ có độ dài tối đa
là 16 bit nhưng đchỉ vật lý có độ dài
20 bit vì CPU sử dụng các thanh ghi đoạn 16bit CS,DS,SS,ES để xác định đchỉ đoạn sử dụng các thanh ghi offset IP,SP,BP,SI,DI để xác định đchỉ di chuyển tính từ đchỉ đoạn
CPU xác định đại chỉ vật lý trên đchỉ logic theo cách : đchỉ đoạn sẽ được dịch trái 1 khoảng 4bit kết hợp với đchỉ offset giữ nguyên sẽ tạo thành cách xác định đchỉ 20bit
Đchỉ vật lý = thanh ghi đoạn * 16 + thanh ghi lệch
DS=1034h; BX=0200h Đchỉ vật lý :
1034*16+0200=10540h
Trang 3Câu 12 : Trình bày ghép nối CPU
Intel 8088 với bus hthống ở chế độ
tối đa trong MT PC/XT?Trong
các MT hiện đại CPU phối ghép
với bộ nhớ&ngoại vi nhờ vi mạch
gi?có cung tốc độ ko?
ở chế độ tối đa trong PC/XT CPU
truyền tín hiệu đkhiển tới khối
đkhiển kênh thông tin (chip
8288),nhận&XL tín hiệu đkhiển rồi
mới phát các tín hiệu đkhiển thứ cấp
tới kênh thông tin.(vẽ hình)
chip 8288 được sử dụng để đkhiển
bus.Khi BVXL hđộng ở mode cực
đại thì mạch đkhiển 8288 được
dung để cung cấp các tín hiệu
đkhiển cho chế độ làm việc này
Vi mạch 74LS373 được dung để
chốt&đệm các đường dây đchỉ với
các bus được dồn kênh.Vì thông tin
trên bus đchỉ có trong khoảng thời
gian ngắn nên mạch chốt được
đkhiển bởi tín hiệu ALE sẽ được sử
dụng để giữ lại thông tin đó
74LS245 là vi mạch thu phát bus 2
chiều 8 bit có 3 trạng thái dung để
đệm&đkhiển chiều chuyển động of
dữ liệu
Trong các MT hiện đại CPU phối
ghép với bộ nhớ&ngoại vi thông
qua vi mạch tổng hợp (chip set).Lúc
này các bus nối CPU với bộ
nhớ&ngoại vi ko cùng 1 tốc độ
Câu 13: Trên bản đồ bộ nhớ bộ
nhớ ROM trong máy tinh IBM
PCXT nằm ở vùng đchỉ nào?
Chức năng of ROM?Khi khởi
động MT thì CS&IP được khởi
tạo như tn để vùng nhớ ROM sẽ
được quy chiếu đầu tiên?
Vùng nhớ 256K byte , từ C0000h
đến FFFFFh trong bản đồ nhớ of
MT là dành cho ROM
Trong số 256 Kbyte 1 phần dung để
chứa Ch/trình ROM BIOS,1 phần
dành cho Ch/trình dịch ngôn ngữ
BASIC.1 phần nữa cho bộ đkhiển
đĩa cứng&các ROM of bảng mạch
ngoại vi khác&phần còn lại cho
người dùng (hình 3.10)
Khi khởi động MT sẽ khởi tạo thanh
ghi đoạn mã lệnh
CS=FFFFh&IP=0000h.BVXL 8088
nhận thông tin do CS:IP trỏ tới ứng
với đchỉ vật lý là FFFF0h
Câu 14 : Khi MT IBM PC sử dụng loại vi mạch nhớ là loại DRAM thì MT cần thêm thao tác
gi để bảo toàn dữ liệu trên bộ nhớ RAM trong quá trình làm việc?
Lý do?so sanh SRAM – DRAM?
Khi MT IBM PC sử dụng loại vi mạch nhớ là loại DRAM thì MT cần phải làm tươi thường xuyên
Lý do : khắc phục hiện tượng tự phóng điện of tụ điện dẫn tới mất dữ liệu
So sánh : 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 ko cần làm tươi thường xuyên nên có thể truy cập bất kỳ lúc nào còn DRAM khi đang làm tươi thì ko thể đọc hoặc ghi
Do mỗi bít of SRAM là 1 flip-flop&mỗi flip-flop có 6 transistor nên SRAM phải có nhiều transistor hơn so với DRAM&do vậy có dung lượng nhớ thấp hơ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&tiêu thụ điện năng trên mỗi bit thấp hơn so với SRAM SRAM thường được sử dụng trong các vị trí ko đòi hỏi dung lượng lớn nhưng cần tốc độ cao
Câu 15 : Trình bày về bản đồ bộ nhớ trên MT IBM PCXT (không gian đchỉ, các vùng chính of bản
đồ nhớ ) 1024 byte ở vùng nhớ thấp nhất trong bản đồ nhớ được
sử dụng vào mục đích gi?
MT XT với bộ VXL 8088/86 có 20 chân đchỉ chỉ có khả năng quản lý 1
MB bộ nhớ ứng với không gian đchỉ
từ 00000-FFFFFh Trong không gian này bộ nhớ phân thành bộ nhớ quy ước có đchỉ trong khoảng 00000-9FFFFh&bộ nhớ trên
có đchỉ trong dải A0000-FFFFFh Toàn bộ không gian nhớ 1 Mb được chia thành 16 đoạn mỗi đoạn 64K&đánh số thứ tự theo hệ thập lục.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 lại là dùng cho ROM
Bộ nhớ quy ước là phần bộ nhớ dành cho RAM được dung cho bảng vectơ ngắt,dữ liệu BIOS,tham số&yêu cầu of DOS,hệ điều hành&các phần mềm ứng dụng…
1024 byte ở vùng nhớ thấp nhất trong bản đồ nhớ được sử dụng cho bảng vectơ ngắt of MT
C16Bchất of bnhớ mở rộng? chug&riêg so vs bộ nhớ
Bnhớ mở rộng là gpháp để vượt qua rào cản 640K of hdh dos=các Ch/trình tráo đổi&bằng cách đưa dữ liệu vào bộ nhớ chính với tốc độ cao Chuẩn bnhớ mở rộng LIM đề xuất
sử dụng 64K bộ nhớ liền tạo thành 1 cửa sổ ở vùng nhớ trên chiếu tới 8Mb of bộ nhớ mở rộng
Không gian nhớ 64K liền nhau được chia làm 4 phần (khung trang).Mỗi khung trang truy nhập 16K
Do 64K bộ nhớ phải liền nhau nên nhiều board nhớ mở rộng sử dụng các đchỉ E0000 – EFFFF cho 4 khung trang of bộ nhớ mở rộng.64byte này đóng vai trò of cửa
sổ chiếu vào 1 bộ nhớ lớn hơn Kích thước of bộ nhớ lớn hơn này ban đầu cực đại là 8Mb&chỉ sử dụng để lưu trữ dữ liệu.Mã lệnh of
bộ nhớ mở rộng EMS 3.0 Điểm chung of bộ nhớ phát triển : cùng là lớn hơn giới hạn 1Mb.Điểm khác là bộ nhớ mở rộng phải dung thủ thuật phần mềm để truy cập còn
bộ nhớ phát triển có thể truy cập nhờ số lượng đường đchỉ > 20
C17: bchất of bộ nhớ Loại bộ nhớ naỳ có những dd gì chung &riêng
so với bộ nhớ MR
Đây là bnhớ >1Mb có đc là do các bộVXL từ 80286 trở về sau có >20 chân đchỉ so với 8086/88
Có 2 thuật ngữ mới ở các MT từ
80286 trở về sau là vùng nhớ cao&bộ nhớ 80286 có 24 chân đchỉ cho phép truy nhập 16Mb bộ nhớ từ
06–F6h.32 chân đchỉ of 80386/486/Petium cho phép nhập tối đa 4Gb bộ nhớ (09-F9h)
ở chế độ thực tcả các bộ VXL trên
có thể truy nhập tối đa 1 Mb.Để truy nhập vượt thì bộ VXL phải chuyển sang chế độ bảo vệ&đòi hỏi hdh phức tạp như UNIX Windows NT Kgian nhớ trên 1Mb đc gọi là bộ nhớ Nhằm chuẩn hóa việc truy nhập bộ nhớ trên 1Mb,năm 1988 các hãng Lotus, Intel,MS,AST đã xây dựng tchuẩn bnhớ XMS Vùng nhớ cao (HMA) là vùng nhớ
65520 byte từ 106 – 10FFEF h có thể trnhập ko cần đến hdh có chế độ bvệ.Nhờ có đường đchỉ A20 of các CPU từ 80286 trở về sau
Điểm chung of bnhớ :cùng là > ghạn 1Mb.Điểm # là bnhớ MR phải dung thủ thuật phần mềm để truy cập còn bộ nhớ có thể truy cập nhờ
số lượng đường đchỉ > 20
Trang 4Cõu 18: Khỏi niệm vựng nhớ cao
cú được trờn loại MT IBM PC sử
dụng BVXL nào of Intel?Cỏc thao
tỏc để khởi tạo vựng nhớ cao?sử
dụng vào mục đớch gi?
Vựng nhớ cao cú trờn IBM PC sử
dụng BVXL 80286 of Intel
Là vựng nhớ 65520 byte từ
1000000h đến 10FFEFh cú thể truy
cập khụng cần đến hệ điều hành cú
chế độ bảo vệ.Nhờ cú đường đchỉ
A20 of cỏc CPU từ 80286 về sau
Đay là 1 trong cỏc vựng nhớ đặc
biệt of RAM vỡ CPU cú thể định
vị&truy xuất trực tiếp vựng nhớ này
ở chế độ thực mà khụng phải
chuyển sang chế độ bảo vệ nhờ
đường đchỉ thứ 20 (A20).Đường
đchỉ này sẽ được kớch hoạt lờn khi
ta chạy Himem.sys
Đối với 8086/88 đchỉ vật lý được
tạo ra bằng cỏch dịch chuyển thanh
ghi CS sang trỏi 4bit&cộng với
IP.nếu cú nhớ thỡ sẽ mất do 8086/88
ko cú chõn A20.Trường hợp
286/386/486/Petium khi cú nhớ thỡ
giỏ trị đú chuyển sang A20
Do vậy 65520 byte từ 1000000 –
10FFEF h cú thể truy nhập ko cần
đến hệ điều hành cú chế độ bảo vệ
Vỡ dung lượng of vựng nhớ này gần
bằng dung lượng of DOS khi được
tải lờn RAM nờn ngày nay người ta
chỉ cho phộp di chuyển DOS lờn
vựng nhớ này lờn cao để tiết kiệm
bộ nhớ quy ước
Cõu 19 : Trỡnh bày chi tiết cỏc
vựng nhớ trong bản đồ bộ nhớ
MT IBM PCXT
Là sơ đồ biểu diễn cỏc vị trớ đó được
sử dụng trong bộ nhớ dựng để phõn
biệt cỏc vị trớ&nhiệm vụ of chỳng
640Kb đầu tiờn được bố trớ liờn tục
từ 00000 - 9FFFFh trong đú :
1 Kb đầu tiên: địa chỉ 0 -
3FFH dành cho bảng véc tơ
ngắt
256 byte tiếp theo, vùng nhớ
400-4FFH dành cho vùng dữ
liệu của BIOS
256 byte tiếp theo, vùng nhớ
500 - 5FFH dùng để ghi các
tham số của DOS (vùng dữ
liệu DOS)
Vùng 700H - 9FFFFH có một
vài vị trí dùng cho các yêu
cầu của DOS, ghi cấu hình
máy, toàn bộ phần còn lại
đ-ược dùng để chạy chương
trình
Thuật ngữ vựng nhớ trờn muốn núi đến dải đchỉ từ A0000 đến FFFFFh với tổng bộ nhớ là 384K trong đú : 128K từ A0000 đến BFFFFh dành cho video RAM
256K cũn lại dành cho ROM
C20:SL cỏc t.hiệu đc&số liệu of hệ bus trờn MT cú lquan gỡ đến CT
bộ nhớ trờn MT?Với cỏc MT cú trờn 20 đg đchỉ khụng gian bộ nhớ trờn 1Mb được dhd qlý ntn
SL cỏc t.hiệu đc of 1 CPU qđịnh độ lớn of kgian nhớ of MT sdụng CPU đú-số lượng ụ nhớ max cú thể cú trog bnhớ MT SL cỏc t.hiệu đc càng lớn thỡ kgian nhớ càng lớn 2n
SL cỏc t.hiệu số liệu qđịnh tốc độ truy cập bộ nhớ of CPU
Để truy nhập bộ nhớ vượt 1Mb bộ VXL phải chuyển sang chế độ bvệ
&đũi hỏi hdh phức tạp hơn.() bnhớ được qlý dựa on chuẩn XMS
C21:Cỏc kiểu toỏn hạng bộ nhớ được sử dụng trong ngngữ Ass
Toỏn hạng bnhớ trực tiếp:ở chế độ
đchỉ này đchỉ of dữ liệu trong bộ nhớ do 1 toỏn hạng cú trong lệnh xỏc định trực tiếp.Đchỉ này là 1 tờn hay 1 biểu thức hằng.Cú thể kết hợp thờm toỏn tử chỉ số []; + ; (:)
Toỏn hạng bnhớ gtiếp:cho phộp
dựng cỏc reg&độ dời để chỉ đến cỏc gtrị in bnhớ.Chỉ cú 4reg BX, BP, SI,
DI cú thể dung với toỏn hạng bộ nhớ gtiếp.1 toỏn hạng cú nhiều độ dời sẽ được + lại thành 1 độ dời chung xđịnh khi dịch.Trong đú : Chđộ reg gtiếp:đc of bnhớ chứa toỏn hạng được reg xđịnh.Cỏc reg sdụng cho mđớch này là SI,DI&
BX.cỏc reg xđịnh độ lệch cũn reg đoạn là DS
VD : MOV AL , [BX]
Chế độ đchỉ cơ sở : thanh ghi cơ sở Chế độ đchỉ chỉ số
Chế độ đchỉ chỉ số cơ sở :
Cõu 23 :MT hỡnh thức vào r?
Hthức nào sdụng trờn cỏc mỏy IBM& tương thớch? Trỡnh bày vai trũ of bảng vectơ ngắt?cú bn phần tử?mỗi phần tử gồm mấy byte?
MT cú 2 hỡnh thức vào ra:
Quản lý bằng thăm dũ : Bộ VXL liên tục kiểm tra tình trạng của thiết bị qua cổng I/O
và khi có thiết bị yêu cầu thì tiến hành phục vụ thiết
bị Phục vụ xong, bộ VXL chuyển sang kiểm tra trạng thái của thiết bị tiếp theo cho đến khi tất cả đều được
phục vụ Nhược điểm của phương pháp thăm dò: Chiếm nhiều thời gian của
bộ VXL
Phục vụ thiết bị không theo thứ tự u tiên mà theo thứ tự
định sẵn
Quản lý bằng phương phỏp ngắt : Khi có một thiết bị cần đ-ược phục vụ thì thiết bị sẽ báo cho bộ VXL bằng cách gửi một tín hiệu ngắt Khi nhận được tín hiệu này, bộ VXL ngừng mọi công việc
đang thực hiện để chuyển sang phục vụ thiết bị.Mỗi ngắt có chương trình con phục vụ ngắt ISR (Interrupt Service Routine) được đặt trong bộ nhớ.Ưu điểm của phương pháp ngắt:
Bộ VXL phục vụ thiết bị dựa theo mức ưu tiên được gán cho thiết bị
Khi thiết bị có yêu cầu được phục vụ, bộ VXL vẫn có thể
bỏ qua
Tiết kiệm thời gian cho bộ VXL Bộ VXL có thể thực hiện được nhiều công việc khác trước khi phục vụ thiết bị
Vai trũ of bảng vectơ ngắt :
C22:vào ra theo mode đc gtiếp& trực tiếp?kgian vào ra of 2 mode đchỉ này #?Khi sdụng 1 phần kgian bnhớ làm kgian vào ra thỡ những tớn hiệu đkhiển nào được
sử dụng để đkhiển quỏ trỡnh đọc ghi số liệu từ cổng vào ra?
Vào ra theo mode đchỉ trực tiếp là đchỉ of cổng vào ra được nằm trực tiếp ngay trong lệnh vào ra.(IN AL, 55h */ đọc ndung đchỉ 55h vào thanh ghi AL)
Vào ra theo mode đchỉ giỏn tiếp là đchỉ cổng được nằm trong reg DX
(MOV DX , 0378h ; IN AL , DX)
Khụng gian đchỉ of 2 Mode đchỉ trực tiếp&giỏn tiếp :
khi thực hiện vào ra theo mode đchỉ trực tiếp đchỉ cổng được mó húa bởi 8bit (A0- A7) do đú cú thể đchỉ húa
256 cổng vào&256 cổng ra khi thực hiện theo mode đchỉ giỏn tiếp đchỉ cổng được mó húa bởi 16 bit (A0-A15) do đú cú thể đchỉ húa
216 cổng vào&216 cổng ra
sử dụng 1 phần khụng gian bộ nhớ làm khụng gian vào ra : cú 1 số VXL khụng hỗ trợ vào ra bằng cỏc cõu lệnh nờn phải sử dụng 1 phần
Trang 5khụng gian of bộ nhớ.Khi đú muốn
trao đổi số liệu với cổng vào ra phải
sử dụng cỏc lệnh trao đổi số liệu
//Vào ra dùng mode địa chỉ trực
tiếp là giữ liệu vào ra đợc chuyển
từ thanh ghi tích luỹ ra các cổng
hoặc từ các cổng vào thanh ghi
tích luỹ.Vào ra dùng mode địa chỉ
gián tiếp là dữ liệu vào ra đợc
chuyển từ thanh ghi tích luỹ ra các cổng và ngợc lại thì phải chuyển thông qua thanh ghi DX
ở đây chỉ có thanh ghi DX mới có thể lu địa chỉ cổng trong chế độ
địa chỉ gián tiếp qua thanh ghi.Sự khác nhau về không gian vào ra khi
sử dụng các mode địa chỉ này:
ở chế độ vào ra dùng mode địa chỉ trực tiếp do sử dụng truy nhập
trực tiếp 8 bít giữ liệu nên không gian vào ra của nó sẽ là 28 = 256 byte ở chế độ vào ra dùng mode
địa chỉ gián tiếp do sử dụng 16 bít, không gian nhớ vào ra của nó sẽ
là 216 = 16 Kbyte, lớn hơn rất nhiều
so với chế độ vào ra dùng mode địa chỉ trực tiếp.//
Cau 25
.model small
.stack 64h
.data
dongchu db 'Lop tin hoc’
.code
start:
xor ah,ah ;thiet lap man hinh
mov al,02h ;mode man hinh
int 10h
mov ax,1300h ;hien thi sau ky tu
khong cap nhat con tro
mov bh,00 ;trang 0
mov bl,0ECh ;nen vang chu do
mov cx,0Bh ;chieu dai xau ky tu
mov bp,offset dongchu ;dia chi ban
dau cua xau es:bp
mov si,seg dongchu ;
mov es,si
int 10h
end start
Cau 26
.model small
.stack 64h
.code
start:
mov dh,4
mov cx,5 ;lap 5 lan
lap:
push cx ;luu gia tri cx vao ngan
xep
mov ah,02h ;dat vi tri con tro
mov bh,00h ;trang 0
inc dh ; hang 5 tro len
mov dl,14h ;cot 20
int 10h
mov ah,09h ;hien thi ki tu tren al
mov bh,00h ;trang 0
mov bl,7eh ; thuoc tinh nen trang
chu vang
mov cx,1 ; hien thi 1 chu tren
hang
mov al,48h ; ma ascii cu 'H'
int 10h
pop cx ; lay lai gia tri cx
loop lap
end start
Cau 27 model small stack 64h data thongbao db 'phim nhan duoc la:' code
start:
lap1:
mov cx,12h mov bp,offset thongbao mov si,seg thongbao mov es,si
lap:
mov ah,0eh mov al,es:[bp]
int 10h inc bp loop lap mov ah,00h int 16h cmp al,1bh
jz thoat mov ah,09h mov bl,71h mov cx,122 int 10h mov ah,0eh mov al,0dh int 10h mov al,0ah int 10h jmp lap1 thoat:
mov ah,4ch int 21h end start Cau 28 model small .stack 64h .data thongbao db 'phim nhan duoc la:' code
start:
;nhan phim mov ah,00h int 16h cmp al,1bh
jz thoat push ax
;xac dinh dia chi dau cua xau ki tu mov bp,offset thongbao
mov si,seg thongbao mov es,si
mov cx,12h
;hien thi thong bao va ki tu lap:
mov al,es:[bp]
mov ah,0eh int 10h inc bp loop lap pop ax mov ah,0eh int 10h mov ah,0eh mov al,0dh int 10h mov ah,0eh mov al,0ah int 10h jmp start thoat: mov ah,4ch int 21h
end start Cau 29 XAC DINH DIA CHI CONG:
/CS A1 A0 DIA CHI CONG
04F0 :0000 0100 1111 0000 0 0 13C0H PA
04F0 : 0 1 13C1H PB
04F0 : 1 0 13C2H PC
04F0 : 1 1 13C3H TGDK
;THANH GHI DIEU KHIEN:
TGDK=10000010=82H
;THANH GHI DIEU KHIEN:
;DE PC4=1:TGDK= 00001001=09H
;DE PC4=0:TGDK= 00001001=08H
;DOAN MA LENH:
.CODE START:
MOV DX,04F3H ;dia chi thanh ghi die khien
MOV AL,82H ;dat cong PB la cong vao
OUT DX,AL ; LAP:
Trang 6MOV DX,04F1H
IN AL,DX ; doc cong PB
AND AL,04H; kiem tra bit D2
JZ LAP ; neu bang 0 tiep tuc
kiem tra
LAP1: ; neu bang 1 thi tao
xung
MOV AL,09H
MOV DX,04F3H
OUT DX,AL
CALL DELAY
MOV AL,08H
OUT DX,AL
CALL DELAY
CALL DELAY
JMP LAP1
DELAY:
MOV CX,0FH LAP2: NOP NOP LOOP LAP2 RET END
Trang 7Cau 30
;XAC DINH DIA CHI CONG:
/CS A1 A0 DIA CHI CONG 0154H : 0000 0001 0101 0100 0 0 0550H PA 0154H : 0 1 0551H PB 0154H : 1 0 0552H PC 0154H : 1 1 0553H TGDK
;thanh ghi dieu khien: de model:0,PA: vao,PB,PC: ra TGDK=10010000=90H
;Ma hex de D6,4,2,0:=1
Ma=01010101=55H
;doan ma chuong trinh
.code
start:
MOV DX,0553H;dia chi TGDK
MOV AL,90H ;thiet lap model
OUT DX,AL ;
LAP:
MOV DX,0550H ;dia chi cong PA
IN AL,DX ; doc cong PA
AND AL,40H ;kiem tra bit D6
JZ LAP ;neu bang O tiep tuc kiem tra
MOV AL,55H ;neu bang 1 dat tren cong PB co D6,4,2,0:=1 MOV DX,0551H
OUT DX,AL
end start