Bộ vi xử lý 8088

Chia sẻ: Bui Cao Dang | Ngày: | Loại File: DOC | Số trang:14

1
542
lượt xem
206
download

Bộ vi xử lý 8088

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

Trong máy vi tính ,đóng vai trò trung tâm điều khiển mọi hoạt động của toàn bộ hệ thống là bộ vi xử lý trung tâm CPU ( Central Processing Unit ) . Bộ vi xử lý 8088 trong máy vi tính IBM PC/XT là bộ vi xử lý 16 bit có nhiệm vụ điều khiển các hoạt động cơ bản của máy bằng cách gửi đi hoặc thu nhận các tín hiệu điều khiển , các địa chỉ bộ nhớ và các dữ liệu từ phần này sang phần khác của máy tính...

Chủ đề:
Lưu

Nội dung Text: Bộ vi xử lý 8088

  1. Phần i - hệ máy vi tính ibm pc CHƯƠNG I BỘ VI XỬ LÝ 8088  I/ SƠ ÐỒ KHỐI VÀ CÁC CHÂN CHỨC NĂNG Trong máy vi tính ,đóng vai trò trung tâm điều khiển mọi hoạt động của toàn bộ hệ  thống là bộ vi xử lý trung tâm CPU ( Central Processing Unit ) . Bộ vi xử lý 8088  trong máy vi tính IBM PC/XT là bộ vi xử lý 16 bit có nhiệm vụ điều khiển các hoạt  động cơ bản của máy bằng cách gửi đi hoặc thu nhận các tín hiệu điều khiển , các  địa chỉ bộ nhớ và các dữ liệu từ phần này sang phần khác của máy tính  thông qua các mạng lưới các đường liên lạc điện từ gọi là bus. Ðể nối bộ nhớ và  các chip hỗ trợ khác nhau vào bus có các cổng vào ra (I/O port ) đặt dọc theo bus .  Dữ liệu đi qua các cổng vào /ra để đến hoặc rời CPU tới các phần khác của máy vi  tính . Bộ vi xử lý 8088 có hai chế độ hoạt động là chế độ MIN và chế độ MAX nên một  số chân sẽ có các chức năng khác nhau đối với từng chế độ hoạt động khác nhau  của bộ vi xử lý . 
  2. Hình vẽ I­1 : Sơ đồ khối và các chân chức năng của 8088 *Các chân chức năng ­ AD0 ­ AD7 : Các chân địa chỉ dữ liệu phân đường chứa 8 bít dữ liệu hoặc 8 bit  thấp của địa chỉ bộ nhớ hoặc I/O . ­ A8 ­ A15 : Các chân địa chỉ xác định 8 bit cao của địa chỉ bộ nhớ ,I/O ,trong suốt  quá trính HLDA hoạt động các chân này ở trạng thái trở kháng cao . ­ A16 /S 3 ,A17/S 4 ,A18/S 5 , A19 /S 6 : Các chân địa chỉ /trạng thái ba trạng  thái , các chân này ở trạng thái trở kháng cao trong suốt quá trình HLDA .Bít trạng  thái S6 luôn =0 ,S5 chỉ trạng thái cờ IF . S4,S3 xác định đoạn nhớ đang được thâm  nhập : S 4 S 3 Ðoạn nhớ thâm nhập 0 0 Ðoạn dữ liệu 0 1 Ðoạn ngăn xếp
  3. 1 0 Ðoạn lệnh hoặc không có đoạn 1 1 Ðoạn dứ liệu  Bảng I­1 : S4 ,S3 xác định đoạn nhớ đang được thâm nhập  ­ RD : Tín hiệu điều khiển đọc dữ liệu từ bộ nhớ ,cổng I/O ­ READY :tín hiệu vào thông báo bộ nhớ hoặc cổng I/O sẵn sàng làm việc . ­ INTR : (interupt request ) tín hiệu vào yêu cầu ngắt che được bằng phần mềm . ­ TEST : tín hiệu vào để kiểm tra bộ VXL bằng lệnh WAIT . ­ NMI : đầu vào tín hiệu ngắt không che được .  ­ RESET : tín hiệu vào để khởi động bộ VXL ,địa chỉ khởi động FFFF0h ­ CLK : Tín hiệu nhịp đưa vào cho bộ VXL lấy từ bộ phát xung nhịp 8284  ­ Vcc : Ðiện áp nguồn 5V. ­ GND : Ground ­đất . ­ MN / MX : minimum/maximum mode .Tín hiệu vào điều khiển chế độ ,tín hiệu  này được xác lập cố định  MN/MX nối với +5V ­ chế độ min ,nối với đất ­chế độ max  * Các chân ở chế độ MIN ­ M/IO : Chỉ ra rằng CPU đang thâm nhập bộ nhớ hay cổng I/O . ­ WR : Tín hiệu ra 3 trạng thái báo ghi dữ liệu bộ nhớ ,I/O INTA (Interupt acknowledge ) : Tín hiệu ra chấp nhận ngắt . ­ ALE ( Address latch enable ) : Tín hiệu thông báo rằng bus địa chỉ dữ liệu có  chứa địa chỉ.
  4. DT/R ( Data trasmit / Receiver ) : Tín hiệu ra 3 trạng thái chỉ chiều chuyển động  của dữ liệu , DT/ R = 0 dữ liệu đi ra từ CPU , DT/ R = 1 dữ liệu đi vào CPU . ­ DEN (Data enable ) : Tín hiệu ra ba trạng thái để mở các bộ đệm dữ liệu ,khi  DEN =0 ­ có dữ liệu . ­ HOLD : Tín hiệu vào yêu cầu treo (thả nổi ) CPU . ­ HLDA (Hold acknowledge ) : báo ra bộ vi xử lý chấp nhận thả nổi . ­ SS0 : Tín hiệu trạng thái ,hoạt động theo bảng sau : DT/ R SS0 ­­Chu kỳ bus ­­ IO/M 0 0 0 Báo nhận lệnh ngắt 0 0 1 Ðọc bộ nhớ 0 1 0 Ghi bộ nhớ 0 1 1 Dừng 1 0 0 Nhận lệnh 1 0 1 Ðọc cổng I/O  1 1 0 Ghi cổng I/O  1 1 1 Dừng  Bảng I­2 */ Các chân ở chế độ MAX ­ S2 ,S1 ,S0 : Cho biết trạng thái của chu kỳ bus . S2 S1 S0 Chu kỳ bus
  5. 0 0 0 Trả lời ngắt 0 0 1 Ðọc cổng I/O 0 1 0 Ghi cổng I/O 0 1 1 Dừng 1 0 0 Nhận lệnh 1 0 1 Ðọc bộ nhớ 1 1 0  Ghi bộ nhớ 1 1 1 Thụ động Bảng I­3 ­ RQ/ GT0 ,RQ/ GT1 (Request /Grant ) :Tín hiệu hai chiều RQ ­yêu cầu treo  bus ,GT ­ tín hiệu báo ra rằng CPU chấp nhận treo . ­ LOCK : Tín hiệu ra cấm các mạch điều khiển khác sử dụng bus . ­ QS1 ,QS0 (Queu status): Cho biết trạng thái của hàng đợi lệnh . Bảng trạng thái : QS1 QS0 Trạng thái 0 0 không hoạt động 0 1 Byte thứ nhất của mã lệnh  1 0 Hàng đợi lệnh rỗng 1 1 Các byte tiếp theo
  6. Bảng I­4 II/ CÁC THANH GHI CHỨC NĂNG  Bộ vi xử lý 8088 có 14 thanh ghi chức năng chia thành các nhóm thanh ghi khác  nhau có nhiệm vụ và chức năng riêng biệt ,gồm các thanh ghi sau đây : */ Thanh ghi cờ :  OF DF IF TF SF ZF AF PF CF + Các cờ phép toán : CF (cờ nhớ ), PF (cờ kiểm tra chẵn lẻ ) ,AF (cờ phụ ) ,  ZF (cờ rỗng ), SF (cờ dấu ), OF (cờ tràn ) .  + Cờ trạng thái: DF ( chỉ hướng xử lý chuỗi ký tự ), IF (cờ cho phép ngắt), TF ( cờ  bẫy ). */ Các thanh ghi đa năng (General register ): Gồm 4 thanh ghi 16 bit Công dụng chung của các thanh ghi này là chứa dữ liệu tạm thời . Ngoài ra các  thanh ghi này còn có các chức năng sau : ­ AX (Accumulato ) : Thanh ghi chính, được sử dụng trong các phép toán  số học và logic  ­ BX ( Base ) : Thanh ghi cơ sở dùng trong các phương pháp đánh địa chỉ  cơ sở . ­ CX (Count ) : Thanh ghi đếm dùng làm bộ đếm có tính lặp cho các  lệnh dịch và quay . ­ DX (Data ) : Thanh ghi dữ liệu sử dụng trong các lệnh IN và OUT .
  7. */ Các thanh ghi con trỏ : Gồm 3 thanh ghi 16 bit . ­ IP ( Intruction Pointer ) : Con trỏ lệnh ,dùng để chứa offser của lệnh tiếp  theo ( CS:IP ) ­ SP (Stack pointer ):Dùng để chứa địa chỉ offset của đỉnh ngăn xếp( SS:SP ) ­ BP ( Base pointer ) : Con trỏ cơ sở dùng để trỏ đến 1 ngăn nhớ trong ngăn xếp (SS:BP) */ Các thanh ghi chỉ số : hai thanh ghi 16 bit là SI và DI ­ SI (Source index ) ,DI (destination index ): sử dụng trong mode địa chỉ  chỉ số để kết hợp đoạn dữ liệu và đoạn thêm . */ Các thanh ghi đoạn : 4 thanh ghi đoạn chứa địa chỉ đoạn tương ứng là . ­ Thanh ghi CS ( đoạn lệnh ), DS ( đoạn dữ liệu ), SS ( đoạn ngăn xếp ) ,ES  (đoạn thêm ). III/ ?ẶC TÍNH KỸ THUẬT  1/ Nguồn điện : Bộ VXL 8088 hoạt động với điện áp +5V sai số ?  10% ,dòng điện max 340 mA .Bộ  VXL này hoạt động trong khoảng nhiệt độ 32?  F đến 180?  F ,khoảng nhiệt độ này  không đủ để cho bộ VXL này hoạt động ngoài trời vào mùa đông thậm chí ngay cả  vào mùa hè . 2/ Ðặc tính một chiều : Ðây là đặc tính quan trọng, nếu không biết dòng điện đầu vào cùng các dòng điện  ra ở các chân ra của 8088 thì không thể ghép nối các đầu này với các phần tử  khác.
  8. */ Ðặc tính đầu vào : Các đầu vào của bộ VXL này tương thích với tất cả các phần tử logic ngày  nay,bảng sau đây miêu tả mức điện áp và dòng điện vào của VXL :  Mức logic Mức điện áp Mức dòng điện  0 0.8V Max 10µ  A Max  1 2.0V Min 10µ  A Max Bảng I­ 5 */Ðặc tính đầu ra  Bảng sau minh hoạ đặc tính đầu ra của tất cả các đầu ra của VXL . Mức logic 1  tương thích với hầu như tất cả các phần tử logic , nhưng mức 0 thì có thể không  tương thích với các phần tử khác . Phần tử logic chuẩn có mức logic 0 Max = 0.4V  còn 8088 có mức ra max 0.45 V .Sự sai khác này làm giảm khả năng chống nhiễu  từ mức chuẩn 400mV xuống còn 350mV . Vì vậy cần chú ý không quá 10 tải khác  nhau có thể nối vào một đầu ra ,đặc biệt khi dùng các dây dài , và tốt nhất nên  chọn các phần tử logic thuộc họ 74LS ,74ALS , 74HC.. Bảng đặc tính đầu ra : Mức logic Mức điện áp Mức dòng điện  0 0.45V Max 2.0mA Max  1 2.4V Min ­ 400µ  A Max  Bảng I­6 IV/ CÁC CHẾ ÐỘ HOẠT ÐỘNG CỦA 8088: 1/ Chế độ tối thiểu : ( chân MN/ MX nối với nguồn +5V ).
  9. Hình vẽ I­2 Trong chế độ này bộ vi xử lý 8088 trực tiếp gửi tín hiệu điều khiển cho hệ thống .  Ðây là chế độ hoạt động đơn giản nhất của 8088 ,tín hiệu điều khiển được thực  hiện ngay trong bộ vi xử lý . Cấu hình này cho phép các thiết bị ngoại vi của 8085A  hoạt động một cách tương thích với 8088 mà không cần các mạch phụ bên ngoài . Hình vẽ I­ 2 minh hoạ hệ thống 8088 hoạt động với chế  độ MIN . 2/Chế độ MAX ( chân MN /MX nối thẳng với đất ) Khác biệt so với chế độ Min ,trong chế độ 8088 này cần các mạch phụ bên ngoài  để chuyển đổi tín hiệu điều khiển ( hình vẽ I­3 ). Các mạch phụ này chuyển đổi tín  hiệu các bit trạng thái S0 ,S1 ,S2 thành tín hiệu trao đổi I/O và bộ nhớ để điều  khiển sự truyền dữ liệu .Trong chế độ này 8088 cần có thêm bộ điều khiển bus  8288 bởi vì không có đủ các chân tín hiệu đầu ra do các chức năng mới đã thay  thế các chức năng của một số chân như minh hoạ trong ( hình I­1).Chế độ MAX  được sử dụng khi trong hệ thống có chứa một bộ đồng xử lý như bộ đồng xử lý  toán học 8087. 
  10. Hình vẽ I­3 V/ TẬP LỆNH CỦA 8088 : Cũng như tất cả các bộ vi xử lý khác , bộ vi xử lý 8088 có tập lệnh gồm 125 lệnh  chia thành các nhóm lệnh thực hiện các công việc khác nhau như các nhóm lệnh  thực hiện các phép tính toán học trên các số nguyên 8 bit hay 16 bit ,nhóm lệnh  thực hiện việc di chuyển dữ liệu ,nhóm lệnh kiểm tra một giá trị để thực hiện các  hoạt động logic hoặc các lệnh tiếp theo dựa trên kết quả nhận được và các lệnh  thực hiện việc giao tiếp giữa bộ vi xử lý với các thiết bị ,phần tử logic ở bên ngoài .  Các lệnh này và dữ liệu liên quan đến chúng sẽ được dịch ra dạng nhị phân gọi là  ngôn ngữ máy, vì vậy chúng có thể lưu trong bộ nhớ và di chuyển qua các mạch  điện từ để hoàn thành từng công việc cụ thể . Sau đây là bảng liệt kê một số lệnh  cơ bản và chức năng từng lệnh của bộ vi xử lý 8088 : */ Nhóm các lệnh toán học : AAA ­ Cộng có chỉnh ASCII AAD ­ Chia có chỉnh ASCII
  11. AAM ­ Nhân có chỉnh ASCII AAS ­ Trừ có chỉnh ASCII ADC ­ Cộng có nhớ ADD ­ Cộng  CWD ­ Chuyển từ Word sang Word kép AND ­ phép toán Và (logic )  DAA ­ Chỉnh thành thập phân cho phép cộng DEC ­ Giảm 1 dơn vị  DAS ­ Chỉnh thập phân cho phép trừ INC ­ tăng DIV ­ Chia IDIV ­ Chia nguyên MUL ­ Nhân NEG ­ Ðổi dấu IMUL ­ Nhân nguyên OR ­ Hay , SUB ­ trừ  NOT ­ Phủ định ROL, ROR ­ quay trái ,phải  SHL,SHR ­ Dịch trái, dịch phải SBB ­ Trừ có mượcn */ Nhóm lệnh điều kiện : CMP ­ So sánh CMPS ­ So sánh xâu  CMPSB ­ So sánh xâu byte CMPSW ­ So sánh xâu Word  JAE ,JGE ­ Nhảy nếu lớn hơn hoặc bằng JA, JG ­ Nhảy nếu lớn hơn JBE ,JLE ­ Nhảy nếu nhỏ hơn hoặc bằng JB ,JL ­ Nhảy nếu nhỏ hơn JPE ­ Nhảy nếu lỗi chẵn lẻ theo chẵn JE ­ Nhảy nếu bằng JPO ­ Nhảy nếu lỗi chẵn lẻ theo lẻ JMP ­ Nhảy không điều kiện  JO , JNO ­ Nhảy nếu có tràn ,không tràn JC ­ Nhảy nếu cờ nhớ được đặt JZ ,JNZ ­ Nhảy nếu bằng 0, không bằng 0  JP, JNP ­ Nhảy nếu có ,không có lỗi chẵn lẻ 
  12. */Nhóm lệnh truyền số liệu : MOV ­ Chuyển MOVS ­ Chuyển byte hay Word của xâu MOVSB ­ Chuyển byte của xâu MOVSW ­ Chuyển Word của xâu  IN ­ Ðọc vào một byte hoặc Word OUT ­ Ðưa ra một byte hoặc Word */ Nhóm lệnh lặp : LOOP ­ Lặp LOOPE ­ Lặp trong khi bằng  LOOPNE ­ Lặp trong khi không bằng LOOPZ ­ Lặp trong khi bằng 0 LOOPNZ ­ Lặp trong khi khác không REP ­ Lặp lại REPE ­ Lặp lại nếu bằng  REPNE ­ Lặp lại nếu khác REPZ ­ Lặp lại nếu bằng 0 REPNZ ­ Lặp lại nếu khác  không  VI/ CÁC DẠNG DỮ LIỆU CỦA 8088 : 8088 có thể làm việc với các dạng dữ liệu số cơ bản đều được tạo từ hai đơn vị cơ  sở là Byte ­ 8 bit và Word ­ 16 bit phù hợp với khả năng xử lý 16 bit và bus dữ liệu  8 bit của 8088. Dữ liệu ký tự được 8088 lưu trữ theo dạng ASCII chuẩn ,mỗi ký tự  được chiếm 1 byte và tập lệnh của 8088 có thể thực hiện phép cộng và trừ thập  phân trên các ký tự ASCII này ( kết hợp với cờ AF ). VII/ QUẢN LÝ ÐỊA CHỈ BỘ NHỚ VÀ KHÁI NIỆM ngăn xếp của 8088  Về bản chất 8088 là bộ vi xử lý 16 bit nên nó không thể làm việc trực tiếp với các  số lớn hơn 16 bit vì vậy nó chỉ thâm nhập được 64K (65.535 = 216 ) địa chỉ trong bộ  nhớ theo lý thuyết . Nhưng thực tế 8088 có thể thâm nhập được một bộ nhớ lớn  hơn rất nhiều , 1024K ( = 220 )địa chỉ nhớ , nhờ có bus địa chỉ 20 bit , song vẫn còn  bị hạn chế bởi khả năng chỉ xử lý được 16 bit . Do đó để 8088 dùng phương thức  đánh địa chỉ theo đoạn để thích hợp với dạng dữ liệu 16 bit của nó.
  13. 8088 chia bộ nhớ đánh địa chỉ được thành nhiều đoạn (segment ) mỗi đoạn không  chứa quá 64K byte ,và bắt đầu bằng một địa chỉ chia hết cho 16 gọi là một địa chỉ  đoạn . Ðể đánh địa chỉ tới từng byte hoặc từng Word 8088 dùng thêm một địa  chỉ ,gọi là địa chỉ offset ( địa chỉ tương đối của byte trong đoạn ).  Các địa chỉ được tạo lập và xử lý bằng cách kết hợp một địa chỉ đoạn 16 bit với  một địa chỉ ofset cũng 16 bit . Ðịa chỉ đoạn được dịch chuyển trái 4 bit (tương  đương với nhân 16) rồi cộng với địa chỉ offset tạo thành một địa chỉ 20 bit hoàn  chỉnh . */Khái niệm ngăn xếp trong thiết kế của 8088 : Ngăn xếp ( Stack ) là một đặc trưng thiết kế của 8088, nó cung cấp cho chương  trình một nơi cất giữ và theo dõi công việc đang thực hiện . Công dụng quan trọng  nhấtcủa ngăn xếp là cất giữ địa chỉ chương trình gọi và những tham số cần truyền  cho chương trình con . Ngăn xếp còn được dùng như một vùng nhớ làm việc tạm  thời .  Ngăn xếp còn được sử dụng bắt đầu từ đáy (có địa chỉ cao nhất ) đến đỉnh ( có địa  chỉ thấp nhất ) và dữ liệu mới vào sẽ được lưu ở địa chỉ thấp hơn so với đỉnh hiện  hành . Ngăn xếp hoạt động theo nguyên tắc vào sau ra trước LIFO ­ Last in First  Out ,như vậy khi bổ xung dữ liệu thì đỉnh ngăn xếp sẽ di chuyển đến các địa chỉ  ngày càng thấp hơn ( cứ mỗi lần như thế thanh ghi SP lại giảm đi ) làm cho số gia  địa chỉ của các nội dung cũ trong ngăn xếp dương . Bất kỳ phần nào của chương trình cũng đều có thể tạo ngăn xếp mới vào thời điểm  bất kỳ ,nhưng thực tế điều này ít xảy ra . Thông thường khi chương trình đang chạy  chỉ có một ngăn xếp duy nhất được tạo lập và sử dụng . Như vậy bộ vi xử lý 8088 là một bộ vi xử lý 16 bit có khả năng đánh địa chỉ bộ nớ  lên tới 1M ô nhớ nhờ bus địa chỉ 20 bit , hoạt động dựa trên tập hợp các lệnh và  các tín hiệu điều khiển trong từng chế độ khác nhau .
  14. Trong máy vi tính IBM PC/XT , bộ vi xử lý 8088 được dùng làm bộ xử lý trung tâm  CPU ( Central Proccesing Unit ) , lắp trên mainboard .

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản