1. Trang chủ
  2. » Giáo Dục - Đào Tạo

VÀO RA BẰNG NGẮT (cấu TRÚC máy TÍNH SLIDE)

28 52 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 295,17 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trắc nghiệm, bài giảng pptx các môn chuyên ngành Y dược và các ngành khác hay nhất có tại “tài liệu ngành Y dược hay nhất”; https://123doc.net/users/home/user_home.php?use_id=7046916. Slide bài giảng môn cấu trúc máy tính ppt dành cho sinh viên chuyên ngành công nghệ - kỹ thuật và các ngành khác. Trong bộ sưu tập có trắc nghiệm kèm đáp án chi tiết các môn, giúp sinh viên tự ôn tập và học tập tốt môn cấu trúc máy tính bậc cao đẳng đại học chuyên ngành công nghệ - kỹ thuật và các ngành khác

Trang 1

Bài 9

VÀO RA BẰNG NGẮT

Trang 2

1 CÁC PHƯƠNG PHÁP VÀO/RA

• Phương pháp hỏi vòng (Polling)

– CPU thăm dò trạng thái của ngoại vi qua cổng trạng thái.

– Quá trình thăm dò được thực hiện tuần hoàn

– Ưu điểm: dễ tổ chức.

– Nhược điểm: tốn thời gian của CPU.

• Phương pháp ngắt (Interrupt)

 CPU thực hiện chương trình, không thăm dò trạng thái ngoại vi.

 Khi cần trao đổi dữ liệu, ngoại vi gửi y/c ngắt cho CPU

 CPU ngắt khỏi chương trình chính để phục vụ ngoại vi và quay trở

về chương trình chính sau khi trao đổi xong.

Trang 3

a) Phương pháp hỏi vòng

• Vào/ra dữ liệu được CPU thực hiện thông qua các cổng.

• CPU thăm dò trạng thái sẵn sàng của cổng

thông qua các tín hiệu bắt tay (Handshake

Signals).

• Các tín hiệu thăm dò lấy từ các mạch phối ghép được thiết kế.

Trang 4

Ví dụ vào/ra bằng thăm dò

• Sơ đồ ghép nối máy in:

80 88

D7

D0-INTR

D0-D7

82 55

STB ACK D0- D7

PC7

PC6PA0-PA7

PC3INTRA

Mỏy in

Trang 5

Chế độ 1: Ra dữ liệu với khả năng bắt

tay

Port A output OBFA ACKA

INTRA

Cổng A với các tín hiệu bắt tay

OBFB ACKB

INTRB

Cổng B với các tín hiệu bắt tay

D7 D6 D5 D4 D4 D2 D1 D0

Port B Output Port B Mode 1 PC4,5:

1=Input 0= Output

Từ trạ ng thái - Mode 1 Output

D7 D6 D5 D4 D3 D2 D1 D0

INTEA do PC6 điều khiển ở mode BSR INTEB do PC2 điều khiển ở mode BSR

Sơ đồ đầu ra chế độ 1 của 8255A

Từ điều khiển - Mode 1 Output

INTR ACK Output

Biểu đồ thời gian lối ra chế độ 1

OBFA INTA INTRA INTEB OBFB INTRB

Mode I/O Port A mode 1 Port A Output

Port B output

PA7 PA0 INTEA

PC7 PC6

PC3

WR

INTEB

A PC1PC2

PC0

PC4,5

OBF WR

I/O I/O

Trang 6

Ch ¬ng tr×nh in th«ng b¸o:

“Hello! I print a message”

§o¹n d÷ liÖu:

CWP EQU 303H ;dia chi thanh ghi dieu khien

Trang 7

§o¹n ch ¬ng tr×nh:

MOV AL,10100000B ;tu dieu khien: PA ra, che do 1

MOV AL,00001101B ;lap PC6=1 cho INTEa

MOV SI,OFFSET MY_DATA ;SI=dia chi chuoi du lieu

OUT DX,AL ;gui ky tu cua chuoi toi may in

INC SI ;tang con tro du lieu

Thăm dò trạng thái cổng máy in

Trang 8

b) Vµo/ra b»ng ng¾t

• Ngắt: CPU tạm dừng công việc hiện tại để trao

đổi dữ liệu.

• Sử dụng để tận dụng khả năng xử lý của CPU

cho nhiều công việc

• CPU 8088 có 2 chân vào ngắt: NMI (không

che được) và INTR (che được).

• Mạch hỗ trợ ngắt cứng: Interrupt Controller

8259 có 8 đầu vào ngắt.

Trang 9

– 2 byte địa chỉ segment (để gán cho CS)

– 2 byte địa chỉ offset (để gán cho IP)

Trang 10

Bảng vector ngắt

• Chứa các địa chỉ lệnh đầu tiên (vector ngắt) của chương trình con phục vụ ngắt.

