Transcript File

Vấn đề tranh chấp tài nguyên
Mỗi thiết bị gắn vào hệ thống đều có nhu cầu chiếm và sử
dụng một phần tài nguyên hệ thống.
Tài nguyên hệ thống: các tài nguyên hệ thống được sử
dụng bởi phần mềm và phần cứng.
Có 4 tài nguyên hệ thống:
 Ngắt (Interrupt Request - IRQ)
Địa chỉ vào ra (I/O addresses)
Địa chỉ bộ nhớ (memory addresses)
Chip truy cập bộ nhớ trực tiếp
(Direct Memory Access - DMA)
Vấn đề tranh chấp tài nguyên
Khi 2 thiết bị cùng chiếm và sử dụng cùng tài
nguyên hệ thống, nó sẽ có khả năng xảy ra tranh
chấp.
Giải quyết tranh chấp: vào Setup hoặc Device
Manager trong Windows để kiểm tra xem có 2 thiết
bị nào cùng sử dụng chung ngắt IRQ, kênh DMA
hay địa chỉ cổng. Thiết lập lại cho phù hợp.

1. Ngắt (Interrupt Request - IRQ)
CPU làm việc với nhiều thiết bị khác nhau, song
tại mỗi thời điểm CPU chỉ phục vụ được một
công việc nhất định nào đó.
Để CPU có thể kiểm soát và phục vụ tốt tất cả
các thiết bị thì khi một thiết bị có yêu cầu xử lý
nó sẽ gọi CPU ngừng các công việc khác để phục
vụ cho mình, quá trình trên gọi là ngắt.

1. Ngắt (Interrupt Request - IRQ)
Hoạt động của Ngắt:
Khi có yêu cầu ngắt, CPU lưu giữ các thông số của
chương trình đang thực hiện,
Sau đó gọi chương trình xử lý ngắt để thực hiện đáp ứng.
Khi thực hiện xong ngắt, CPU khôi phục lại lệnh của
chương trình đang thực hiện dở để tiếp tục.
Bộ xử lý ngắt phần cứng có thể được thực hiện bởi một
chip được gắn trực tiếp trên mainboard hay trên thiết bị
gọi là chip xử lý ngắt.
1. Ngắt (Interrupt Request - IRQ)

Khái niệm Ngắt (IRQ):
Là các đường dẫn tín hiệu trên bus mà các thiết bị
dùng để báo hiệu cho CPU khi có yêu cầu được phục
vụ.
Mỗi ngắt được gán một số bắt đầu từ 0.

Nhận xét: CPU trực tiếp điều khiển hoạt động
vào ra.

1. Ngắt (Interrupt Request - IRQ)

Một ví dụ về việc chiếm dụng trước tài nguyên hệ thống
là các yêu cầu ngắt dành cho COM và LPT:
Một số IRQ cho các thiết bị sử dụng bus ISA 8 bit:
2. Địa chỉ vào ra (I/O addresses)



Khi giao tiếp với các thiết bị bên ngoài, CPU
quy định vùng trao đổi dữ liệu cho thiết bị gọi
là vùng nhớ vào ra.
Mỗi hệ thống có một sơ đồ bộ nhớ cơ bản vào
ra. Sơ đồ này có thể do người sử dụng khai
báo hoặc máy tính tự động cập nhật.
Sự kết hợp giữa ngắt và địa chỉ bộ nhớ vào ra
cho một thiết bị gọi là cổng của thiết bị đó.
2. Địa chỉ vào ra (I/O addresses)
3. Địa chỉ bộ nhớ (Memory addresses)



Các số được gán cho các vị trí nhớ trên bộ nhớ
vật lý, được định vị trên các chip RAM và
ROM,
Viết ở dạng hexa gồm segment:offset (ví dụ
C800:5000).
Địa chỉ bộ nhớ được gán cho mỗi vùng nhớ
trên bộ nhớ. Phần mềm có thể truy cập bộ nhớ
này bằng cách sử dụng các địa chỉ này.
3. Địa chỉ bộ nhớ (Memory addresses)



