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

decuong+cautraloi mới 2016

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

Câu hỏi 1: Vẽ sơ đồ cấu trúc của hệ thống máy tính? Nêu chức
năng của từng bộ phận? Nêu hạn chế lớn nhất của máy tính theo
kiến trúc của Von Neumann.
Trả lời:

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


+Khối phối ghép vào/ra (I/O) : tạo khả năng giao tiếp máy tính
với thế giới bên ngoài. Các thiết bị ngoại vi như màn hình, bàn
phím, máy in, các bộ biến đổi D/A, A/D.... đều liên hệ với hệ máy
tính qua bộ phận này mà cụ thể cho từng thiết bị là các cổng.
+BUS địa chỉ: Khi ghi/đọc bộ nhớ bộ xử lý trung tâm sẽ đưa ra
trên bus này địa chỉ của các ô nhớ có liên quan. Lưu ý là bus địa
chỉ là bus một chiều xuất phát từ CPU.
+ BUS dữ liệu thường có từ 8, 16, 20, 24, 32 đến 64 đường dây tuỳ


thuộc vào từng CPU cụ thể. BUS dữ liệu là loại 2 chiều.Các phần
tử có đầu ra nối thẳng với bus dữ liệu đều phải được trang bị đầu ra
3 trạng thái để baỏ đảm cho bus hoạt động được bình thường.
+ BUS điều khiển thường gồm hàng chục dây tín hiệu khác nhau,
và xét theo cả nhóm thì đó là lọai bus 2 chiều.
+Thiết bị vào: biến đổi tín hiệu tự nhiên hoặc cho bởi con người
sang dạng mã máy để bộ vi xử lý thực hiện. Thiết bị vào thông
dụng nhất có bàn phím, con chuột, máy quét scaner, thiết bị phân
tích nhận dạng tiếng nói, CD-ROM.....
+ Thiết bị ra: biến đổi các mã bên trong máy tính sau khi xử lý để
con người có thể hiểu được hoặc điều khiển các thiết bị khác. Thiết
bị ra thông dụng nhất có màn hình, máy in, faxmodem, máy vẽ, loa
hay các thiết bị điều khiển khác.
Hạn chế lớn nhất của máy tính theo kiến trúc của Von
Neumann: Cả hai quá trình tương tác với lệnh hoặc với số liệu,
không thể thực hiện cùng lúc.
Câu hỏi 2+3: Giả sử tại thời điểm máy tính thực hiện chương
trình, giá trị của các thanh ghi trong CPU như sau:
DS=CS=SS=ES=189Ah; IP =01C4h, SP=FFF8h, SI=0000h, DI =
0000h,
Hãy cho biết:


- Chương trình này có phần mở rộng là .COM hay .EXE? Tại
sao?
- Mã của lệnh chương trình trên nằm trong bộ phận nào của máy
tính? Tại vị trí có địa chỉ vật lý nào? Chỉ rõ cách xác định?
Trả lời:
- Chương trình này có phần mở rộng là.COM, vì CS=DS=SS=
189Ah (tức CS/DS/SS nằm trong cùng 1 đoạn)

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

Cách xác định:

+Các lệnh trên được thực hiện trong “Đơn vị thực hiện” EU của bộ
vi xử lý. Các lệnh được thực hiện lần lượt theo thú tự từ trên
xuống.
+Khi thực hiện 1 lệnh nào đó thì giá trị của thanh ghi IP được tăng
lên thêm 2 để trỏ vào vị trí lệnh tiếp theo của chương trình.
+Khi chuẩn bị thực hiện lệnh lệnh đầu tiên thì các thanh ghi CS =
189Ah, IP = 01C4h.còn khi thực hiện lệnh thứ nhất thì chúng có giá
trị: CS = 189Ah, IP = 01C6h.
+ Khi thực hiện lệnh thứ hai thì chúng có giá trị: CS = 189Ah, IP =
01C8h
Câu hỏi 4: Các máy tính cá nhân (PC) hiện nay được thiết kế theo
kiến trúc nào? Theo kiến trúc này, máy tính gồm những bộ phận
gì? Nêu chức năng của từng bộ phận? Nhược điểm chính của kiến
trúc này là gì?
Trả lời