• Nằm ở đầu bộ nhớ: từ 00000 đến 003FFh

Trang 11

Xem bảng vector ngắt bằng Debug

Ô nhớ chứa vector ngắt INTnn có địa chỉ: nn x 4

Ví dụ: địa chỉ ngắt INT0 là: 00A7:1068

INT1 là: 0070:018B INT2 là: 03A0:0016

INT0F là: 020E:03FF

Trang 12

Chương trình con phục vụ ngắt (ISR-Interrupt Service Rountine)

• Mỗi ngắt có 01 chương trình con ISR.

• Mỗi ISR có địa chỉ CS:IP của lệnh đầu lưu trong Bảng vector ngắt.

• Khi ngắt được kích hoạt chương trình ISR

được gọi để phục vụ ngắt.

• Khi bị ngắt, CPU cất CS:IP hiện thời vào Stack rồi gán cho CS:IP giá trị lấy từ Bảng vector ngắt

Trang 13

Chạy chương trình ISR

• Vào Command Prompt bằng lệnh cmd

• Nhập Debug, nhấn Enter

• Trong môi trường Debug nhập 2 lệnh assembler: -a

• Chạy chương trình: -G

Trang 14

2 NGẮT TRONG MÁY TÍNH IBM PC

• Ngắt cứng: phát sinh từ mạch của các ngoại vi

Ví dụ: INT 9h (ngắt từ bàn phím), INT 0Bh (ngắt từ COM2),

• Ngắt mềm: kích hoạt bởi lệnh phần mềm

Ví dụ: INT 21h (ngắt của DOS), INT 10h (ngắt của BIOS, phục vụ

Video),

• Ngắt nội bộ:

– INT 00: phép chia cho 0 (Divide by 0)

– INT 01: chạy từng lệnh (Trap mode: cờ TF=1).

– INT 02: ngắt không che được (input NMI=1).

– INT 03: điểm dừng (Halt).

– INT 04: tràn số có dấu (cờ Over Flow OF=1)

Trang 15

Ngắt và thanh ghi cờ

Cờ ngắt IF đ ợc dùng để che ngắt cứng tới chân INTR:

đều bị cấm

cho phép.

lập cờ ngắt STI (set interrupt flag) dùng để

R = dự trữ (reserved) SF = cờ dấu (sign flag)

U = ch a xác định (undefined) ZF = cờ không (zero flag)

OF = cờ tràn (overflow flag) AF = cờ nhớ phụ (auxiliary carry flag)

DF = cờ h ớ ng (direction flag) PF = cờ chẵn lẻ (parity flag)

IF = cờ ngắt (interrupt flag) CF = cờ nhớ (carry flag)

TF = cờ bẫy (trap flag)

Hình 11.2 Thanh ghi cờ

Trang 16

Quá trình thực hiện một ngắt

1 Cất thanh ghi cờ (FR) vào ngăn xếp và giảm SP đi 2

2 Xoá hai cờ cho phép ngắt IF và cờ bẫy TF (IF=0 và TF=0) Tuỳ thuộc vào thủ tục ngắt mà có thể huỷ che chân INTR bằng lệnh STI

3 Cất CS hiện hành vào ngăn xếp và giảm SP đi 2.

4 Cất IP hiện hành vào ngăn xếp và giảm SP đi 2.

5 Nhân số hiệu INT với 4 để xác định địa chỉ vật

lý của ngắt trong bảng vec tơ ngắt, qua đó có đ ợc

CS và IP của ch ơng trình con phục vụ ngắt ISR.

6 Với CS:IP mới, CPU bắt đầu nhận và thực hiện các lệnh của ch ơng trình con phục vụ ngắt ISR.

7 Lệnh cuối cùng của ISR là lệnh IRET Lệnh này thông báo để CPU tải lại giá trị IP, CS và FR từ ngăn xếp và nhờ vậy CPU có thể chạy tiếp ch ơng trình tại nơi nó

đã bị ngắt

Trang 17

3.Mạch điều khiển ngắt khả

trình 8259

Chức năng: hỗ trợ ngắt cứng, mở rộng

số ngắt cứng cho CPU, sắp xếp thứ tự u tiên.

Sơ đồ khối: Link

4 từ khởi tạo ICW1-ICW4

(Initialization Command Word)

3 từ điều khiển hoạt động

OCW1-OCW3 (Operation Command Word)

Trang 18

Lo gic điều khiển

ISR PR IRR

IMR

Internal Bus

IR0-IR7

Bộ đệm dữ liệu

Khối logic (đọc ghi)

Bộ đệm cascad Các yêu cầu ngắt

Trang 19

Hình 2.24 Bộ điều khiển ngắt lập trình 8259A

Vcc A0 INTA IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 INT

SP / EN CAS 2

