BÀI GIẢNG VỀ PHẦN MỀM CỦA HỆ THỐNG MÁY TÍNH - Pdf 20

bi giảng về phần mềm hệ thống của máy tính 1- Tài liệu tham khảo Perter Norton. Nguyễn Khải

2 - Technicad reference.
3 - Các mạch vi xử lý. Chơng 1
giải phẫu pc
Máy gồm : Mạch vi xử lý (Microprocessor , MP)
Bộ nhớ (Memory).
Mạch tạo xung nhịp (Impulse Generator)
Mạch điều khiển ngoại vi (Periferal Control) nằm ở bảng mạch hệ
thống (Main Board)

1 - Mạch xử lý trung tâm CPU (Central Processing Unit) :
Mạch xử lí trung tâm là mạch điều khiển chính các hoạt động vào ra thông tin của máy tính.
Các mạch vi xử lý 16 bit của Intel (Mỹ)

8086 8088 80286
Năm sản xuất 6/1978 1979 2/1992
Tần số nhịp đồng hồ (MHz) 10 10 20
Tốc độ xử lý (Triệu lệnh/s, MiPS) 0,33 0,33 1,2
Số Transistor 29.000 20.000 134.000
Bus dữ liệu (Data Bus) (Bits) 16 8 16
Bus địa chỉ (Address Bus) (Bits) 20 20 24

MP-80286 thế hệ 4 đóng trong vỏ vuông 68 chân, dùng loại thanh ghi 16 bít, tần số hoạt động là
10Mhz, có khả năng địa chỉ hoá khoảng 16Mbyte. Mạch vi xử lí MP-80286 gồm 4 đơn vị sau :
- Đơn vị điều khiển Bus (BU) sinh ra các tín hiệu địa chỉ, tín hiệu số liệu, tín hiệu điều khiển.
Các tín hiệu này sẽ thâm nhập vào bộ nhớ và các cổng vào ra. Trong đơn vị này có một bộ nhớ đệm
6byte cho phép nhận lệnh song song trong các quá trình khác nhau.
- Đơn vị lệnh (IU) nhận lệnh từ bộ nhớ đệm để đa vào bộ giải mã lệnh, tín hiệu giải mã của lệnh
đợc đa tới bộ nhớ tạm (hàng đợi lệnh) để chờ đa vào đơn vị thực hiện .
- Đơn vị thực hiện (EU) gồm có 15 thanh ghi (Register) loại 16 bit, bộ điều khiển, bộ xử lí số
học và logic ALU (Arithmetical Logical Unit). Đơn vị này thực hiện lệnh theo mã máy và gửi kết quả ra
bộ nhớ hoặc cổng (port) thông qua BUS
- Đơn vị địa chỉ (AU) có chức năng quản lí, bảo vệ bộ nhớ và chuyển địa chỉ logic thành địa chỉ
vật lí.
P80386 hoặc P80486 là mạch vi xử lí thế hệ 5 đóng trong vỏ vuông 132 chân, dùng loại thanh
ghi 32 bít dữ liệu, tần số hoạt động trên 20 Mhz, có khả năng địa chỉ hoá tới 4 giga Byte. MP80386 dùng
Bus dữ liệu 32 bit và Bus địa chỉ 32 bit .
MP-80386 gồm 6 đơn vị sau :
-Đơn vị BUS
-Đơn vị nhận lệnh (Prefetch Unit)
-Đơn vị giải mã lệnh (Decode Unit)
-Đơn vị thực hiện lệnh (Execution Unit)
-Đơn vị quản lí bộ nhớ theo đoạn (Segment Unit)
-Đơn vị quản lí bộ nhớ theo trang (Page Unit)

Execution Unit Segment Unit Page Unit Decode Unit

Bộ chuyển hoá
trang
Bộ giải mã lệnh

hàng đợi lệnh đã
giải mã
Hàng đợi lệnh

