.c
om
cu
u
du
o
ng
th
an
co
ng
HỆ THỐNG VÀO RA
(INPUT & OUTPUT)
1
CuuDuongThanCong.com
/>
.c
om
HỆ THỐNG VÀO RA
Chức năng: trao đổi thông tin giữa máy tính với
an
Vào dữ liệu (Input)
co
ng
thế giới bên ngoài.
Thao tác cơ bản:
th
Ra dữ liệu (Output)
ng
Các thành phần chính:
du
o
Các thiết bị ngoại vi
cu
u
Các module I/O
2
CuuDuongThanCong.com
/>
.c
om
ĐẶC ĐIỂM CỦA VÀO RA
Tồn tại đa dạng các thiết bị ngoại vi khác nhau
co
Nguyên tắc hoạt động
ng
về:
an
Tốc độ
th
Khuôn dạng dữ liệu
cu
u
du
o
ng
Tất cả các TBNV đều chậm hơn CPU và RAM.
3
CuuDuongThanCong.com
/>
.c
om
CÁC THIẾT BỊ VÀO RA
co
bên ngồi máy tính.
Phân loại:
ng
Chức năng: chuyển đổi dữ liệu giữa bên trong và
an
TBNV giao tiếp ngƣời-máy.
th
TBNV giao tiếp máy-máy.
cu
u
du
o
ng
TBNV truyền thông.
4
CuuDuongThanCong.com
/>
.c
om
CẤU TRƯC CHUNG CỦA TBNV
Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên ngoài và
cu
u
du
o
ng
th
an
co
ng
bên trong TBNV
Bộ đệm dữ liệu: đệm dữ liệu khi truyền giữa môđun vào-ra và
TBNV
Khối logic điều khiển: điều khiển hoạt động của TBNV đáp ứng
theo yêu cầu từ môđun vào-ra
5
CuuDuongThanCong.com
/>
.c
om
MODULE VÀO/RA
co
an
th
cu
u
ng
du
o
thời
Trao đổi thông tin với
CPU
Trao đổi thông tin với
TBNV
Đệm giữa bên trong
máy tính với TBNV
Phát hiện lỗi của
TBNV
ng
Điều khiển và định
6
CuuDuongThanCong.com
/>
.c
om
CẤU TRÖC CHUNG
CỦA MODULE VÀO RA
Thanh ghi đệm dữ liệu: đệm dữ liệu trong quá trình trao đổi
Các cổng vào-ra (I/O Port): kết nối với TBNV, mỗi cổng có một
cu
u
du
o
ng
th
an
co
ng
địa chỉ xác định
Thanh ghi trạng thái/điều khiển: lƣu giữ thông tin trạng thái/điều
khiển cho các cổng vào-ra
Khối logic điều khiển: điều khiển môđun vào-ra
7
CuuDuongThanCong.com
/>
.c
om
CÁC PHƢƠNG PHÁP
ĐỊA CHỈ HÓA CỔNG VÀO/RA
Một số bộ xử lý chỉ quản lý một
cu
u
du
o
ng
th
an
co
ng
không gian địa chỉ duy nhất, gọi
là không gian địa chỉ bộ nhớ.
8
CuuDuongThanCong.com
/>
.c
om
CÁC PHƢƠNG PHÁP
ĐỊA CHỈ HÓA CỔNG VÀO/RA
Một số bộ xử lý quản lý 2 không
gian địa chỉ tách biệt:
co
ng
Không gian địa chỉ bộ nhớ.
cu
u
du
o
ng
th
an
Không gian địa chỉ vào ra.
9
CuuDuongThanCong.com
/>
.c
om
CÁC PHƢƠNG PHÁP
ĐỊA CHỈ HÓA CỔNG VÀO/RA
Vào/ra theo bản đồ bộ nhớ (Memory mapped IO)
cu
u
du
o
ng
th
an
co
ng
Vào/ra riêng biệt (IO mapped IO)
10
CuuDuongThanCong.com
/>
.c
om
VÀO RA THEO BẢN ĐỒ BỘ NHỚ
Cổng vào/ra đƣợc đánh địa chỉ theo không gian
cu
u
du
o
ng
th
an
co
ng
địa chỉ bộ nhớ
Vào/ra giống nhƣ đọc/ghi bộ nhớ
CPU trao đổi dữ liệu với cổng vào/ra thông qua
các lệnh truy nhập dữ liệu bộ nhớ
Có thể thực hiện trên mọi hệ thống
11
CuuDuongThanCong.com
/>
.c
om
VÀO RA RIÊNG BIỆT
Cổng vào/ra đƣợc đánh địa chỉ theo không gian
cu
u
du
o
ng
th
an
co
ng
địa chỉ vào/ra riêng biệt
CPU trao đổi dữ liệu với cổng vào-ra thông qua
các lệnh vào/ra chuyên dụng (IN, OUT)
Chỉ có thể thực hiện trên các hệ thống có khơng
gian địa chỉ vào/ra riêng biệt
12
CuuDuongThanCong.com
/>
.c
om
CÁC PHƢƠNG PHÁP
ĐIỀU KHIỂN VÀO RA
Vào/ra bằng chƣơng trình (Programmed IO)
ng
Vào/ra điều khiển bằng ngắt (Interrupt driven IO)
co
Truy nhập bộ nhớ trực tiếp (Direct Memory
cu
u
du
o
ng
th
an
Access)
13
CuuDuongThanCong.com
/>
.c
om
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
co
ng
Kiểm tra trạng thái của TBNV
ng
Đặc điểm
th
Trao đổi dữ liệu
an
Phát tín hiệu điều khiển đọc/ghi
du
o
Vào/ra do ý muốn của ngƣời lập trình
u
CPU trực tiếp điều khiển vào/ra
cu
CPU đợi module vào/ra Tốn thời gian của CPU
14
CuuDuongThanCong.com
/>
VÀO/RA BẰNG CHƢƠNG TRÌNH
.c
om
CPU yêu cầu thao tác vào/ra
Module vào/ra thực hiện thao
ng
th
an
co
ng
tác
Module vào/ra thiết lập các bit
trạng thái
CPU kiểm tra các bit trạng thái:
Nếu chƣa sẵn sàng thì quay
cu
u
du
o
lại kiểm tra
Nếu sẵn
sàng thì chuyển
sang trao đổi dữ liệu với
Module vào/ra
15
CuuDuongThanCong.com
/>
.c
om
VÀO/RA ĐIỀU KHIỂN BẰNG NGẮT
CPU không phải đợi trạng thái sẵn sàng của
cu
u
du
o
ng
th
an
co
ng
môđun vào-ra, CPU thực hiện một chƣơng trình
nào đó.
Khi mơđun vào-ra sẵn sàng thì nó phát tín hiệu
ngắt CPU
CPU thực hiện chƣơng trình con vào-ra tƣơng
ứng để trao đổi dữ liệu
CPU trở lại tiếp tục thực hiện chƣơng trình đang
bị ngắt
16
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
VÀO/RA ĐIỀU KHIỂN BẰNG NGẮT
17
CuuDuongThanCong.com
/>
.c
om
HOẠT ĐỘNG VÀO DỮ LIỆU
NHÌN TỪ MODULE VÀO/RA
Module vào/ra nhận tín hiệu điều khiển đọc từ
ng
co
an
th
cu
u
ng
du
o
CPU
Module vào/ra nhận dữ liệu từ TBNV, trong khi đó
CPU làm việc khác
Module vào/ra phát tín hiệu ngắt CPU
CPU yêu cầu dữ liệu
Module vào/ra chuyển dữ liệu đến CPU
18
CuuDuongThanCong.com
/>
.c
om
HOẠT ĐỘNG VÀO DỮ LIỆU
NHÌN TỪ CPU
CPU phát tín hiệu điều khiển đọc
ng
CPU làm việc khác
co
Cuối mỗi chu kỳ lệnh, kiểm tra tín hiệu ngắt
th
Cất ngữ cảnh
an
Nếu bị ngắt:
ng
Thực hiện chƣơng trình con ngắt để vào dữ liệu
u
cu
hiện
du
o
Khôi phục ngữ cảnh của chƣơng trình đang thực
19
CuuDuongThanCong.com
/>
.c
om
CÁC PHƢƠNG PHÁP
NỐI GHÉP NGẮT
Sử dụng nhiều đƣờng yêu cầu ngắt
ng
Kiểm tra vòng bằng phần mềm
co
Kiểm tra vòng bằng phần cứng
cu
u
du
o
ng
th
an
Sử dụng bộ điều khiển ngắt
20
CuuDuongThanCong.com
/>
.c
om
NHIỀU ĐƢỜNG YÊU CẦU NGẮT
CPU phải có nhiều đƣờng tín hiệu u cầu ngắt
ng
Hạn chế số lƣợng mơđun vào-ra
cu
u
du
o
ng
th
an
co
Các đƣờng ngắt đƣợc quy định mức ƣu tiên
21
CuuDuongThanCong.com
/>
.c
om
KIỂM TRA 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
cu
u
du
o
ng
th
an
co
ng
module vào/ra
Chậm
Thứ tự các mơđun đƣợc hỏi vịng chính là thứ tự
ƣu tiên
22
CuuDuongThanCong.com
/>
.c
om
KIỂM TRA VÕNG BẰNG PHẦN CỨNG
CPU phát tín hiệu chấp nhận ngắt (INTA) đến môđun vào-ra đầu
ng
co
cu
u
du
o
an
th
ng
tiên
Nếu môđun vào-ra đó khơng gây ra ngắt thì nó gửi tín hiệu đến
môđun kế tiếp cho đến khi xác định đƣợc môđun gây ngắt
Môđun vào-ra gây ngắt sẽ đặt vector ngắt lên bus dữ liệu
CPU sử dụng vector ngắt để xác định nơi chứa chƣơng trình
con điều khiển ngắt
Thứ tự các mơđun vào-ra kết nối trong chuỗi xác định thứ tự ƣu
tiên.
23
CuuDuongThanCong.com
/>
.c
om
BỘ ĐIỀU KHIỂN NGẮT
LẬP TRÌNH ĐƢỢC
PIC – Programmable Interrupt Controller
PIC có nhiều đƣờng vào yêu cầu ngắt có quy định mức ƣu tiên
ng
PIC chọn một yêu cầu ngắt khơng bị cấm có mức ƣu tiên cao
cu
u
du
o
ng
th
an
co
nhất gửi tới CPU
24
CuuDuongThanCong.com
/>
.c
om
ĐẶC ĐIỂM CỦA VÀO/RA
ĐIỀU KHIỂN BẰNG NGẮT
Có sự kết hợp giữa phần cứng và phần mềm
ng
Phần cứng: gây ngắt CPU
co
Phần mềm: trao đổi dữ liệu
an
CPU trực tiếp điều khiển vào/ra
th
CPU không phải đợi môđun vào/ra hiệu quả
cu
u
du
o
ng
sử dụng CPU tốt hơn
25
CuuDuongThanCong.com
/>