1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu tìm hiểu về CPU 8088 và nguyên lý làm việc thông qua các chân tín hiệu

17 928 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 538,5 KB

Nội dung

Nghiên cứu tìm hiểu về CPU 8088 và nguyên lý làm việc thông qua các chân tín hiệu. Bộ xử lý 8088 ra đời sau 8086, nó có cấu trúc bên trong và tập lệnh hoàn toàn giống của 8086. Chỉ khác 8086 ở kênh chuyển dữ liệu với bên ngoài. 8088 sử dụng kênh dữ liệu 8 bit nên việc truyền dữ liệu giữa các thanh ghi trong nó với bộ nhớ trong nó chậm hơn so với 8086. Đây là một bước lùi về kĩ thuật nhưng đem lại nhiều lợi ích về kinh tế. Tại thời điểm lịch sử đó, bus DataMaster 8 bit đang được sử dụng rộng rãi trên thị trường, nhiều loại card mở rộng và các chip hỗ trợ có sẵn trên thị trường là loại 8 bit nên có giá thấp hơn loại 16 bit tương ứng. Việc sử dụng bus dữ liệu 8 bit giúp cho người sử dụng khi nâng cấp máy có thể tận dụng được các card 8 bit trong các máy cũ cũng như chỉ phải mua mới với giá thấp. đồng thời cũng giúp cho các nhà sản xuất các máy tương thich IBM PC có thêm nhiều cơ hội lựa chọn sản phẩm của các hãng khác nhau. Chiến lược phát triển có tính thừa kế như vậy đã góp phần làm cho khách hàng của IBM ngày càng gia tăng. Bộ vi xử lý này sẽ còn được sử dụng rộng rãi trong thời gian tới do tính kế thừa của các sản phẩm trong họ x86. Các chương trình viết cho 8088 vẫn chạy được trên các hệ thống tiên tiến sau này.

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN MÔN:KIẾN TRÚC MÁY TÍNH

Đề Tài 6: Nghiên cứu tìm hiểu về CPU 8088 của Intel và nguyên lý làm việc thông

qua các chân tín hiệu.

GVHD: Nguyễn Thanh Hải

Sinh viên thực hiện: nhóm 11:

Nguyễn Hữu Phước(1041360445) Trần Đăng Trường(1041360441) Ngô Văn Quý(1041360522) Nguyễn Đình Thanh(1041360467) Nguyễn Đức Trọng(1041360514)

Hà Nội, Ngày 30 Tháng 07 Năm 2017

Trang 2

Mục Lục

Phần I: Tìm hiểu về CPU 8088 của Intel 2

1.Giới thiệu chung 2

1.1 Các đặc tính kĩ thuật chủ yếu 2

Phần II: Sơ đồ khối và chức năng của các khối 3

1 Các khối trong cpu 8088: 3

1.1 ALU 4

1.2 BIU 4

1.3 EU (Execution Unit): 6

Phần III: Đặc diểm và chức năng của các thanh ghi 6

1.1 Các thanh ghi chức năng: 6

1.2 Các thanh ghi con trỏ và chỉ số: 7

1.3 Thanh ghi cờ: 8

1.4 Thanh ghi đoạn: 10

IV : Sơ đồ chân, chức năng của các chân tín hiệu Nguyên lý hoạt động của cpu 8088. .12

1.1 :Sơ đồ chân 12

1.2 Các chân tín hiệu: 13

1.3 Chế độ MIN (Chân MN/MX cần được nối thẳng vào +5V mà không qua điện trở) 15

1.4 Chế độ MAX ( chân MN/MX cần được nối thẳng vào 0V) 16

Trang 3

Phần I: Tìm hiểu về CPU 8088 của Intel

1.Giới thiệu chung.

Bộ vi xử lý 8088 thuộc họ vi xử lý của Intel

Điển hình là: - 8085 là bộ vi xử lý 8 bit

- 8086 là bộ vi xử lý 16 bit hoàn chỉnh

