Các thông tin cIn thi1t cho DMAC Khi làm việc, DMAC cần biết 4 thông tin sau : Địa chỉ vùng nhớ (tăng 1 sau mỗi lần chuyển). Số byte cần chuyển (giảm 1 sau mỗi lần chuyển). Thiết bị xuất nhập. Chiều truyền dữ liệu. DMAC giữ các thông tin trên trong các bộ thanh ghi bên trong. Mỗi kênh DMA có 1 bộ thanh ghi chứa thông tin DMA. CPU phải nạp các thông tin này ra DMAC trong bước chuẩn bị DMA
Chng Nhp mơn kin trúc máy tính L ch s máy tính Blaise Pascal (1642) ENIAC (1946) 18.000 bóng đèn 1500 rờ le 30 140 KW Intel 8080 (1974) xem CPU tích hợp chip IBM 360 (1965) Von Neumann (1946) Cơ Đèn điện tử PDP-1 (1961) 80x86 (1978) Tran-sistors IC (1642-1945) (1945-1955) Bộ nhớ dây trễ, tĩnh điện Giấy, phiếu đục lổ Băng từ Chng / Nhp môn Kin trúc máy tính (1955-1965) ? (1965-1980) (1980-????) Bộ nhớ xuyến từ Băng từ, trống từ, đĩa từ T chc & cu trúc máy tính T Gii thiu tng quát mt máy tính B x lý trung tâm (CPU) Tuyến địa Tuyến liệu Tuyến điều khiển Tuyến trạng thái Xut nhp (I/O) B nh (MEMORY) Chng / Nhp mơn Kin trúc máy tính T chc & cu trúc máy tính T Mơ hình Von-Neumann Tuyến Khối điều khiển Điều khiển hình Điều khiển máy in Điều khiển đĩa Khối số học luận lý (ALU) Xuất / nhập Bộ ghi Bank Bank Bank Bank CPU Chng / Nhp môn Kin trúc máy tính Bộ nhớ T chc & cu trúc máy tính T Mơ hình máy tính Khối điều khiển Bộ nhớ Bank Bank Khối số học luận lý (ALU) Bank CPU Bank Đơn vị giao tiếp I/O Chng / Nhp môn Kin trúc máy tính Đơn vị giao tiếp I/O I/O T chc & cu trúc máy tính I/O I/O T Nguyên lý ho't (ng Các ghi (registers) Bộ nhớ trung tâm (central memory) Mạch giải mã chọn ô nhớ Địa Thanh ghi địa Điều khiển đọc/ghi chọn nhớ Ơ nhớ Ghi Đọc Thanh ghi liệu Dữ liệu Chng / Nhp mơn Kin trúc máy tính T chc & cu trúc máy tính T Nguyên lý ho't (ng (tt.1) Chương trình (program) Đơn vị điều khiển (control unit) Bộ đếm chương trình (Program Counter) +1 Địa câu lệnh Câu lệnh Thanh ghi lệnh (Instruction Register) Mã lệnh (opcode) Địa toán hạng (operand address) Mạch (sequencer) Địa toán hạng Chng / Nhp mơn Kin trúc máy tính T chc & cu trúc máy tính T Nguyên lý ho't (ng (tt.2) Đơn vị số học / luận lý (ALU) Máy tính địa Dạng lệnh Kiến trúc Mã lệnh Địa th1 Địa th2 R1 Địa kq R2 Tốn hạng Tốn hạng Khối tính tốn Kết R3 Chng / Nhp môn Kin trúc máy tính T chc & cu trúc máy tính T Nguyên lý ho't (ng (tt.3) Máy tính địa Dạng lệnh Kiến trúc Mã lệnh Địa toán hạng R1 Tốn hạng Khối tính tốn ACC Kết Chng / Nhp mơn Kin trúc máy tính T chc & cu trúc máy tính T c cu trúc máy tính Địa Địa T 22 Mã hóa l.nh (tt.) Bớt tiếp tổ hợp lệnh địa (1111 1110) 14 lệnh địa (thêm 32 lệnh địa chỉ) 15 14 13 12 11 10 1 1 1 61 lệnh Địa Opcode Bớt tiếp tổ hợp cuối lệnh địa (1111 1111 1111) 31 lệnh địa (thêm 16 lệnh địa chỉ) 76 lệnh 15 14 13 12 11 10 1 1 1 1 1 1 Opcode Chng T ch c cu trúc máy tính T 23 Phân nhóm l.nh Chuyn d li u X lý d li u Bộ nhớ Số học M M R I R P Xử lý bit Đặc biệt IO mapped IO Nhảy Gọi Trở Ngắt quãng Nhảy có lưu địa trở vào stack Chng R I Dịch, quay Qun lý trng thái Lập xóa cờ R R Xuất nhập Luận lý Chuyn iu khin Nop Halt Wait Sleep Bên Tuyệt đối (Địa chỉ) Tương đối (PC+n) Memory mapped IO Không điều kiện (Luôn nhảy) Có điều kiện (Lúc nhảy lúc khơng) Trực tiếp (PC = địa chỉ) Gián tiếp (PC = M/R) T ch c cu trúc máy tính T 24 Map IO IO mapped IO Có khơng gian địa IO riêng Có tín hiệu chọn IO nhớ Mạch giải mã địa cho IO độc lập với mạch giải mã địa cho nhớ Truy xuất cổng xuất nhập lệnh In / Out mapped mapped mapped mapped mapped mapped Dùng không gian địa nhớ Khơng cần tín hiệu chọn IO nhớ Dùng chung mạch giải mã địa với nhớ Truy xuất cổng xuất nhập lệnh nhớ Chng T ch c cu trúc máy tính Memory mapped IO T 25 INTEL 8086/8088 CPU Vi xử lý 16 bit Tuyến địa : Quản lý 1MB nhớ (100 000H) địa nhớ 00000 FFFFF Tuyến liệu: D15 D0 (8086) / D7 D0(8088) Thực tế sử dụng tuyến địa liệu chung : AD7 AD0 Cần mạch tách tuyến A19 A0 x LS573 AD15 AD0 ALE Cài A15 A0 LE x LS245 Đệm chiều DT / R DEN Chng D15 D0 DIR OE T ch c cu trúc máy tính T 26 B ghi Bộ ghi đa dụng Bộ ghi đoạn AX AH AL Accumulator CS Code segment BX BH BL Base DS Data segment CX CH CL SS Stack segment DX DH DL Counter Data ES Extra segment IP Instruction pointer SI Source index DI Destination index BP SP Base pointer Stack pointer Thanh ghi trạng thái (cờ) Chng OF DF IF TF SF ZF T ch c cu trúc máy tính AF PF CF T 27 S /D kh6i Bộ ghi tổng quát (8 từ 16 bit) Bộ ghi đoạn IP (5 từ 16 bit) BIU (BUS Interface Unit) ALU 16 bit Thanh ghi cờ Tuyến địa Khối giao tiếp BUS EU (Execution Unit) INTR, NMI, TEST CLK, RESET, READY MN/MX HOLD HLDA Chng Tuyến liệu INTA, RD, WR DT/R, DEN ALE, M/IO Đuôi lệnh Khối điều khiển định LOCK QS1,QS0 S2,S1,S0 T ch c cu trúc máy tính T 28