Với kiến trúc Von Neumann, máy tính có một bộ nhớ và một bus để
chuyển dữ liệu vào và ra đơn vị xử lý trung tâm (CPU) .CPU có thể
đọc một lệnh, hoặc đọc/ghi dữ liệu từ bộ nhớ.

+ Bộ nhớ máy tính là hệ thống con dùng lưu trữ tạm thời các chỉ thị
của chương trình và dữ liệu sẽ được thực hiện bởi máy tính. Nó

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


Câu hỏi 5: Bộ xử lý trung tâm (CPU) của máy tính liên kết với các
bộ phận khác của hệ thống máy tính (các cổng vào/ra và bộ nhớ)
bằng những nhóm tín hiệu nào? Nêu chức năng, hướng truyền
của các nhóm tín hiệu đó? Khi CPU nhận lệnh để thực hiện, thì
mã lệnh chuyển từ đâu tới đâu, theo đường nào?
Trả lời
+ Bộ xử lý trung tâm (CPU) của máy tính liên kết với các bộ phận
khác của hệ thống máy tính (ngoại vi, bộ nhớ) thông qua các nhóm
tín hiệu được gọi là hệ thống bus.
+ Trong máy tính có hai nhóm bus là bus hệ thống, nối giữa CPU với
bộ nhớ chính (trong các máy hiện đại ngày nay bus hệ thống được
nối giữa CPU và vi mạch tổng hợp) và bus vào ra nối ghép giữa các
thiết bị ngoại vi tới CPU.
+Hệ thống bus bao gồm 3 loại, bus dữ liệu và bus địa chỉ và bus

điều khiển.
+ BUS địa chỉ: Phục vụ việc chọn ô nhớ hoặc thiết bị vào/ra. Khi
ghi/đọc bộ nhớ hoặc thiết bị vào/ra, bộ xử lý trung tâm sẽ đưa lên bus
này địa chỉ của các thiết bị liên quan. Đây là bus một chiều và xuất
phát từ CPU.
+ BUS dữ liệu: được dùng để chuyển dữ liệu và thường có từ 8, 16,
20, 24, 32 đến 64 đường dây tuỳ thuộc vào từng CPU cụ thể. BUS dữ
liệu là loại 2 chiều. Các phần tử có đầu ra nối thẳng với bus dữ liệu
đều phải được trang bị đầu ra 3 trạng thái để bảo đảm cho bus hoạt
động được bình thường.
+ BUS điều khiển: Hỗ trợ cho việc trao đổi các thông tin điều khiển và
trạng thái như phân biệt thiết bị được CPU truy nhập là bộ nhớ hay thiết
bị vào/ra, thao tác truy nhập là đọc hay viết v.v......Bus điều khiển
thường gồm hàng chục dây tín hiệu khác nhau, và xét theo cả nhóm thì
đó là loại bus 2 chiều.
Khi CPU đọc lệnh để thực hiện, thì mã lệnh chuyển từ bộ nhớ
vào CPU thông qua bus dữ liệu


Câu hỏi 6: Phân biệt địa chỉ logic và địa chỉ vật lý của một ngăn nhớ?
Nêu phương pháp CPU xác định địa chỉ vật lý dựa trên địa chỉ logic?
Hãy cho biết lệnh đầu tiên sau khi máy tính khởi động xong có địa chỉ
logic bằng bao nhiêu? Tính địa chỉ vật lý của lệnh đó?
Trả lời
+ Địa chỉ logic của một ngăn nhớ là địa chỉ gồm: đ/c segment + đ/c
offset, được viết theo cách như sau: Thanh ghi đoạn:Thanh ghi lệch,
+ Còn địa chỉ vật lý của một ngăn nhớ chính là số thứ tự của ngăn
nhớ đó, được bắt đầu tính từ 0 (ngăn nhớ thứ nhất có địa chỉ vật lý là
0)
+CPU xác định địa chỉ vật lý dựa trên địa chỉ logic theo cách: Địa chỉ