- 8088 là bộ vi xử lý 16 bit trong/8 bit ngoài

1.1 Các đặc tính kĩ thuật chủ yếu

- Số thanh ghi: 14 thanh ghi 16 bit

- Bus địa chỉ: 20 bit

- Bus dữ liệu: 8

- Tập lệnh: 115

- Tốc độ chuẩn: 4.77 Mhz

- Số chân của bộ vi xử lý: 40

Bộ xử lý 8088 ra đời sau 8086, nó có cấu trúc bên trong và tập lệnh hoàn toàn giống của 8086 Chỉ khác 8086 ở kênh chuyển dữ liệu với bên ngoài 8088 sử dụng kênh dữ liệu 8 bit nên việc truyền dữ liệu giữa các thanh ghi trong nó với bộ nhớ trong nó chậm hơn so với 8086 Đây là một bước lùi về kĩ thuật nhưng đem lại nhiều lợi ích về kinh

tế Tại thời điểm lịch sử đó, bus DataMaster 8 bit đang được sử dụng rộng rãi trên thị trường, nhiều loại card mở rộng và các chip hỗ trợ có sẵn trên thị trường là loại 8 bit nên có giá thấp hơn loại 16 bit tương ứng Việc sử dụng bus dữ liệu 8 bit giúp cho người sử dụng khi nâng cấp máy có thể tận dụng được các card 8 bit trong các máy cũ cũng như chỉ phải mua mới với giá thấp đồng thời cũng giúp cho các nhà sản xuất các máy tương thich IBM PC có thêm nhiều cơ hội lựa chọn sản phẩm của các hãng khác nhau Chiến lược phát triển có tính thừa kế như vậy đã góp phần làm cho khách hàng của IBM ngày càng gia tăng Bộ vi xử lý này sẽ còn được sử dụng rộng rãi trong thời gian tới do tính kế thừa của các sản phẩm trong họ x86 Các chương trình viết cho

8088 vẫn chạy được trên các hệ thống tiên tiến sau này

Trang 4

Phần II: Sơ đồ khối và chức năng của các khối

1 Các khối trong cpu 8088:

Sự hoạt động của bộ vi xử lý 8088 thực sự là việc thức hiện lặp đi lặp lại 3 thao tác chính là lấy lệnh (fetch), giải mã lệnh (decode) và thực hiện (execute) CPU 8088 gồm

2 khối chính:

- EU (Execution Unit): Đơn vị (khối) thực hiện lệnh

- BIU (Bus Interface Unit): Đơn vị giao tiếp bus (khối tương thích bus) để điều khiển bus hiệu quả hơn

Việc chia CPU làm 2 thành phần làm việc đồng thời có liên hệ với nhau qua đệm lệnh làm tăng đáng kể tốc độ xử lý trên CPU Các bus trong CPU có nhiệm

vụ truyền tải tín hiệu giữa các khối Trong số các bus đó có bus dữ liệu 16 bit của ALU, bus các tín hiệu điều khiển của EU và bus trong của hệ thống ở BIU Trước khi đi ra bus ngoài hoặc đi vào bus trong của bộ vi xử lý các tín hiệu truyền trên bus thường được cho đi qua các cán bộ đệm để nâng cao tính tương thích cho nối ghép hoặc nâng cao nối ghép

SƠ ĐỒ CÁC KHỐI TRONG CPU 8088

Trang 5

1.1 ALU

Làm nhiệm vụ thực hiện các lệnh số học là logic

 Số học: +, -, *, /, so sánh, đảo dấu

 Logic: NOT, AND, OR, XOR

1.2 BIU

BIU gồm có mạch tạo địa chỉ và điều khiển BUS Nó có nhiệm vụ bảo đảm cho

BUS được sử dụng hết dung lượng Để đảm bảo được điều đó, BIU phải thực hiện 2 chức năng sau:

- Chức năng 1: BIU nhận trước các lệnh cất tạm vào dãy chứa lệnh nhờ đó mà