Bộ nhận lệnh Bộ ghép nối
BUS
2- Các thanh ghi (Register) :

* MP-8088 có 14 thanh ghi
+ 4 thanh ghi đa năng
Thanh ghi AX (tổng) loại 16 bít phân thành hai nửa gọi là thanh ghi AH và AL
Thanh ghi BX (cơ sở) BH và BL
Thanh ghi CX (ô đếm) CH và CL
Thanh ghi DX (dữ liệu) DH và DL
4 thanh ghi này để lu các toán hạng và kết quả trung gian
+ 4 thanh ghi địa chỉ đoạn :
Thanh ghi CS (Code Segment) để ghi địa chỉ đoạn mã lệnh gồm 16 bít (bít 15-0)
Thanh ghi DS (Data Segment) để ghi địa chỉ đoạn dữ liệu
Thanh ghi SS (Stack Segment) để ghi địa chỉ đoạn ngăn xếp
Thanh ghi ES (Extra Segment) để ghi địa chỉ đoạn mở rộng
+ 4 thanh ghi offset (để ghi địa chỉ tơng đối - còn gọi là con trỏ ô trong một đoạn bộ nhớ )
Thanh ghi IP (Instruction Pointer- con trỏ lệnh) để chứa địa chỉ của ô của đoạn CS
Thanh ghi SP (Stack Pointer - con trỏ STACK) để chứa địa chỉ của ô trong đoạn SS

mô tả mảng không thâm nhập đợc nên gọi là phần kín. Khi thanh ghi chọn mảng đợc thâm nhập thì
thanh ghi mô tả mảng cũng đợc tự động nạp các thông số của mảng .
31 thanh mô tả đoạn 16 15 Thanh ghi chọn đoạn 0
CS code segment
DS Data Segment
ES Extra Segment
FS
GS Global Segment
SS Stack Segment

- Các thanh ghi offset (con trỏ ô nhớ tơng đối trong từng đoạn)
ESI SI
EDI DI
EBP BP
ESP SP
EIP IP

- 1 Thanh ghi cờ : EFLAGS sử dụng từ bit 0 đến bit 17

3

4
- 3 Thanh ghi điều khiển : CR0 (Control Register) chứa MSW từ bit 0-15, 6 bít điều khiển nằm
ở phần cao hơn. CR2 (Control Register 2) thanh ghi này chứa địa chỉ tuyến tính của trang bộ nhớ có lỗi.
Thanh ghi CR3 (Ctrol Register 3) để ghi địa chỉ cơ sở của bảng danh mục trang bộ nhớ. Thanh ghi CR1
để dùng cho tơng lai của Intel.
- 4 Thanh ghi hệ thống :
GDTR (Global Descriptor Table Register)
IDTR (Interrupt Descriptor Table Register)
TR (Task Register)


Ngắt là tín hiệu gửi tới CPU để yêu cầu thực hiện một chức năng xử lí nào đó. 8259 chặn tín hiệu
đó lại, xác định mức độ u tiên, phát lệnh ngắt tới CPU. Khi CPU nhận đơc tín hiệu ngắt nó sẽ gọi
một chơng trình tơng ứng trong ROM-BIOS (Gọi là Service của ROM-BIOS). Hoặc một chơng trình
xử lí ngắt của DOS (Gọi là một Function của DOS). Mạch 8259 có thể xử lý 8 tín hiệu ngắt đồng thời.
Ta có thể lập trình để quản lí các ngắt .
4 - Bộ điều khiển DMA
(Direct Memory Acess) 8237a
Để tránh bận CPU .một số phần của máy có thể chuyển dữ liệu đi hoặc tới bộ nhớ một
cách trực tiếp không qua CPU. Bộ phận chuyển giao xử lý vào ra trực tiếp này là bộ DMA 8237a.
DMA có 4 kênh riêng biệt để mang dữ liệu đến từ bộ nhớ và 344 bít bộ nhớ trong để chứa dữ liệu
cần chuyển. AT nối 2 bộ điều khiển DMA để sử dụng.
5 - Bộ tạo xung nhịp 82284a :

