Bài giảng Hệ thống máy tính - Chương 3: Kiến trúc vào-ra - Nguyễn Kim Khánh

Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Hệ thống máy tính  
Nội dung học phần  
„ Chương 1. Giới thiệu chung  
„ Chương 2. Kiến trúc bộ nhớ  
„ Chương 3. Kiến trúc vào-ra  
„ Chương 4. Kiến trúc bộ xử lý  
„ Chương 5. Kiến trúc máy tính tiên tiến  
Chương 3  
KIẾN TRÚC HỆ THỐNG VÀO-RA  
Nguyễn Kim Khánh  
Trường Đại học Bách khoa Hà Nội  
8 September 2009  
1
8 September 2009  
2
NKK-HUT  
NKK-HUT  
Nội dung  
3.1. Tổng quan về hệ thống vào-ra  
1. Giới thiệu chung  
3.1. Tổng quan về hệ thống vào-ra  
3.2. Các phương pháp điều khiển vào-ra  
3.3. Nối ghép thiết bị ngoại vi  
„ Chức năng của hệ thống vào-ra: Trao  
đổi thông tin giữa máy tính với thế giới  
bên ngoài  
„ Các thao tác cơ bản:  
„
Vào dữ liệu (Input)  
Ra dữ liệu (Output)  
„
„ Các thành phần chính:  
„
Các thiết bị ngoại vi  
Các mô-đun vào-ra  
„
8 September 2009  
3
8 September 2009  
4
Nguyễn Kim Khánh - ĐHBKHN  
1
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Cấu trúc cơ bản của hệ thống vào-ra  
Tổ chức bus dùng chung  
Interrupts  
CPU  
Main  
memory  
Cache  
System bus  
I/O controller  
I/O controller  
I/O controller  
Graphics  
display  
Disk  
Disk  
Network  
8 September 2009  
5
8 September 2009  
6
NKK-HUT  
NKK-HUT  
Tổ chức bus vào-ra phân cấp  
Đặc điểm của vào-ra  
Interrupts  
„ Tồn tại đa dạng các thiết bị ngoại vi  
khác nhau về:  
CPU  
Main  
memory  
Cache  
Memory bus  
„
„
„
Nguyên tắc hoạt động  
Tốc độ  
Khuôn dạng dữ liệu  
Bus  
adapter  
Bus  
adapter  
AGP  
PCI bus  
Intermediate  
buses / ports  
Bus  
adapter  
„ Tất cả các thiết bị ngoại vi đều chậm  
hơn CPU và RAM  
I/O bus  
I/O controller  
I/O controller  
I/O controller  
I/O controller  
CD/DVD  
Æ Cần có các mô-đun vào-ra để nối ghép  
các thiết bị ngoại vi với CPU và bộ nhớ  
chính  
Graphics  
display  
Network  
Disk  
Disk  
8 September 2009  
7
8 September 2009  
8
Nguyễn Kim Khánh - ĐHBKHN  
2
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
2. Các thiết bị ngoại vi  
Một số thiết bị ngoại vi  
Input type  
Symbol  
Position  
Identity  
Sensory  
Audio  
Prime examples  
Keyboard, keypad  
Mouse, touchpad  
Barcode reader  
Other examples  
Music note, OCR  
Stick, wheel, glove  
Badge, fingerprint  
Scent, brain signal  
Phone, radio, tape  
Graphic tablet  
Data rate (b/s) Main uses  
10s  
Ubiquitous  
100s  
Ubiquitous  
„ Chức năng: chuyển đổi dữ liệu giữa  
100s  
Sales, security  
Control, security  
Ubiquitous  
bên trong và bên ngoài máy tính  
Touch, motion, light  
Microphone  
100s  
1000s  
Image  
Scanner, camera  
Camcorder, DVD  
1000s-106s  
1000s-109s  
Photos, publishing  
Entertainment  
„ Phân loại:  
Video  
VCR, TV cable  
Output type  
Symbol  
Position  
Warning  
Sensory  
Audio  
Prime examples  
LCD line segments  
Stepper motor  
Other examples  
LED, status light  
Robotic motion  
Data rate (b/s) Main uses  
„
„
„
Thiết bị ngoại vi giao tiếp người-máy:  
Bàn phím, Màn hình, Máy in,...  
10s  
Ubiquitous  
100s  
Ubiquitous  
Buzzer, bell, siren  
Braille text  
Flashing light  
A few  
100s  
Safety, security  
Personal assistance  
Ubiquitous  
Thiết bị ngoại vi giao tiếp máy-máy: gồm  
các thiết bị theo dõi và kiểm tra  
Scent, brain stimulus  
Voice synthesizer  
Plotter, microfilm  
Film/video recorder  
Speaker, audiotape  
Monitor, printer  
1000s  
1000s  
1000s-109s  
Image  
Ubiquitous  
Video  
Monitor, TV screen  
Entertainment  
Thiết bị ngoại vi truyền thông: Modem,  
Network Interface Card (NIC)  
Two-way I/O Prime examples  
Other examples  
CD, tape, archive  
Cable, DSL, ATM  
Data rate (b/s) Main uses  
Mass storage  
Network  
Hard/floppy disk  
Modem, fax, LAN  
106s  
1000s-109s  
Ubiquitous  
Ubiquitous  
8 September 2009  
9
8 September 2009  
10  
NKK-HUT  
NKK-HUT  
Cấu trúc chung của thiết bị ngoại vi  
Các thành phần của thiết bị ngoại vi  
„ Bộ chuyển đổi tín hiệu: chuyển đổi dữ  
liệu giữa bên ngoài và bên trong máy  
tính  
„ Bộ đệm dữ liệu: đệm dữ liệu khi truyền  
giữa mô-đun vào-ra và thiết bị ngoại vi  
„ Khối logic điều khiển: điều khiển hoạt  
động của thiết bị ngoại vi đáp ứng theo  
yêu cầu từ mô-đun vào-ra  
8 September 2009  
11  
8 September 2009  
12  
Nguyễn Kim Khánh - ĐHBKHN  
3
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
3. Mô-đun vào-ra  
„ Chức năng của mô-đun vào-ra:  
Cấu trúc chung của mô-đun vào-ra  
„
Điều khiển và định thời  
„
Trao đổi thông tin với CPU hoặc bộ nhớ  
chính  
„
„
Trao đổi thông tin với thiết bị ngoại vi  
Đệm giữa bên trong máy tính với thiết bị  
ngoại vi  
„
Phát hiện lỗi của thiết bị ngoại vi  
8 September 2009  
13  
8 September 2009  
14  
NKK-HUT  
NKK-HUT  
Các thành phần của mô-đun vào-ra  
4. Địa chỉ hóa cổng vào-ra  
a. Không gian địa chỉ của bộ xử lý  
„ 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  
thiết bị ngoại vi, mỗi cổng có một đị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  
8 September 2009  
15  
8 September 2009  
16  
Nguyễn Kim Khánh - ĐHBKHN  
4
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Không gian địa chỉ của bộ xử lý (tiếp)  
Không gian địa chỉ của bộ xử lý (tiếp)  
„ Một số bộ xử lý quản lý hai không gian địa chỉ  
tách biệt:  
„ Một số bộ xử lý chỉ quản lý duy nhất một  
không gian địa chỉ:  
„
„
„
Không gian địa chỉ bộ nhớ: 2N địa chỉ  
Không gian địa chỉ vào-ra: 2N1 địa chỉ  
„
không gian địa chỉ bộ nhớ: 2N địa chỉ  
Có tín hiệu điều khiển phân biệt truy nhập không  
gian địa chỉ  
„ Ví dụ: Các bộ xử lý 680x0 (Motorola)  
„
Tập lệnh có các lệnh vào-ra chuyên dụng  
„ Ví dụ: Pentium (Intel)  
„
„
„
„
không gian địa chỉ bộ nhớ = 232 byte = 4GB  
không gian địa chỉ vào-ra = 216 byte = 64KB  
Tín hiệu điều khiển  
Lệnh vào-ra chuyên dụnN, OUT  
8 September 2009  
17  
8 September 2009  
18  
NKK-HUT  
NKK-HUT  
b. Các phương pháp địa chỉ hoá cổng vào-ra  
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  
„ Vào-ra riêng biệt  
(Isolated IO hay IO mapped IO)  
„ Vào-ra theo bản đồ bộ nhớ  
(Memory mapped IO)  
„ 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ó  
quản lý không gian địa chỉ vào-ra riêng  
biệt  
8 September 2009  
19  
8 September 2009  
20  
Nguyễn Kim Khánh - ĐHBKHN  
5
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
3.2. Các phương pháp điều khiển vào-ra  
Vào-ra theo bản đồ bộ nhớ  
„ Cổng vào-ra được đánh địa chỉ theo  
không gian địa chỉ bộ nhớ  
„ Vào-ra bằng chương trình  
(Programmed IO)  
„ 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ớ  
„ Vào-ra điều khiển bằng ngắt  
(Interrupt Driven IO)  
„ Truy nhập bộ nhớ trực tiếp - DMA  
„ Có thể thực hiện trên mọi hệ thống  
(Direct Memory Access)  
8 September 2009  
21  
8 September 2009  
22  
NKK-HUT  
NKK-HUT  
1. Vào-ra bằng chương trình  
Các tín hiệu điều khiển vào-ra  
„ Tín hiệu điều khiển (Control): kích hoạt thiết  
bị ngoại vi  
„ Tín hiệu kiểm tra (Test): kiểm tra trạng thái  
của mô-đun vào-ra và thiết bị ngoại vi  
„ Tín hiệu điều khiển đọc (Read): yêu cầu mô-  
đun vào-ra nhận dữ liệu từ thiết bị ngoại vi  
và đưa vào thanh ghi đệm dữ liệu, rồi CPU  
nhận dữ liệu đó  
„ 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.  
„ Tín hiệu điều khiển ghi (Write): yêu cầu mô-  
đun vào-ra lấy dữ liệu trên bus dữ liệu đưa  
đến thanh ghi đệm dữ liệu rồi chuyển ra thiết  
bị ngoại vi  
8 September 2009  
23  
8 September 2009  
24  
Nguyễn Kim Khánh - ĐHBKHN  
6
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Các lệnh vào-ra  
Lưu đồ đoạn chương trình vào-ra  
„ Với vào-ra riêng biệt: sử dụng các lệnh  
vào-ra chuyên dụng (IN, OUT).  
„ Với vào-ra theo bản đồ bộ nhớ: 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 vào-ra.  
8 September 2009  
25  
8 September 2009  
26  
NKK-HUT  
NKK-HUT  
Hoạt động của vào-ra bằng chương trình  
Đặc điểm  
„ CPU yêu cầu thao tác vào-ra  
„ Mô-đun vào-ra thực hiện thao tác  
„ Vào-ra do ý muốn của người lập trình  
„ CPU trực tiếp điều khiển vào-ra  
„ Mô-đun vào-ra thiết lập các bit trạng  
thái  
„ CPU đợi mô-đun vào-ra Æ tiêu tốn thời  
gian của CPU  
„ CPU kiểm tra các bit trạng thái:  
„
Nếu chưa sẵn sàng thì quay lại kiểm tra  
„
Nếu sẵn sàng thì chuyển sang trao đổi dữ  
liệu với mô-đun vào-ra  
8 September 2009  
27  
8 September 2009  
28  
Nguyễn Kim Khánh - ĐHBKHN  
7
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
2. Vào-ra điều khiển bằng ngắt  
„ Nguyên tắc chung:  
Chuyển điều khiển đến chương trình con ngắt  
„
CPU không phải đợi trạng thái sẵn sàng  
của 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  
8 September 2009  
29  
8 September 2009  
30  
NKK-HUT  
NKK-HUT  
Hoạt động vào dữ liệu: nhìn từ CPU  
Hoạt động vào dữ liệu: nhìn từ mô-đun vào-ra  
„ Mô-đun vào-ra nhận tín hiệu điều khiển  
đọc từ CPU  
„ Phát tín hiệu điều khiển đọc  
„ Làm việc khác  
„ Mô-đun vào-ra nhận dữ liệu từ thiết bị  
ngoại vi, trong khi đó CPU làm việc  
khác  
„ Cuối mỗi chu trình lệnh, kiểm tra tín  
hiệu ngắt  
„ Nếu bị ngắt:  
„
Cất ngữ cảnh (nội dung các thanh ghi)  
Thực hiện chương trình con ngắt để vào  
dữ liệu  
Khôi phục ngữ cảnh của chương trình  
đang thực hiện  
„ Khi đã có dữ liệu Æ mô-đun vào-ra phát  
tín hiệu ngắt CPU  
„
„ CPU yêu cầu dữ liệu  
„
„ Mô-đun vào-ra chuyển dữ liệu đến CPU  
8 September 2009  
31  
8 September 2009  
32  
Nguyễn Kim Khánh - ĐHBKHN  
8
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Các vấn đề nảy sinh khi thiết kế  
Các phương pháp nối ghép ngắt  
„ Làm thế nào để xác định được mô-đun  
vào-ra nào phát tín hiệu ngắt ?  
„ Sử dụng nhiều đường yêu cầu ngắt  
„ Hỏi vòng bằng phần mềm (Software  
„ CPU làm như thế nào khi có nhiều yêu  
cầu ngắt cùng xẩy ra ?  
Poll)  
„ Hỏi vòng bằng phần cứng (Daisy Chain  
or Hardware Poll)  
„ Sử dụng bộ điều khiển ngắt (PIC)  
8 September 2009  
33  
8 September 2009  
34  
NKK-HUT  
NKK-HUT  
Nhiều đường yêu cầu ngắt  
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ô-đun vào-ra  
„ Chậm  
„ Thứ tự các mô-đun được hỏi vòng chính là  
thứ tự ưu tiên  
„
Mmô-đun 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 mô-đun vào-ra  
Các đường ngắt được qui định mức ưu tiên  
8 September 2009  
35  
8 September 2009  
36  
Nguyễn Kim Khánh - ĐHBKHN  
9
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Hỏi vòng bằng phần cứng  
Kiểm tra vòng bằng phần cứng (tiếp)  
„ CPU phát tín hiệu chấp nhận ngắt  
(INTA) đến mô-đun vào-ra đầu 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  
„ Thứ tự các mô-đun vào-ra kết nối trong  
chuỗi xác định thứ tự ưu tiên  
8 September 2009  
37  
8 September 2009  
38  
NKK-HUT  
NKK-HUT  
Bộ điều khiển ngắt lập trình được  
Đặ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  
„
Phần cứng: gây ngắt CPU  
Phần mềm: trao đổi dữ liệu  
„
„ CPU trực tiếp điều khiển vào-ra  
„ CPU không phải đợi mô-đun vào-ra Æ  
hiệu quả sử dụng CPU tốt hơn  
„ PIC – Programmable Interrupt Controller  
„ PIC có nhiều đường vào yêu cầu ngắt có qui  
định mức ưu tiên  
„ PIC chọn một 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  
8 September 2009  
39  
8 September 2009  
40  
Nguyễn Kim Khánh - ĐHBKHN  
10  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
3. DMA (Direct Memory Access)  
Sơ đồ cấu trúc của DMAC  
„ Vào-ra bằng chương trình và bằng ngắt  
do CPU trực tiếp điều khiển:  
„
Chiếm thời gian của CPU  
„
Tốc độ truyền bị hạn chế vì phải chuyển  
qua CPU  
„ Để khắc phục dùng DMA  
„
Thêm mô-đun phần cứng trên bus Æ  
DMAC (Controller)  
„
DMAC điều khiển trao đổi dữ liệu giữa mô-  
đun vào-ra với bộ nhớ chính  
8 September 2009  
41  
8 September 2009  
42  
NKK-HUT  
NKK-HUT  
Các thành phần của DMAC  
Hoạt động DMA  
„ CPU “nói” cho DMAC  
„
„
„
Vào hay Ra dữ liệu  
„ 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  
Địa chỉ thiết bị vào-ra (cổng vào-ra tương ứng)  
Đị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 dữ liệu  
„ CPU làm việc khác  
„ DMAC điều khiển trao đổi dữ liệu  
„ Sau khi truyền được một từ dữ liệu thì:  
„
nội dung thanh ghi địa chỉ tăng  
„
nội dung bộ đếm dữ liệu giảm  
„ Khi bộ đếm dữ liệu = 0, DMAC gửi tín hiệu ngắt  
CPU để báo kết thúc DMA  
44  
8 September 2009  
43  
8 September 2009  
Nguyễn Kim Khánh - ĐHBKHN  
11  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Các kiểu thực hiện DMA  
Cấu hình DMA (1)  
„ DMA truyền theo khối (Block-transfer DMA):  
DMAC sử dụng bus để truyền xong cả khối  
dữ liệu  
„ DMA lấy chu kỳ (Cycle Stealing DMA): DMAC  
cưỡng bứ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.  
„ Mỗi lần trao đổi một dữ liệu, DMAC sử dụng  
bus hai lần  
„
Giữa mô-đun vào-ra với DMAC  
Giữa DMAC với bộ nhớ  
„ DMA trong suốt (Transparent DMA): DMAC  
nhận biết những chu kỳ nào CPU không sử  
dụng bus thì chiếm bus để trao đổi một từ dữ  
liệu.  
„
8 September 2009  
45  
8 September 2009  
46  
NKK-HUT  
NKK-HUT  
Cấu hình DMA (2)  
Cấu hình DMA (3)  
„ DMAC điều khiển một hoặc vài mô-đun vào-ra  
„ Mỗi lần trao đổi một dữ liệu, DMAC sử dụng  
bus một lần  
„
„
Bus vào-ra tách rời hỗ trợ tất cả các thiết bị cho phép DMA  
Mỗi lần trao đổi một dữ liệu, DMAC sử dụng bus một lần  
„
Giữa DMAC với bộ nhớ  
„
Giữa DMAC với bộ nhớ  
8 September 2009  
47  
8 September 2009  
48  
Nguyễn Kim Khánh - ĐHBKHN  
12  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Đặc điểm của DMA  
4. Kênh vào-ra hay là 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  
„ CPU không tham gia trong quá trình  
trao đổi dữ liệu  
„ Bộ xử lý vào-ra hoạt động theo chương  
trình của riêng nó  
„ DMAC điều khiển trao đổi dữ liệu giữa  
bộ nhớ chính với mô-đun vào-ra (hoàn  
toàn bằng phần cứng)Æ tốc độ nhanh  
„ 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  
„ Phù hợp với các yêu cầu trao đổi mảng  
dữ liệu có kích thước lớn  
„ Hoạt động theo kiến trúc đa xử lý  
8 September 2009  
49  
8 September 2009  
50  
NKK-HUT  
NKK-HUT  
Nối ghép song song  
3.3. Nối ghép thiết bị ngoại vi  
1. Các kiểu nối ghép vào-ra  
„ Nối ghép song song  
„ Nối ghép nối tiếp  
„
„
„
Truyền nhiều bit song song  
Tốc độ nhanh  
Cần nhiều đường truyền dữ liệu  
8 September 2009  
51  
8 September 2009  
52  
Nguyễn Kim Khánh - ĐHBKHN  
13  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Nối ghép nối tiếp  
2. 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ị ngoại vi  
„ Điểm tới đa điểm (Point to Multipoint)  
„
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ị ngoại vi  
„
Ví dụ:  
„
„
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  
„
SCSI (Small Computer System Interface): 7 hoặc  
15 thiết bị  
„
„
USB (Universal Serial Bus): 127 thiết bị  
IEEE 1394 (FireWire): 63 thiết bị  
„
„
8 September 2009  
53  
8 September 2009  
54  
NKK-HUT  
Hết chương 3  
8 September 2009  
55  
Nguyễn Kim Khánh - ĐHBKHN  
14  
pdf 14 trang yennguyen 19940 Free
Bạn đang xem tài liệu "Bài giảng Hệ thống máy tính - Chương 3: Kiến trúc vào-ra - Nguyễn Kim Khánh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_thong_may_tinh_chuong_3_kien_truc_vao_ra_nguyen.pdf