MP tăng được tốc độ tính toán

- Chức năng 2: BIU đảm đương mọi chức năng điều khiển BUS để EU có thể tập trung vào việc xử lý dữ liệu và thực hiện lệnh Con trỏ chứa địa chỉ của lệnh thực hiện tiếp theo

BIU được dùng để trực tiếp truy xuất hoặc phối ghép với các bộ phận khác của máy tính

BIU gồm 3 khối chức năng:

- Đơn vị điều khiển BUS

- Hàng chứa lệnh

- Điều khiển địa chỉ

Đơn vị điều khiển BUS ( Bus control unit): dùng để thực hiện thao tác BUS đối với MP Nó tiếp nhận và tạo các lệnh, dữ liệu và các tín hiệu điều khiển giữa MP với các bộ nhớ khác của hệ Ví dụ, xác định hướng di chuyển của dữ liệu trên BUS dữ liệu bằng đường dây điều khiển DT/R (data transmit/receive ) phát hoặc thu dữ liệu.\

Hàng chứa lệnh ( Instruction Queue ): dùng để lưu trữ tạm thời các lệnh sẽ được thực hiện trong EU Thông qua đơn vị điều khiển BUS BIU nhận trước các lệnh và cất chúng tạm vào hàng chứa lệnh Đây là công việc tốn nhiều thời gian

BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghi dữ liệu từ cổng vào hoặc bộ

nhớ

Nói cách khác, BIU chịu trách nhiệm đưa địa chỉ ra bus và trao đổi dữ liệu với bus

Trang 6

Trong BIU còn có một bộ nhớ đệm với dung lượng 4 byte dùng để chứa các mã lệnh để

chờ EU xử lý ( Bộ đệm này còn được gọi là hàng đợi lệnh)

° Hàng đợi: là tập thanh ghi

Với 8086 hàng đợi lệnh là 6 byte, 8088 hàng đợi lệnh là 4 byte nên chứa được tối đa là 4 lệnh CPU chưa tập thanh ghi theo kiểu LIFO

Cơ chế:

 Đọc lệnh (lấy lệnh)

 Giải mã lệnh

 Thực lệnh

° Thanh ghi IP: Thanh ghi con trỏ lệnh, trỏ vào lệnh tiếp theo chuẩn bị được thực hiện nằm trong đoạn CS (CS:IP) Sau khi đọc 1 byte, IP tự động được tăng thêm 1 Như vậy thực tế thì cặp CS:IP mới là con trỏ lệnh vì nó chứa địa chỉ đầy

đủ của một lệnh trong bộ nhớ

1.3 EU (Execution Unit):

EU bào gồm một đơn vị điều khiển, khối này có mạch giải mã lệnh Mã lệnh đọc vào từ bộ nhớ được đưa đến đầu vào của bộ giải mã, các thông tin thu được từ đầu ra của nó sẽ dược đưa đến mạch tạo xung điều khiển, kết quả là ta thu được các dãy xung khác nhau từ kênh điều khiển ( tùy vào mã lệnh) để điều khiển hoạt động các bộ phận bên trong và bên ngoài của CPU Ngoài ra CPU còn có khối số học lôgic ( Arithmetic And Logic Unit ALU) dùng để thực hiện các thao tác khác nhau với toán hạng của lệnh Các bus dữ liệu bên trong của EU đều là 16 bit, Eu không nối trực tiếp với bên ngoài, nó nhận lệnh từ hành đợi lệnh bên trong BIU Nếu là lệnh cần truy cập bộ nhớ hoặc cổng vào/ra(I/O port-thiết bị ngoại vi) thì Eu yêu cầu BIU lấy hoặc gửi dữ liệu tất cả các địa chỉ mà EU thao tác đều là 16 bit, khi gửi sang BIU thì BIU sẽ thực hiện tính toán để tạo địa chỉ vật lý 20 bit và phát ra các chân địa chỉ của chip Tóm lại, khi CPU hoạt động EU sẽ cung cấp thông tin địa chỉ cho BIU để khối này đọc lệnh và dữ liệu còn bản thẩn khối này đọc lệnh và giải mã lệnh