Bộ nhớ cơ sở (Base memory): 640k đầu tiên trong RAM
các chương trình truy cập,
Bộ nhớ trên (Upper memory): từ 640M đến 1M cho các
chức năng hệ thống nội bộ (dùng cho các trình tiện ích
hệ thống, các trình ứng dụng).
Bộ nhớ mở rộng (Extended memory).
3. Địa chỉ bộ nhớ (Memory addresses)

CPU truy cập bộ nhớ dùng địa chỉ bộ nhớ:
4. Chip truy cập bộ nhớ trưc tiếp
DMA (Direct Memory Access)


Cho phép trao đổi dữ liệu giữa bộ nhớ trong
(ROM, RAM) với thiết bị ngoài mà không qua
CPU.
Sử dụng Module phần cứng DMAC (DMA
Controler) → trao đổi dữ liệu không cần CPU.
4. Chip truy cập bộ nhớ trưc tiếp
DMA (Direct Memory Access)
Các thành phần của DMAC:
 Thanh ghi dữ liệu: chứa dữ liệu trao đổi
 Thanh ghi địa chỉ: chứa địa chỉ của ngăn nhớ dữ
liệu
 Bộ đếm dữ liệu: chứa số từ dữ liệu cần trao đổi
 Khối logic điều khiển: điều khiển hoạt động của
DMAC
4. Chip truy cập bộ nhớ trưc tiếp
DMA (Direct Memory Access)
4. Chip truy cập bộ nhớ trưc tiếp
DMA (Direct Memory Access)
Hoạt động của DMA: khi cần vào ra dữ liệu thì CPU nhờ DMA
tiến hành vào ra dữ liệu với thông tin như sau:
 Địa chỉ thiết bị vào ra
 Địa chỉ đầu của mảng nhớ chứa dữ liệu và DMAC nạp thanh ghi
địa chỉ
 Số từ dữ liệu cần truyền và DMAC nạp vào bộ đếm dữ liệu
 CPU sẽ đi thực hiện việc khác
 DMAC điều khiển việc trao đổi dữ liệu, sau khi truyền một từ
dữ liệu thì nội dung thanh ghi địa chỉ tăng lên và nội dung bộ
đếm dữ liệu giảm xuống một đơn vị.
 Khi bộ đếm dữ liệu bằng 0, DMAC gởi tín hiệu ngắt CPU để
báo kết thúc DMA.
4. Chip truy cập bộ nhớ trưc tiếp
DMA (Direct Memory Access)
4. Chip truy cập bộ nhớ trưc tiếp
DMA (Direct Memory Access)
Các kiểu thực hiện DMA:
 DMA truyền theo khối: DMA sử dụng BUS để truyền
cả khối dữ liệu (CPU chuyển nhượng BUS cho DMA)
 DMA lấy chu kỳ: DMA yêu cầu CPU treo tạm thời
từng chu kỳ BUS để thực hiện truyền một từ dữ liệu
 DMA trong suốt: DMAC nhận biết những chu kỳ nào
CPU không sử dụng BUS thì chiếm BUS để trao đổi
dữ liệu (DMAC lấy lén chu kỳ)
4. Chip truy cập bộ nhớ trưc tiếp
DMA (Direct Memory Access)
Đặc điểm của DMA:
 CPU không tham gia trong quá trình trao đổi dữ
liệu
 DMAC điều khiển trao đổi dữ liệu giữa bộ nhớ
chính và Module vào ra với tốc độ nhanh
 Phù hợp với yêu cầu trao đổi mảng dữ liệu có
kích thước lớn.
4. Chip truy cập bộ nhớ trưc tiếp
DMA (Direct Memory Access)
Bộ xử lý vào ra:
 Việc điều khiển vào ra được sử dụng bởi một bộ
điều khiển vào ra chuyên dụng.
 Bộ xử lý vào ra hoạt động theo chương trình
riêng của nó.
 Chương trình của bộ xử lý vào ra có thể nằm
trong bộ nhớ chính hoặc bộ nhớ riêng.
 Hoạt động theo kiến trúc đa xử lý.