- Phát tần số cơ sở 14,3128 Mhz. Tần số làm việc = tần số cơ sở/ hằng số nào đó. Tần số làm việc
của 8088 là 4,77 MHz, của 80286 là 6 Mhz, 80386 là 40MHz, 80486 có tần số làm việc là 60MHz. BUS
trong và bộ thời gian 8235 dùng tần số 1,193MHz
6- Bộ ghép nối thiết bị ngoại vi lâp trình đợc 8255
8255 dùng để nối các thiết bị ngoại vi vào BUS
7- Bộ thời gian lập trình đợc 8253

8253 (trong AT dùng 8254a) là bộ thời gian và bộ đếm. Nhận tín hiệu từ 82284(A) và đợc chia
tần để dùng 1,190MHz. 8253 tạo âm thanh loa, đồng hồ.

5
8 - Bộ điều khiển CRT 6845
. Điều khiển lái tia màn hình
Gắn ở bảng bổ sung ADAPTER màn hình, có liên quan với thanh ghi trong CPU để điều khiển quét
mành CRT
9- Bộ điều khiển PD765

+ Địa chỉ của một từ đơn hay từ kép là địa chỉ của byte thấp nhất trong từ đó vì BUS địa chỉ
gồm 20 đờng nên địa chỉ của mỗi ô đợc đánh giá bằng 20 bít nhị phân = 5 số hệ 16 nên khoảng địa chỉ
hoá tối đa từ 00000FFFFF (từ 01048576 ở hệ 10). ở thế hệ vi mạch mới cáp địa chỉ lên đến 32
đờng nên khả năng địa chỉ hoá rất cao có thể lên tới vài trục MegaByte.
+ Bộ nhớ đợc phân vùng theo đoạn (segment) hoặc theo từng trang 4k (page)
Phân vùng bộ nhớ theo đoạn nh sau :
F0000 ROM thờng trực (ROM_BIOS, ROM basic, chơng trình chẩn đoán)
E0000 vùng ROM cartridge
D0000 vùngROM cartridge
C0000 vùng mở rộng BIOS(đĩa XT)
B0000 RAM màn hình thông thờng (PC,XT,AT)
B0000 địa chỉ đầu RAM màn hình đơn sắc(dùng 4K ở địa chỉ đầu)
B8000 địa chỉ RAM màn hình mầu đồ thị(dùng 16K ở địa chỉ đầu)
A0000 RAM màn hình mở rộng
90000 640K
80000 572K
70000 572K
60000 448K
50000 384K
40000 320K
30000 265K
20000 192K
10000
RAM 128K tối đa cho PCjr
00000 RAM 64K dành cho phần mềm hệ thống
+ MP-80386 có 3 loại địa chỉ : Địa chỉ Logic (ảo), địa chỉ tuyến tính, địa chỉ vật lí. Địa chỉ logic
gồm 2 phần đoạn: offset. Trong đó địa chỉ đoạn đợc chỉ ra trong các thanh ghi đoạn, địa chỉ offset đợc
chỉ ra trong các thanh ghi con trỏ (pointer). Địa chỉ offset gồm 3 phần: địa chỉ cơ sở, chỉ số và dịch
chuyển ( Base, Index, Displacement). Địa chỉ tuyến tính là địa chỉ đợc định theo ô nhớ đầu tiên của bộ
nhớ đuợc tính nh sau: lấy địa chỉ đoạn dịch sang trái 4 bít rồi cộng với offset. Địa chỉ vật lí là địa chỉ