Phần III: Đặc diểm và chức năng của các thanh ghi.

1.1 Các thanh ghi chức năng:

Trong khối EU có 4 thanh ghi đa năng 16 bit Ax, Bx, Cx, Dx Điều đặc biệt là mỗi

khi cần chứa các dữ liệu 8 bit thì mỗi thanh ghi có thể được phân chia thành 2 thanh ghi 8 bit cao và 8 bit thấp để làm việc độc lập nhau, đó là các tập thanh ghi AH và AL,

BH và BL, CH và CL, DH và DL ( trong đó H chỉ phần cao, L chỉ phần thấp) Mỗi

Trang 7

thanh ghi có thể được sử dụng một cách vạn năng để chứa các tập dữ liệu khác nhau nhưng cũng có nhưng công việc nhất định chỉ thao tác với một vài thanh ghi nào đó Chính vì vây các thanh ghi thường được gắn các tên cụ thể như sau:

 Ax (Accumulator, Acc): thanh chứa, chứa tạm thời dữ liệu (toán hạng, kết quả các phép toán nhân, chia và được coi là Acc) Ax có thể đc phân chia thành AH( phần cao) và AL (phần thấp) Nếu kết quả là 8 bit thì thanh ghi Ax được coi là thanh ghi tích lũy

 Bx (Base): Thanh ghi cơ sở, thường được dùng để chưa địa chỉ cơ sở cần truy nhập trong lệnh XLAT BX có thể được phân chia thành BH (Phần cao) và

BL (Phần thấp)

 Cx (Count): Bộ đếm, thường được dùng để đếm số lần lặp của công việc (số vòng lặp trong các vòng lặp) Cx có thể được chia thành CH (phần cao) và

CL (phần thấp) CH thường được dùng để chứa số lần lặp trong các lệnh LOOP, còn CL thường chứa các số lần dịch hoặc quay trong các lệnh dịch quay thanh ghi

 Dx (Data): Thanh ghi dữ liệu , sử dụng để chứa toán hạng , kết quả Ax

và Dx dung để chứa toán hạng hoặc kết qủa của các phép nhân chia số 16 bit Dx còn chứa địa chỉ cổng ra vào trực tiếp (In,Out) Dx có thể được phân chia thành DH (phần cao) và DL (phần thấp)

Trang 8

1.2 Các thanh ghi con trỏ và chỉ số:

Trong CPU 8088 còn có ba thanh ghi con trỏ và hai thanh ghi chỉ số 16bit Các thanh ghi này dùng cho việc lưu trữ thông tin trong một khu vực đặc biệt của bộ nhớ

Nó thường được dùng chủ yếu để trỏ hoặc ghi chỉ số để xác định một địa chỉ trong bộ nhớ Các địa chỉ được chứa trong các thanh ghi này có thể được liên hợp với các thông tin từ BIU để xác định vị trí thực của dữ liệu trong bộ nhớ.Các thanh ghi này ( trừ IP) đều có thể được dùng như các thanh ghi đa năng, nhưng ứng dụng chính của mỗi thanh ghi là chúng được ngầm định như là thanh ghi lệch cho các đoạn tương ứng Cụ thể:

 SP (Stack Pointer): Thanh ghi con trỏ thanh xếp, trỏ vào đỉnh hiện thời của thanh xếp nằm trong đoạn ngăn xếp SS (Nó luôn kết hợp với thanh ghi SS)

Ta có địa chỉ logic SS:SP Sau mỗi thao tác cất một word vào stack (thao tác Push) thì SP tự động giảm 2 đơn vị, còn sau thao tác lấy 1 word ra khỏi stack (thao tác Pop), SP tự động tăng 2 đơn vị

 BP (Base stack Pointer): Con trỏ cơ sở, luôn trỏ vào một dữ liệu cụ thể, nằm trong đoạn ngăn xếp SS Ta có địa chỉ logic SS: BP

 SI (Source Index): Thanh ghi chỉ số nguồn (hay nguồn), chỉ vào dữ liệu nằm trong đoạn DS Ta có địa chỉ logic DS: SI

Trang 9

 DI (Destination Index): Thanh ghi chỉ số đích, chỉ dữ liệu trong đoạn

DS Ta có địa chỉ logic DS: DL

Ta có các cặp SP, BP đi với SS và SI, DI đi với DS

Trong các lệnh thao tác với dữ liệu kiểu chuỗi thì cặp ES: DI luôn ứng với địa chỉ của phần tử thuộc chuỗi đích còn cặp DS: SI ứng với địa chỉ của phần

tử thuộc chuỗi nguồn

1.3 Thanh ghi cờ:

Đây là thanh ghi 16 bit, mỗi bit được sử dụng để thể hiện một trạng thái của bộ

vi xử lý tại một thời điểm nhất định trong quá trình thực hiện chương trình dãy các câu lệnh, nhưng chỉ dung 9 bit đối với bộ vi xử lý 8088 Mỗi bit đó được gọi là một cờ (flag) Giá trị của mỗi cờ được biểu diễn bằng các kí hiệu gợi nhớ như cách biểu diễn của chương trình Debug của DOS Dựa vào cờ này người lập trình có thể

có các lệnh thích hợp tiếp theo cho bộ vi xử lý Thanh ghi cờ 16 bit nhưng người

ta chỉ dùng hết 9 bit của nó để làm các bit cờ như hình vẽ dưới đây:

| Các cờ của bộ vi xử lý 8088

|

(x: không được định nghĩa (don’t care), với 8 bit thấp là các cờ của bộ vi xử lý 8088)

Hình vẽ: sơ đồ thanh ghi cờ của 8088.

° Cờ trạng thái: Biểu diễn trạng thái phép toán vừa thực hiện

 CF (Carry Flag): Cờ nhớ (cờ tràn)

CF = 1 (CY – Carry) khi kết quả phép toán vượt (tràn) khuôn khổ biểu diễn (có nhớ (mượn) lên trên (từ) MSB), CF = 0 (NC – No Carry) trong trường hợp ngược lại Cờ này thường được sử dụng khi thực hiện các phép cộng, trừ các số byte

Ví dụ:

1011 0001

+ 0110 1001

10001 1010

 AF (Auxilary Flag): Cờ nhớ phụ (tràn phụ - cờ bổ trợ)

Trang 10

Cờ này có ý nghĩa khi ta làm việc với số BCD, AF = 1 (AC – Auxilary Carry) khi có nhớ hoặc mượn từ một số BCD thấp (4 bit thấp) sang một số BCD cao (4 bit cao) và AF =0 (NA – No Auxilary carry) trong trường hợp ngược lại

 SF (Sign Flag): Cờ dấu Trong bộ vi sử lý 8088 các số âm được biểu diễn dưới dạng số bù 2, nên phải dùng cờ SF để chỉ thị dấu của kết quả

SF = 1 (NG – NiGative), khi kết quả phép toán là một số âm, SF = 0 (PL – Plus) trong trường hợp ngược lại

 ZF (Zero Flag): Cờ rỗng

ZF = 1 (ZR – Zero) khi kết quả phép toán = 0, ZF = 0 (NZ-Non Zero) trong trường hợp ngược lại

 OF (Overflow Flag): Cờ tràn

OF = 1 (OV – Overflow) khi kết quả là số bù 2 vượt khuôn khổ biểu diễn (tràn số học hay nói cách khác: khi cộng 2 số cùng dấu mà kết quả là một số trái dấu thì OF = 1), OF = 0 (NV –Non Overflow) trong trường hợp ngược lại (cờ này làm việc với số có dấu)

 Cờ điều khiển

Cờ trạng thái phụ thuộc điều kiện kết quả phép toán, còn với cờ điều khiển

