Xem mẫu

  1. Chương7 Cấu trúc cơ bản của bộ VXL 8088
  2. Lý do nghiên cứu bộ vi xử lý 8088 1 2 3 Bộ vi xử lý Có tính kế Nhiều điểm giống thừa của các với họ vi xử lý 8088 cấu 80x86 => Giúp sản phẩm trúc đơn nắm bắt được hệ trong họ vi xử vi xử lý của hãng giản hơn lý 80x86. khác
  3. Nội dung I - CẤU TRÚC BÊN TRONG VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA BỘ VI XỬ LÝ 8088 1. Sơ đồ khối của bộ vi xử lý 8088 2. Nguyên lý hoạt động 3. Các thanh ghi bên trong bộ vi xử lý 8088 4. Cách mã hóa lệnh bộ vi xử lý 8088 II. CÁC TÍN HIỆU CỦA 8088 VÀ MỘT SỐ MẠCH PHỤ TRỢ 1. Sơ đồ chân và các tín hiệu của 8088 2. Mạch tạo xung nhịp 8284A 3. Phân kênh để tách thông tin 4. Đệm cho các bus Chương II: Bộ vi xử lý Intel 8088
  4. 1. Cấu trúc bên trong của bộ vi xử lý 8088 • BIU có nhiệm vụ đưa ra địa • EU có nhiệm vụ cung cấp chỉ, đọc mã lệnh từ bộ nhớ, địa chỉ cho BIU để khối này đọc/ghi dữ liệu từ/vào cổng đọc lệnh và dữ liệu • Giải mã lệnh để tạo ra các hoặc bộ nhớ. tín hiệu điều khiển nhằm • Bên trong BIU còn có bộ thực hiện lệnh đã được giải nhớ đệm lệnh (còn gọi là mã. • Khối tính toán số học và hàng đợi lệnh) với dung logic ALU dùng để thực lượng 4 byte (8088), 6 byte hiện các thao tác khác nhau (8086) dùng để chứa các với các toán hạng của lệnh lệnh đã đọc được nằm sẵn chờ EU xử lý. Các lệnh nằm chờ EU xử lý Chương II: Bộ vi xử lý Intel 8088
  5. 1. Cấu trúc bên trong của bộ vi xử lý 8088  Khối đơn vị giao tiếp bus (Bus Interface Unit, BIU):  Thanh ghi đoạn và thanh ghi con trỏ lệnh IP  Khối logic điều khiển bus, bộ cộng  Bus dữ liệu 8 bit và bus địa chỉ 20 bit  Khối thực hiện lệnh (Execution Unit, EU).  Thanh ghi đa năng, các thanh ghi con trỏ và chỉ số  Khối tính toán số học và logic ALU  Khối điều khiển EU  Bus dữ liệu 16 bit của ALU, bus tín hiệu điều khiển. Việc chia CPU thành hai phần làm việc đồng thời có liên hệ với nhau qua hàng đợi lệnh làm tăng tốc độ đáng kể của CPU. Chương II: Bộ vi xử lý Intel 8088
  6. 2. Nguyên lý hoạt động  Đơn vị thực hiện EU • EU có nhiệm vụ cung cấp địa chỉ cho BIU để khối này đọc lệnh và dữ liệu • Giải mã lệnh để tạo ra các tín hiệu điều khiển nhằm thực hiện lệnh đã được giải mã. • Khối tính toán số học và logic ALU dùng để thực hiện các thao tác khác nhau với các toán hạng của lệnh  Đơn vị giao tiếp BUS • BIU có nhiệm vụ đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghi dữ liệu từ/vào cổng hoặc bộ nhớ. • Bên trong BIU còn có bộ nhớ đệm lệnh (còn gọi là hàng đợi lệnh) với dung lượng 4 byte (8088), 6 byte (8086) dùng để chứa các lệnh đã đọc được nằm sẵn chờ EU xử lý. Chương II: Bộ vi xử lý Intel 8088
  7. Nội dung I - CẤU TRÚC BÊN TRONG VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA BỘ VI XỬ LÝ 8088 1. Sơ đồ khối của bộ vi xử lý 8088 2. Nguyên lý hoạt động 3. Các thanh ghi bên trong bộ vi xử lý 8088 4. Cách mã hóa lệnh bộ vi xử lý 8088 II. CÁC TÍN HIỆU CỦA 8088 VÀ MỘT SỐ MẠCH PHỤ TRỢ 1. Sơ đồ chân và các tín hiệu của 8088 2. Mạch tạo xung nhịp 8284A 3. Phân kênh để tách thông tin 4. Đệm cho các bus Chương II: Bộ vi xử lý Intel 8088
  8. 3. Các thanh ghi 8088 có 14 thanh ghi , mỗi thanh ghi có kích thước16 bit
  9. Các thanh ghi đa năng 8 Bit cao 8 Bit thấp •8088/8086 đến 80286 : 16 bits •80386 trởlên: 32 bits EAX,EBX, ECX, EDX Lưu trữ tạm thời dữ liệu để truy cập nhanh hơn tránh khỏi phải truy cập bộ nhớ  AX (Accumulator): Các thanh ghi này được sử dụng trong các tính. Kết quả 8 bit được chứa trong AL  BX (Base): thanh ghi cơ sở, thường chứa địa chỉ lệch của ô nhớ trong đoạn DS.  CX (Count): thanh ghi đếm, CX thường chứa số lần lặp trong các lệnh lặp, CL thường chứa số lần dịch hoặc quay trong lệnh dịch và quay thanh ghi.  DX (Data): thanh ghi dữ liệu, DX cùng với AX tham gia vào phép nhân hoặc chia các số 16 bit. DX còn dùng để chứa địa chỉ của các cổng vào/ra trong các lệnh vào ra dữ liệu trực tiếp. Chương II: Bộ vi xử lý Intel 8088
  10. Các thanh ghi đoạn • Phương pháp quản lý bộ nhớ • Bộ nhớ là tập hợp các ô nhớ (byte), mỗi ô nhớ được nhận dạng bằng một địa chỉ vật lý duy nhất 20 bit • Bộ vxl 8086/8088 có bus địa chỉ 20 bit nên có thể cho phép truy xuất 1Mb=220 byte =1048576 byte địa chỉ ô nhớ khác nhau. • Trong 1 MB bộ nhớ chia thành các đoạn 64 KB khác nhau Chương II: Bộ vi xử lý Intel 8088
  11. Các thanh ghi đoạn  Để quản lý các đoạn nhớ (memory segment), bộ vi xử lý 8088 có 4 thanh ghi đoạn xác định địa chỉ bắt đầu của 4 đoạn nhớ 64 KB  CS (Code Segment): thanh ghi đoạn mã, xác định địa chỉ bắt đầu của đoạn nhớ chứa mã chương trình.  DS (Data Segment): thanh ghi đoạn dữ liệu, xác định địa chỉ bắt đầu của đoạn nhớ chứa hầu hết dữ liệu của chương trình.  ES (Extra Segment): thanh ghi đoạn dữ liệu phụ, xác định địa chỉ bắt đầu của đoạn nhớ chứa dữ liệu phụ. Đoạn nhớ này được các lệnh về chuỗi sử dụng để chứa dữ liệu đích.  SS (Stack Segment): thanh ghi đoạn ngăn xếp, xác định địa chỉ bắt đầu của đoạn nhớ ngăn xếp.
  12. Các thanh ghi đoạn  VD1 : Thanh ghi DS có giá trị là 1000h thì địa chỉ bắt đầu của đoạn là 10000h.  Địa chỉ kết thúc tìm được bằng cách cộng địa chỉ bắt đầu với với giá trị FFFFh (64K) → địa chỉ kết thúc là 10000h + FFFFh = 1FFFFh.  Như vậy đoạn dữ liệu có địa chỉ từ 10000h -> 1FFFFh.
  13. VD 2  Giả sử các thanh ghi đoạn có các giá trị CS = 2800h, DS = E000h, SS = 2900h và ES = 1000h. Ta có vị trí các đoạn trong bảng bộ nhớ như sau:
  14. Địa chỉ logic và Địa chỉ vật lý  Địa chỉ lệch (offset): xuất hiện trong đoạn nhớ 64KB (từ 0000h đến ffffh)  Để nhận được địa chỉ vật lý 20 bit của một ô nhớ nào đó trong một đoạn nhớ bất kỳ, CPU 8088 phải dùng đến hai thanh ghi 16 bit: một thanh ghi đoạn và một thanh ghi lệch.  Địa chỉ vật lý = Nội dung thanh ghi đoạn x 10h + Nội dung thanh ghi lệch = Địa chỉ đoạn + Địa chỉ lệch  Địa chỉ logic = Thanh ghi đoạn:Thanh ghi lệch (địa chỉ lệch)
  15. Mối liên hệ ĐCVL & ĐCLG  Segment:Offset: là địa chỉ logic vì nó tồn tại dưới dạng giá trị của các thanh ghi, và khi cần truy nhập ô nhớ nào thì nó phải được đổi ra địa chỉ vật lý của ô nhớ đó.  Địa chỉ logic có tính đa trị: vì ứng với một địa chỉ vật lý có rất nhiều địa chỉ logic khác nhau.  Ví dụ, địa chỉ vật lý 12345H có thể tạo ra từ các địa chỉ logic sau: 1000H:2345H 1200H:0345H 1004H:2305H Chương II: Bộ vi xử lý Intel 8088
  16. VD Vd:1 Cho một ô nhớ có địa chỉ vật lý là 1256Ah hãy cho biết địa chỉ dạng segment:offset với các đoạn 1256h và 1240h? Giải: Gọi X là offset trong segment 1256h và Y là offset trong segment 1240h chúng ta có: 1256Ah=12560h+X 1256Ah=Y+12400h Do đó: X=1256Ah-12560h=Ah Y= 1256Ah-12400h=16Ah Như vậy: 1256Ah =1256:000A=1240:016A Chương II: Bộ vi xử lý Intel 8088
  17. VD Vd2: Một ô nhớ có địa chỉ vật lý 80FD2h, ở trong đoạn nào thì nó có Offset bằng BFD2h Giải: Địa chỉ vật lý=segment * 10h + offset 84fdf Chương II: Bộ vi xử lý Intel 8088
  18. Thanh ghi con trỏ và chỉ số  IP (Instruction Pointer): thanh ghi con trỏ lệnh • IP luôn trỏ vào lệnh tiếp theo sẽ được thực hiện nằm trong đoạn mã CS. • Địa chỉ của lệnh này là CS:IP. BP (Base Pointer): con trỏ cơ sở • BP chủ yếu được sử dụng để truy nhập dữ liệu nằm trong đoạn ngăn xếp. • Địa chỉ logic của ô nhớ ngăn xếp do BP trỏ tới là SS:BP Chương II: Bộ vi xử lý Intel 8088
  19. Thanh ghi con trỏ và chỉ số SP (Stack Ponter): con trỏ ngăn xếp • SP luôn trỏ vào đỉnh hiện thời của ngăn xếp. • Địa chỉ logic của đỉnh ngăn xếp là SS:SP  SI (Source Index): chỉ số nguồn • SI trỏ vào dữ liệu trong đoạn dữ liệu DS. • Địa chỉ logic của ô nhớ do SI trỏ tới là DS:SI  DI (Destinaton Index): chỉ số đích, • DI trỏ vào dữ liệu trong đoạn dữ liệu DS. • Địa chỉ logic của ô nhớ do DI trỏ tới là DS:DI  Riêng trong các lệnh về chuỗi thì: • ES:DI luôn ứng với địa chỉ của một phần tử thuộc chuỗi đích • DS:SI luôn ứng với địa chỉ của một phần tử thuộc chuỗi nguồn. Chương II: Bộ vi xử lý Intel 8088
  20. Thanh ghi cờ (Flag Register)  Mục đích của thanh ghi cờ là chỉ ra trạng thái của bộ vi xử lý.  Mỗi bit của thanh ghi này được dùng để phản ánh một trạng thái nhất định của kết quả phép toán do ALU thực hiện hoặc một trạng thái hoạt động của CPU.  Thanh ghi cờ có 16 bit nhưng chỉ dùng hết 9 bit làm bit cờ. Các cờ Các trạng điều khiển thái Chương II: Bộ vi xử lý Intel 8088
nguon tai.lieu . vn