đoạn sẽ được dịch trái 1 khoảng 4 bit kết hợp với địa chỉ offset giữ
nguyên sẽ tạo thành cách xác định địa chỉ 20 bit.
+Như vậy, địa chỉ vật lý được xác định theo công thức như sau:
Địa chỉ vật lý = Thanh ghi đoạn x 16 + Thanh ghi lệch
Lệnh đầu tiên khi máy tính khởi động xong có địa chỉ logic = 137Ch :
100h
Địa chỉ vật lý của lệnh đó là: 138C0h.
Câu hỏi 7: Bộ vi xử lý 8086/88 có bus địa chỉ và dữ liệu bao nhiêu
bit? Nó có thể truy cập tối đa được bao nhiêu ô nhớ? Mỗi ô nhớ
chứa bao nhiêu bit? Khi CPU thực hiện lệnh:
MOV [DI],AL
thì ô nhớ được truy cập có địa chỉ là bao nhiêu? Cho biết giá trị
các thanh ghi bên trong CPU trước lúc thực hiện lệnh là:


AX = 0000; BX = 0000; CX = 0000; DX = 0000; SP = FFEE;
BP=0; SI =0; DI=0; DS=127Ch; ES=127Ch; SS=127Ch;
CS=0700h; IP=0100h
Trả lời:
+ Bộ vi xử lý 8086 có bus địa chỉ là 20 bit, bus dữ liệu 16 bit. Còn
bộ vi xử lý 8088 có bus địa chỉ là 20 bit, nhưng bus dữ liệu chỉ 8 bit.
+Bộ vi xử lý 8086 sử dụng 20 đường địa chỉ nên có thể lập địa chỉ
cho 220= 1048576 ô nhớ. Tương ứng với không gian nhớ 1MB.
+Mối ô nhớ chứa tối đa : 65536 ô nhớ
+Khi CPU thực hiện lệnh: MOV AL,[BX], ô nhớ được truy cập có
địa chỉ đoạn ghi trên thanh ghi đoạn DS, địa chỉ offset ghi trên BX.
+Vậy địa chỉ logic là DS:BX = 127C:0000, và địa chỉ vật lý của ô
nhớ được truy cập là 127C0h
Câu 8 :Đoạn bộ nhớ là gì? Địa chỉ đoạn bộ nhớ chứa trong các thanh
ghi nào? Độ dài của các thanh ghi địa chỉ của đoạn là bao nhiêu bit?

Hãy cho biết ngăn nhớ có địa chỉ vật lý là 256A3h có thể nằm trong
những đoạn bộ nhớ nào, địa chỉ độ lệch bao nhiêu (hãy viết ra ít nhất
3 địa chỉ logic của địa chỉ vật lý trên)? Viết công thức liên hệ giữa địa
chỉ vật lý và địa chỉ logic?
Trả lời:
- Đoạn bộ nhớ là vùng rộng bộ nhớ chứa 2^16 byte=64KB ô nhớ
liên tiếp nhau được xác định bằng một địa chỉ đoạn tương ứng bắt
đầu từ địa chỉ 0 và địa chỉ đoạn lớn nhất là FFFFFh.
- Địa chỉ đoạn bộ nhớ chứa trong thanh ghi đoạn CS,DS,SS,ES.
- Độ dài của các thanh ghi địa chỉ đoạn là 16bit.
- Ngăn nhớ có địa chỉ vật lý 256A3h có thể có nhiều địa chỉ logic
khác nhau


-

VD: một vài địa chỉ như sau
+ 256A:0003 tương ứng đoạn bộ nhớ có địa chỉ 256Ah và địa
chỉ độ lệch 0003h
+ 2560:00A3 tương ứng đoạn bộ nhớ có địa chỉ 2560h và địa
chỉ đọ lệch 00A3h
+ 2500:05A3 tương ứng đoạn bộ nhớ có địa chỉ 2500h và địa
chỉ độ lệch 05A3h
Công thức lên hệ giữa địa chỉ vật lý và địa chỉ logic
Địa chỉ vật lý = thanh ghi đoan *16+ thanh ghi offset

Câu 9:Giả sử máy tính thực hiện chương trình có phần mở rộng là
.COM. Với trạng thái ban đầu các thanh ghi đoạn và con trỏ chỉ số
trong CPU như sau: CS=DS=SS=ES=1000H; IP=0100; AX=0000;
BX=0000; CX=0000; DX=0000; BP=0000;SP=FFFE; SI=0000;

