1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐA lý thuyết Cấu trúc máy tính

33 88 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 846,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bộ nhớ Memory: lưu trữ các lệnh và dữ liệu; 2 loại: bộ nhớ trong và bộ nhớ ngoài; chia thành các ô nhớ nhỏ được gán một địa chỉ để CPU có thể định vị khi đọc/ghi dữ liệu.. Bộ nhớ Memory:

Trang 1

Phần I Cấu trúc bộ VXL và các hệ thống hỗ trợ Câu 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

Cấu trúc cơ bản của hệ thống máy tính gồm:

1 Bộ xử lý trung tâm CPU: nhận và thực thi các lệnh CPU gồm các mạch điều khiển

logic, mạch tính toán số học, các thanh ghi trung gian

2 Bộ nhớ (Memory): lưu trữ các lệnh và dữ liệu; 2 loại: bộ nhớ trong và bộ nhớ ngoài; chia

thành các ô nhớ nhỏ được gán một địa chỉ để CPU có thể định vị khi đọc/ghi dữ liệu

3 Phối ghép vào/ra: mạch điện tử, tạo giao tiếp giữa máy tính và thiết bị ngoại vi (màn

hình, bàn phím, máy in, …)

4 Thiết bị ngoại vi (Input / Output): dùng để nhập hay xuất dữ liệu; liên hệ với CPU qua

các mạch giao tiếp I/O

5 Bus hệ thống: tập hợp các đường dây để CPU có thể liên kết với các bộ phận khác.

Bus hệ thống bao gồm 3 loại:

- Bus dữ liệu (data bus): truyền tải dữ liệu, 2 chiều.

- Bus địa chỉ (address bus): đ/c chọn ô nhớ hay ngoại vi.

- Bus điều khiển (control bus): trao đổi thông tin trạng thái và điều khiển giữa CPU và

Bộ nhớ (RAM, ROM)

Thiết bị ra (màn hình, máy in, máy vẽ )

CU

Phối ghép vào ra

Thiết bị vào (bàn phím, chuột, máy quét )

Bus điều khiển Bus dữ liệu

Bus địa chỉ

Hình 4 Sơ đồ khối hệ máy tính cơ bản

Trang 2

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?

- 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 = 125Ah, IP =0104h.còn khi thực hiện lệnh thứ nhất thì chúng có giá trị: CS = 125Ah, IP = 0106h

+ Khi thực hiện lệnh thứ hai thì chúng có giá trị: CS = 125Ah, IP = 0108h

Câu 3: 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ủakiến trúc này là gì?

2 Bộ nhớ (Memory): 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ó thường được gọi là RAM Bộ nhớ được chiathành các ô, mỗi ô có địa chỉ riêng để dữ liệu có thể nạp

3 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ìnhbằng cách điều khiển đĩa cứng

Trang 3

4 Bus địa chỉ và bus dữ liệu được dùng chung cho dữ liệu và cho chương trình trong quá

trình trao đổi dữ liệu và lệnh giữa CPU và bộ nhớ

Hạn chế lớn nhất của máy tính theo kiến trúc của Von Neumann đó là: có hiện tượng thắt cổchai do xảy ra xung đột giữa quá trình nhận lệnh và nạp/cất dữ liệu

Câu 4: 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ềncủ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 ranố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

Trang 4