- Sự truy nhập gián tiếp vào bộ nhớ đều thông qua khâu trung gian là CPU để xử lý
- Sự truy nhập trực tiếp vào bộ nhớ là quá trình thông tin đi từ nguồn phát thông tin thẳng đến bộ nhớ
thông qua khối DMA mà không cần đến CPU
Vào trực tiếp ( CPU ) Bộ nhớ
Vào gián tiếp ( DMA) Bộ nhớ
b- Cách định địa chỉ:
Địa chỉ bộ nhớ gồm 2 phần :
- Địa chỉ đoạn (địa chỉ đầu của mỗi đoạn 64K)
- Địa chỉ offset (địa chỉ tơng đối của ô nhớ trong mỗi đoạn )
- Địa chỉ đoạn gồm 16 bít
- Địa chỉ tơng đối (offset) cũng gồm 16 bít
Kết hợp 2 địa chỉ đoạn và offset tạo thành địa chỉ phân đoạn (gọi là một véc tơ ) vì BUS chỉ gồm 20 bít
nên địa chỉ phân đoạn cũng cần địa chỉ hoá 20 bít, bằng cách:
Dịch trái địa chỉ đoạn sang trái 4 bít + điạ chỉ offset 16 bít = địa chỉ phân đoạn 20 bít.
20 bít nhị phân địa chỉ phân đoạn đợc phân thành 5 nhóm, mỗi nhóm 4 bít để làm thành 5 số địa chỉ hệ
16
Thí dụ : Địa chỉ đoạn : 1011 1010 0110 0111
B A 6 7
Địa chỉ offset :1100 0100 0100 0110
C 4 4 6
Địa chỉ phân đoạn hệ 16 sẽ là BA670 + C446 = D3BB6
+ Để mô tả một địa chỉ phân đoạn ta có thể dùng cách mô tả gộp dới dạng tổng của phân dịch trái 4
bít của địa chỉ đoạn + địa chỉ offset (nh thí dụ trên là D3BB6 hoặc mô tả tách rời thành 2 phần cách
nhau có dạng : ĐIA CHI ĐOAN:offset
nh thí dụ trên ta viết là BA67:C446

6

7
d- Ngăn xếp (STACK)

Bộ thời gian (8253-5;8254.2 ở AT) 040-05F
PPI(8255A5-8255-5 ở PCjr)
Bàn phím (8012) 060-06F
Thanh ghi hay DMA (74LS612) 080-09F
Bộ điều khiển ngắt (8259A) 070-07F
Bộ tạo âm (SN76496N) oc-0c7 0A0-0BF
Bộ điều khiển DMA2 (8237A-5)
Xoá đặt lại bộ xử lý toán OCO-ODF
Xoá đặt lại bộ xử lý toán OFO-OF1
Joystik 200-207 200-20F
Bộ mở rộng 201-217
Máy in song song (thứ 2) 278-27F
Cổng nối tiếp (thứ 2) 2F8-2FF 3F8-3FF 3F8-3FR
Cổng nối tiếp (thứ hai) 2F8-2FF 2F8-2FF
Card mẫu 300-30F 300-34F
Đĩa cứng. 320-32F 1FO-1F8
Máy in song song (thứ nhất) 378-37F 378-37R
SDLC(thứ 2 chỉ trên AT) 380-38F 380-38R
Liên lạc bisynchronous(thứ nhất) 3AO-3AF
Bộ ghép nối màn hình đen trắng máy in 3BO-3BF 3BO-3BF
Bộ ghép nối màn hình đồ thị 3DO-3DF 300-3DF
Bộ điều khiển đĩa mềm OFO-OFF 3FO-3F7 2FO-3F7

g- CPU sử dụng ngắt nh thế nào.
+ Các thiết bị hoạt động theo một chơng trình nào đó đều hoạt động ở chế độ ngắt.
+ Quá trình nh sau:
Thiết bị cứng hay chơng trình gửi một tín hiệu gọi là ngắt tới bộ vi xử lý nhận đợc tín hiệu
ngắt nó sẽ dừng tất cả các công việc khác và kích hoạt chơng trình con nằm trong bộ nhớ gọi là
chơng trình xử lý ngắt (mỗi chơng trình xử lý ngắt tơng ứng 1 số hiệu ngắt cụ thể sau khi chơng
trình xử lý ngắt đã hoạt động máy tính sẽ tiếp tục thực hiện từ chỗ nó dừng.
Chơng 3
PHầN MềM ROM

ROM là bộ nhớ gồm nhiều chơng trình cài đặt sẵn chỉ đọc ra mà không thay đổi đợc. Phần
mềm của ROM gồm các chức năng sau :
4 thành phần của ROM.
A ROM khởi động.
B. ROM-BIOS
C. Tệp các chơng trình giữ máy, thực hiện hỗ trợ.
D. ROM-BASIC.
A- ROM khởi động:
Là phần mềm chứa các chơng trình khởi động máy gồm các việc sau :
- Kiểm tra độ tin cậy của cả hệ thống, khẳng định mọi công việc đều sẵn sàng kiểm tra điện nguồn,
kiểm tra bộ nhớ, kiểm tra ổ đĩa
- Chơng trình tạo bảng véc tơ ngắt ở vùng địa chỉ thấp của RAM.
- Chơng trình kiểm tra các thiết bị liên kết với máy tính và ghi các thông tin kiểm tra đợc vào vị trí
chuổn trong RAM ở vùng địa chỉ thấp
- Chơng trình kiểm tra xem có ROM mở rộng không nếu có thì chuyển điều khiển sang ROM mở
rộng để thực hiện tiếp các chơng trình con có trong ROM mở rộng.

8
- Và cuối cùng là chơng trình tải BOOT_STRAP gồm việc đọc bản ghi khởi động ở trên đĩa, nếu việc
đọc bản ghi khởi động thành công ( không có lỗi) thì chuyển điều khiển của máy sang cho chơng

9

=14
16
.
Vậy nếu dùng DEBUG với lệnh D 0000:0014 L4 ta thấy ở địa chỉ đó chứa 4 byte sau 54 FF 00
F0. Do sự sắp xếp từ ngợc nên Bốn bai này phải đợc hiểu nh sau: 2 bai đầu làm thành một từ hiểu
đúng là FF 54 đó là địa chỉ offset. 2 bai sau làm thành một từ đúng là F0 00 đó là địa chỉ đoạn. Vậy địa
chỉ F000:FF54 là địa chỉ của chơng trình xử lý ngắt số 5 ở trong ROM .
Chú ý sự xắp xếp từ ngợc : Từ đứng trớc 2 byte đầu chỉ địa chỉ offset 2 byte sau chỉ địa chỉ đoạn
* ROM-BIOS gồm tất cả 12 ngắt chia thành 5 nhóm ;
- Nhóm 1 gồm 6 ngắt phục vụ các ngoại vi
- Nhóm 2 gồm 2 ngắt phục vụ các thiết bị hệ thống.
- Nhóm 3 gồm 1 ngắt phục vụ điều khiển đồng hồ hệ thống (ngày tháng)
- Nhóm 4 gồm 1 ngắt phục vụ in trang màn hình.
- Nhóm 5 gồm 3 ngắt chuyển máy tính sang trạng thái khác.
* Cách gọi phục vụ của các ngắt nh sau:
- Trớc tiên nạp số hiệu phục vụ vào thanh ghi AH.
- Sau đó gọi véc tơ ngắt .

Thí dụ: Muốn gọi chơng trình phục vụ số 1 về màn hình trong ngắt 16
10
=10
16
ta làm nh sau :
- Nạp số 1 vào thanh ghi AH bằng lệnh hợp ngữ MOV AH,1
- Gọi véc tơ ngắt số 10h bằng lệnh hợp ngữ INT 10
I - Các Chơng trình xử lí ngắt của ROM-BIOS :
1 - Ngắt 00 : Ngắt tạo bởi CPU khi tràn ô khi thực hiện phép chia (DIV) cho 0
2 - Ngắt 01 : Đặt trạng thái chạy từng bớc (khi cờ TF=1)
3 - Ngắt 02 : Ngắt không chắn đợc (ngắt không bị cấm bởi lệnh xoá ngắt CLI)
4 - Ngắt 03 : Đặt và xử lí điểm dừng của chơng trình

9 Ghi ký tự thuộc tính 26 (Đọc ghi mã hiển thị tổ hợp)
10 Ghi 1 ký tự 27 Lấy thông tin trạng thái
11 Đặt bảng 4 mầu 28 Cất ghi lại trạng thái
12 Ghi 1 điểm (pixel)
13- Ngắt 17 (11h) : Gọi các dịch vụ liệt kê thiết bị
14- Ngắt 18 (12h) : Gọi các dịch vụ tính kích thớc bộ nhớ
15- Ngắt 19 (13h) : Goi các dịch vụ ổ đĩa của ROM-BIOS (đĩa mềm và đĩa cứng).
* Các chơng trình phục vụ đĩa mềm chuẩn của ROM-BIOS đều đợc gọi qua ngắt 19d (13Hex) có 6
service. Các service này đợc chọn qua thanh ghi AH nh sau:
- Nạp vào thanh ghi AH số hiệu của Service : MOV AH, số hiệu của service
- Gọi Ngắt 13h bằng lệnh Hợp ngữ : INT 13h

Số hiệu Service Chức năng
0 Khởi động hệ thống đĩa
1 Đọc trạng thái đĩa
2 Đọc sector
3 Ghi sector lên đĩa
4 Kiểm tra sector
5 Khởi tạo rãnh đĩa mềm

* Các sevice đĩa cứng.
6 Khởi tạo rãnh đĩa cứng PC/XT
7 Khởi tạo rãnh đĩa cứng PC/XT
8 Đọc tham số ở ổ đĩa hiện hành
9 Khởi tạo bảng tham số đĩa cứng
10 và 11 Đọc và ghi dài
12 Tìm đến xem lại
13 Khởi động đĩa cứng
16 Kiểm tra lại sự sẵn sàng của ổ đĩa cứng
17 Đặt chuẩn lại từng ổ đĩa cứng.

18- Ngắt 22 (16h) : Gọi các dịch vụ Quản lí I/O bàn phím :

Service Chức năng Service Chức năng
00 Đợi để đọc phím kế tiếp 05h Đặt 1 kí tự vào bộ đệm bàn phím
01 Kiểm tra kí tự gõ từ bàn phím vào
bộ đệm bàn phím cha
10h Đợi để đọc bàn phím mở rộng 101/ 102
phím
02 Đọc trạng thái phím Shift, Ctrl,
Alt, Scroll lock, NumLock,
CapsLock, Insert
11h Kiểm tra kí tự gõ từ bàn phím mở rộng
vào bộ đệm bàn phím cha
03 Đặt tốc độ gõ lặp, trễ của sự gõ
phím
12h Đọc trạng thái phím Shift,Ctrl,Alt, Scroll
lock, NumLock, CapsLock, Insert của
bàn phím mở rộng

19- Ngắt 23 (17h) : Gọi các dịch vụ Quản lí I/O máy in .

Service Chức năng
00 Gửi một byte ra máy in
01 Khởi động máy in, gửi 2 mã điều khiển 08h, 0Ch ra cổng máy in
02 Đọc trạng thái máy in

17- Ngắt 24 (18h) : Khởi động ROM-BASIC có sẵn trong máy
18 -Ngắt 25 (19h) : Gọi chơng trình khởi động máy. (tải BOOT-STRAP)
19- Ngắt 26 (18h) : Gọi các dịch vụ quản lí thời gian :
Service Chức năng


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status