Please enable JavaScript.
Coggle requires JavaScript to display documents.
CHƯƠNG 7: HỆ THỐNG VÀO RA - Coggle Diagram
CHƯƠNG 7: HỆ THỐNG VÀO RA
I. TỔNG QUAN
Chức năng:
++ trao đổi thông tin giữa
máy tinh và bên ngoài
thành phần: thiết bị vào ra, mô dun vào ra
Đặc điểm hệ thống vào ra:
tồn tại đa dạng các thiết bị vào -ra
tất cả thiết bị vào-ra đều chậm hơn CPU và RAM
=> cần modun vào ra để nối ghép các thiết bị với CPU
và bộ nhớ chính
Thiết bị vào ra: thiết bị ngoại vi
Chức năng chuyển đổi dữ liệu giữa bên trong và bên
ngoài máy tính
▪ Thiết bị vào (Input Devices)
▪ Thiết bị ra (Output Devices)
▪ Thiết bị lưu trữ (Storage Devices)
▪ Thiết bị truyền thông (Communication Devices)
cấu trúc chung: bộ đệm, bộ chuyển đổi dữ liệu,
khối logic điều khiển
Mô-đun vào ra:
Chức năng:
điều khiển và định thời
trao đổi ttin với CPU hoặc bộ nhớ chính
trao đổi ttin với tbi vào ra
đệm giữa bên trong máy tính với thiết bị vào ra
phát hiện lỗi của thiết bị vào ra
Cấu trúc chung: bộ đệm, cổng vào ra,
khối logic điều khiển
ĐỊA CHỈ HÓA cổng vào ra
(IO addressing)
Không gian địa chỉ bộ nhớ:
các bộ xử lý 680x0 của Motorola
các bộ xử lý theo kiến trúc RISC: míp,arm
1 số bộ xử lý có 2 không gian địa chỉ tách biệt:
không gian địa chỉ bộ nhớ,kg địa chỉ vào intel x86
các phương pháp đc hóa cổng
Vào- ra theo bản đồ bộ nhớ:
Cổng vào-ra được đánh địa chỉ theo
kgian địa chỉ bộ nhớ
ví dụ: có hai cổng vào ra được gán địa chỉ:
cổng 1: 0xFFFF10000
cổng 2: 0xFFFF10004
ghi giá trị 7 ra cổng 1: lui s0,0xffff1
addi s1,x0,7 sw s1,0(s0)
đọc dữ liệu từ cổng 2 đưa vào s2
lui s0,0xFFFF1
lw s2,4(s0)
CPU coi cổng vào ra như ngăn nhớ
lập trình trao đổi dữ liệu với cổng vào ra
bằng các lệnh truy nhập dữ liệu bộ nhớ
thực hiện trên mọi hệ thống
vào ra riêng biệt:
Cổng vào ra được đánh địa chỉ theo
không gian địa chỉ vào-ra riêng
lập trình trao đổi dữ liệu với cổng vào ra
bằng các lệnh vào ra chuyên dụng
vidu: intel x86
dùng 8-bit hoặc 16-bit địa chỉ cho không
gian địa chỉ vào ra riêng
2 lệnh chuyên dụng: IN OUT
II. CÁC PHƯƠNG PHÁP
ĐIỀU KHIỂN VÀO-RA
VÀO RA BẰNG
CHƯƠNG TRÌNH
Nguyên tắc chung
CPU điều khiển trực tiếp vào-ra bằng chương trình
-> cần phải lập trình vào ra để trao đổii dữ liệu
CPU nhanh hơn thiết bị rất nhiều lần
-> trước khi thực hiện lệnh, cần đọc và kiểm tra trạng thái sẵn sàng của mô đun
Các tín hiệu:
Tín hiệu điền khiển (control): kích hoạt thiết bị vào ra
kiểm tra(test): kiểm tra trạng thái modun và thiết bị
điều khiển đọc(read): yêu càu mô-đun vào ra nhận dữ liệu từ thiết bị vào ra và đưa vào bộ đệm dữ liệu, rồi CPU nhận
điều khiển ghi(read): yc modun lấy dữ liệu trên bus dữ liệu đưa đến bộ đệm dữ liệu rồi chuyển ra thiết bị vào ra
lệnh vào ra:
với vào ra theo bản đồ: sử dụng các lệnh trao đổi
dữ liệu với bộ nhớ để trao đổi dữ liệu với cổng
đặc điệm: vào ra do ý muốn người lập trình
CPU trực tiếp điều khiển trao đổi CPU với mô đun
CPU đợi trạng thái sẵn sàng của mô đun -> tốn nhiều tgian
VÀO RA BẰNG NGẮT
NGUYÊN TẮC
CHUNG
CPU không phải đợi trạng thái sẵn sàng
khi mô đun sẵn sàng thì phát ra tín hiệu ngắt CPU
CPU thực hiện ctr con xử lý ngắt vào-ra tương ứng để trao đổi dữ liệu
CPU trở lại tiếp tục thực hiện ctr đang bị ngắt
CÁC PHƯƠNG PHÁP
GHÉP NỐI NGẮT
Nhiều đường yêu cầu ngắt
mỗi modun vào ra được nối với một đường
yêu cầu ngắt
CPU phải có nhiều đường tín hiệu yêu cầu ngắt
hạn chế số lương moodun vào ra
các đường ngắt được qui định ở mức ưu tiên
hỏi vòng bằng phần mềm
CPU thực hiện phần mềm hỏi lần lượt từng mô dun
chậm, thứ tự các modun được hỏi vòng chính là tt ưu tiên
hỏi vòng bằng phần cứng
CPU phát tín hiệu chấp nhận ngắt (INTA) đến modun vào ra đầu tiên
nếu modun đó ko gây ngắt thì gửi đến modun kế tiếp cho đến khi xđ được modun gây ngắt
thứ tự cá modun vào ra kết nối trong chuỗi xác định thứ tự ưu tiên
Bộ điều khiển ngắt lập trình được(PIC)
PIC chọn 1 yêu cầu ngắt không bị cấm có mức ưu tiên cao nhất
gửi tới CPU
ĐẶC ĐIỂM
có sự kết hợp cứng và p mềm:
++ phần cứng gây ngắt CPU
++ phần mềm trao đổi giữa CPU với modun
CPU trực tiếp điều khiển vào ra
CPU không phải đợi modun,do đó hiệu quả
sử dụng CPU tốt hơn
II.3 DMA
direct memory access
sử dụng modun điều khiển vào ra
chuyên dụng (DMAC), điều khiển trao
đổi dữ liệu giawux modun và bộ nhớ chính
thành phần
▪ Thanh ghi dữ liệu: chứa dữ liệu trao đổi
▪ Thanh ghi địa chỉ: chứa địa chỉ ngăn nhớ dữ liệu
▪ Bộ đếm dữ liệu: chứa số từ dữ liệu cần trao đổi
▪ Logic điều khiển: điều khiển hoạt động của DMAC
Hoạt động DMA
CPU 'nói' cho DMAC:
vào hay ra
địa chỉ thiết bị vào- ra
địa chỉ đầu của mảng nhớ chứa dữ liệu
-> nạp vào thanh ghi địa chỉ
số từ dữ liệu cần truyền -> nạp vào bộ đếm
CPU làm việc khác
DMAC điều khiển trao đổi dữ liệu
Sau khi truyền được 1 từ thì:
nội dung thanh ghi đc tăng
nội dung bộ đếm dữ liệu giản
khi bộ đếm =0,DMAC gửi tín hiệu ngắt
cho CPU để kết thúc
Các kiểu thực hiện DMA
DMA truyền theo khối:
sử dụng bus để truyền xong cả khối dữ liệu
DMA lấy chu kì(cycle):
ép buộc CPU treo tạm thời từng chu kì bus,DMAC
chiếm bus thực hiện truyền một từ dữ liệu
DMA trong suốt:
nhận biết những chu kì nào CPU không sd bus thì
chiếm bus để trao đổi dữ liệu
Cấu hình DMA
DMA(1)
mỗi lần trao đổi dữ liệu, dùng bus 2 lần:
giữa modun vào ra với DMAC
giữa DMAC với bộ nhớ
DMA(2)
DMAC điều khiển 1 hoặc vài modun vào ra
mỗi lần trao đổi dữ liệu,sd bus 1 lần(DMAC với bộ nhớ)
DMA(3)
bus vào ra tách rời hỗ trợ tất cả tbi cho phép DMA
mỗi lần trao đổi sd bus 1 lần(DMAC và bộ nhớ)
ĐẶC ĐIỂM
CPU không tham gia qtr trao đổi
DMAC điều khiển trao đổi giữa
bộ nhớ và modun (phần cứng)
-> nhanh
phù hợp mảng dữ liệu lớn
4.BỘ XỬ LÝ VÀO RA
▪ Việc điều khiển vào-ra được thực hiện bởi một bộ
xử lý vào-ra chuyên dụng
▪ Bộ xử lý vào-ra hoạt động theo chương trình của
riêng nó
▪ Chương trình của bộ xử lý vào-ra có thể nằm trong
bộ nhớ chính hoặc nằm trong một bộ nhớ riêng
IV. NỐI GHÉP THIẾT BỊ VÀO RA
kiểu nối ghép
ghép song song:
▪ Truyền nhiều bit song song
▪ Tốc độ nhanh
▪ Cần nhiều đường truyền dữ liệu
ghép nối tiếp
▪ Truyền lần lượt từng bit
▪ Cần có bộ chuyển đổi từ dữ liệu song song sang nối tiếp
hoặc/và ngược lại
▪ Tốc độ chậm hơn
▪ Cần ít đường truyền dữ liệu
các cấu hình nối ghép
Điểm tới điểm(point to point)
▪ Thông qua một cổng vào-ra nối ghép với một thiết bị
▪ Cổng được thiết kế chuyên dụng cho thiết bị tương ứng
▪ Hạn chế số lượng thiết bị vào-ra
điểm tới đa điểm
Thông qua một cổng vào-ra cho phép nối ghép được
với nhiều thiết bị
▪ Ví dụ:
▪ USB (Universal Serial Bus): 127 thiết bị
▪ Thunderbolt