Tải bản đầy đủ (.docx) (7 trang)

giáo trình cấu trúc máy tính

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

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đổ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


Câ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


Câ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 flipflop&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 AB 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


Cõu 18: Khỏi nim vựng nh cao
cú c trờn loi MT IBM PC s
dng BVXL no of Intel?Cỏc thao
tỏc khi to vựng nh cao?s
dng vo mc ớch gi?
Vựng nh cao cú trờn IBM PC s
dng BVXL 80286 of Intel.
L vựng nh 65520 byte t
1000000h n 10FFEFh cú th truy
cp khụng cn n h iu hnh cú
ch bo v.Nh cú ng ch
A20 of cỏc CPU t 80286 v sau
ay l 1 trong cỏc vựng nh c
bit of RAM vỡ CPU cú th nh
v&truy xut trc tip vựng nh ny
ch thc m khụng phi

chuyn sang ch bo v nh
ng ch th 20 (A20).ng
ch ny s c kớch hot lờn khi
ta chy Himem.sys
i vi 8086/88 ch vt lý c
to ra bng cỏch dch chuyn thanh
ghi CS sang trỏi 4bit&cng vi
IP.nu cú nh thỡ s mt do 8086/88
ko cú chõn A20.Trng hp
286/386/486/Petium khi cú nh thỡ
giỏ tr ú chuyn sang A20.
Do vy 65520 byte t 1000000
10FFEF h cú th truy nhp ko cn
n h iu hnh cú ch bo v
Vỡ dung lng of vựng nh ny gn
bng dung lng of DOS khi c
ti lờn RAM nờn ngy nay ngi ta
ch cho phộp di chuyn DOS lờn
vựng nh ny lờn cao tit kim
b nh quy c.
Cõu 19 : Trỡnh by chi tit cỏc
vựng nh trong bn b nh
MT IBM PCXT
L s biu din cỏc v trớ ó c
s dng trong b nh dựng phõn
bit cỏc v trớ&nhim v of chỳng
640Kb u tiờn c b trớ liờn tc
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.

Thut ng vựng nh trờn mun núi
n di ch t A0000 n FFFFFh
vi tng b nh l 384K trong ú :
128K t A0000 n BFFFFh dnh
cho video RAM
256K cũn li dnh cho ROM
C20:SL cỏc t.hiu c&s liu of h
bus trờn MT cú lquan gỡ n CT
b nh trờn MT?Vi 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.hiu c of 1 CPU qnh
ln of kgian nh of MT sdng CPU
ú-s lng ụ nh max cú th cú
trog bnh MT. SL cỏc t.hiu c cng
ln thỡ kgian nh cng ln 2n
SL cỏc t.hiu s liu qnh tc

truy cp b nh of CPU
truy nhp b nh vt 1Mb b
VXL phi chuyn sang ch bv
&ũi hi hdh phc tp hn.()
bnh c qlý da on chun XMS
C21:Cỏc kiu toỏn hng b nh
c s dng trong ngng Ass
Toỏn hng bnh trc tip: ch
ch ny ch of d liu trong b
nh do 1 toỏn hng cú trong lnh
xỏc nh trc tip.ch ny l 1 tờn
hay 1 biu thc hng.Cú th kt hp
thờm toỏn t ch s []; + ; (:)
Toỏn hng bnh gtip:cho phộp
dựng cỏc reg& di ch n cỏc
gtr in bnh.Ch cú 4reg BX, BP, SI,
DI cú th dung vi toỏn hng b
nh gtip.1 toỏn hng cú nhiu
di s c + li thnh 1 di
chung xnh khi dch.Trong ú :
Ch reg gtip:c of bnh cha
toỏn hng c reg xnh.Cỏc reg
sdng cho mớch ny l SI,DI&
BX.cỏc reg xnh lch cũn reg
on 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 thc vo r?

Hthc no sdng trờn cỏc mỏy
IBM& tng thớch? Trỡnh by vai
trũ of bng vect ngt?cú bn phn
t?mi phn t gm my byte?
MT cú 2 hỡnh thc vo ra:
Qun lý bng thm 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
Qun lý bng phng phỏp ngt :
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 trc khi phục vụ thiết
bị.
Vai trũ of bng vect ngt :
C22:vo ra theo mode c gtip&
trc tip?kgian vo ra of 2 mode
ch ny #?Khi sdng 1 phn
kgian bnh lm kgian vo ra thỡ
nhng tớn hiu khin no c
s dng khin quỏ trỡnh c
ghi s liu t cng vo ra?
Vo ra theo mode ch trc tip l
ch of cng vo ra c nm trc
tip ngay trong lnh vo ra.(IN AL,
55h */ c ndung ch 55h vo
thanh ghi AL)
Vo ra theo mode ch giỏn tip l

ch cng c nm trong reg DX
(MOV DX , 0378h ; IN AL , DX)

Khụng gian ch of 2 Mode ch
trc tip&giỏn tip :
khi thc hin vo ra theo mode ch
trc tip ch cng c mó húa bi
8bit (A0- A7) do ú cú th ch húa
256 cng vo&256 cng ra
khi thc hin theo mode ch giỏn
tip ch cng c mó húa bi 16
bit (A0-A15) do ú cú th ch húa
216 cng vo&216 cng ra
s dng 1 phn khụng gian b nh
lm khụng gian vo ra : cú 1 s
VXL khụng h tr vo ra bng cỏc
cõu lnh nờn phi s dng 1 phn


khụng gian of b nh.Khi ú mun
trao i s liu vi cng vo ra phi
s dng cỏc lnh trao i s liu
//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
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

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


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:

trực tiếp 8 bít giữ liệu nên không
gian vào ra của nó sẽ là 2 8 = 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.//
;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:
;PB
LA
CONG
VAO:
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:


MOV 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


Cau 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



×