Điện tử viễn thông chuong 2 cau truc va hoat dong cua 8086 khotailieu

83 145 0
Điện tử viễn thông chuong 2   cau truc va hoat dong cua 8086 khotailieu

Đ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

Nguyên tắc làm việc của Intel 8088/8086 Phạm Thế Duy (ptduy@yahoo.com) External BUS SƠ ĐỒ KHỐI 8088/8086 BUS Interface BIU EU + byte queue ES CS DS SS IP AH BH CH DH Execution Unit Control System AL BL CL DL SP BP SI DI ALU Flags EU Hình 2.14: Sơ đồ khối vi xử lý 8086/8088 Các khối chức  Sơ đồ khối của 8088/8086 bao gồm hai khối chính:   BIU (Bus Interface Unit): Thực hiện tất cả các giao tiếp với thế giới bên ngoài EU (Execution Unit): Giải mã và thực hiện các lệnh được lấy vào từ bộ nhớ Khối giao tiếp BUS (BIU)    BU cung cấp các tín hiệu địa chỉ, liệu và điều khiển để truy cập các bộ nhớ và vào Khối này cho phép giao tiếp với bộ đồng xử lý các bộ vi xử lý khác Chức quan trọng nhất của BU là tự động kích hoạt quá trình lấy lệnh từ bợ nhớ bợ tiền truy cập lệnh (Prefetch) BU có chức cho phép quá trình lấy lệnh từ bợ nhớ thực hiện song song với các quá trình khác nhớ hàng đợi lệnh byte (Queue) BIU tạo địa vật lý cung cấp bên ngoài, quá trình tính toán từ các địa logic quản lý chương trình Các địa mà BIU tạo cung cấp tới các bộ cài (Address Latch) và được định thời cung cấp bên ngoài tại các thời điểm thích hợp Dữ liệu truyền với CPU được chuyển qua các cổng đệm hai chiều (Data Transceivers) Khối giải mã lệnh (IU)    Lệnh được BU lấy vào hàng đợi, IU lấy lệnh đã lấy trước giải mã và chuyển tới hàng đợi lệnh đã giải mã (Decoded Istruction queue) để EU thực hiện Với chức giải mã lệnh, các lệnh ngoài bộ nhớ mã hoá ngắn nhất có thể, IU tạo các tín hiệu điều khiển cần thiết từ các mã lệnh này Bằng cách sử dụng hộ giải mã lệnh, dung lượng nhớ của hệ thống yều cầu ít hơn, thời gian lấy lệnh được giảm ngắn Khối thực lệnh (EU)    Trước hết EU giải mã các lệnh từ hàng đợi lệnh khới control system, sau khới này cung cấp các tín hiệu cần thiết điều khiển các khối khác CPU để thực hiện lệnh Với các lệnh cần giao tiếp với bên ngoài thực hiện thông qua BIU Các khối chức của EU bao gồm: - Bộ điều khiển (Control System) thực hiện việc điều khiển việc thực hiện các lệnh - ALU là khối thực hiện các phép toán số học logic, cấu trúc của ALU thơng thường có hai ngõ vào nhận hai toán hạng và một ngõ cung cấp kết quả Các ghi sử dụng làm nơi lưu trữ liệu sử dụng các phép tính và các giá trị địa cho phép EU lấy các toán hạng từ bên ngoài Các ghi của 8088/8086 Các ghi đa năng: AX, BX, CX, DX, DI, SI, BP, SP  Các ghi đoạn: CS, DS, ES, SS  Thanh ghi cờ (Flags)  Các ghi đặc biệt: IP, MSW  Các ghi đa (16 bit)   Đều sử dụng chứa liệu 16 bit AX, BX, CX và DX chia hai phần bit Các ghi đa     AX (Accumulator) chứa cho lệnh nhân và chia MUL BL ; AX = AL * BL BX (Base): Sử dụng làm ghi địa sở MOV AL,[BX] ;chép nội dung ô nhớ BX giữ địa chỉ MOV AH,[BX+03] ;chép nội dung ô nhớ có địa chỉ [BX+3] vào AH MOV CH,[BX+DI+9] CX (Counter): Sử dụng làm bộ đếm sớ vòng lặp LOOP N ;trừ CX 1, lặp lại nhãn N CX ≠0 DX (Data): Làm ghi chứa liệu các lệnh nhân chia 16 bit Làm ghi giữ địa cổng vào MUL BX ; DX AX = AX*BX OUT DX,BL ; chuyển BL cổng có địa chỉ DX Các ghi đa (tiếp)    DI (Destination Index): ghi số đích – giữ địa đích liệu các lệnh chuỗi Làm ghi địa MOV AH,[DI] MOV BH,[DI+7] MOVSB SI (Source Index): ghi số nguồn – giữ địa nguồn liệu các lệnh chuỗi Làm ghi địa MOV AH,[SI] MOV BH,[SI+7] MOVSW BP (base pointer): ghi trỏ sở – Làm ghi địa MOV AL,[BP] MOV AH,[BP+03] MOV CH,[BP+DI+9] AX BX CX 3F1C 0023 0000 DX FCA1 CS SS DS 1000 1243 2000 ES 1AB3 BP SP AB12 34CD SI 1234 DI 5678 IP 0008 DECODE A19 : 10007 A0 D7 : FFFFF FFFFE FFFFD A19 : A0 F4 D0 MEMR LOW RD MEMW HIGH WR hlt Inst Queue F4 : : : : 20023 20022 20021 1C 7D 12 20020 29 : : D7 : D0 36 25 19 : : 10008 10007 10006 8A F4 07 10005 10004 10003 10002 10001 10000 88 42 39 27 98 45 : : 00001 00000 : : 95 23 AX BX CX 3F1C 0023 0000 DX FCA1 CS SS DS 1000 1243 2000 ES 1AB3 BP SP AB12 34CD SI 1234 DI 5678 IP 0008 Inst Queue F4 EXECUTE FFFFF FFFFE FFFFD hlt A19 : A0 D7 : D0 A19 : A0 : : MEMR RD MEMW WR : : 20023 20022 20021 1C 7D 12 20020 29 : : D7 : D0 36 25 19 : : 10008 10007 10006 8A F4 07 10005 10004 10003 10002 10001 10000 88 42 39 27 98 45 : : 00001 00000 : : 95 23 Chu kỳ máy -Machine Cycle Machine Cycle Timing Diagram M1 M2 M3 M1 Address Bus 10005 10006 20023 10007 Data Bus 88 07 1C F4 fetch fetch _ IOR IOW Control Bus _ MEMR MEMW fetch execute mov [bx],al execute hlt M1 M2 M3 M1 10005 10006 20023 10007 _ IOR IOW Control Bus _ MEMR MEMW Address Bus D D D D D D D D Định thời vi xử lý Processor Timing Biểu đồ định thời bộ vi xử lý cho chu kỳ lấy lệnh thứ nhất của lệnh mov [bx],al M1 T1 T2 T3 CLOCK _ IOR IOW _ MEMR MEMW Address Bus Data Bus 10005 88 Biểu đồ định thời bộ vi xử lý cho chu kỳ lấy lệnh thứ hai của lệnh mov [bx],al M2 T1 T2 T3 CLOCK _ IOR IOW _ MEMR MEMW Address Bus Data Bus 10006 07 Biểu đồ định thời bộ vi xử lý cho chu kỳ thực lệnh mov [bx],al M3 T1 T2 T3 CLOCK _ IOR IOW _ MEMR MEMW Address Bus Data Bus 20023 1C Biểu đồ định thời bộ vi xử lý cho chu kỳ lấy lệnh thứ nhất của lệnh Halt M1 T1 T2 T3 CLOCK _ IOR IOW _ MEMR MEMW Address Bus Data Bus 10007 F4 Biểu đồ định thời bộ vi xử lý cho một lệnh đọc bộ nhớ bất kỳ T1 T2 T3 CLOCK _ IOR IOW _ MEMR MEMW Address Bus Data Bus memory address data in Biểu đồ định thời bộ vi xử lý cho một lệnh ghi bộ nhớ bất kỳ T1 T2 CLOCK _ IOR IOW _ MEMR MEMW Address Bus Data Bus memory address data out T3 Biểu đồ định thời bộ vi xử lý cho một lệnh đọc I/O bất kỳ T1 T2 T3 CLOCK _ IOR IOW _ MEMR MEMW Address Bus Data Bus port address data in Biểu đồ định thời bộ vi xử lý cho một lệnh ghi I/O bất kỳ T1 T2 CLOCK _ IOR IOW _ MEMR MEMW Address Bus Data Bus port address data out T3 Định thời sai cho việc ghi bộ nhớ T1 T2 CLOCK _ IOR IOW _ MEMR MEMW Address Bus memory address Data Bus data out T3 ... tiếp Địa chỉ cao FF65 23 AB 357F D21B 38AC 23 F4 ???? ???? ???? Địa thấp Địa chỉ cao pop AX pop BX pop CX  SP FF65 23 AB  SP 357F D21B AX = 38AC 38AC BX = D21B CX = 357F 23 F4 ???? ???? ???? Địa... chỉ cao FF65 23 AB  SP Mỗi ô nhớ 16 ???? bit, ngăn xếp ???? truy cập 16 bit ???? hoặc 32 bits ???? ???? ???? ???? Địa chỉ thấp Sau POP AX Địa cao FF65  SP 23 AB ???? AX = 23 AB ???? ????... hiện các lệnh được lấy va o từ bộ nhớ Khối giao tiếp BUS (BIU)    BU cung cấp các tín hiệu địa chỉ, liệu va điều khiển để truy cập các bộ nhớ va va o Khối này cho phép giao

Ngày đăng: 12/11/2019, 20:00

Mục lục

  • Nguyên tắc làm việc của Intel 8088/8086

  • SƠ ĐỒ KHỐI 8088/8086

  • Các khối chức năng

  • Khối giao tiếp BUS (BIU)

  • Khối giải mã lệnh (IU)

  • Khối thực hiện lệnh (EU)

  • Các thanh ghi của 8088/8086

  • Các thanh ghi đa năng (16 bit)

  • Các thanh ghi đa năng

  • Các thanh ghi đa năng (tiếp)

  • Ngăn xếp

  • Chứa dữ liệu vào ngăn xếp

  • Chứa dữ liệu vào ngăn xếp bằng lệnh PUSH

  • Quan sát hoạt động lệnh PUSH

  • Nhiều lệnh PUSH liên tiếp

  • Đọc dữ liệu trong ngăn xếp bằng lệnh POP

  • Hoạt động của lệnh POP

  • Hoạt động nhiều lệnh POP liên tiếp

  • Ngăn xếp Overflow, Underflow

  • Tổng kết về ngăn xếp

Tài liệu cùng người dùng

Tài liệu liên quan