DI=0000. Hỏi:
Khi CPU nhận mã lệnh từ bộ nhớ, nó sử dụng những thanh ghi gì để
xác định địa chỉ của lệnh cần đọc vào?
CPU tính địa chỉ vật lý của lệnh trên cơ sở nội dung của các thanh
ghi đó theo công thức nào?
Xác định địa chỉ vật lý của byte mã lệnh đầu tiên với các dữ liệu cho
ở trên?
Trả lời:
+ khi CPU nhận mã lệnh từ bộ nhớ nó sử dụng thanh ghi CS và IP
để xác định địa chỉ của lệnh cần đọc vào từ bộ nhớ. Trong đó thanh
ghi CS dùng để chỉ tới đoạn bộ nhớ, thanh ghi IP chứa địa chỉ Offset
trong đoạn bộ nhớ đó
+ CPU tính địa chỉ vật lý của lệnh trên cơ sở nội dung các thanh
ghi đó theo công thức


Địa chỉ vật lý = thanh ghi đoan *16+ thanh ghi offset
(thanh ghi độ lệch)
+ với dữ liệu như trên thì khi nhận lệnh đầu tiên giá trị thanh ghi
chứa địa chỉ của lệnh sẽ là CS=1000h và IP =0100h. Vậy địa chỉ
vật lý của byte mã lệnh đầu tiên là: 1000h*16+0100=10100h
Câu 10: Xử lý đường ống là gì? Do có cấu trúc bên trong nào mà bộ
vi xử lý 8086 có khả năng thực hiện chương trình theo kiểu đường
ống? Giả sử các lệnh đều có thời gian nhận lệnh, giải mã và thực thi
là 1 chu kỳ máy. Bằng hình vẽ biểu đồ thời gian, hãy xác định thời
gian để CPU hoàn thành 5 lệnh theo cơ chế xử lý đường ống?
Trả lời:
+ Xử lý đường ống là : vừa có khả năng thực hiện lệnh hiện tại vừa có
khả năng nhận các lệnh tiếp theo
+ bộ vi xử lý 8086 có khả năng xử lý đường ống là do cấu trúc bên

trong của bộ vi xử lý này có 2 đơn vị hoạt động tương đối độc lập
nhau là đơn vị thực hiên EU và đơn vị giao tiếp BIU
-

Trong thời gian EU thực hiện lệnh thì BIU vẫn có thể đảm nhận
nhiệm vụ nhận trước các lệnh cất tạm vào các hàng đợi lệnh và
các thanh ghi dữ liệu. Nhờ vậy mà khi bus bị bận trong chu kỳ
đọc thì EU thực hiện các lệnh trước đó còn khi bus bận trong chu
kỳ ghi thì EU lại thực hiện các lệnh khác

+ IF: nhận lệnh, ID: giải mã lệnh, EX :thực thi
Lệnh\T T1
I1
IF
I2
I3
I4

T2
ID
IF

T3
EX
ID
IF

T4

T5


T6

EX
ID
IF

EX
ID

EX

T7


I5

IF

ID

EX

Vậy cần 7 chu kỳ để thực hiên 5 lệnh
Câu 11:Hãy cho biết tên, ký hiệu và ý nghĩa của 6 cờ chỉ thị trạng
thái của kết quả trong CPU? Xác định giá trị các cờ đó sau khi bộ vi
xử lý 8086 thực hiện lệnh sau:
MOV
AL,056H
ADD

AL,0AAH
(Biết rằng trước đó giá trị các bit cờ trên và thanh ghi AL bằng 0).
+ thanh ghi cờ là thanh ghi 16 bit dung để lưu giữ thông tin về trạng
thái của EU hoặc kết quả phép toán do ALU thực hiện
STT
1
2
3
4
5
6

Tên
Cờ phụ
Cờ nhớ
Cờ tràn
Cờ bậc
chẵn
Cờ Rezo
Cờ dấu

Kí hiệu
AF
CF
OF
PF

Ý nghĩa
AF=1 nếu bit 4 có nhớ
CF=1 nếu bit cao nhất có nhớ

OF=1 nếu tràn hay phếp tính vượt thang
PF=1 nếu tổng chữ số 1 bằng chẵn

ZF
SF