D0-D7

RD

WR

CS A0 INT INTA

CS0 - CS2 SP/EN

Ghi chú:

IMR : Thanh ghi mặt nạ để che hay không che ngắt ISR : L u ngắt đ ợ c phục vụ

Trang 20

§Þa chØ cña ICW vµ OCW

Trang 21

Ví dụ tìm địa chỉ ICW, OCW

Ví dụ 1:

Tìm địa chỉ của ICW1 - ICW4 nếu chọn chíp (CS) đ ợc kích hoạt bởi A7 - A1 = 0010000X

Giải:

Nh trên cho thấy 20H là địa chỉ cổng của ICW1 và 21H là

của ICW2, ICW3 và ICW4

Trang 22

Các câu hỏi liên quan

Câu 1: Các phương pháp phục vụ vào/ra của CPU? Ưu nhược điểm của chúng? Trình bày

về bảng vector ngắt: chức năng, vị trí trong bộ nhớ? Vec-tơ ngắt (địa chỉ đoạn và độ lệch) của chương trình con phục vụ ngắt INT 14h nằm ở những ngăn nhớ nào trong bảng vec-tơ ngắt?

Trang 23

Các câu hỏi liên quan

Câu 1: Các phương pháp phục vụ vào/ra của CPU? Ưu nhược điểm của chúng? Trình bày

về bảng vector ngắt: chức năng, vị trí trong bộ nhớ? Vec-tơ ngắt (địa chỉ đoạn và độ lệch) của chương trình con phục vụ ngắt INT 14h nằm ở những ngăn nhớ nào trong bảng vec-tơ ngắt?

Trả lời: (tiếp)

• Quản lý bằng phương pháp ngắt: Mỗi thiết bị vào/ra được gán với một tín hiệu ngắt khi ngoại vi yêu câu được phục vụ, nó sẽ phát tín hiệu IRQ đến mạch điều khiển ngắt và qua thiết bị này thông báo cho CPU biết yêu cầu được phục vụ Khi CPU nhận được

thông báo này nó sẽ cất toàn bộ trạng thái hiện thời (địa chỉ CS:IP, thanh ghi RF) vào trong ngăn xếp và căn cứ vào số hiệu ngắt để xác định được địa chỉ của chương trình con phục vụ ngắt CPU sẽ thực hiện chương trình con phục vụ ngắt đáp ứng yêu cầu của ngoại vi tương ứng Sau khi chương trình con phục vụ ngắt kết thúc, trạng thái của CPU trước đó sẽ được hồi phục và CPU lại tiếp tục quá trình trước đó Ưu điểm của phương pháp này là đáp ứng tức thời yêu cầu của ngoại vi Trên máy tính IBM PC và tương thích hình thức quản lý ngoại vi bằng ngắt được áp dụng

• Vector ngắt là một vùng nhớ có độ dài 1024 bytes (1 KB) được quy định nằm ở địa chỉ

từ 00000h – 003FFh dùng để chứa địa chỉ của các chương trình con phục vụ ngắt

Vecter ngăt gồm có 256 phần tử mỗi phần tử gồm có 4 byte (tương đương 1 KB bộ

nhớ) được dùng để chứa địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt (hai byte thấp chứa địa chỉ độ lệch và 2 byte cao chứa địa chỉ đoạn)

Trang 24

Các câu hỏi liên quan

Câu 1: Các phương pháp phục vụ vào/ra của CPU? Ưu nhược điểm của chúng? Trình bày

về bảng vector ngắt: chức năng, vị trí trong bộ nhớ? Vec-tơ ngắt (địa chỉ đoạn và độ lệch) của chương trình con phục vụ ngắt INT 14h nằm ở những ngăn nhớ nào trong bảng vec-tơ ngắt?

Trả lời: (tiếp)

• Hệ điều hành của máy tính IBM quy định có 256 ngắt được đánh số từ 00h – FFh do đó mỗi phần tử của vector ngắt sẽ chứa địa chỉ của 1 chương trình con phục vụ ngắt Địa chỉ đầu tiên của mỗi phần tử ngắt trong bảng vector ngắt được xác định gấp 4 lần số hiệu ngắt

• Với ngắt có số hiệu là 14h thì địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt này sẽ được chứa trong các ô nhớ ở bảng vector ngắt như sau:

• Địa chỉ đầu tiên của phần tử ngắt bằng 4 lần số hiệu ngắt: 14h x 4 = 50h

• Như vậy ô nhớ có địa chỉ 00050h và 00051h sẽ chứa địa chỉ độ lệch của chương trình con phục vụ ngắt 14h

• Ô nhớ 00052h và ô nhớ 00053h chứa địa chỉ đoạn của chương trình con phục vụ ngắt có số hiệu 14h

Trang 25

Các câu hỏi liên quan