ta có thể thiết lập nhờ lệnh

 IF (Interrupt Flag): Cờ ngắt

IF = 1 (EI- Enable Interrupt) CPU cho phép ngắt, IF = 0 (DI=Disable

Interrupt) CPU không cho phép ngắt(cấm) các loại ngắt che được(Maskable)

 TF (Trap Flag): Cờ bẫy

TF = 1 CPU làm việc trong chế độ chạy từng lệnh, thường dùng để gỡ rối chương trình (debug) Sau khi thực hiện song chuỗi lệnh, bộ vi xử lý sẽ phát

ra 1 lệnh ngắt (INT) để có kiểm tra chương trình

 DF (Direction Flag): Cờ hướng

Điều khiển hướng xử lý đối với thao tác chuỗi DF = 1 (DN – Down) thì các lệnh vận chuyển dữ liệu hay xử lý chuỗi sẽ thao tác lùi từ phải sang trái(địa chỉ cao đến địa chỉ thấp) DF = 0 (UP) trong trường hợp ngược lại(thao tác các địa chỉ từu địa chỉ thấp đến địa chỉ cao)

Trang 11

Cờ này thường được lặp bởi chương trình của người sử dụng khi có các lệnh thao tác chuỗi

Tiến (thuận – theo chiều tăng địa chỉ)

Lùi (ngược – theo chiều giảm địa chỉ)

1.4 Thanh ghi đoạn:

Thông thường, bộ nhớ của chương trình máy tính chia làm các đoạn phục vụ các chức năng khác nhau như đoạn chứa các câu lệnh, chứa dữ liệu Trong thực tế,

bộ vi xử lý 8088 cung cấp các thanh ghi 16 bit liên quan đến địa chỉ đầu của các đoạn nói trên và chúng được gọi là các thanh ghi đoạn củ thể là:

 CS (Code Segment): Thanh ghi đoạn mã, là thanh ghi địa chỉ đoạn mã lệnh, chứa địa chỉ cơ sở (địa chỉ đoạn) của chương trình đang thực hiện

 DS (Data Segment): Thanh ghi đoạn dữ liệu, là thanh ghi địa chỉ đoạn

dữ liệu, chứa địa chỉ đoạn của vùng dữ liệu mà chương trình đang thực hiện sử dụng Vùng này thường chứa các biến của chương trình

 SS (Stack Segment): Thanh ghi đoạn ngăn xếp, là thanh ghi địa chỉ đoạn bộ nhớ ngăn xếp (stack) của chương trình đang chạy

 ES (Extra Segment): Thanh ghi đoạn dữ liệu phụ, là thanh ghi địa chỉ đoạn dữ liệu bổ sung mà chương trình đang thực hiện sử dụng Vùng này cũng thường chứa các biến của chương trình

Các thanh ghi đoạn 16 bit này chỉ ra địa chỉ đầu của các đoạn trong bộ nhớ, dung lượng lớn nhất của mỗi đoạn nhớ này là 64 Kbyte và tại một thời điểm nhất đinh bộ vi

xử lý chỉ làm việc với bốn đoạn nhớ 64 bit này Để xác định chính xác vị trí 1 ô nhớ của chương trình các thanh ghi đoạn sẽ phối hợp với các thanh ghi đặc biệt khác còn gọi là các thanh ghi lệch hay phân đoạn (offset register)

8088 có 20 bit địa chỉ, trong khi đó các thanh ghi quản lý bộ nhớ là 16 bit Để xác định một ngăn nhớ có địa chỉ 20 bit, dùng 2 thanh ghi 16 bit để xác định địa chỉ

Địa chỉ luôn nằm trong 1 thanh ghi gọi là địa chỉ đoạn

Địa chỉ lệch (offset) trong 1 thanh ghi khác (Ax, Bx, Cx,…)

Địa chỉ logic:DS:SI

DS:DI

Ngày đăng: 12/07/2018, 01:43

w