Chương 2: Cấu trúc và hoạt động của 8086

Chia sẻ: Hoang Cuong | Ngày: | Loại File: DOC | Số trang:30

0
373
lượt xem
118
download

Chương 2: Cấu trúc và hoạt động của 8086

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ
Lưu

Nội dung Text: Chương 2: Cấu trúc và hoạt động của 8086

  1. Nguyên tắc làm việc của Intel 8088/ 8086 ̣ ́ Pham Thê Duy (ptduy@yahoo.com) SƠĐÔ KHÔI 8088/8086 E U ̀ ́ B IU A d d re s s B u s 2 0 b it s A H A L S U M M A T IO N B H B L D a ta B u s C H C L C S D H D L D S S P S S B P E S D I IO B I In te rn a l B u s C o m m u n ic a tio n s C o n tr o l R e g is te r s 8 0 8 8 B u s T e m p o r a r y R e g is te r s In s t r u c t io n Q u e u e A L U E U C o n tr o l 1 2 3 4 F la g s Khối giao tiếp BUS (BIU) ́ ́ Cac khôi chức năng  BU cung cấp các tín hiệu địa chỉ, dữ liệu và điều khiển để truy cập các bộ nhớ và vào ra. Khối này cũng cho phép  Sơ đô khôi cua 8088/8086 bao gôm hai khôi ̀ ́ ̉ ̀ ́ giao tiếp với bộ đồng xử lý hoặc các bộ vi xử lý khác. chí nh:  Chức năng quan trong nhất của BU là tự đ ộng kích hoạt ̣  ̣ ́ ̉ ́ BIU (Bus Interface Unit): Thự c hiên tât ca cac ́ ̀ ̀ quá trình lấy lệnh từ bộ nhớ s ăp vao hang đợ i lênh săn ̣ ̃ ́ ́ ̀ giao tiêp vớ i thê giớ i bên ngoai. sang cho EU giai ma thự c hiên. Nhờ ha ng đợ i lênh ̀ ̉ ̃ ̣ ̀ ̣ (Queue) quá trình lấy lệnh từ bộ nhớ thực hiện song song  ̉ ̃ ̀ ̣ EU (Execution Unit): Giai ma va thự c hiên cac ́ với các quá trình khác. lênh đượ c lây vao từ bô nhớ ̣ ́ ̀ ̣  BIU tao ra đị a chỉ vât ly cung câp ra bên ngoai, băng qua ̣ ̣ ́ ́ ̀ ̀ ́ trì nh tí nh toan từ ca c đị a chỉ logic quan ly trong chươ ng ́ ́ ̉ ́ trì nh. Các địa chỉ mà BIU tạo ra cung cấp tới các bộ cài (Address Latch) và sẽ đư ợc định thời cung cấp ra bên ngoài tại các thời điểm thích hợp. Dữ liệu truyền với CPU sẽ đư ợc chuyển qua các cổng đệm hai chiều (Data Transceivers).
  2. Khối thực hiện lệnh (EU) ̀ ̉ Khối điêu khiên EU  ̉ Chứ c năng cua EU:  Lệnh được BIU lấy vào hàng đợi, trong khi EU  EU giai ma ca c lênh từ ha ng đợ i lênh băng khôi EU ̉ ̃ ́ ̣ ̀ ̣ ̀ ́ control. control lấy lệnh đã lấy trước đó giải mã va ̀  ̣ ́ ́ ́ ̣ ̀ Thự c hiên cac phep tí nh sô hoc va logic băng ALU.̀ ́ ́ ̣ ̀ ̉ ̉ cung câp cac tí n hiêu điêu khiên đê thực hiện  Tí nh toan cac đị a chỉ ta c đông (EA – Effective Address ) ́ ́ ́ ̣ ̣ lênh. cho qua trì nh truy câp bô nhớ . ́ ̣ ̣  Với chức năng giải mã lệnh, các lệnh ngoài bộ  Chỉ thị đoan bô nhớ se sử du ng băng cach chon cac ̣ ̣ ̃ ̣ ̀ ́ ̣ ́ nhớ có thể mã hoá ngắn nhất có thể, EU thanh ghi đoan. ̣ control sẽ tạo ra các tín hiệu điều khiển cần  Các khối chức năng của EU bao gồm: thiết từ các mã lệnh này.  Bộ điều khiển (EU Control).  ́ Khôi thực hiện các phép toán số học logic (ALU)  Bằng cách sử dụng bộ giải mã lệnh, dung  Cac cờ trang thai (Flags). ́ ̣ ́ lượng nhớ của hệ thống sẽ yều cầu ít hơ n,  Các thanh ghi (Registers) thời gian lấy lệnh sẽ được giảm ngắn. ́ ̣ ̀ Khối sô hoc va logic (ALU) ́ ̉ Cac thanh ghi cua 8088/8086  ̣ ́ ́ ́ Thự c hiên cac phep toan sô hoc va logic. ́ ̣ ̀  ́ ̃ ̀ ̀ Co hai ngo va o cho nhiêu nhât hai toan hang, ́ ́ ̣ ̣ ̃ môt ngo ra cho kêt qua. ́ ̉  ́ Cac thanh ghi đa năng: AX, BX,  Hai toan hang vao co thê đượ c lây từ hai ́ ̣ ̀ ́ ̉ ́ CX, DX, DI, SI, BP, SP. thanh ghi, môt từ thanh ghi môt từ bô nhớ . ̣ ̣ ̣ ́ ̣  Cac thanh ghi đoan: CS, DS, ES,  ̣ ́ ̉ ́ ̉ Trang thai cua kêt qua đượ c cung câp tớ i cac ́ ́ SS. cờ (Flags).  Thanh ghi cờ (Flags). ́ ̣ ̣  Cac thanh ghi đăc biêt: IP ́ Cac thanh ghi đa năng (16 bit) Các thanh ghi đa năng  ̣ AX (Accumulator) thanh chứa cho lênh nhân va chia. ̀ MUL BL ; AX = AL * BL  BX (Base): Sử dung lam thanh ghi đị a chỉ cơ sở. ̣ ̀ MOV AL,[BX] ;chep nôi dung ô nhớ BX giữ đị a chỉ . ́ ̣ MOV AH,[BX+03] ;chep nôi dung ô nhớ co đị a chỉ [BX+3] vao AH. ́ ̣ ́ ̀ MOV CH,[BX+DI+9]  CX (Counter): Sử dung lam bô đêm sô vong lăp. ̣ ̀ ̣ ́ ́ ̀ ̣ LOOP N ;trừ CX đi 1, lăp lai nhan N khi CX ≠0. ̣ ̣ ̃  DX (Data): Lam thanh ghi chứa dữ liêu trong cac lênh nhân chia ̀ ̣ ́ ̣ 16 bit. Lam thanh ghi giữ đị a chỉ công vao ra. ̀ ̉ ̀  Đêu co thê sử dung chứ a dữ liêu 16 bit. ̀ ́ ̉ ̣ ̣ MUL BX ; DX AX = AX*BX OUT DX,BL ; chuyên BL ra công co đị a chỉ DX ̉ ̉ ́  ̀ ́ ̉ AX, BX, CX va DX co thê chia thanh hai phân ̀ 8 bit. Ngăn xếp Các thanh ghi đa năng (tiếp)  DI (Destination Index): thanh ghi chỉ sô đí ch – giữ đị a chỉ đí ch dữ ́  Ngăn xêp la môt vung nhớ sử dung cho viêc chứ a ́ ̀ ̣ ̀ ̣ ̣ liêu trong cac lênh vê chuôi. Lam thanh ghi đị a chỉ . ̣ ́ ̣ ̀ ̃ ̀ MOV AH,[DI] cac gia trị tam thờ i. ́ ́ ̣ MOV BH,[DI+7] MOVSB  Ngăn xêp trong chê đô đị a chỉ thự c đượ c truy xuât ́ ́ ̣ ́  SI (Source Index): thanh ghi chỉ sô nguôn – giữ đị a chỉ nguôn dữ ́ ̀ ̀ ̀ ̣ băng căp thanh ghi SS:SP segment/offset liêu trong cac lênh vê chuôi. Lam thanh ghi đị a chỉ . ̣ ́ ̣ ̀ ̃ ̀ MOV AH,[SI] (StackSegment: StackPointer) MOV BH,[SI+7] MOVSW  Môt sô lênh tac đông tớ i vung nhớ ngăn xêp như: ̣ ́ ̣ ́ ̣ ̀ ́  BP (base pointer): thanh ghi con tro cơ sở – Lam thanh ghi đị a chỉ . ̉ ̀ ̀ ̀ ̣ ́ push, pop, call, ret, va nhiêu lênh khac nữ a. MOV AL,[BP] MOV AH,[BP+03]  Ngăn xêp la nơ i tôt nhât đê lư u trữ cac gia trị tam ́ ̀ ́ ́ ̉ ́ ́ ̣ MOV CH,[BP+DI+9] ̀ ̣ thờ i vao bô nhớ .
  3. Chứa dữ liệu vào ngăn xếp bằng  Chứa dữ liệu vào ngăn xếp lệnh PUSH Từ ‘stack-ngăn xêp’ được sử du ng la do cach lưu trữ va lây lai ́ ̣ ̀ ́ ̀ ́ ̣ dữ liêu trong vung nhớ ngăn xêp cung giông như viêc sử du ng ̣ ̀ ́ ̃ ́ ̣ ̣  Thanh ghi con tro ngăn xêp SP (Stack Pointer) được sử ̉ ́ ̣ ́ ́ môt ngăn xêp trong thực tê. dung đê truy câp ngăn xêp. SP luôn tro tới gia trị cuôi ̣ ̉ ̣ ́ ̉ ́ ́ ́ ̉ ̣ ́ ̀ ́ ̣ ̉ ̣ ̀ ́ Co thê thực hiên ngăn xêp băng cac hôp. Đê tao thanh ngăn xêp ̀ ́ ̀ cung được cât vao ngăn xêp. ́ ́ ̣ ̣ ́ ̀ ́ ̀ ̀ trước hêt đăt hôp A, sau đo tới B va cuôi cung la C.  Lênh PUSH chứa dữ liêu vao đỉ nh ngăn xêp. ̣ ̣ ̀ ́ C B PUSH AX ; SP= SP-1, M[SP] ← AX B A A A  Lênh “push AX” tương ứng với: ̣ SUB SP, 1 ̉ ; giam SP đi 1 Chu y răng chung ta chỉ co thê lây được hôp xêp vao ngăn xêp ́ ́ ̀ ́ ́ ̉ ́ ̣ ́ ̀ ́ MOV [SP], AX ; ghi giá trị cua AX và o đỉ nh ngăn xế p ̉ cuôi cung (Đỉ nh ngăn xêp - Top of Stack – TOS ). Như vây ́ ̀ ́ ̣ trì nh tự phu c hôi lai dữ liêu theo trì nh tự ngược lai khi xêp vao ̣ ̀ ̣ ̣ ̣ ́ ̀  ́ ̣ ̣ ́ ́ ̉ ̣ Cac lênh truy câp ngăn xêp co thê thực hiên với 16 ́ ̀ ́ ̀ ngăn xêp (C tới B va cuôi cung la A). ̀ ̣ hoăc 32 bit. Quan sát hoạt động lệnh PUSH Nhiều lệnh PUSH liên tiếp ̣ Trước lênh PUSH AX ̣ Sau lênh PUSH AX Trước ́ ̣ Sau cac lênh PUSH Đị a chỉ cao Đị a chỉ cao Đị a chỉ cao Đị a chỉ cao lastval ← SP lastval lastval ← SP lastval ue ???? ue ahal ← SP ue ???? ue ax ???? Môi ô nhớ 16 ̃ ???? (SP mới = ???? PUSH AX bx ́ bit, ngăn xêp ̃ SP cu -1) PUSH BX ???? ???? ???? cx ← SP ̣ được truy câp 16 PUSH CX ???? ̣ hoăc 32 bit. ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? Đị a chỉ thâp ́ Đị a chỉ thâp ́ Đị a chỉ thâp ́ Đị a chỉ thâp ́ Hoạt động của lệnh POP Đoc dữ liêu trong ngăn xêp băng lênh POP ̣ ̣ ́ ̀ ̣ Trước POP AX Sau POP AX Đị a chỉ cao Đị a chỉ cao Lênh POP phuc hôi môt gia trị từ ngăn xêp: ̣ ̣ ̀ ̣ ́ ́ FF65 FF65 ← SP POP AX ; AX ← M[SP] , SP= SP+1 23AB ← SP 23AB ???? Môi ô nhớ 16 ̃ Lênh “pop AX” tương đương với cac lênh: ̣ ́ ̣ ???? AX = 23AB ́ bit, ngăn xêp ???? ???? ̣ truy câp 16 bit mov AX, [SP] ; đoc gia trị từ đỉ nh ngăn xêp ̣ ́ ́ ???? ???? ̣ hoăc 32 bits. add sp, 1 ; tăng SP lên 1. ???? ???? ???? ???? ???? ???? ???? ???? Đị a chỉ thâp ́ Đị a chỉ thâp ́ Hoạt động nhiều lệnh POP liên tiếp Ngăn xếp Overflow, Underflow Trước ́ ̣ Sau cac lênh POP  Nêu liên tuc cât dữ liêu vao ngăn xêp ma không lây dữ ́ ̣ ́ ̣ ̀ ́ ̀ ́ Đị a chỉ cao Đị a chỉ cao liêu ra thì ngăn xêp cuôi cung se lớ n hơ n khoang dung ̣ ́ ́ ̀ ̃ ̉ FF65 FF65 lượ ng danh cho no. ̀ ́ 23AB pop AX  Co thê dữ liêu ngăn xêp se ghi tran qua vung nhớ ́ ̉ ̣ ́ ̃ ̀ ̀ 23AB ← SP pop BX chứa ma lênh hoăc vung nhớ chứa dữ liêu khac ̃ ̣ ̣ ̀ ̣ ́ 357F 357F pop CX (không phai ngăn xêp). ̉ ́ D21B D21B AX = 38AC ← SP ̣ ̀ ̣ ̀  Viêc nay goi la tran trên ngăn xêp (OVERFLOW). ̀ ́ 38AC 38AC BX = D21B 23F4 23F4 CX = 357F  Nêu lây dữ liêu ra khoi ngăn xêp nhiêu hơ n cac gia trị đa ́ ́ ̣ ̉ ́ ̀ ́ ́ ̃ ???? cât vao ngăn xêp, con tro ngăn xêp co thê tăng lớ n hơ n ́ ̀ ́ ̉ ́ ́ ̉ ???? gia trị điêm khở i đông ngăn xêp. Điêu nay đượ c goi la tran ́ ̉ ̣ ́ ̀ ̀ ̣ ̀ ̀ ???? ???? dướ i (UNDERFLOW). ???? ????  Đê ngăn xêp đượ c sử dung tôt cân phai lây dữ liêu ra ̉ ́ ̣ ́ ̀ ̉ ́ ̣ Đị a chỉ thâp ́ Đị a chỉ thâp ́ khoi ngăn xêp băng đung sô dữ liêu đa cât vao ngăn xêp. ̉ ́ ̀ ́ ́ ̣ ̃ ́ ̀ ́
  4. Tổng kết về ngăn xếp Các thanh ghi đoạn  (16 BIT)  ̣ ̃ ̣ CS: Code Segment – Đoan ma lênh.  La nơ i chứ a dữ liêu tam thờ i. ̀ ̣ ̣  DS: Data Segment – Đoan dữ liêu. ̣ ̣  ̣ ̀ ̉ ́ Đoan va con tro ngăn xêp SS:SP ̣  SS: Stack Segment – Đoan ngăn xêp. ́  ̀ Push va Pop (LIFO-Last In First Out)  ES:Extra Segment – Đoan mở rông. ̣ ̣  SP : Giữ đị a chỉ đỉ nh ngăn xêp ́ Chê đô đị a chỉ thự c: ́ ̣  ̣ ̉ ̃ ̉ Sau lênh PUSH con tro SP se giam. Physical address = Segment * 10H +offset CHẾ ĐỘ ĐỊA CHỈ THEO ĐOẠN CS • Đị a chỉ OFFSET va đị a chỉ đoan ̀ ̣ 1 6 - b it S e g n m e n t B a s e A d d r e s s 0000 (Logical, Segmented): 0FE6:032Bh IP • Đị a chỉ đô dời, chỉ sô (offset, ̣ ́ index): 1 6 - b it O ffs e t A d d r e s s 032Bh • Đị a chỉ vât ly: ̣ ́ 0FE60h → 65120 + 012Bh → 299 0F08Bh → 65149 2 0 - b it P h y s i c a l A d d r e s s Phân đoạn bộ nhớ
  5. Thanh ghi cờ D15 * NT IO PL O D I T S Z * A * P * D0 C Các cờ điều khiển trong thanh ghi  Cờ nhớ CF (Carry Flag). cờ.   Cờ đị nh hướng DF (Direction Flag). CF=1 khi công tran, trừ mượn. ̣ ̀ Xac đị nh hướng đị a chỉ cua cac lênh xử ́ ̉ ́ ̣  Cờ chăn le PF (Parity Flag). ̃ ̉ ́ ̀ ̣ ́ PF = 1 khi sô bit 1 la môt sô chăn.̃ ́ ly chuôi. ̃  Cờ dâu SF ( Sign Flag). ́  Cờ ngăt IF : (Interrupt Flag). ́ ́ ̉ ́ ́ ̀ SF =1 khi kêt qua co bit cao nhât la 1 ́ IF=1 cho phep ngăt. ́ Cờ tran OF (Overflow Flag) . ̀ Cờ bây TF: (Trap Flag). ̃   OF = 1 khi tran bit 1 từ MSB-1 qua MSB. ̀  Cờ ZERO ZF (Zero Flag). Sử dung chay từng bước đê sửa sai ̣ ̣ ̉ ́ ZF = 1 khi kêt qua băng 0. ̉ ̀ chương trì nh.  Cờ nhớ phụ AF (Auxiliary Carry Flag ). AF=1 khi tran bit 1 từ D3 qua D4. ̀ Các thanh ghi đặc biệt.  Thanh ghi con trỏ lệnh: (IP - Instruction Pointer).  Giữ đị a chỉ đô dờ i cua vung nhớ chứ a ma lênh. ̣ ̉ ̀ ̃ ̣ Nguyên tắc làm việc của 8086  Tự đông tăng lên 1 khi đoc xong môt ô nhớ lênh. ̣ ̣ ̣ ̣  Khi điêu khiên chươ ng trì nh IP đượ c thay đôi gia ̀ ̉ ̉ ́ trị mớ i, (cac lênh CALL gia trị hiên hanh se đượ c ́ ̣ ́ ̣ ̀ ̃ cât vao đỉ nh ngăn xêp trướ c khi nap gia trị mớ i. ́ ̀ ́ ̣ ́ Lênh RET phuc hôi gia trị cua IP). ̣ ̣ ̀ ́ ̉ CÁC TÍN  HIỆU CỦA 8088/ 8086 MAXIMUM MINIMUM MAXIMUM MINIMUM MODE MODE MODE MODE GND 1 40 Vcc GND 1 40 Vcc AD14 AD15 A14 A15 AD13 A16,S3 A13 A16,S3 AD12 A17,S4 A12 A17,S4 AD11 A18,S5 A11 A18,S5 AD10 A19,S6 A10 A19,S6 AD9 /BHE,S7 A9 high /SS0 AD8 MN,/MX A8 MN,/MX AD7 /RD AD7 /RD AD6 /RQ,/GT0 HOLD AD6 /RQ,/GT0 HOLD AD5 8086 /RQ,/GT1 HLDA 8088 AD5 /RQ,/GT1 HLDA AD4 /LOCK /WR AD4 /LOCK /WR AD3 /S2 IO/M AD3 /S2 IO/M AD2 /S1 DT/R AD2 /S1 DT/R AD1 /S0 /DEN AD1 /S0 /DEN AD0 QS0 ALE AD0 QS0 ALE NMI QS1 /INTA NMI QS1 /INTA INTR /TEST INTR /TEST CLK READY CLK READY GND 20 21 RESET GND 20 21 RESET
  6. KẾT NỐI HỆ THỐN G 8086/ 8  Vi xử ly 8086/8 cân cac mach hô trợ trong đê kêt ́ ̀ ́ ̣ ̃ ̉ ́ ́ ̣ nôi mach hê thông. ̣ ́  8086/8 ghep (multiplex) cac đườ ng đị a chỉ va dữ ́ ́ ̀ ̣ liêu chung vớ i nhau.  Viêc ghep BUS lam giam sô chân cua vi xử ly , ̣ ́ ̀ ̉ ́ ̉ ́ ̀ ́ tuy nhiên cân cac mach đê ta ch (demultiplex) ̣ ̉ ́ cac tí n hiêu đị a chỉ va dữ liêu đê kêt nôi tớ i cac ́ ̣ ̀ ̣ ̉ ́ ́ ́ bô nhớ va vao ra. ̣ ̀ ̀  Cac bô ta ch nay con lam nhiêm vu tươ ng thí ch ́ ̣ ́ ̀ ̀ ̀ ̣ ̣ giao tiêp giữ a VXL va ca c chip nhớ va va o ra ́ ̀ ́ ̀ ̀ bên ngoai. ̀ KẾT NỐI  BUS HỆ THỐN G 8086 TRONG MIN MODE Vcc Vcc MN/MX IO/M 8284 CLK INTA RES RESET RD READY WR ALE CLK ADDRESS BUS:A0-19 AD0-AD15 Latch A16 -A 19 DT/R DIR DATA BUS :D0-D15 DEN G Transceiver WE OE WR RD MEMORY I/O 8086 ́ ̉ Cho phep giai ́ ̉ Cho phep giai ̃ ̣ ma bô nhớ ̃ ̀ ma vao ra Hinh 5.3: Sơ đô hoat đông trong Min Mode cua 8086/8088. ̀ ̀ ̣ ̣ ̉ KẾT NỐI  BUS HỆ THỐN G 8086 TRONG MAX MODE i8 0 8 6 C ir c u it - M a x im u m M o d e V cc C LK M R D C # M W T C # S 0# A M W C # S 1# 8288 8284A C LK IO R C # S 2# B us C lo c k R E A D Y IO W C # G e n e ra to r R E S E T C o n tr o lle r A IO W C # D E N R D Y D T /R # IN T A # 8086 A LE C P U M N /M X # LE O E # B H E # 74LS 373 A 1 9 :A 0 , A D 1 5 :A D 0 x3 A D D R /D A T A B H E # A 1 9 :A 1 6 IN T R D IR E N # 74LS 245 74LS 245 D 1 5 :D 0 x2 A D D R /D a ta x2
  7. KẾT NỐI  MẠCH TRONG HỆ THỐN G 8086/ 8  Vớ i BUS đị a chỉ co thê sử dung cac mach ́ ̉ ̣ ́ ̣ chôt (ví du 74LS373). ́ ̣  BUS dữ liêu cân sử dung cac bô đêm hai ̣ ̀ ̣ ́ ̣ ̣ chiêu (ví du 74LS245). ̀ ̣  Hê thông cân chip tao Clock va đông bô tí n ̣ ́ ̀ ̣ ̀ ̀ ̣ ̣ hiêu RESET.  ̣ Trong Max mode hê thông cân thêm bô điêu ́ ̀ ̣ ̀ ̉ ̉ ̣ ́ khiên BUS đê tao ra cac tí n hiêu điêu khiên ̣ ̀ ̉ bô nhớ va vao ra. ̣ ̀ ̀ BỘ TẠO  CLOCK 8284 BỘ CHỐT ĐỊA CHỈ
  8. CHỐT ĐỊA CHỈ TRONG HỆ THỐN G 8086 Demultiplex bus địa chỉ trong hệ thống 8088 Demultiplex bus địa chỉ trong hệ thống 8086
  9. BỘ ĐỆM HAI CHIỀU CHO BUS DỮ LIỆU ĐỆM DỮ LIỆU HAI CHIỀU TRONG HỆ THỐN G 8086 ĐỆM BUS TRONG HỆ THỐN G 8088
  10. ĐỆM BUS TRONG HỆ THỐN G 8086 Các tín hiệu cơ bản trong các chu kỳ đoc̣ ghi ĐỌC BỘ NHỚ  ̣ ̣ Đoc bô nhớ : Memory read.  Câp đị a chỉ A0 – 19, câp ALE – Đị a chỉ qua bô ́ ́ ̣ ́ ̣ chôt (Latch) tớ i bô nhớ .  RD\ =0 , dữ liêu từ bô nhớ đư a tớ i Transceiver. ̣ ̣  DEN\=0, DT/R=0, dữ liêu qua Transceiver vao ̣ ̀ CPU.
  11. T 1 T 2 T 3 T 4 Address Access Time (TAVDV) C LO C K __ D T /R A L E D 7 - D 0 D 7 - D 0 (fro m m e m o ry ) fro m m e m o r y to 7 4 L S 2 4 5 D 7 - D 0 fro m A D 7 - A D 0 A 7 - A 0 g a rb a g e 74LS 245 A 15 - A 8 A 15 - A 8 A 1 9 /S 6 - A 1 6 /S 3 A 19 - A 16 S 6 - S 3 A 19 - A 0 A 1 9 - A 0 fro m 7 4 L S 3 7 3 fro m 7 4 L S 3 7 3 to m e m o ry __ IO /M ____ R D ______ D E N T A V D V 3T C LC L T D V C L T C LA V GHI BỘ NHỚ  ̣ Ghi bô nhớ : Memory write.  Câp đị a chỉ A0 – 19, câp ALE =1 – Đị a chỉ qua bô ́ ́ ̣ ́ ̣ chôt (Latch) tớ i bô nhớ .  Câp dữ liêu (ALE=0 , Không anh hưở ng tớ i đị a ́ ̣ ̉ chỉ ). DEN\=0, DT/R=1, dữ liêu qua Transceiver tớ i ̣ ̣ bô nhớ .  WR\ =0 , dữ liêu đượ c ghi vao bô nhớ . ̣ ̀ ̣ T1 T2 T3 T4 CLOCK __ DT/R ALE D7 - D0 A7 - A0 D7 - D0 (to memory ) from 74LS245 to memory AD7 - AD0 A7 - A0 D7 - D0 (to 74LS245 ) A15 - A8 A15 - A8 A19/S6 - A16/S3 A19 - A16 S6 - S3 A19 - A0 A19 - A0 from 74LS373 from 74LS373 to memory __ IO/M _____ WR ______ DEN TDVWH 2TCLCL Memory Setup Time  (TDVWH) TCLDV TCVCTX
  12. Kết nối BUS hệ thống 8086 8288 MN/MX MRDC S0 S0 MWTC S1 AMWC Vcc S1 IORC S2 S2 8284 DEN IOWC CLK DT/R AIOWC RES RESET INTA ALE READY CLK ADDRESS BUS Latch AD0-AD15 A16 -A 19 DIR DATA BUS G Transceiver WE OE WR RD MEMORY I/O ́ ̉ ̃ Cho phep giai ma ́ ̉ ̃ Cho phep giai ma ̣ bô nhớ ̀ va o ra Hinh 5.4: Sơ đô hoat đông cua 8086/8088 trong chê đô max. ̀ ̀ ̣ ̣ ̉ ́ ̣ Kết nối hệ thống có bộ điều khiển ngắt Kết nối các tín hiệu điều khiển Mon  mode
  13. Tín hiệu điều khiển Max mode Bộ điều khiển BUS Kết nối tới bộ nhớ
  14. Bank Write Control Logic Bank Read Control Logic HOẠT ĐỘN G CỦA VI XỬ LÝ Thực hiên viêc lưu trữ dữ liêu ̣ ̣ ̣  ̀ ́ Chu ky may - Machine cycle ;Gia sử khi băt đâu chương trinh. ̉ ́ ̀ ̀  ́ ̣ ̉ ̃ ̣ Lây lênh - Fetch, Giai ma lênh - decode, ;ds = 2000, bx = 0023, ax = 351C ;cs = 1000, ip = 0005 ̣ ̣ Thự c hiên lênh - execute  Đị nh thờ i vi xử ly - Processor timing ́ Chương trinh sau: ̀ mov [bx], al ;8807  ̀ Chu ky BUS - Bus cycles hlt ;F4  ̣ ̣ ̀ Đoc bô nhớ /vao ra - Memory / IO read Se được thực hiên như thê nao? ̃ ̣ ́ ̀  ̣ ̀ Ghi bô nhớ / vao ra - Memory / IO write Bô vi xử ly se hoat đông như thê nao? ̣ ́ ̃ ̣ ̣ ́ ̀ How does the µP works?  ́ ̣ Lây lênh - Fetch  Tăng bô đêm chươ ng trì nh PC lên 1 ̣ ́ Increment Program Counter (CS:IP) by 1  ̉ ̃ ̣ Giai ma lênh - Decode  ̣ ̣ ́ ̀ Thự c hiên lênh nêu cân. Execute (if necessary)
  15. AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : CS:IP : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 MEMR RD IP 0005 10003 39 10002 27 10001 98 10000 45 : : MEMW WR : : Inst. Queue 00001 95 00000 23 A B X X 3F1 002 C 3 FETCH FFFFF FFFFE 36 25 C X 000 0 FFFFD 19 D X FCA 1 : : A19 A19 : : : 1000:0005 : C S 100 0 2 002 3 1 3 A0 A0 S S 124 3 2 002 2 7 D D S 200 0 2 002 1 1 2 E S 1AB 3 2 002 0 2 9 : : D7 D7 BP AB12 : : : : SP 34CD 1 000 8 8 A D0 D0 1 000 7 F 4 SI 1234 1 000 6 0 7 DI 5678 1 000 5 8 8 1 000 4 4 2 MEMR RD IP 0005 1 000 3 3 9 1 000 2 2 7 1 000 1 9 8 1 000 0 4 5 : : MEMW WR : : Inst. Queue 00001 95 00000 23 AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : 10005 : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 MEMR RD IP 0005 10003 39 10002 27 10001 98 10000 45 : : MEMW WR : : Inst. Queue 00001 95 00000 23
  16. AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : 10005 : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 IP 0005 MEMR LOW RD 10003 39 10002 27 10001 98 10000 45 MEMW HIGH WR : : : : Inst. Queue 00001 95 00000 23 AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : 10005 : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : 88 : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 IP 0005 MEMR LOW RD 10003 39 10002 27 10001 98 10000 45 MEMW HIGH WR : : : : Inst. Queue 00001 95 00000 23 AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : 10005 : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : 88 : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 IP 0005 MEMR LOW RD 10003 39 10002 27 10001 98 10000 45 MEMW HIGH WR : : : : Inst. Queue 00001 95 88 00000 23
  17. AX BX 3F1C 0023 INC. PC FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 MEMR RD IP 0005+1 10003 39 10002 27 10001 98 10000 45 : : MEMW WR : : Inst. Queue 00001 95 88 00000 23 AX BX 3F1C 0023 INC. PC FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 MEMR RD IP 0006 10003 39 10002 27 10001 98 10000 45 : : MEMW WR : : Inst. Queue 00001 95 88 00000 23 AX BX 3F1C 0023 DECODE FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 1 000 7 F 4 SI 1234 1 000 6 0 7 DI 5678 1 000 5 8 8 1 000 4 4 2 MEMR RD IP 0006 1 000 3 3 9 1 000 2 2 7 1 000 1 9 8 mov [bx], ? 1 000 0 4 5 : : MEMW WR : : Inst. Queue 00001 95 88 00000 23
  18. AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : CS:IP : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 MEMR RD IP 0006 10003 39 10002 27 10001 98 10000 45 : : MEMW WR : : Inst. Queue 00001 95 88 00000 23 AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : 1000:0006 : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 MEMR RD IP 0006 10003 39 10002 27 10001 98 10000 45 : : MEMW WR : : Inst. Queue 00001 95 88 00000 23 AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : 10006 : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 MEMR RD IP 0006 10003 39 10002 27 10001 98 10000 45 : : MEMW WR : : Inst. Queue 00001 95 88 00000 23
  19. AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : 10006 : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 IP 0006 MEMR LOW RD 10003 39 10002 27 10001 98 10000 45 MEMW HIGH WR : : : : Inst. Queue 00001 95 88 00000 23 AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : 10006 : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : 07 : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 IP 0006 MEMR LOW RD 10003 39 10002 27 10001 98 10000 45 MEMW HIGH WR : : : : Inst. Queue 00001 95 88 00000 23 AX BX 3F1C 0023 FETCH FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : 10006 : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : 07 : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 IP 0006 MEMR LOW RD 10003 39 10002 27 10001 98 10000 45 MEMW HIGH WR : : : : Inst. Queue 00001 95 8807 00000 23
  20. AX BX 3F1C 0023 INC. PC FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : : C S 100 0 2 002 3 1 3 A0 A0 S S 124 3 2 002 2 7 D D S 200 0 2 002 1 1 2 E S 1AB 3 2 002 0 2 9 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 1 000 5 8 8 1 000 4 4 2 MEMR RD IP 0006+1 1 000 3 3 9 1 000 2 2 7 1 000 1 9 8 1 000 0 4 5 : : MEMW WR : : Inst. Queue 00001 95 8807 00000 23 AX BX 3F1C 0023 INC. PC FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 MEMR RD IP 0007 10003 39 10002 27 10001 98 10000 45 : : MEMW WR : : Inst. Queue 00001 95 8807 00000 23 AX BX 3F1C 0023 DECODE FFFFF FFFFE 36 25 CX 0000 FFFFD 19 DX FCA1 : : A19 A19 : : : : CS 1000 20023 13 A0 A0 SS 1243 20022 7D DS 2000 20021 12 ES 1AB3 20020 29 : : D7 D7 BP AB12 : : : : SP 34CD 10008 8A D0 D0 10007 F4 SI 1234 10006 07 DI 5678 10005 88 10004 42 MEMR RD IP 0007 10003 39 10002 27 10001 98 mov [bx], al 10000 45 : : MEMW WR : : Inst. Queue 00001 95 8807 00000 23

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản