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

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

Bài VÀO RA BẰNG NGẮT 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 ngoại vi qua cổng trạng thái Q trình thăm dị thực tuần hoàn Ưu điểm: dễ tổ chức Nhược điểm: tốn thời gian CPU • Phương pháp ngắt (Interrupt)  CPU thực chương trình, khơng thăm dị trạng thái ngoại vi  Khi cần trao đổi liệu, ngoại vi gửi y/c ngắt cho CPU  CPU ngắt khỏi chương trình để phục vụ ngoại vi quay trở chương trình sau trao đổi xong a) Phương pháp hỏi vịng • Vào/ra liệu CPU thực thơng qua cổng • CPU thăm dị trạng thái sẵn sàng cổng thơng qua tín hiệu bắt tay (Handshake Signals) • Các tín hiệu thăm dò lấy từ mạch phối ghép thit k Ví dụ vào/ra thăm dò ã Sơ đồ ghép nối máy in: D0-D7 D0D7 PC7 INTR 80 INTRA PC3 STB ACK PC6 D0- PA0- D7 82PA7 Mỏy in Chế độ 1: Ra liệu với khả bắt tay PA7 Port A output PA0 INTEA PC7 OBFA PC6 ACKA PC3 - Mode Tõ ®iỊu khiĨn 1Output Cổng A với tín hiệu bắt tay D7 D6 D5 D4 D4 D2 D1 D0 Mode I/O Port A mode Port A Output INTRA Port B output INTEB A PC1 OBFB PC2 ACKB PC0 WR Port B Output PortB Mode PC4,5: 1=Input 0= Output INTRB - Mode Từ tr ng thái 1Output Cổng B với tÝn hiƯu b¾t tay D7 OBFA D6 D5 D4 INTA D3 I/O I/O INTRA D2 INTEB D1 OBFB INTRB INTEA ®iỊu PC6 khiĨn ë mode BSR INTEB ®iỊu PC2 khiển mode BSR PC4,5 1của8255A Sơ đồ đầu chÕ ®é WR OBF INTR ACK Output BiĨu ®å thời gian lối chế1 độ D0 Chơng trình in thông báo: Hello! I print a message Đoạn liệu: MY_DATA DB “Hello! I print a message?”,”$” PA EQU 300H ;dia chi cong PA PB EQU 301H ;dia chi cong PB PC EQU 302H ;dia chi cong PC CWP EQU 303H ;dia chi ghi dieu khien LF EQU 0AH ;ky tu xuong dong CR EQU 0DH ;ky tu ve dau dong Đoạn chơng trình: MOV AL,10100000B ;tu dieu khien: PA ra, che MOV DX,CWP ;dia chi tu dieu khien OUT DX,AL ;ghi tu dieu khien MOV AL,00001101B ;lap PC6=1 cho INTEa OUT DX,AL ;dung che BSR MOV SI,OFFSET MY_DATA ;SI=dia chi chuoi du lieu AGAIN: MOV AH,[SI] ;lay tung ky tu CMP AH,”$” ;ket thuc chuoi chua? JZ OVER ;neu roi, thoat MOV DX,PC ;dia chi cong PC BACK: IN AL,DX ;doc byte trang thai cong PC AND AL,08 ;INTRA o muc cao khong? JZ BACK ;neu khong tiep tuc hoi vong MOV DX,PA ;neu co, chuyen dia chi cong MOV AL,AH ;PA vao DX (DX=300h) OUT DX,AL ;gui ky tu cua chuoi toi may in Thăm dò INC SI ;tang tro du lieu trạng thái JMP AGAIN tuc thu hien cổng ;tiep máy in OVER: RET ;tro ve DOS b) Vào/ra ngắt • Ngắt: CPU tạm dừng công việc để trao đổi liệu • Sử dụng để tận dụng khả xử lý CPU cho nhiều công việc • CPU 8088 có chân vào ngắt: NMI (khơng che được) INTR (che được) • Mạch hỗ trợ ngắt cứng: Interrupt Controller 8259 có đầu vào ngắt Số hiệu ngắt • Bộ VXL 8086/8088 có 256 ngắt: INT00 INTFF • Số hiệu ngắt nn: từ 00  FFh • Mỗi số hiệu ngắt tương ứng 01 địa chỉ, gọi vector ngắt • Vector ngắt gồm byte: – byte địa segment (để gán cho CS) – byte địa offset (để gán cho IP) Bảng vector ngắt • Chứa địa lệnh (vector ngắt) chương trình phục vụ ngắt • Nằm đầu nhớ: từ 00000 đến 003FFh NGẮT TRONG MÁY TÍNH IBM PC • Ngắt cứng: phát sinh từ mạch 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 lệnh phần mềm Ví dụ: INT 21h (ngắt DOS), INT 10h (ngắt BIOS, phục vụ Video), • Ngắt nội bộ: – INT 00: phép chia cho (Divide by 0) – INT 01: chạy lệnh (Trap mode: cờ TF=1) – INT 02: ngắt không che (input NMI=1) – INT 03: điểm dừng (Halt) – INT 04: tràn số có dấu (cờ Over Flow OF=1) Ng¾t ghi cờ Cờ ngắt IF đợc dùng để che ngắt cứng tới chân INTR: ã Nếu IF=0 ngắt cứng qua chân INTR bị cấm ã Nếu IF=1 ngắt cứng qua chân INTR cho phép ThanhCLI ghi cờ 16sẽ bit đặt IF=0 Lệnh ã Lệnh xoá cê ng¾t 15 14 13 12 11 10 lËp cêRng¾t STI (set dïng ®Ĩ R R R O F DF IF TF SF interrupt ZF U AF U PF U flag) CF R =dù tr÷(reserved) SF =cê dÊu (sign flag) đặt IF=1 U =ch a xác đ ịnh (undefined) ZF =cờ không (zero flag) OF =cờ tràn (overflowflag) DF =cờ h í ng (direction flag) IF =cê ng¾ t (interrupt flag) TF =cê bÉy (trap flag) H× nh 11.2 Thanh ghi cê AF =cê nhí phơ (auxiliary carry flag) PF =cờ chẵ n lẻ (parity flag) CF =cờ nhớ (carry flag) Quá trình thực ngắt Cất ghi cờ (FR) vào ngăn xếp giảm SP 2 Xoá hai cờ cho phép ngắt IF cê bÉy TF (IF=0 vµ TF=0) T thc vµo thđ tục ngắt mà huỷ che chân INTR lệnh STI Cất CS hành vào ngăn xếp giảm SP Cất IP hành vào ngăn xếp giảm SP Nhân số hiệu INT với để xác định địa vật lý ngắt bảng vec tơ ngắt, qua có đợc CS IP chơng trình phơc vơ ng¾t ISR Víi CS:IP míi, CPU b¾t đầu nhận thực lệnh chơng trình phơc vơ ng¾t ISR LƯnh ci cïng cđa ISR lệnh IRET Lệnh thông báo để CPU tải lại giá trị IP, CS FR từ ngăn xếp nhờ CPU chạy tiếp chơng trình nơi đà bị ngắt 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 Thành phần: • tõ khëi t¹o ICW1-ICW4 (Initialization Command Word) • từ điều khiển hoạt động OCW1-OCW3 (Operation Sơ đồ khối 8259 D0-D7 Bộ đệm liệu INTA INT gic Lo ®iỊu khiĨn RD, WR AO.CS Khèi logic (®äc ghi) CAS 0.12 SP/EN ISR PR IRR IR0-IR7 Bé ®Ưm cascad Các yêu cầu ngắt IMR Internal Bus Mạch điều khiển ngắt chơng trình hoá 8259 CS WR RD D7 D6 D5 D4 D3 D2 D1 D0 CAS CAS GND 10 11 12 13 14 A 28 27 26 25 24 23 22 21 20 19 18 17 16 15 Vcc A0 INTA IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 INT SP / EN CAS Vcc GND D0-D7 RD WR CS A0 INT INTA 8259A CS0 CS2 SP/EN Hì nh 2.24 Bộ đ iều khiển ngắ t lập trì nh 8259A Ghi chú: CS : Chip select SP/EN : Slave ProgramEnable Buffer ISR : In Service IRR : Interrupt Request IMR : Thanh ghi mặ t nạ đ ểche hay không che ngắ t A0 D0-D7 PR CAS ISR : đờng đ ịa chỉA0 : Bus d÷liƯu chiỊu : Prioryty : Cascad : L u ngắ t đợ c phục vụ R0 R1 R2 R3 R4 R5 R6 R7 Địa ICW OCW Ví dụ tìm địa ICW, OCW Ví dụ 1: Tìm địa ICW1 - ICW4 chọn chíp (CS) đợc kích hoạt A7 - A1 = 0010000X Giải: Nh cho thấy 20H địa chØ cỉng cđa ICW1 vµ 21H lµ cđa ICW2, ICW3 ICW4 Ví dụ 2: HÃy tìm địa cỉng cđa OCW cđa 8259 ë VÝ dơ Gi¶i: Từ bảng 5-6 Ví dụ 6.7 ta có: A7 A6 A5 A4 A3 A2 A1 A0 0 0 00 = 20H cỉng cđa OCW2 vµ OCW3 0 0 0 = 21H cỉng cđa OCW1 Các câu hỏi liên quan Câu 1: Các phương pháp phục vụ vào/ra CPU? Ưu nhược điểm chúng? Trình bày bảng vector ngắt: chức năng, vị trí nhớ? Vec-tơ ngắt (địa đoạn độ lệch) chương trình phục vụ ngắt INT 14h nằm ngăn nhớ bảng vec-tơ ngắt? Trả lời: • Máy tính có hai hình thức thức quản lý thiết bị vào/ra là: Quản lý thiết bị cách hỏi vòng quản lý thiết bị phương pháp ngắt • Quản lý cách hỏi vòng là: Mỗi thiết bị vào/ra máy tính có trạng thái biểu diễn thơng qua bit trạng thái cổng vào/ra có địa quy định Máy tính sau khoảng thời gian định đọc số liệu từ cổng xét trạng thái bits đại diện tương ứng với thiết bị vào/ra Nếu bits trạng thái tương ứng với thiết bị mức tích cực tương ứng với thông báo thiết bị vào/ra cần phục vụ, máy tính chạy chương trình tương ứng lệnh CALL hay lệnh JUMP để phục vụ thiết bị vào/ra Ưu điểm phương pháp thiết kế phần cứng đơn giản dùng cho hệ tối thiểu Nhược điểm phương pháp không đáp ứng tức thời với yêu cầu ngoại vi Các câu hỏi liên quan Câu 1: Các phương pháp phục vụ vào/ra CPU? Ưu nhược điểm chúng? Trình bày bảng vector ngắt: chức năng, vị trí nhớ? Vec-tơ ngắt (địa đoạn độ lệch) chương trình phục vụ ngắt INT 14h nằm ngăn nhớ bảng vec-tơ ngắt? Trả lời: (tiếp) • Quản lý phương pháp ngắt: Mỗi thiết bị vào/ra gán với tín hiệu ngắt ngoại vi yêu câu phục vụ, phát tín hiệu IRQ đến mạch điều khiển ngắt qua thiết bị thông báo cho CPU biết yêu cầu phục vụ Khi CPU nhận thơng báo cất toàn trạng thái thời (địa CS:IP, ghi RF) vào ngăn xếp vào số hiệu ngắt để xác định địa chương trình phục vụ ngắt CPU thực chương trình phục vụ ngắt đáp ứng yêu cầu ngoại vi tương ứng Sau chương trình phục vụ ngắt kết thúc, trạng thái CPU trước hồi phục CPU lại tiếp tục q trình trước Ưu điểm phương pháp đáp ứng tức thời yêu cầu ngoại vi Trên máy tính IBM PC tương thích hình thức quản lý ngoại vi ngắt áp dụng • Vector ngắt vùng nhớ có độ dài 1024 bytes (1 KB) quy định nằm địa từ 00000h – 003FFh dùng để chứa địa chương trình phục vụ ngắt Vecter ngăt gồm có 256 phần tử phần tử gồm có byte (tương đương KB nhớ) dùng để chứa địa đoạn độ lệch chương trình phục vụ ngắt (hai byte thấp chứa địa độ lệch byte cao chứa địa đoạn) Các câu hỏi liên quan Câu 1: Các phương pháp phục vụ vào/ra CPU? Ưu nhược điểm chúng? Trình bày bảng vector ngắt: chức năng, vị trí nhớ? Vec-tơ ngắt (địa đoạn độ lệch) chương trình phục vụ ngắt INT 14h nằm ngăn nhớ bảng vec-tơ ngắt? Trả lời: (tiếp) • Hệ điều hành máy tính IBM quy định có 256 ngắt đánh số từ 00h – FFh phần tử vector ngắt chứa địa chương trình phục vụ ngắt Địa phần tử ngắt bảng vector ngắt xác định gấp lần số hiệu ngắt • Với ngắt có số hiệu 14h địa đoạn độ lệch chương trình phục vụ ngắt chứa ô nhớ bảng vector ngắt sau: • Địa phần tử ngắt lần số hiệu ngắt: 14h x = 50h • Như nhớ có địa 00050h 00051h chứa địa độ lệch chương trình phục vụ ngắt 14h • Ơ nhớ 00052h ô nhớ 00053h chứa địa đoạn chương trình phục vụ ngắt có số hiệu 14h Các câu hỏi liên quan Câu 2: Định nghĩa ngắt phân loại ngắt? Vector ngắt gì, gồm byte? Nội dung chứa thơng tìn gì? Trình bày cách xác định địa đoạn độ lệch chương trình phục vụ ngắt có số hiệu ngắt INT 17h? Trả lời: • Định nghĩa ngắt: Ngắt đáp ứng kiện bên nhằm thông báo cho CPU biết thiết bị cần phục vụ • Ngắt cứng: (Hardware Interrupt) phát sinh mạch máy tính đáp lại kiện Nó dùng để điều khiển thiết bị ngoại vi quan trọng máy tính bàn phím, ổ đĩa, máy in v.v Các ngắt vi mạch điều khiển ngắt 8259A quản lý Máy tính IBM PC XT có ngắt cứng là: IRQ0Timer IRQ1Keyboard IRQ2Dùng máy AT IRQ3Serial port IRQ4 Serial port IRQ5 Hardisk IRQ6 Floppy disk IRQ7 Parallel port Các câu hỏi liên quan Câu 2: Định nghĩa ngắt phân loại ngắt? Vector ngắt gì, gồm byte? Nội dung chứa thơng tìn gì? Trình bày cách xác định địa đoạn độ lệch chương trình phục vụ ngắt có số hiệu ngắt INT 17h? Trả lời: (Tiếp) • Ngắt mềm (Software Interrupt) Do chương trình yêu cầu để thực chương trình có sẵn ROM hay RAM Ngắt mềm thực lệnh INT • Ngồi cịn có ngắt phát sinh nội sinh trinh thực chương trình xảy tình tràn số liệu nhớ, chương trình thực hịên gặp phải phép chia cho yêu cầu người lập trình q trình thiết kế hệ thống đặt ngắt bẫy để kiểm tra • Vector ngắt gì, gồm byte? Xem trả lời câu Các câu hỏi liên quan Câu 3: Thế ngắt cứng ngắt mềm Hệ điều hành máy tính IBM cho phép quản lý tối đa ngắt cứng ngắt mềm Khi ngắt kích hoạt, CPU xác định địa chương trình phục vụ ngắt nào? (cụ thể cho trường hợp ngắt mềm) Xác định ô nhớ chứa thông tin cho phép xác định địa logic chương trình phục vụ ngắt có số hiệu ngắt 18h Trả lời: • Hệ điều hành máy tính IBM PC tương thích cho phép quản lý 256 ngắt, ngắt gán số hiệu ngắt đánh số từ 00h đến 0FFh • Khi ngắt kích hoạt HĐH xác định địa chương trình phục vụ ngắt sau: • Với ngắt mềm: Số hiệu ngắt nằm lệnh INT, HĐH cần lấy số hiệu ngắt nhân với để xác định vị trí nhớ bảng vectorr ngắt nơi chứa địa đoạn độ lệch chương trình phục vụ ngắt • Với ngắt cứng: HĐH xác định số hiệu ngắt tương ứng thông qua việc đọc nội dung ghi ICW2 (Initialization Command Word 2- từ lệnh khởi tạo 2) vi mạch quản lý ngắt sau HĐH lấy số hiệu ngắt nhân với để xác định vị trí nhớ bảng vector ngắt nơi chứa địa đoạn độ lệch chương trình phục vụ ngắt 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 phục vụ ngắt vec-tơ ngắt? Qui trình thực ngắt CPU có ngắt kích hoạt? Câu 5: Định nghĩa vai trị ngăn xếp ghi trỏ ngăn xếp - SP thực thao tác cất giữ hồi phục số liệu vào Stack (ngăn xếp) Khi khởi động máy tính SP thiết lập giá trị Khi SP có giá trị tăng có giá trị giảm Trả lời: • • • • • Ngăn xếp vùng nhớ có độ dài 64 KB (tương đương segment) máy tính sử dụng để cất tình trạng tạm thời hệ thống gồm trạng thái ghi RF, CS, IP thực thao tác ngắt nơi cất giữ hồi phục thông tin ghi đa BVXL thực lệnh Push Pop Thanh ghi trỏ ngăn xếp (SP) ghi có độ dài 16 bits có chức ln trỏ đến đỉnh ngăn xếp Đỉnh ngăn xếp vị trí nhớ mà SP trỏ đến, diễn thao tác phục hồi cất giữ số liệu máy tính thực thao tác ngắt lệnh PUSH POP Địa đỉnh ngăn xếp là: SS:SP khới động máy tính IBM PC tương thích giá trị ghi SP nạp giá trị lớn FFFFh Cấu trúc ngăn xếp cấu trúc LIFO (Vào sau/ra trước) máy tính thực trình cất giữ trạng thái thực lệnh cất giữ PUSH giá trị ngăn xếp giảm máy tình thực hịên trình hồi phục trạng thái hay lệnh POP giá trị ngăn xếp 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ị ghi SP thay đổi đơn vị Tương đương với việc máy tính cất giữ hay hồi phục byte thông tin ... ngắt bẫy để kiểm tra • Vector ngắt gì, gồm byte? Xem trả lời câu Các câu hỏi liên quan Câu 3: Thế ngắt cứng ngắt mềm Hệ điều hành máy tính IBM cho phép quản lý tối đa ngắt cứng ngắt mềm Khi ngắt. .. hành máy tính IBM quy định có 256 ngắt đánh số từ 00h – FFh phần tử vector ngắt chứa địa chương trình phục vụ ngắt Địa phần tử ngắt bảng vector ngắt xác định gấp lần số hiệu ngắt • Với ngắt có... ngoại vi quan trọng máy tính bàn phím, ổ đĩa, máy in v.v Các ngắt vi mạch điều khiển ngắt 8259A quản lý Máy tính IBM PC XT có ngắt cứng là: IRQ0Timer IRQ1Keyboard IRQ2Dùng máy AT IRQ3Serial port

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

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    1. CC PHNG PHP VO/RA

    Phng phỏp hi vũng

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

    Chương trình in thông báo: Hello! I print a message

    Vào/ra bằng ngắt

    Xem bng vector ngt bng Debug

    Chng trỡnh con phc v ngt (ISR-Interrupt Service Rountine)

    Chy chng trỡnh ISR

    2. NGT TRONG MY TNH IBM PC

    Ngắt và thanh ghi cờ

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

TÀI LIỆU LIÊN QUAN

w