ZF=1 nếu kết quả bằng 0
SF=0 nếu số dương
SF=1 nếu số âm

+ ta có: 056h= 0000 0101 0110 và 0AAh= 0000 1010 1010
Phép tính : 0000 0101 0110
+0000 1010 1010
0001 0000 0000
AF=1, CF=0, OF=0, PF=0, ZF=0, SF=0
Câu 12:Tại sao trong Bộ vi xử lý 8086 của Intel tất cả các thanh ghi
địa chỉ (đoạn và độ lệch) có dài tối đa là 16 bits nhưng địa chỉ vật lý
CPU tạo ra có độ dài 20 bits (từ A0 đến A19)? Hãy cho biết các cặp


thanh ghi (đoạn và độ lệch) tương ứng để địa chỉ hóa mã lệnh, dữ
liệu và ngăn xếp? Xác định tên các thanh ghi chứa địa chỉ logic của
byte mã lệnh nằm trong đoạn bộ nhớ có địa chỉ là 1034h và độ lệch
là 0200h? Tính địa chỉ vật lý của byte mã lệnh nói trên?
Trả lời:
+ Bộ vi xử lý 8086 của Intel tất cả các thanh ghi địa chỉ (đoạn và độ
lệch) có dài tối đa là 16 bits nhưng địa chỉ vật lý CPU tạo ra có độ
dài 20 bits (từ A0 đến A19) vì CPU sử dụng các thanh ghi đoạn 16bit
CS,DS,SS,ES để xác định địa chỉ đoạn và sủ dụng các thanh ghi
Offet IP,SP,BP,SI,DI để xác định địa chỉ dịch chuyển tính từ địa chỉ

đoạn. Cụ thể là địa chỉ đoạn sẽ được dịch trái 1 khoảng 4 bit kết hợp
với địa chỉ offset giữ nguyên sẽ tạo thành địa chỉ 20bit của địa chỉ
vật lý
+ Cặp thanh ghi dùng để địa chỉ hóa mã lệnh là CS:IP ,Đối với dữ
liệu là thanh ghi SI:DI, Đối với ngăn xếp là SS:SP
+ byte mã lệnh nằm trong đoạn bộ nhớ có địa chỉ là 1034h và độ lệch
là 0200h sử dung thanh ghi CS=1034h và IP=0200h. vậy địa chỉ vật
lý =10340+0200=10540h
Câu 13: Bus hệ thống của máy tính nối Bộ vi xử lý Intel 8088 với bộ
nhớ và các cổng vào/ra gồm những bus con gì? Vẽ sơ đồ tạo các bus
con trong máy tính PC/XT dùng vi xử lý 8088? Trình bày một chu kỳ
bus đọc bộ nhớ?
Trả lời:Bus hệ thống của máy tính nối Bộ vi xử lý Intel 8088 với bộ
nhớ và các cổng vào/ra gồm những bus con là: bus dữ liệu, bus điều
khiển, bus địa chỉ

HTMP
Clock


8284

HT BUS
HT I/O

Bé nhí
HÖ thèng bus ë mode cùc ®¹i

8086/
8088


74LS373

74LS245

8288
Bus ®Þa chØ
Bus d÷ liÖu
Bus ®iÒu khiÓn
Bus ®Þa chØ
Bus d÷ liÖu
Bus ®iÒu khiÓn


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

F000:0000F000:FFFF ROM BIOS
+ khi khởi động máy tính sẽ khởi tạo thanh ghi đoạn mã lệnh
CS=FFFFh và thanh ghi con trỏ lệnh IP=0000h . Bộ vi xử lý nhận
thông tin do CS:IP trỏ tới là FFFF:0000 ứng với địa chỉ vật lý
FFFF0h
Câu 15:


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

dung lượng lớn nhưng cần tốc độ cao.
Câu 16:
Câu hỏi: Trình bày về bản đồ bộ nhớ trên máy tính IBM PC XT
(độ lớn, không gian địa chỉ, các vùng chính của bản đồ nhớ ...).
1KB ở vùng nhớ có địa chỉ thấp nhất và vùng nhớ có địa chỉ cao
nhất trong bản đồ nhớ được sử dụng vào mục đích gì?
Trả lời


-

-

-

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


-

