kien truc may tinh
KIẾN TRÚC CƠ BẢN MÁY VI TÍNH PC/AT
1) Đơn vị xử lý trung tâm CPU 80286
CPU 80286 là loại 16 bit (độ rộng dữ liệu hoặc mã lệnh là 16 bit)
** chức năng chính của CPU
+ quản lý bộ nhớ: CPU 80286 có bus địa chỉ 24 bit và quản lý được 16M ô nhớ vật lý.
+ Hiểu và xử lý được 1 tập hợp hữu hạn các lệnh.
- chuyển dữ liệu giữa CPU và bộ nhớ
- số học và logic
- xử lý bit
- rẽ nhánh
- vào/ra dữ liệu qua các cổng
- các lệnh khác
+ Thực hiện chương trình theo cơ chế nhập tuần tự từng lệnh từ bộ nhớ và xử lý.
+ Điều khiển hoạt động trao đổi dữ liệu giữa CPU và bộ nhớ,giữa các thiết bị vào ra và các thiết bị khác
** CPU 80286 có 2 chế độ làm việc
+ Chế độ thực: là chế độ hoạt động giống CPU 8086.Khi bật nguồn điện thì CPU được đặt dưới chế độ thực.Trong chế độ này thì CPU quản lý bộ nhớ từ 1M đến 16M
+ Chế độ bảo vệ: cung cấp cơ chế bảo vệ bộ nhớ và công cụ quản lý bộ nhớ ảo.Trong chế độ này CPU quản lý được đến 1G. Các CPU từ 80286 trở đi đều có khả năng làm việc ở chế độ này
2) Bộ đồng xử lý
Trợ giúp CPU xử lý các phép toán số học có giá trị là dấu chấm động,phép toán logarit,lượng giác với tốc độ nhanh và chính xác cao
3) Bộ nhớ chính
Bộ nhớ chính được hiểu là bộ nhớ có tốc độ truy cập cao (bộ nhớ bán dẫn).Địa chỉ của các ô nhớ được bắt đầu từ 0 và tăng dần.Bộ nhớ chính chứa mã lệnh và dữ liệu của chương trình đang chạy hiện thời.Bộ nhớ chính gồm ROM và RAM
+ ROM
ROM là bộ nhớ chỉ đọc,dữ liệu trong ROM được duy tri ngay cả khi không có nguồn điện.ROM chứa các phần mền cơ bản sau
- Các chương trình kiểm tra hệ thống (quá trình POST): kiểm tra CPU , kiểm tra RAM, kiểm tra các thiết bị điều khiển và giao diện,kiểm tra các thiết bị ngoại vi như bàn phím ,ổ đĩa...
- Chương trình xác lập cấu hình hệ thống.
- Chương trình quét ROM mở rộng.
- Chương trình đọc cung khởi động ( mặt 0,rãnh 0, cung vật lý 1) của ổ đĩa khởi động mặc định Nội dung của cung này được nạp vào RAM và RAM chạy chương trình khỏi động hệ điều hành tại đây
ROM còn chứa các chương trình điều khiển các thiết bị vào ra cơ bản (BIOS-Basic Input/Output System) BIOS là cầu nối giũa phần cứng và phần mền trong hệ thống máy tính, các chương trình điều khiển này luôn gắn với cấu hình phần cứng của máy tính.Thông qua các chương trình này thì hệ điều hành có thể giao diện được với phần cứng của từng máy
+ RAM
RAM là bộ nhớ thao tác.Bô nhớ có chức năng chứa các phần mền của hệ điều hành, phần mền hoặc dữ liệu của 1 hoặc nhiều chương trình đang hoạt động (chương trình ứng dụng)
4) CMOS
Thiết bị CMOS gồm 2 bộ phận chính:đồng hồ thời gian thực và RAM-CMOS.Các thiết bị này được nuôi bằng nguồn điện độc lập
- Đồng hồ thời gian thực : cung cấp thông tin về thời gian thực:ngày/tháng/năm, giờ/phút/giây.Thông tin này được chứa vào 10byte đầu tiên của RAM-CMOS
- RAM-CMOS : phần còn lại của RAM-CMOS chứa thông tin về cấu hình hệ thống (kích thước của RAM, thông tin về ổ đĩa...)
5) Bộ định thời TIME 8254
6) Bộ điều khiển ngắt PIC 8259
PIC 8259 là 1 thiết bị khả trình. PIC 8259 hỗ trợ CPU thực hiện cơ chế ngắt cứng, cho phép CPU phản ứng tức thời với các yêu cầu của thiết bị vào ra dữ liệu và các thiết bị khác
7) Bộ điều khiển truy cập trực tiếp bộ nhớ DMAC 8237
DMAC 8237 là 1 thiết bị khả trình.DMAC 8237 điều khiển trực tiếp quá trình vào ra dữ liệu giũa bộ nhớ và thiết bị ngoại vi gọi tắt là quá trình DMA
8) Thiết bị giao diện bàn phím KC 8042
KC 8042 là 1 thiết bị khả trình. KC 8042 thực hiện chứa năng giao diện giữa bàn phím và CPU
9) thiết bị giao diện màn hình CRTC
CRTC là 1 thiết bị khả trình .CRTC thực hiện chứa năng giao diện giữa màn hình và CPU
10) thiết bị giao diện nối tiếp UART 8250
11) Thiết bị giao diện song song PPI
12) thiết bị giao diện đĩa mền FDC
13) thiết bị giao diện đĩa cứng HDC
Câu 7 : chức năng các thanh ghi của CPU dòng PC/AT
Các thanh ghi là đơn vị lưu trữ dữ liệu nằm trong CPU.Chúng được dùng để chứa các toán hạng của lệnh
1) Các thanh ghi đa năng AX,BX,CX,DX.
Là các thanh ghi đa năng 16 bit được dùng để chứa các toán hạng hoặc kết quả phép tính.Các thanh ghi BX,CX,DX còn có các chức năng mặc định riêng.
Có thể truy cập từng thanh ghi này như các thanh ghi 16 bit hoặc truy cập các thanh ghi 8 bit AH,AL,BH,BL,CH,CL,DH,DL.
a) Thanh ghi AX
Là thanh ghi đa năng 16 bit, được dùng để chứa toán hạng hoặc kết quả phép tính khi gọi các hàm chức năng của hệ điều hành qua lệnh INT thanh ghi AX hoặc AH được dùng để chứa các con số xác định một chức năng cụ thể cần thực hiện của hàm này
b) Thanh ghi BX
Là thanh ghi đa năng 16 bit.Được dùng để chứa toán hạng hoặc kết quả phép tinh. Khi thực hiện lệnh truy cập đoạn dữ liệu, BX được dùng để xác định địa chỉ offset hoặc địa chỉ offset nền của ô nhớ trong đoạn.
c) Thanh ghi CX
Là thanh ghi đa năng 16 bit dùng để chứa toán hạng hoặc kết quả phép tính.Khi thực hiện lệnh LOOP hoặc REP thì CX đóng vai trò như 1 bộ đếm (chứa số đếm) xác định số lần thực hiện lặp.
d) Thanh ghi DX
Là thanh ghi 16 bit được dùng để chứa toán hạng hoặc kết quả phép tính. DX còn dùng để chứa 2 byte cao của kết quả phép nhân hoặc phần dư của kết quả phép chia
2) Các thanh ghi địa chỉ BP,SI,DI,SP.
Là các thanh ghi 16 bit
a) BP : được dùng để xác định địa chỉ offset hoặc địa chỉ offset nền của ô nhớ khi truy cập đoạn dữ liệu. BP được dùng để xác định địa chỉ offset hoặc địa chỉ offset nền khi truy cập đoạn ngăn xếp
b) SI: dùng để chứa địa chỉ offset hoặc 1 phần địa chỉ offset khi truy cập đoạn dữ liệu.Khi thực hiện các thao tác xâu,SI được dùng để chứa địa chỉ offset của xâu ký tự ( xâu nguồn)
c) DI : dùng để chứa địa chỉ offset hoặc 1 phần địa chỉ offset khi truy cập đoạn dữ liệu.DI được dùng để chứa địa chỉ offset của xâu kí tự trong đoạn mở rộng khi thực hiện các thao tác xâu (xâu đích)
d) SP : con trỏ ngăn xếp SP chứa địa chỉ offset của ô nhớ trong đoạn ngăn xếp.SP luôn lên trỏ đến đỉnh ngăn xếp
3) Các thanh ghi điều khiển và trang thái
a) Con trỏ lệnh IP: là thanh ghi 16 bit. IP chứa địa chỉ offset của ô nhớ trong đoạn mã lệnh.Khi nhập lệnh thì IP tự động tăng dần.Khi CPU nhập xong 1 lệnh thì IP tự động trỏ tới ô nhớ chứa lệnh tiếp theo trong đoạn mã lệnh.
Nội dung cuả IP thay đổi bất thường khi CPU thực hiện lệnh nhảy
b) Thanh ghi cờ FLAGS
Thanh ghi cờ FLAGS chứa các bit thông tin phản ánh kết quả phép tính
Một số bít cờ như IF,TF,IOPL ảnh hưởng đến hoạt động của CPU ,một số bít cờ khác
- CF: cờ nhớ
- PF : cờ kiểm tra chẵn lẻ.
- AF: cờ nhớ phụ, cờ AF được dùng trong các phép tính số học với các số BCD
- ZF: cờ zero, nếu kết quả phép tính =0 thì ZF=1.
- SF: cờ dấu.nếu kết quả âm thì SF=1
- TF : cờ bẫy
- IF: cờ ngắt
- DF :cờ hướng
- OF :cờ tràn.Được dùng trong phép tính số học có dấu chấm động
c) Thanh ghi trạng thái máy (MSW)
- PE: cho phép chế độ bảo vệ
Nếu PE=1: cho phép CPU làm việc ở chế độ bảo vệ
Khi khởi động phép tính thì PE=0;
- MP: dùng để đồng hóa hoạt động của CPU và bộ đồng xử lý
- EM : Nếu EM=0 cho phép thực hiện các mã lệnh dấu phẩy động trên bộ đồng xử lý
- TS :dùng ở chế độ đa nhiệm.
Câu 9) phương pháp quản lý bộ nhớ trong chế độ bảo vệ
a) Các mức đặc quyền và luật về quyền truy cập
Trong chế độ bảo vệ thì mỗi đoạn nhớ được gắn với 1 mức đặc quyền và được bảo vệ nhờ cơ chế quyền truy cập.
Các mức đặc quyền được thiết kế nhằm hỗ trợ hệ điều hành đa nhiệm nhằm:
-Cách ly,bảo vệ hệ điều hành khỏi các truy cập trái phép của các chương trình ứng dụng.
-Cách ly, bảo vệ các chương trình ứng dụng này khỏi sự truy cập của các chương trình ứng dụng khác
Dựa vào mức đặc quyền và quyền truy cập mà CPU quyết định có cho phép truy cập vào đoạn nhớ yêu cầu hay ko
Mức đặc quyền (kí hiệu PL) gồm 4 cấp.
- Đặc quyền mức PL=0, mức đặc quyền cao nhất .Mức đặc quyền PL=0 được gán cho các chương trình quản lý thiết bị và quản lý bộ nhớ.
- Đặc quyền mức PL=1, được cấp cho chương trình hoán đổi dữ liệu giữa bộ nhớ trong và bộ nhớ ngoài,điều khiển vào ra dữ liệu.
- Đặc quyền PL=2 được cấp cho chương trình quản lý tiệp,quản lý thư mục.
- Đặc quyền PL=3 mức đặc quyền thấp nhất được cấp cho chương trình ứng dụng.
Luật truy cập: xác định quy tắc truy cập đoạn nhớ
- Luật 1: dữ liệu được lưu trữ trong đoạn nhớ có mức đặc quyền PL=P, có thể bị truy cập bởi đoạn mã lệnh có mức đặc quyền cao hơn P.
- Luật 2: đoạn mã lệnh có mức đặc quyền PL=P có thể bị gọi hoặc truy cập bởi đoạn mã lệnh có mức đặc quyền bằng hoặc thấp hơn.Nhưng mã lệnh có mức đặc quyền thấp hơn phải thông qua cổng gọi.
b) Cấu trúc bộ chọn và bộ mô tả đoạn.
Các đoạn nhớ trong chế độ bảo vệ được quản lý theo 3 thông số.
+ địa chỉ nền
+giới hạn đoạn ( kích thước đoạn)
+ quyền truy cập
Do thông tin về đoạn khá lớn nên không thể chứa trong thanh ghi đoạn mà được chứa trong các bộ mô tả đoạn. các bộ mô tả nằm trong bảng bộ mô tả .có 3 bảng bộ mô tả .tất cả các bảng bộ mô tả đều nằm trong bộ nhớ chính
a) Bộ chọn đoạn 16 bit
Trong chế độ bảo vệ thì các thanh ghi CS,DS,ES,SS không được dùng để xác định địa chỉ nền đoạn như trong chế độ thực mà được dùng để chọn bộ mô tả đoạn trong bảng bộ mô tả thưc hiện chứa năng bộ chọn đoạn.
- Bộ chọn đoạn : được dùng để xác định vị trí của bộ mô tả đoạn trong bảng bộ mô tả .
Bộ chọn đoạn có 3 phần
+ phần index: 13 bit dùng để xác định vị trí của bộ mô tả đoạn .Tính từ nền của bảng bộ mô tả.
+ TI : xác định loại bảng bộ mô tả cần truy cập
TI=1 :truy cập bảng LDT
TI=0 :truy cập bảng GDT
+ RPL : mức đặc quyền yêu cầu.Mức đặc quyền RPL được sinh ra bởi người nạp bộ chọn đoạn..
b) Bộ mô tả đoạn
Bộ mô tả đoạn chứa các thông tin quản lý 1 đoạn: địa chỉ nền đoạn,kích thước(giới hạn ) đoạn,quyền truy cập đoạn
Bộ mô tả đoạn được hệ điều hành, trình biên dịch tạo ra
Bộ mô tả đoạn gồm 8 byte
-dự phòng cho hệ 32 bit : 2 byte.
- quyền truy cập : 1 byte
-địa chỉ nền đoạn A23-A0: 3byte;
-giới hạn đoạn L15-L0: 2byte,
+ Địa chỉ nền đoạn (24 bit : A23-A0) xác định địa chỉ nền của đoạn.Ở hệ 16 bit thì địa chỉ này cũng là địa chỉ vật lý của đoạn
+ Giới hạn đoạn( 16bit : L15-L10) xác định kích thước của đoạn
+ Quyền truy cập (8 bit) xác định mức đặc quyền và các đặc tính khác của đoạn
D7 D6 D5 D4 D3 D0
P DPL DT Kiểu bộ mô tả
P: Nếu P=1 đoạn đang tồn tại trong bộ nhớ.
Nếu P=0 CPU sẽ tạo ra ngoại lệ " không tồn tại đoạn" khi có yêu cầu chọn đoạn này.
DPL: xác định mức đặc quyền của bộ mô tả (mức đặc quyền của đoạn).
DT: xác định loại bộ mô tả.
DT=1: bộ mô tả đoạn mã lệnh hoặc đoạn dữ liệu
DT=0: bộ mô tả đoạn hệ thống hoặc cổng giao dịch
+ Kiểu bộ mô tả: phụ thuộc vào loại bộ mô tả. Có các loại bộ mô tả sau: bộ mô tả đoạn dữ liệu,bộ mô tả đoạn mã lệnh,bộ mô tả đoạn hệ thống.Bộ mô tả đoạn hệ thống (DT=0) gồm có 2 loại : bộ mô tả LDT và bộ mô tả TSS. Bộ mô tả cổng giao dịch (DT=0) được dùng để truy nhập vào các đoạn mã lệnh.
-Cấu trúc của byte quyền truy cập trong bộ mô tả đoạn dữ liệu
7 6 5 4 3 2 1 0
P DPL 1 0 ED W/R A
- ED: xác định hướng truy cập đoạn.( hướng địa chỉ)
ED=1 hướng địa chỉ giảm, đoạn dữ liệu là loại ngăn xếp.
ED=0 hướng địa chỉ tăng
- W/R : xác định quyền ghi / đọc
W/R=1 cho ghi/ đọc đoạn dữ liệu
W/R=0 cấm ghi / đọc đoạn dữ liệu
- A( accessed): A=1 đoạn đã bị truy cập
-Cấu trúc byte quyền truy cập trong bộ mô tả đoạn mã lệnh
7 6 5 4 3 2 1 0
P DPL 1 1 C R A
C=0 : chương trình con thực hiện với mức đặc quyền PL=DPL
C=1: chương trình sẽ thực hiện với mức đặc quyền = mức đặc quyền của đoạn chứa chương trình gọi chương trình con đó
R (Read)
R=0: đoạn mã lệnh được thực hiện
R=1: đoạn mã lệnh được thực hiện và đọc được
A (accessed)
A=1 đoạn mã lệnh đã bị truy cập
Cấu trúc byte quyền truy cập của bộ mô tả đoạn hệ thống
Bộ mô tả hệ thống (bộ mô tả TSS và LDT) quy chiếu đến các đoạn chứa thông tin hệ thống
7 6 5 4 3 2 1 0
P DPL 0 0 0 Kiểuđoạn
Kiểu đoạn
Kiểu =1: Bộ mô tả quy chiếu đến đoạn trạng thái nhiệm vụ TSS .Nhiệm vụ này ở trạng thái không thực hiện
Kiểu =2: bộ mô tả quy chiếu đến đoạn chứa bảng LDT
Kiểu=3: bộ mô tả quy chiếu đến đoạn trạng thái nhiệm vụ TSS. Nhiệm vụ này đang thực hiện
+ 2 byte dự phòng cho hệ 32 bit có dạng
Địa chỉ nền A31-A24
Đặc tính đoạn Giới hạn đoạn L19-L16
II) Cơ chế quản lý bộ nhớ và xác định địa chỉ nhờ bảng bộ mô tả toàn cục GDT
+ Bảng bộ mô tả toàn cục GDT quản lý các đoạn (các vùng nhớ) chứa các chương trình của hệ điều hành,và dữ liệu của hệ thống (các vùng nhớ chứa thông tin có tính chất toàn cục,thuộc không gian nhớ toàn cục).Các chương trình ứng dụng có thể truy cập vào vùng nhớ này
Bảng GDT được hệ điều hành tạo ra khi khởi động hệ thống.CPU quản lý bảng GDT qua thanh ghi GDTR.Thanh ghi GDTR chứa 2 thông tin về bảng GDT là địa chỉ nền bảng và kích thước (giới hạn ) của bảng
Khi có yêu cầu truy cập đoạn,người yêu câu cung cấp bộ chọn đoạn, CPU thực hiện thao tác kiểm tra quyền truy cập đoạn trước khi cho truy cập
Đối với việc truy cập đoạn dữ liệu quá trình kiểm tra được tiến hành theo quy tắc
EPL=max( CPL,RPL)<=DPL
+ CPL: là mức đặc quyền của nhiệm vụ đang thực hiện
+RPL : là mức đặc quyền của bộ chọn đoạn.Mức đặc quyền RPL được sinh ra bởi người nạp bộ chọn đoạn
+EPL: là mức đặc quyền hiệu dụng
+DPL: là mức đặc quyền của đoạn bị truy cập
Nếu điều kiện trên không thõa mãn thì CPU không cho truy cập đoạn.Nếu điều kiện thõa mãn thì CPU cho truy cập đoạn.Việc truy cập từng ô nhớ trong đoạn được thực hiện thông qua địa chỉ nền đoạn (có trong bộ mô tả đoạn)và địa chỉ offset của ô nhớ đó
Đối với việc truy cập đoạn mã lệnh quá trình kiểm tra được tiến hành theo quy tắc
EPL=max( CPL,RPL)=>DPL
Trong đó việc truy cập đoạn mã lệnh có mức đặc quyền cao hơn (EPL>DPL) phải thông qua cổng gọi
III) Cơ chế quản lý và xác định địa chỉ nhờ bảng bộ mô tả cục bộ LDT
Bảng bộ mô tả cục bộ LDT : Mỗi 1 bảng LDT quản lý 1 vùng nhớ thuộc 1 nhiệm vụ (các vùng nhớ chứa thông tin có tính chất cục bộ, thuộc không gian nhớ cục bộ). Mã lệnh và dữ liệu của nhiệm vụ đang chạy sẽ được bảo vệ trước sự truy cập trái phép của nhiệm vụ khác. các bảng LDT thuộc không gian nhớ toàn cục.
Bảng LDT được hệ điều hành tao ra khi nạp 1 chương trình ứng dụng vào bộ nhớ hoặc khi thực thi 1 nhiệm vụ.Mỗi bảng LDT quản lý các đoạn của 1 chương trình ứng dụng ( 1 nhiệm vụ ).
Việc quản lý các đoạn (các vùng nhớ) thuộc 1 chương trình ứng dụng được tổ chức như sau:
Mỗi đoạn nhớ được quản lý bởi 1 bộ mô tả đoạn. Các bộ mô tả của 1 nhiệm vụ thì được chứa vào 1 bảng LDT riêng biệt.Mỗi bảng LDT được quản lý bởi 1 bộ mô tả LDT. Bộ mô tả LDT chứa địa chỉ nền bảng LDT, kích thước bảng, quyền truy cập bảng ( quyền truy cập nhiệm vụ).
Các bộ mô tả LDT của 1 nhiêm vụ được chứa trong bảng GDT.Bảng GDT lại được quản lý bởi thanh ghi hệ thống GDTR .
Khi 1 nhiệm vụ được thực hiện thì hệ điều hành sẽ nạp bộ chọn đoạn LDT vào thanh ghi hệ thống LDTR .Thanh ghi LDTR trỏ đến bộ mô tả LDT trong bảng GDT .CPU thông qua bảng LDT quản lý các đoạn của nhiệm vụ đó và bắt đầu thực hiện nhiệm vụ này.Để truy cập các đoạn trong nhiệm vụ người yêu cầu cần nạp bộ chọn đoạn.CPU thực hiện thao tác kiểm tra quyền truy cập đoạn.Nếu đủ điều kiện thì CPU cho truy cập còn không thì CPU không cho truy cập.Việc truy cập từng ô nhớ trong đoạn được thực hiện qua địa chỉ nền đoạn (lấy từ bộ mô tả đoạn) và địa chi offset của ô nhớ đó
Câu 10: cơ chế chuyển điều khiển và gọi chương trình con trong chế độ bảo vệ.
Việc chuyển điều khiển xảy ra khi thực hiện các lệnh nhảy(JMP) hoặc lệnh gọi chương trình con (lệnh CALL)
Trường hợp thục hiện lệnh nhảy hoặc lênh gọi trong cùng 1 đoạn mã lệnh của nhiệm vụ đang chạy (lệnh nhảy gần,lệnh gọi gần) diễn ra:
- Khi thực hiện lệnh nhảy gần (NEAR JUMP) con trỏ lệnh IP được nạy giá trị mới
Chương trình được tiếp tục với vị trí mới do IP trỏ tới
- Khi thực hiện lệnh gọi gần (NEAR CALL) CPU thực hiện các thao tác sau
+ cất giá trị hiện thời của IP vào ngăn xếp .
+ nạp địa chỉ offset của chương trình con được gọi vào IP.
+ thực hiện chương trình con.
Trường hợp chuyển điều khiển đến những đoạn mã lệnh khác khi thực hiện lệnh gọi xa (FAR CALL) có 2 tình huống:
- Đoạn mã lệnh đích có mức đặc quyền thấp hơn mức đặc quyền của đoạn mã lệnh nguồn hiện tại.Khi đó CPU sẽ xử lý như sau:
+ cất giá trị hiện thời của CS,IP vào ngăn xếp.
+ Nạp bộ chọn đoạn mã lệnh chứa chương trình con (đích) vào CS
+Nạp địa chỉ offset của chương trình con (đích) vào IP
+ Thực hiện chương trình con
Lệnh RET cho phép rời khỏi chương trình con và trở về chương trình gọi nó.Lệnh này khôi phục lại nội dung của CS,IP và tiếp tục thực hiện chương trình đã gọi chương trình con.
- Đoạn mã lệnh con (đích) có mức đặc quyền cao hơn mức đặc quyền của đoạn mã lệnh nguồn hiện tại.Việc gọi chương trình con phải thông qua cổng gọi (luật về quyền truy cập).Bộ chọn đoạn ko trỏ đến bộ mô tả đoạn mã lệnh chứa chương trình con (đích) nữa mà trỏ tới cổng gọi.Cổng gọi trỏ đến bộ mô tả mã lệnh chứa chương trình con(đich),cổng gọi cũng chứa địa chỉ offset bắt đầu chương trình con.qua đó gọi được chương trình con.CPU thực hiện quá trình.
+ Tạm lưu giữ nội dung CS,IP,SS,SP hiện thời
+ Nạp cổng gọi và kiểm tra quyền truy cập
+ Cất giữ giá trị tạm lưu của SS,SP nguồn vào ngăn xếp đích.
+ Chuyển các tham số từ ngăn xếp nguồn sang ngăn xếp đích
+ Cất giữ giá trị tạm lưu của IP,CS nguồn vào ngăn xếp đích.
+Nạp bộ chọn bộ mô tả đoạn mã lệnh đích và địa chỉ offset (lấy từ cổng gọi) qua đó nạp bộ mô tả đoạn mã lệnh đích
+ thực hiện chương trình con
Lệnh RET cho phép rời khỏi chương trình con và trở về chương trình gọi nó.Lệnh này khôi phục lại nội dung của CS,IP,SS,SP và tiếp tục thực hiện chương trình đã gọi chương trình con.
Câu 11: Cơ chế hoạt động đa nhiệm.
Mỗi 1 chương trình có 1 thanh ghi ( TSS) ghi lại toàn bộ trạng thái của chương trình đó.Mỗi đoạn TSS được quản lý bởi 1 bộ mô tả TSS nằm trong bảng GDT.Thao tác chuyển nhiệm vụ thưc hiện lưu vào bảo vệ toàn bộ trạng thái hoạt động của chương trình đang thực hiện (bao gồm toàn bộ các thanh ghi của CPU và các địa chỉ có liên quan và bộ chọn LDT ) của chương trình đang chạy vào đoạn TSS . Sau đó nạp trạng thái nhiệm vụ tiếp theo từ TSS tương ứng vào CPU .Kiểm tra quyền truy cập và thực hiện chương trinh mới
Thanh ghi nhiệm vụ TR trỏ tới bộ mô tả TSS quản lý nhiệm vụ hiện thời.
- Thao tác chuyển nhiệm vụ thực hiện theo các bước sau:
+ Lưu toàn bộ trạng thái hoat động của chương trình đang thực hiện (bao gồm toàn bộ nội dung của các thanh ghi CPU ,các địa chỉ có liên quan,và bộ chon LDT ) vào đoạn TSS của chương trình này.
+ Nạp bộ chọn nhiệm vụ tiếp theo vào thanh ghi TR Thanh ghi TR trỏ tới bộ mô tả TSS quản lý đoạn TSS của chương trình đó
+ Qua bộ mô tả TSS truy cập vào đoạn TSS của chương trình tiếp theo.Nạp các trạng thái nhiệm vụ tiếp theo vào các thanh ghi của CPU.Bộ mô tả TSS được nạp vào phần kín của TR
+ Thực hiện kiểm tra quyền truy cập
+ Thực hiện chương trình.
Câu 12: nhiều quá học không nổi=> không học
Câu 13:Tổ chức bộ nhớ có phân cấp và tổ chức case
( Thời gian trễ là thời gian mà bộ nhớ trì hoãn cung cấp dữ liệu lại với những yêu cầu của CPU.Khi CPU yêu cầu lệnh hoặc dữ liệu mà lưu trữ tại 1 địa điểm xác định thì bộ nhớ sẽ trì hoãn 1 thời gian nào đó để cung cấp lệnh và dữ liệu cho CPU.thường thời gian trễ là 5 có nghĩa là sẽ cấp phát dữ liệu sau 5 chu kỳ xung nhịp của bộ nhớ=> CPU phải chờ=>giảm hiệu suất)
I) Tổ chức bộ nhớ có phân cấp
Tốc độ của bộ nhớ chính(bộ nhớ thao tác) so với khả năng xử lý của CPU.Nếu CPU nhập các lệnh và dữ liệu trực tiếp từ bộ nhớ chính ,thì tốc độ xử lý thực của CPU phụ thuộc vào tốc độ truy cập của bộ nhớ chính.Mặt khác dung lượng của bộ nhớ chính lại hạn chế nên hệ thống lưu trữ chỉ mình bộ nhớ chính sẽ hạn chế khả năng của CPU
Để tăng tốc độ xử lý của CPU và đảm bảo khả năng lưu trữ lớn của bộ nhớ máy tính người ta tổ chứa bộ nhớ theo kiểu hệ thống có phân cấp.Cơ sở quản lý hệ thống bộ nhớ có phân cấp mà trong đó bao gồm nhiều loại thiết bị nhớ khác nhau dựa trên nguyên lý quy chiếu phân vùng.
Kỹ thuật để giảm thời gian truy cập bộ nhớ chính là thê
vào 1 bộ nhớ có tốc độ truy cập cao,bô nhớ SRAM.Bộ nhớ
này được gọi là bộ nhớ case. Bộ nhớ cache được sử dụng để lưu trữ các lệnh,dữ liệu thường được sử dụng nhiều trong quá trình thực hiện chương trình.Việc quy chiếu (truy cập) đến bộ nhớ chính chỉ xảy ra khi không tìm thấy thông tin cần có trong case.giải pháp cho vấn đề hạn chế kích thước của bộ nhớ chính là sử dụng bộ nhớ ngoài (thiết bị đĩa từ) như 1 phần trong hệ thống bộ nhớ.
CPU
Cache
Bộ nhớ chính DRAM
Bộ nhớ thứ cấp (đĩa từ)
II) Tổ chức cache
Thủ tục quản lý bộ nhớ cache là nạp từng đoạn chương trình và dữ liệu từ bộ nhớ chính vào cache.Phương pháp đơn giản nhất để quy chiếu bộ nhớ là phương pháp ánh xạ
Việc quy chiếu đến cache được gọi là "trúng" nếu truy cập được thông tin mà CPU đòi hỏi có ở trong cache.Còn được gọi là " trượt" nếu không truy cập được thông tin có trong cache mà phải truy cập trong bộ nhớ chính
Bộ nhớ chính được chia làm nhiêu khối.mỗi khôi bao gồm nhiều từ và byte
1 từ (1 byte)
1 từ (1 byte)
1 từ (1 byte)
Khối 0
Khối 1
Khối 2
'
Bộ nhớ cache thì có nhiều khối cache .Mỗi khối cache ở 1 vị trí xác định trong bộ nhớ cache.Bao gồm các thông tin ( số hiệu thẻ,bít cờ và bản thân khối dữ liệu) (khối dữ liệu trong cache là bản sao của khối dữ liệu trong bộ nhớ chính)
Cấu trúc 1 khối cache
Số hiệu thẻ Bít cờ (F) Khối dữ liệu
a) Trường hợp mỗi khối chứa 1 từ hoặc 1 byte dữ liệu
- Thao tác đọc cache.
Bộ nhớ chính có bus địa chỉ 24 bit. Khi 1 từ (1 byte ) được đọc thì CPU cung cấp địa chỉ cho bộ điều khiển bộ nhớ.Bộ điều khiển bộ nhớ tách địa chỉ 24 bit làm 2 phần
• 2 bít địa chỉ thấp thì đặt trong thanh ghi MAR của cache.Các bit này xác đinh vị trí khối cần tìm trong cache
• 22 bit cao mô tả số hiệu thẻ.Số hiệu thẻ là con số xác định vị trí khối nhớ trong bộ nhớ chính.
Thao tác đọc dũ liệu được tiến hành:
- B1: Bộ điều khiển cache đọc khối dữ liệu trong case tại vị trí có số thứ tự trùng với số thứ tự khối trong địa chỉ bus.
- B2: bộ điều khiển cache xác định xem số hiệu thẻ trong khối cache có trùng với số hiệu thẻ trong bus địa chỉ ko
- B3: nếu trùng thì việc quy chiếu" trúng"và 1 từ dữ liệu được đọc từ cache vào trong CPU .Nếu không trùng thì
Từ dữ liệu phải lấy từ bộ nhớ chính.Trong trường hợp trượt thì phải sao lưu dữ liệu trong cache vào bộ nhớ chính theo địa chỉ của nó.Nạp dữ liệu mới cùng với thẻ của nó vào cache và đặt bít cờ F=0 (ghi nhận nội dung của cache trùng với nội dung của bộ nhớ chính) và dữ liệu được cung cấp cho CPU
- Thao tác ghi bộ nhớ.
Có 2 cách dùng để ghi dữ liệu vào bộ nhớ chính khi thực hiện các lệnh ghi bộ nhớ: kỹ thuật ghi xuyên và kỹ thuật sao lưu.
+ ở loại cache ghi xuyên:dữ liệu được ghi lên cả cache và cả bộ nhớ chính=>thời gian ghi bộ nhớ bị tăng lên
+ ở loại cache sao lưu thì dữ liệu chỉ được ghi vào cache và bit cờ đặt F =1 (ghi nhận nội dung của cache khác nội dung bộ nhớ chính).Nếu khối dữ liệu cần được thay thế=khối dữ liệu khác trong bộ nhớ chính ( trường hợp trượt) thì bit cờ được kiểm tra xem có cần thực hiện thao tác sao lưu ko.Nếu F=1 thì cần thực hiện,nếu F=0 thì không cần thực hiện
b) Trường hợp mỗi khối chứa nhiều từ dữ liệu
Khi có nhiều từ dữ liệu trong 1 khối cache thì kỹ thuật ánh xạ trực tiếp phức tạp hơn.giả sử bus địa chỉ là 24 bit sẽ được tách làm 3 phần
Phần xác định số thứ tự từ (2bit).xác định vị trí từ dữ liệu cần truy cập nằm trong khối cache.
Phần xác định số thứ tự khối (2bit) (vị trí được đặt trong cache)
Phần số hiệu thẻ (20 bit)
các thao tác thực hiện giống như trường hợp mỗi khối dữ liệu chứa 1 từ
Số hiệu thẻ Số thứ tự khối Số thứ tự từ
c) Kỹ thuật tập liên hợp
Câu 8: Phương pháp quản lý bộ nhớ trong chế độ thực và các thanh ghi đoạn
Trong chế độ thực bộ nhớ được quản lý theo cơ chế phân đoạn.Cơ chế quản lý bộ nhớ theo phân đoạn là cơ chế trong đó bộ nhớ được định vị và giám sát theo đoạn.Trong cơ chế phân đoạn mỗi chương trình không được xem là 1 chuỗi liên tục của mã lệnh,dữ liệu mà được chia làm nhiều các mô đun mã lệnh ,dữ liệu...Mỗi modun lại được chứa trong 1 đoạn nhớ và có địa chỉ xác định.Hệ điều hành có thể đặt các modul ở bất cứ chỗ nào trong bộ nhớ vật lý và đoạn nhớ sẽ mang tên loại modunl nó chứa
Có 4 loại đoạn khác nhau:
+ đoạn mã lệnh: chứa mã lệnh của chương trình
+ đoạn dữ liệu: chứa dữ liệu của chương trình
+ đoạn ngăn xếp : là đoạn chứa các thông tin và dữ liệu phục vụ chương trình con.
+ đoạn mở rộng : chứa dữ liệu mở rộng.
Mỗi đoạn có 1 địa chỉ gọi là địa chỉ đoạn
Có các thanh ghi đoạn 16 bit CS,DS,SS,ES.Trong chế độ thực thanh ghi đoạn thứa địa chỉ đoạn.Thanh ghi CS chứa địa chỉ đoạn mã lệnh,thanh ghi DS chứa địa chỉ đoạn dữ liệu ,thanh ghi SS chứa địa chỉ đoạn ngăn xếp,thanh ghi ES chứa địa chỉ đoạn mở rộng.
Địa chỉ đoạn xác định vị trí của đoạn trong bộ nhớ.Mỗi ô nhớ trong mỗi đoạn được định vị bằng 1 cặp con số: địa chỉ đoạn và địa chỉ offset (địa chỉ lệch).Trong đó địa chỉ offset là con số xác định vị trí ô nhớ so với nền đoạn. Cặp số này được gọi là địa chỉ logic của ô nhớ,được biểu diễn bằng dạng : địa chỉ đoạn: địa chỉ offset
Thanh ghi IP chứa địa chỉ offset của ô nhớ trong đoạn mã lệnh chứa lệnh mà CPU cần truy cập.Thanh ghi SP chứa địa chỉ offset của ô đỉnh ngăn xếp trong đoạn ngăn xếp.Trong chế độ thực thì cách tính địa chỉ vật lý của ô nhớ được thực hiện bằng công thức
Địa chỉ vật lý= địa chỉ đoạn*16+ địa chỉ offset.
Câu 15:Bộ điều khiển ngắt PIC 8259.Hệ thống ngắt cứng và cơ chế hoạt động ngắt cứng của máy PC
Phần mở rộng: tất cả các chương trình phục vụ ngắt đều có chung 2 đặc điểm: thứ nhất đều được viết sẵn ( chương trình của hệ điều hành) và được phép sử dụng.Thứ 2 địa chỉ của các chương trình phục vụ ngắt phải được đặt ở 1 vùng xác định là bảng véc tơ ngắt,nằm trong bộ nhớ chính .Các chương trình con phục vụ ngắt được dùng để điều khiên quá trình vào/ra dữ liệu với các thiết bị chuẩn ở mức vật lý
** Bảng véc tơ ngắt: là bảng chứa địa chỉ của các chương trình con phục ngắt.Thứ tự của từng ô trong bảng được gọi là số ngắt.Mỗi ô chứa 1 địa chỉ logic của 1 chương trình phục vụ ngắt. Địa chỉ này được gọi là véc tơ ngắt
I ) Hệ thống ngắt cứng
CPU có 1 đầu vào để nhận tín hiệu INT ,khi nhận tín hiệu này CPU sẽ phản ứng theo cơ chế ngắt cứng.Trong thực tế có nhiều thiết yêu cầu được phục vụ theo cơ chế ngắt cứng và sinh ra nhiều yêu cầu ngắt.Cần có 1 bộ điều khiển giúp CPU quản lý và thực hiện yêu cầu ngắt đó là bộ điều khiển PIC.Hệ thống ngắt cứng được xây dựng trên 2 bộ điều khiển PIC 8259.Mỗi bộ PIC có thể nhận 8 yêu cầu ngắt .Hai PIC này kết nối với nhau theo kiểu ghép tầng,kết hợp hoạt động để có thể nhân được 16 yêu cầu ngắt IRQ
Chức năng cơ bản của PIC 8259 : giúp CPU thực hiện quá trình ngắt cứng.PIC 8259 thực hiện các chứa năng sau:
+ ghi nhận 8 yêu cầu ngắt IRQi , i=0....,7
+ Cho phép chọn và phục vụ các yêu cầu ngắt theo mức ưu tiên
+ Cung cấp cho CPU số ngắt tương ứng với yêu cầu ngắt IRQ.Số ngắt này đại diện cho địa chỉ của chương trình con phục vụ thiết bị yêu cầu ngắt
+cho phép và không cho phép các yêu cầu ngắt IRQ ,kích hoạt hệ thống ngắt.
II) Bộ điều khiển ngắt PIC 8259.
a) Thanh ghi yêu cầu ngắt IRR: là thanh ghi 8 bit. IRR ghi nhận tất cả các yêu cầu ngắt IRQi.Nếu các tín hiệu IRQi=1 thì các bit IRR tương ứng được đặt bằng 1
b) Bộ giải quyết ưu tiên PR : là thanh ghi 8 bit.PR xác định mức ưu tiên của các yêu cầu ngắt
c) Thanh ghi ngắt được phục vụ ISR:là thanh ghi 8 bit.ISR ghi nhận các ngắt đang được phục vụ .Yêu cầu ngắt IRQi nào đang được phục vụ thì bit ISRi tương ứng được đặt =1.
d) Khối logic điều khiển: đưa ra tín hiệu INT được nối thẳng vào chân INT của CPU.Khi INT ở mức cao đòi CPU phục vụ ngắt,khối logic nhận tín hiêu INTA ,PIC 8259 sẽ cung cấp số ngắt ra bus dữ liệu cho CPU.
e) Khối đệm bus : các từ điều khiển ICW,OCW được đưa vào PIC 8259 qua khối này để xác lập chế độ làm việc cho PIC Số ngắt và trạng thái hoạt động của PIC đưa ra bus dữ liệu cũng thông qua khối này
f) Khối ghép tầng: PIC 8259 cho phép nối ghép tầng các PIC 8259 với nhau và phối hợp hoạt động của các PIC này.Tầng thứ nhất có đầu ra INT nối trực tiếp với CPU gọi là PIC 8259 chủ.Đầu vào IRQi của PIC chủ được nối đầu ra INT của PIC thứ 2 gọi là PIC thợ .Cơ chế ghép tầng cho phép xây dựng 1 hệ thống ngắt cứng quản lý được 64 yêu cầu ngắt IRQ
g) Khối logic ghi/đọc và giải mã:giải mã các từ điều khiển ICW va OCW, 2 từ điều khiển này dùng để xác định chế độ làm việc của PIC .
h) Thanh ghi IMR: cho phép đặt/xóa mặt mạ ngắt.
III) Cơ chế hoạt động của hệ thống ngắt cứng
- Một hoặc nhiều thiết bị vào ra có yêu cầu phục vụ phát ra tín hiệu IRQ =1 cho PIC .PIC ghi nhận các yêu cầu ngắt này bằng cách đặt các bít IRR( thanh ghi yêu cầu ngắt) tương ứng bằng 1.
- PIC 8259 chon IRQi có mức ưu tiên cao nhất để thục hiện.PIC phát ra tín hiệu INT cho CPU đòi CPU phục vụ
- CPU thực hiện nốt các thao tác sau
+ thực hiện nốt lệnh của quá trình hiện hành.
+lưu địa chỉ trở về (nội dung các thanh ghi CS,IP) và các thanh ghi cờ FLAGS vào ngăn xếp.
+gửi 2 tín hiêu ngắt INTA cho PIC
- Khi PIC 8259 nhận được tín hiệu INTA thứ nhất: bít ISRi( thanh ghi ngắt được phục vụ) ứng với IRQi có mức ưu tiên(PR) cao nhất được thiết lập (ISRi=1)và thanh ghi IRRi (thanh ghi yêu cầu ngắt) tương ướng bị xóa (IRRi=0).Trong chu kỳ thứ nhất này thì PIC ko gửi gì cho CPU
- Khi PIC nhận được tín hiệu INTA thứ 2 thì PIC gửi số ngắt đại diện cho chương trình con phục vụ ngắt tương ứng với tín hiệu IRQi qua bus dữ liệu cho CPU.
- CPU nhận số ngắt,qua số ngắt này vào vị trí tương ứng trong bảng véc tơ ngăt để xác định chương trình phục vụ ngắt.CPU nạp địa chỉ của chương trình phục vụ ngắt vào thanh ghi CS,IP và bắt đầu thực hiện chương trình ngắt này
- Khi thực hiện xong CPU khôi phục địa chỉ trở về của thanh ghi CS,IP và khôi phục nội dung của thanh ghi cờ FLAGS và tiếp tục thực hiện chương trình vừa bị ngắt
Bạn đang đọc truyện trên: truyentop.pro