CPU Mô-đun

Một phần của tài liệu Bài giảng kiến trúc máy tính chương 8 vào ra (Trang 34)

Mô-đun vào-ra INTR3 INTR2 INTR1 INTR0 Thanh ghi yêu cầu ngắt Mô-đun vào-ra Mô-đun vào-ra Mô-đun vào-ra

26 May 2012 IT3030 35

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 CPU Mô-đun vào-ra INTR Cờ yêu cầu ngắt Mô-đun vào-ra Mô-đun vào-ra Mô-đun vào-ra

Hỏi vũng bằng phần cứng CPU Mô-đun vào-ra INTR Cờ yêu cầu ngắt Bus dữ liệu Mô-đun vào-ra Mô-đun vào-ra Mô-đun vào-ra INTA

26 May 2012 IT3030 37

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

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ú 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

CPU Mô-đun Mô-đun vào-ra INTR3 INTR2 INTR1 INTR0 Mô-đun vào-ra Mô-đun vào-ra Mô-đun vào-ra PIC INTR INTA Bus dữ liệu

26 May 2012 IT3030 39

Đặ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 

Ngắt của 80x86

 Tổ chức kiểu vector ngắt

 Số hiệu ngắt: n (00-FF)

 Bảng vector ngắt: 256 x 4 byte = 1024bytes (adsbygoogle = window.adsbygoogle || []).push({});

00000 – 003FF

26 May 2012 IT3030 41

3. DMA (Direct Memory Access)

 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

Sơ đồ cấu trỳc của DMAC

Bộ đếm dữ liệu

Logic điều khiển Thanh ghi địa chỉ Thanh ghi dữ liệu

Các đ-ờng dữ liệu

Các đ-ờng địa chỉ Yêu cầu bus Chuyển nh-ợng bus

Ngắt Đọc

Ghi

Điều khiển đọc Điều khiển ghi

Yêu cầu DMA Chấp nhận DMA

26 May 2012 IT3030 43

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ỉ 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

Hoạt động DMA

 CPU “núi” cho DMAC (adsbygoogle = window.adsbygoogle || []).push({});

 Vào hay Ra dữ liệu

 Đị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

26 May 2012 IT3030 45

Cỏc kiểu thực hiện DMA

 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.

 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.

Cấu hỡnh DMA (1)

 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ớ

CPU

. . .

DMAC I/O Memory

Một phần của tài liệu Bài giảng kiến trúc máy tính chương 8 vào ra (Trang 34)