Cấu trúc máy tính là một mảng kiến thức nghiên cứu về cách xử lý của một hệ thống máy tính dưới cách nhìn của một lập trình viên. Cách nhìn này thực tế cũng có nhiều khía cạnh
Trang 1Bµi 3
Tæ chøc bé nhí m¸y tÝnh IBM PC XT
Trang 21 Giíi thiÖu chung
Trang 31 Giíi thiÖu chung vÒ bé nhí m¸y tÝnh IBM PC XT
F E D C B A 9 8 7 6
5 PC DRAM (640 KB) 4
3 2 1 0
Bé nhí Video
ROM 256 KB FFFFF
Bé nhí trªn C0000
BFFFF A0000 9FFFF
Bé nhí qui íc
00000
Tæ chøc bé nhí m¸y tÝnh IBM PC XT
Trang 4 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
2 Tổ chức bộ nhớ qui ớc
Trang 6Bản đồ nhớ máy tính PC XT
FFFFF FE000 FDFFF F6000 F5FFF F4000 F3FFF CA000 C9FFF C8000 C7FFF C0000 BFFFF
A0000 9FFFF
00000
8K BIOS
32 K ch ơng trình dịch BASIC
8K ROM ng ời dùng 18K ROM mở rộng 8K ROM điều khiển đia 32K ROM mở rộng
128K Video RAM
640K DRAM
3 Tổ chức bộ nhớ trên
Trang 7Ví dụ 2:
Viết chữ A màu đỏ trên nền trắng tại dòng 5 cột 10
Trang 9Mµu
Ghi chó Bit
vµ mµu nÒn
Mµu ch÷
Bright White
Trang 10mov ah,01h
int 21h
int 20h
Trang 11Ví dụ 2: Khảo sát bộ nhớ máy tính tại
địa chỉ: FFFF:0
Trang 12Ví dụ 3:
Viết ch ơng trình khởi động nguội máy tính, biết rằng ch ơng trình khởi động nằm ở ROM tại địa chỉ: F000:E05BH
Giải:
mov word ptr [BX],0E05BH
mov word ptr [BX+2],0F000H
jmp dword ptr [BX]
Trang 13Phần bản đồ nhớ RAM IBM PC dành cho ngắt và dữ liệu BIOS
Địa chỉ Byte Chức năng 0000:0000 - 0000:03FF 1024 Bảng vectơ ngắt
0000:0410 - 0000:0411 2 Danh mục phần cứng đã cài đặt
0000:0412 - 0000:0412 1 Cờ khởi tạo
Trang 140000:041C - 0000:041D 2 Con trỏ bộ đệm bàn phím (cuối)
0000:041E - 0000:043D 32 Bộ đệm bàn phím
0000:043E - 0000:0448 11 Vùng dữ liệu đĩa
0000:0449 - 0000:0449 1 Chế độ video hiện thời
0000:044A - 0000:044B 2 Số cột màn hình
0000:044C - 0000:044D 2 Kích th ớc bộ đệm tái tạo (byte)
0000:044E - 0000:044F 2 offset bộ đệm tái tạo
0000:0450 - 0000:045F 16 Vị trí con trỏ, trang 1-8
0000:0460 - 0000:0460 1 Dòng kết thúc con trỏ
0000:0461 - 0000:0461 1 Dòng bắt đầu con trỏ
0000:0462 - 0000:0462 1 Số trang hiển thị hiện thời
0000:0463 - 0000:0464 2 Địa chỉ cơ sở đang hiển thị
0000:0465 - 0000:0465 1 Thanh ghi chế độ CRT của MDA hoặc CGA 0000:0466 - 0000:0466 1 Thanh ghi cho CGA
0000:0467 - 0000:046B 5 Vùng dữ liệu cassette
0000:046C - 0000:0470 5 Vùng dữ liệu của bộ định thời
Hình 7-3 Bản đồ bộ nhớ RAM (phần bảng vectơ ngắt và dữ liệu của BIOS)
Trang 15Bé nhí qui íc 0
Trang 16* Bộ nhớ phát triển: Là không gian nhớ trên 1Mb
80286 có 24 chân địa chỉ, cho phép truy
nhập 16 Mb bộ nhớ
80386 về sau có 32 chân địa chỉ cho phép truy nhập tối đa 4 Gb bộ nhớ
ở chế độ thực, tất cả các bộ vi xử lý có thể truy nhập tối đa 1 Mb
Để truy nhập bộ nhớ trên 1M, bộ vi xử lý phải chuyển sang chế độ bảo vệ và dùng hệ
điều hành phức tạp nh OS/2, UNIX hay
Windows NT
Trang 17Bộ nhớ mở rộng
Bộ nhớ mở rộng dùng phần cứng
(board nhớ mở rộng) và một thủ thuật lập trình để v ợt qua giới hạn 1MB bộ nhớ.
Trang 18 Chuẩn bộ nhớ mở rộng LIM (EMS 3.0) đề xuất sử dụng 64 KB bộ nhớ liền nhau tạo thành một cửa sổ ở vùng nhớ trên chiếu tới 8 Mb của bộ nhớ mở rộng
Không gian nhớ 64 KB liền nhau này đ
ợc chia thành 4 phần gọi là các khung
trang , mỗi khung trang truy nhập 16 KB
Địa chỉ 16 KB trang thứ nhất bắt đầu
từ biên của từng 16 KB, nh 0, 4000, 8000, C000
Trang 19 Do 64 K bộ nhớ phải liền nhau nên
nhiều board nhớ mở rộng sử dụng các
địa chỉ E0000-EFFFF cho 4 khung trang
của bộ nhớ mở rộng 64 K byte này đóng vai trò của cửa sổ chiếu vào một bộ nhớ lớn hơn
Bắt đầu từ EMS 4.0, với nhiều bổ sung của hãng AST cùng một số hãng khác,
bộ nhớ mở rộng cực đại đã tăng từ 8 M lên 32 M.
Trang 20 Tiêu chuẩn bộ nhớ mở rộng là ph ơng pháp nhằm v ợt qua giới hạn bộ nhớ 640
KB của DOS bằng các ch ơng trình tráo
đổi và bằng cách đ a d liệu vào ra bộ ữ
nhớ chính với tốc độ cao.
Trang 215 Bộ nhớ RAM CMOS
Bộ nhớ RAM CMOS không thuộc không gian
bộ nhớ 1 MB của máy tính IBM PC, mà thuộc
1 vùng nhớ riêng
Từ máy 286 trở về sau RAM CMOS nằm ở chip đồng hồ thời gian thực của Motorola MC146818 hoặc các chíp t ơng đ ơng
RAM CMOS l u thông tin về cấu hình máy tính, một số thông tin trạng tháI, kiểu đĩa, chế độ làm việc….
Trang 22 RAM CMOS máy tính IBM PC XT có dung l
ợng 64 Byte
Để truy nhập bộ nhớ RAM CMOS không thể dùng các lệnh truy cập bộ nhớ thông th ờng (nh lệnh MOV ) mà cần sử dụng lệnh truy cập dữ liệu qua cổng
ở các máy 286/386/486/Pentium RAM CMOS đ ợc gán địa chỉ cổng là 70H và 71H
RAM CMOS khi máy tắt đ ợc cấp nguồn bằng pin Lithium hoặc Nickel-cadmium
Trang 23B¶ng 7-4: Th«ng tin cña RAM CMOS
§ Þa chØ Néi dung
0A * Tr¹ng th¸i thanh ghi A
0B * Tr¹ng th¸i thanh ghi B
Trang 240C * Trạng thái thanh ghi C
0D * Trạng thái thanh ghi D
0E * Byte trạng thái chuẩn đoán
0F * Byte trạng thái dừng máy
10 Byte kiểu ổ đĩa - ổ A và B
12 Byte kiểu đĩa cứng - kiểu 1-14
14 Byte thiết bị
15 Byte bộ nhớ cơ sở phần thấp (kích th ớc bộ nhớ qui
ớc đ ợc đặt trong qúa tr ì nh thiết lập máy)
16 Byte bộ nhớ cơ sở phần cao (kích th ớc bộ nhớ qui
ớc đ ợc đặt trong qúa tr ì nh thiết lập máy)
Trang 2517 Byte bộ nhớ mở rộng phần thấp (kích th ớc bộ nhớ
phát triển đ ợc đặt trong qúa tr ì nh thiết lập máy)
18 Byte bộ nhớ mở rộng phần cao (kích th ớc bộ nhớ phát
triển đ ợc đặt trong qúa tr ì nh thiết lập máy)
19 Byte mở rộng của đĩa C
1A Byte mở rộng của đĩa D
1B-2D Dự trữ
2E-2F 2-byte kiểm tra tổng CMOS
30 * Byte bộ nhớ mở rộng phần thấp (đ ợc đặt trong quá
tr ì nh POST)
31 * Byte bộ nhớ mở rộng phần cao (đ ợc đặt trong quá
tr ì nh POST)
32 * Byte ngày của thế kỷ
33 * Các cờ thông báo (đ ợc đặt khi bật nguồn)
34-3F Dự trữ
Trang 26* Đọc nội dung của bộ nhớ RAM-CMOS
1 Gửi địa chỉ của byte cần đọc qua cổng 70H.
2 Đọc nội dung qua cổng địa chỉ 71H.
Trong Debug
O 70 ĐC
I 71
Trang 27* Ghi néi dung vµo bé nhí RAM-CMOS
1 Göi vÞ trÝ cña byte cÇn ghi qua cæng
Trang 30Xãa mËt khÈu:
O 70 2F
O 71 FF
Trang 316 Bộ nhớ RAM đi kèm (shadow RAM)
Thời gian CPU truy nhập ROM chậm
(vài trăm ns), đòi hỏi bổ sung 2 hoặc 3 trạng thái chờ.
Thời gian truy nhập DRAM nhanh hơn nhiều so với ROM (cỡ chục ns).
Các nhà thiết kế sử dụng ph ơng pháp
ánh xạ đặc biệt phần cứng và ph ơng
pháp chống ghi bảo vệ dữ liệu để
chuyển nội dung của ROM ở vùng nhớ
trên vào các ô nhớ của DRAM với cùng
địa chỉ nh ROM
Trang 32 Phần DRAM l u bản sao của ROM đ ợc bảo
vệ chống ghi này gọi là bộ nhớ RAM đi kèm
(Shadow Ram)
Khi có yêu cầu các dịch vụ của ROM, thì
CPU lấy thông tin từ bộ nhớ RAM đi kèm với tốc độ cao hơn nhiều so với lấy từ ROM
Sử dụng RAM đi kèm làm tăng hiệu quả
thực hiện có thể lên tới 40-50%
Trong một số máy, RAM đi kèm đ ợc cho d
ới dạng chip riêng mà không sử dụng đến DRAM của hệ thống