Bộ nhớ quy ước là phần bộ nhớ dành cho RAM được dùng cho

bảng vector ngắt, dữ liệu BIOS,tham số và yêu cầu của DOS , hệ
điều hành và các phần mềm ứng dụng.

-

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

-

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

-

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

1024 byte ở vùng nhớ thấp nhất trong bản đồ bộ nhớ được sử dụng
cho bảng vector ngắt
Câu 17
Câu hỏi: Một chu kỳ truy cập đọc bộ nhớ của vi xử lý 8086 gồm
mấy chu kỳ đồng hồ? Hãy cho biết ý nghĩa của tín hiệu ALE và chu
kỳ nào nó tích cực, khi CPU truy cập bộ nhớ? Tín hiệu nào trong các
tín hiệu sau tích cực: IOR, IOW, MEMR, MEMW, khi CPU thực
hiện lệnh: MOV AL,[SI]
-

-

ở trạng thái bình thường để ghi hoặc đọc vào bộ nhớ hoặc các thiết
bị vào ra 8088/86 cần 4 chu kỳ đồng hồ T1,T2,,T3,T4 .

ALE(Address latch enable) dùng sường xuống của tín hiệu này để
mở chốt địa chỉ nhớ. Địa chỉ này được mở nên có thế tiến hành đọc
và ghi bộ nhớ, đến khi ALE trở lại mức cao.
ALE tích cực ở chu kỳ T1 .
Tín hiệu trạng thái M/|IO được phát hiện từ CPU thông báo khi
nào thì CPU truy cập bộ nhớ và khi nào thì truy cập vào ra. Tín
hiệu này được kết hợp với các tín hiệu /RD và /WR để tạo ra các
tín hiệu điều khiển, quá trình ghi đọc bộ nhớ và vào/ra


M//IO
1

/RD
0

/WR
1

/MEMR

1

1

0

/MEMW

0


0

1

/IOR

0

1

0

/IOW

Tín hiệu
đọc bộ nhớ
Tín hiệu
ghi bộ nhớ
Tín hiệu
đọc cổng
vào /ra
Tín hiệu
ghi cổng
vào/ ra

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

Câu 18:

Câu hỏi: Một chu kỳ truy cập ghi bộ nhớ của vi xử lý 8086 gồm mấy
chu kỳ đồng hồ? Tín hiệu nào trong các tín hiệu sau tích cực: IOR,
IOW, MEMR, MEMW, khi CPU thực hiện lệnh ghi bộ nhớ? Tính
thời gian của một chu kỳ ghi bộ nhớ, nếu biết tần số đồng hồ của
CPU là 10MHz?
- Gồm 4 chu kỳ
- /MEMW tích cực khi CPU thực hiện lệnh ghi bộ nhớ
- Thời gian của một chu kỳ ghi bộ nhớ khi tần số đồng hồ CPU là
10MHz :
4*1/(10.10^6)=400ns
Câu 19:
Câu hỏi: Vẽ bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088?
Nêu chức năng, dung lượng, vùng địa chỉ của bộ nhớ qui ước


(conventional memory)? Trong máy tính, để phát hiện lỗi đọc và ghi
bộ nhớ, mỗi byte được bổ sung thêm thông tin gì? Giá trị của nó
được xác định như thế nào?
- Sơ đồ bộ nhớ

-

-

Bộ nhớ quy ước:
Bộ VXL 8088 có 20 chân địa chỉ nên địa chỉ hóa được 2^20 =1MB
ô nhớ ứng với không gian địa chỉ từ 00000H-FFFFFH . Trong đó
640KB bộ nhớ được dành cho bộ nhớ RAM được bố trí liên tục từ
00000-9FFFFH gọi là bộ nhớ quy ước.
Khi khởi động BIOS sẽ kiểm tra không gian nhớ này và lưu tổng

số bộ nhớ được lắp đặt vào vùng giữ liệu của BIOS tại địa chỉ
0040:0017