Câu 5: 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 độngxong 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ớ Biểu diễn đồng thời cả 2 thanh ghi đoạn và thanh ghi contrỏ, chỉ số được dùng trong lập trình và giao tiếp người máy, đượ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 -220 (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 = FFFF:0 Địa chỉ vật lý củalệnh đó là: FFFF0h

Giá trị lớn nhất của thanh ghi độ lệch là FFFF H (216 giá trị) mỗi lần thay đổi (24 giá trị) như vậy với 1 địa chỉ vật lý ta có thể có tối đa 216:24 = 212 giá trị địa chỉ logic Trường hợp địa chỉ vật lý là 00000 H ta chỉ có 1 địa chỉ logic

mà thôi.

Câu 6: 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

ô 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ướclú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=127Ch; IP=0100h

Trang 5

Câu 7: Đ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 8: 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=0700H;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ủalệ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ứcnà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

- 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=0700h và IP =0100h Vậy địa chỉ vật lý của byte mã lệnh đầu tiên là:0700h*16+0100=07100h

Trang 6

Câu 9: 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

- 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ướccá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ậntrong 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ạithực hiện các lệnh khác

+ IF: nhận lệnh, ID: giải mã lệnh, EX :thực thi

Vậy cần 7 chu kỳ để thực hiên 5 lệnh

Câu 10: 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,056HADD AL,0AAH(Biết rằng trước đó giá trị các bit cờ trên và thanh ghi AL bằng 0)

TRẢ LỜI:

- 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

2 Cờ nhớ CF CF=1 nếu bit cao nhất có nhớ

3 Cờ tràn OF OF=1 nếu tràn hay phếp tính vượt thang

4 Cờ bậc chẵn PF PF=1 nếu tổng chữ số 1 bằng chẵn

5 Cờ Zero ZF ZF=1 nếu kết quả bằng 0

SF=1 nếu số âm

Trang 7

- 8086/8088 chỉ sử dụng 9 bit cờ trong số 16 bit để ghi thông tin

Câu 11: 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ãycho 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ănxế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à 16bits 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ácthanh ghi đoạn 16bit CS,DS,SS,ES để xác định địa chỉ đoạn và sủ dụng các thanh ghi OffetIP,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ỉ 20bitcủ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ử dungthanh ghi CS=1034h và IP=0200h Vậy địa chỉ vật lý =10340+0200=10540h

Câu 12: 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ồmnhững bus con là: bus dữ liệu, bus điều khiển, bus địa chỉ

Trang 8

Các chuỗi sự kiện xảy ra trong một chu kỳ bus đọc bộ nhớ:

- Chu kỳ T1: CPU xuất địa chỉ; mạch chốt địa chỉ đưa lên BUS

- Chu kỳ T2: tín hiệu điều khiển đọc (MEMR or IOR) được kích hoạt

- Chu kỳ T3: bộ nhớ (hoặc TB vào/ra) đưa dữ liệu lên bus

- Chu kỳ T4: CPU nhận dữ liệu từ bus Kết thúc chu kỳ đọc!

Một chu kỳ bus ghi gồm 4 nhịp clock:

- T1: CPU xuất địa chỉ

- T2: CPU xuất tín hiệu điều khiển ghi MEMW

- T3: CPU đưa dữ liệu lên BUS

- T4: Bộ nhớ (hoặc TB v/r) nhận dữ liệu từ BUS KẾT THÚC CHU KỲ GHI!

Trang 9

Phần II Bộ nhớ và các hệ thống hỗ trợ Câu 1 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? Khikhở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:

Trên bản đồ bộ nhớ, địa chỉ ROM BIOS: 8kb từ FE000- FFFFF

Chức năng của bộ nhớ ROM BIOS trong máy tính IBM PCXT:

- Chứa chương trình khởi động máy tính <1kb cuối cùng>

- Hàm vào ra cơ bản

Khi khởi động máy tính thì: CS = FFFFh, IP = 0

Câu 3 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 cao nhất chứa chương trình khởi động

Câu 2 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ệutrong bộ nhớ RAM trong quá trình làm việc?

TRẢ LỜI:

Bộ nhớ RAM chính của máy cần dung lượng lớn, vì DRAM vừa có dung lượng lớn vừa

có giá rẻ vì vậy thường dùng DRAM

Ưu điểm của DRAM là dung lượng lớn, giá rẻ Nhược điểm là cần làm tươi thường xuyên và tốc độ chậm hơn SRAM

Trang 10

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 làm tươi

để bảo toàn dữ liệu trong bộ nhớ RAM trong quá trình làm việc

Câu 4 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ệunà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:

- 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

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

Câu 5: 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?

TRẢ LỜI:

- Một chu kỳ truy cập ghi bộ nhớ của vi xử lý 8086 gồm 4 chu kỳ đồng hồ

- /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à f = 10MHz : 4*1/

(10.10^6)=400ns

Trang 11

T =1/f => t = 4*T

Câu 6: 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ệnlỗ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 địnhntn?

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 đặtvà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-005FFdù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ấuhì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 OK,nếu sai-phát sinh ngắt NMI đến CPU

trùng-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 7: 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áimà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?

TRẢ LỜI:

Bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088 <CÂU 1>

VDR có dung lượng 124kb Địa chỉ: từ A0000 đến BFFFFH Chức năng: lưu thông tincần hiển thị lên màn hình

Màn hình được thiết lập ở chế độ văn bản có địa chỉ đoạn: B800H

Màn hình có độ phân giải 80x25, ký tự nằm ở góc dưới cùng bên trái -> (1;25) có độ lệchoffset là: (d-1)*160+(c-1)*2 = (25-1)*160+(1-1)*2 = 0F00

Trang 12

 B800:0F00

Câu 8: 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 )?

TRẢ LỜI:

Bản đồ bộ nhớ của máy tính PC/XT dùng vi xử lý 8088 <CÂU 1>

Bộ nhớ ROM có dung lượng 256Kb từ C0000H – FFFFFH Trong số 256K byte, mộtphầ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ịchngôn ngữ BASIC (để trong ROM) một phần bộ nhớ cho bộ điều khiển đĩa cứng và các ROMcủa bảng mạch ngoại vi khác và phần còn lại cho người dùng

Vi mạch ROM BIOS có dung lượng 8KB, nằm ở vùng địa chỉ FE000 – FFFFF

Câu 9: 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ènthêm trạng thái chờ vào chu kỳ ghi không? Tại sao?

Trang 13

Câu 10: 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?

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 contrỏ 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 địachỉ 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ớ

Trang 14

Câu 11: 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ếutần số của đồng hồ là 5MHz (giả sử không có chu kỳ đợi khi truy cập)?

TRẢ LỜI:

1 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ônggian 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)

2 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 )

3 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 12: 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 vimạch nhớ, những bit địa chỉ nào được dùng để chọn ngăn nhớ trong vi mạch nhớ?