Câu 2: Định nghĩa ngắt và phân loại ngắt? Vector ngắt là gì, gồm mấy byte? Nội dung của

nó chứa thông tìn gì? Trình bày cách xác định địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt có số hiệu ngắt là INT 17h?

Trả lời:

• Định nghĩa ngắt: Ngắt là sự đáp ứng các sự kiện bên ngoài nhằm thông báo cho CPU biết thiết bị cần phục vụ

• Ngắt cứng: (Hardware Interrupt) được phát sinh bởi các mạch của máy tính khi đáp lại

1 sự kiện nào đó Nó được dùng để điều khiển các thiết bị ngoại vi quan trọng trên máy tính như bàn phím, ổ đĩa, máy in v.v Các ngắt này được vi mạch điều khiển ngắt 8259A quản lý

Trang 26

Các câu hỏi liên quan

Câu 2: Định nghĩa ngắt và phân loại ngắt? Vector ngắt là gì, gồm mấy byte? Nội dung của

nó chứa thông tìn gì? Trình bày cách xác định địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt có số hiệu ngắt là INT 17h?

có thể đặt các ngắt bẫy để kiểm tra

• Vector ngắt là gì, gồm mấy byte? Xem trả lời ở câu 1

Trang 27

Các câu hỏi liên quan

Câu 3: Thế nào là ngắt cứng và ngắt mềm Hệ điều hành của máy tính IBM cho phép

quản lý tối đa được bao nhiêu ngắt cứng và ngắt mềm Khi một ngắt được kích hoạt, CPU xác định địa chỉ của chương trình con phục vụ ngắt đó như thế nào? (cụ thể cho trường hợp ngắt mềm) Xác định các ô nhớ chứa thông tin cho phép xác định địa chỉ logic của chương trình con phục vụ ngắt có số hiệu ngắt là 18h

• Với ngắt cứng: HĐH sẽ xác định số hiệu của ngắt tương ứng thông qua việc đọc nội dung của thanh ghi ICW2 (Initialization Command Word 2- từ lệnh khởi tạo 2) trên vi mạch quản lý ngắt sau đó HĐH lấy số hiệu ngắt đó nhân với 4 để xác định được vị trí của 4 ô nhớ trong bảng vector ngắt nơi chứa địa chỉ đoạn và độ lệch của chương trình con phục vụ ngắt

Trang 28

Các câu hỏi liên quan

Câu 4: Nêu định nghĩa ngắt, phân loại ngắt, chương trình con phục vụ ngắt và vec-tơ

ngắt? Qui trình thực hiện ngắt của CPU khi có một ngắt được kích hoạt?

Câu 5: Định nghĩa vai trò của ngăn xếp và thanh ghi con trỏ ngăn xếp - SP khi thực hiện

thao tác cất giữ và hồi phục số liệu vào trong Stack (ngăn xếp) Khi khởi động máy tính SP được thiết lập giá trị như thế nào Khi nào thì SP có giá trị tăng và khi nào thì có giá trị giảm đi

Trả lời:

• Ngăn xếp là một vùng nhớ có độ dài 64 KB (tương đương 1 segment) được máy tính sử dụng để cất tình trạng tạm thời của hệ thống gồm trạng thái của các thanh ghi RF, CS, IP khi thực hiện các thao tác ngắt và là nơi cất giữ và hồi phục thông tin các thanh ghi đa năng của BVXL khi thực hiện các lệnh Push và Pop.

• Thanh ghi con trỏ ngăn xếp (SP) là thanh ghi có độ dài 16 bits có chức năng luôn trỏ đến đỉnh của ngăn xếp

• Đỉnh của ngăn xếp là vị trí của ô nhớ mà SP trỏ đến, tại đó sẽ diễn ra thao tác phục hồi và cất giữ

số liệu khi máy tính thực hiện các thao tác ngắt và các lệnh PUSH và POP.

• Địa chỉ của đỉnh ngăn xếp là: SS:SP khi khới động máy tính IBM PC và tương thích giá trị của

thanh ghi SP bao giờ cũng được nạp giá trị lớn nhất FFFFh

• Cấu trúc của ngăn xếp là cấu trúc LIFO (Vào sau/ra trước) do vậy khi máy tính thực hiện quá trình cất giữ trạng thái và thực hiện các lệnh cất giữ PUSH thì giá trị của ngăn xếp được giảm đi và khi máy tình thực hịên quá trình hồi phục trạng thái hay các lệnh POP thì giá trị của ngăn xếp được tăng lên Một thao tác cất giữ hay hồi phục thông tin khiến cho giá trị của thanh ghi SP thay đổi 2 đơn vị Tương đương với việc máy tính cất giữ hay hồi phục được 2 byte thông tin.

Ngày đăng: 22/03/2021, 17:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w