1KB đầu tiên có địa chỉ từ 00000-003FFF dành cho bảng vector
ngắt,256 byte tiếp theo từ 00400-004FF được dành cho vùng dữ
liệu cảu BIOS. 256 byte tiếp theo nữa từ 00500-005FF dùng để ghi
các tham số DOS .vùng từ 00700-9FFFF để dành cho các yêu cầu
của DOS ghi cấu hình máy. Phần còn lại dành cho các phần mềm
ứng dụng.Mọi máy tính PC/XT và tương ứng đều có bộ nhớ quy
ước.
- Trong máy tính thường dùng mã kiểm tra lỗi trong bộ nhớ :
o Một trong mã đó là mã chẵn lẻ (Parity code)
o Khi ghi dữ liệu bit Parity được ghi cùng dữ liệu (bit thứ 9)
o Khi đọc byte, Parity được kiểm tra xem có trùng Parity lưu
trong bit 9 không.Nếu trùng-OK,nếu sai-phát sinh ngắt NMI
đến CPU.
Ngoài mã Parity phát hiện lỗi , mã sửa lỗi (ECC) có thể sửa lỗi một
số bit trong dữ liệu.
-

Câu 20:
Vẽ bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088? Nêu
chức năng, dung lượng, vùng địa chỉ của bộ nhớ hiển thị VDR
(Video Display RAM)? Xác định địa chỉ đoạn và độ lệch của ngăn
nhớ trong bộ nhớ hiển thị VDR tương ứng với ký tự ở góc dưới cùng
bên trái màn hình, nếu màn hình được thiết lập ở chế độ văn bản, độ
phân dải 80 x 25?
- Bản đồ bộ nhớ



Vùng nhớ có địa chỉ từ A0000-FFFFF (384KB) được gọi là vùng
nhớ trên. 128KB từ địa chỉ A0000-BFFFF dùng cho Video RAM.
Chức năng VDR (Video display RAM) : Để hiển thị thông tin lên
màn hình của PC trước tiên CPU phải chuyển các thông tin đó vào
bộ nhớ VDR.
Xác định địa chỉa đoạn và offset
Câu 21:
Câu hỏi: Vẽ bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088?
Nêu chức năng, dung lượng, vùng địa chỉ của bộ nhớ ROM? Hãy cho
biết, vi mạch ROM BIOS có dung lượng 8KB, nằm ở vùng địa chỉ
nào (từ... đến....)?


-

Vùng nhớ 256K byte từ C0000H-FFFFFH được dành cho ROM.
Trong số 256K byte, một phần dùng để chứa các chương trình của
ROM BIOS, Một phần dành cho chương trình dịch ngôn ngữ
BASIC (để trong ROM) một phần bộ nhớ cho bộ điều khiển đĩa
cứng và các ROM của bảng mạch ngoại vi khác và phần còn lại
cho người dùng. Bản đồ bộ nhớ ROM như sau:
Vị trí vùng nhớ
C000:0000-C000:7FFF
C000:8000-C000:CFFF
D000:0000-E000:FFFF
F000:0000-F000:FFFF

Mô tả
Vùng nhớ mở rộng cho bộ nhớ

ROM
Điều khiển đĩa cứng
Vùng mở rộng bộ nhớ ROM (xt)
ROM BIOS


Câu hỏi 22: Tín hiệu nào trong các tín hiệu sau tích cực: IOR, IOW,
MEMR, MEMW, khi CPU thực hiện lệnh đọc mã lệnh? Tính thời
gian của một chu kỳ ghi bộ nhớ, nếu biết tần số đồng hồ của CPU là
10MHz? Nếu chip nhớ RAM có thời gian truy cập là 100ns, thì CPU
có cần chèn thêm trạng thái chờ vào chu kỳ ghi không? Tại sao?
+ Khi CPU thực hiện lệnh đọc mã lệnh thì các tín hiệu IOR, IOW ở
mức tích cực
+ Tần số của đồng hồ là 10MHz => ta có chu kỳ là 100ns. Do đó
chu kỳ đọc ghi bộ nhớ là 400ns (vì 1 chu kỳ gồm 4 chu kỳ đồng hồ )
1. Nếu

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

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

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


2.


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


-

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


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

2.
3.

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


Trả lời : tần số của đồng hồ là 5MHz => ta có chu kỳ là 200ns. Do đó

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

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

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

-

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


Comment

IN AL,d8
IN AL,DX

Ðọc một byte từ cổng vào/ra 8 bít
Ðọc một byte từ cổng vào/ra xác định

8
8


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×