Trang 15

Phần III Vào ra Câu 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? 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

TRẢ LỜI:

1 Các lệnh vào/ra:

Trường hợp 1: Cổng dữ liệu 8 bit (port8)

Đọc dữ liệu: IN đích, nguồn

Dạng 1: IN AL, port8 ; nếu địa chỉ port8 < 256

Dạng 2: MOV DX, port8 ; nếu port8 > 255

IN AL, DX

Xuất dữ liệu: OUT đích, nguồn

Dạng 1: OUT port8, AL ; nếu địa chỉ port8 < 256

Dạng 2: MOV DX, port8 ; nếu port8 > 255

OUT DX, AL

Trường hợp 2: Cổng dữ liệu 16 bit (port16)

Đọc dữ liệu: IN đích, nguồn

Dạng 1: IN AX, port16 ; nếu địa chỉ port16 < 256

Dạng 2: MOV DX, port16 ; nếu port16 > 255

IN AX, DX

Xuất dữ liệu: OUT đích, nguồn

Dạng 1: OUT port16, AX ;nếu địa chỉ port16 < 256

Dạng 2: MOV DX, port16 ; nếu port16 > 255

OUT DX, AX

2 Chế độ địa chỉ trực tiếp: không gian cổng vào và không gian cổng ra được địa chỉ hóa bới 8 bits địa chỉ từ A0 đến A7 do đó ta có thể có được 28 cổng vào và 28 cổng ra có địa chỉ

từ 00 H đến FF H

3 Với BVXL có hỗ trợ vào/ra: khi đó BVXL có phần cứng và tập lệnh hỗ trợ vào ra

Cụ thể sẽ có tín hiệu điều khiển vào/ ra riêng IOR, IOW

BVXL không có hỗ trợ vào/ra riêng biệt, khi đó không gian vào/ra sẽ phải sử dụng 1 phần không gian bộ nhớ làm không gian vào/ra, tín hiệu đọc thiết bị vào là MEMR và tín hiệu ghi thiết bị ra là MEMW

Trang 16

Câu 2: Trình bày chức năng, các thanh ghi bên trong và các chế độ lập trình của vi mạch vào/ra

song song 8255A? Trong máy tính PC, vi mạch 8255A nằm trên Mainboard có địa chỉ chọn chip là bao nhiêu, được lập trình ở chế độ nào? Chiều của các cổng được thiết lập như thế nào? Viết lại đoạn chương trình khởi tạo 8255A trong BIOS của máy tính?

TRẢ LỜI:

1 Vi mạch lập trình 8255 là vi mạch lập trình cho phép nối ghép vào/ra song song

Bên trong vi mạch có 4 thanh ghi có thể lập trình được là thanh ghi 8 bit tương ứng vớicổng A được gọi là thanh ghi PA Thanh ghi 8 bits tương ứng với cổng B được gọi là thanh ghi

PB và thanh ghi 8 bits tương ứng với cổng C được gọi là thanh ghi PC Một thanh ghi để xáclập chế độ làm việc của 8255 được gọi là thanh ghi điều khiển

Vi mạch vào/ra song song 8255A có 4 chế độ lập trình:

- Mode 0 <Chế độ vào/ra đơn giản>: cổng A, B, C chỉ là cổng vào hoặc cổng ra

- Mode 1 <Chế độ bắt tay>: cổng A, B – vào/ra đơn giản; cổng C – bắt tay (là quá trìnhtrao đổi thông tin giữa 2 thiết bị thông minh)

- Mode 2 < Chế độ vào ra 2 chiều>: cổng A – vào/ ra 2 chiều; cổng B – vào/ra đơn giản;cổng C – bắt tay

- Mode 3 < Lập xóa bít BRS>: lập xóa từng bít của cổng C

2 Vi mạch 8255A nằm trên Mainboard có địa chỉgiải mã 60h, làm việc ở chế độ 0:Thanh ghi cổng A - 60h là cổng vào: Đọc mã bàn phím

Thanh ghi cổng B – 61h là cổng ra: Điều khiển loa, cho phép kiểm tra chẵn lẻ RAM vàkênh I/O

Thanh ghi cổng C – 62h là cổng vào: Đọc cấu hình máy tính

3 Từ điều khiển máy tính IBM PC/XT

- Chế độ vào ra đơn giản: mode 0

Từ điều khiển: 1001 1001= 99H

Đoạn chương trình khởi tạo 8255 của BIOS IBM PC/XT:

MOV AL,99H ;Từ điều khiển

OUT 63H,AL ;ghi vào thanh ghi điều khiển

Câu 3: Trình bày chức năng, các thanh ghi bên trong và các chế độ làm việc của vi mạch định

thời 8253? Trong máy tính PC, vi mạch 8253 có địa chỉ bao nhiêu? Các bộ đếm của 8253 đượckhởi tạo ở những chế độ nào? Viết lại đoạn mã chương trình khởi tạo cho 3 bộ đếm của 8253?

Ngày đăng: 16/02/2022, 20:18

TỪ KHÓA LIÊN QUAN

w