CPU8088

Chia sẻ bởi Thái Danh Hải | Ngày 02/05/2019 | 43

Chia sẻ tài liệu: CPU8088 thuộc Bài giảng khác

Nội dung tài liệu:

TẠI SAO LẠI HỌC VI XỬ LÝ ?
Cung cấp cơ hội hiểu biết nhiều hơn về hệ điều hành của máy tính, nó cho phép phát triển những phần mềm ứng dụng trong nhiều lĩnh vực.
Bạn có thể sử dụng ngôn ngữ VXL để tạo ra bất cứ ứng dụng điều khiển mà bạn muốn.
Chương trình VXL chạy nhanh hơn, nhỏ gọn hơn, và khả năng ứng dụng rộng hơn bất cứ ngôn ngữ bậc cao nào như : Visual Basic, Pascal, C ....
TẠI SAO LẠI CHỌN BỘ VXL 8088 ĐỂ TÌM HIỂU ?
Đây là bộ VXL nổi tiếng một thời thuộc họ 80x86 của Intel, nó được ứng dụng trong nhiều lĩnh vực khác nhau.
Do tính kế thừa của các sản phẩm trong họ 80x86, các chương trình viết cho 8088 vẫn có thể chạy được trên các hệ thống tiên tiến sau này.
Về góc độ sư phạm thì đây là bộ VXL khá đơn giản nên việc hiểu nó là tương đối dễ dàng cho người mới bắt đầu tìm hiểu.
Sự phát triển của các bộ vi xử lý
Năm 1971 Intel cho ra đời bộ VXL đầu tiên là 4004 ( 4 bit số
Liệu, 12 bit địa chỉ). Tiếp đến là 4040 và 8008, IBM-16

VXL 8 bit 6502 của MOS Technology, 6800 và 6809 của
Motorola, 8080 và 8085 của Intel và đặc biệt là bộ VXL Z80
của Zilog

VXL 16 bit 8086/ 80186/ 80286 của Intel hoặc 68000/ 68010
của Motorola

VXL 32 bit 80386/ 80486 và 64 bit Pentium của Intel, các
VXL 32 BIT 68020/ 68030/ 60040/ 68060 của Motorola

1972
1976
1980
1984
1988
1992
1996
2000
103
104
105
106
107
108
109
Date
Transistors per Chip
4004
8080
8086
80286
80386
80486
Pentium
Pentium Pro
80786
2004
2008
?
Moore’s Law
Intel’s History
Intel
Founded
First DRAM
8086
Microprocessor
Intel286™
Processor
Intel386™
Processor
Intel486™
Processor
Intel
Pentium®
Processor
Intel Pentium®
Processor with MMX™ technology
Intel
Pentium® II
Processor
First EPROM
Intel Pentium®
Pro Processor
DRAM
Exit
Flash
Memory
Intro
Intel Inside®
Launch
ProShare®
Introduced
100 Mbit
E-Net Card
First Intel Inside®
Brand TV Ad
1968
1970
1971
1978
1982
1985
1986
1989
1991
1992
1993
1995
1994
1997
First
Microprocessor
4004
First Intel
Motherboard
1998
Intel
Celeron™
Processor
Intel
Pentium® II
Xeon™ Processor
1999
1 Gbit
E-Net Card
Intel
Pentium® III
And Xeon™ Processors
Internet
Exchange Architecture
2000
2001
Pentium® 4
Processor
2002
1st Pb-Free
Devices
GIỚI THIỆU SƠ LƯỢC CẤU TRÚC HỆ VXL
Sơ đồ khối của hệ VXL
Bộ xử lý trung tâm (CPU)
Bộ nhớ Memory (Rom -Ram)
Phối ghép vào/ra (I/O)
Bus dữ liệu
Bus điều khiển
Bus địa chỉ
Thiết bị vào
Thiết bị ra
Sơ đồ khối của bộ vi xử lý 8088
Chương 2 Bộ vi xử lý 8088
8
Cấu trúc bên trong và hoạt động của VXL 8088
VXL 8088 có 2 khối :
Khối thực hiện lệnh (EU-Execution Unit)
Khối phối ghép bus (BUS-Bus Interface Unit)
BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ ghi dữ liệu vào/ ra
cổng hay bộ nhớ (BIU đưa địa chỉ ra bus và trao đổi dữ liệu với bus).
Trong BIU còn có bộ nhớ đệm lệnh 4 byte.

Trong EU có khối điều khiển CU (Control Unit) chứa mạch giải mã
lệnh. Trong EU còn có khối số học và logic ALU (arithmetic and logic
Unit)
EU sẽ cung cấp thông tin về địa chỉ cho BIU để khối này đọc lệnh và
dữ liệu, còn bản thân EU thì giải mã lệnh và thực hiện lệnh.
Cấu trúc bên trong và hoạt động của VXL 8088
Cơ chế pipeline :

CPU hoạt động qua 3 giai đoạn : đọc mã lệnh (opcode fetch), giải
mã lệnh (decode) và thực hiện lệnh (execution)
BIU : đọc mã lệnh
EU : giải mã lệnh và thực hiện lệnh

Có khả năng làm việc đồng thời và các bus sẽ liên tục được sử dụng.
(Cơ chế pipelining)
Các thanh ghi đa năng : 4 thanh ghi 16 bit AX, BX, CX, DX
Thanh ghi AX (accumulator, Acc) : thanh ghi được sử dụng nhiều
nhất trong các lệnh số học, logic và chuyển dữ liệu. Các kết quả của
các thao tác thường chứa ở đây. Nếu kết quả là 8 bit thì thanh ghi AL
được coi là Acc.

Thanh ghi BX (base) : thanh ghi cơ sở, thường chứa địa chỉ cơ sở
của một bảng dùng trong lệnh XLAT

CX (count): bộ đếm. CX thường dùng để chứa số lần lặp, CL thường
chứa số lần dịch hay quay thanh ghi

DX (data) : thanh ghi dữ liệu. Ngoài ra dùng để chứa địa chỉ của các
cổng trong các lệnh vào/ ra dữ liệu trực tiếp.
VXL 8088 có 3 thanh ghi con trỏ & 2 thanh ghi chỉ số 16 bit
Trừ IP các thanh ghi này đều có thể được dùng như các thanh ghi
đa năng, chúng được ngầm định như thanh ghi lệch cho các đoạn
tương ứng.
IP : con trỏ lệnh (instruction pointer). IP luôn trỏ vào lệnh tiếp theo
sẽ được thực hiện nằm trong đoạn mã CS.
BP : con trỏ cơ sở (base pointer). BP luôn trỏ vào một đoạn dữ liệu
nằm trong đoạn ngăn xếp SS.
SP : con trỏ ngăn xếp (stack pointer). SP luôn trỏ vào đỉnh hiện thời
của ngăn xếp nằm trong đoạn ngăn xếp SS.

SI : chỉ số gốc hay nguồn
DI : chỉ số đích
Các thanh ghi đoạn
Thanh ghi đoạn mã CS ( Code-Segment )
Thanh ghi đoạn dữ liệu DS ( Data segment )
Thanh ghi đoạn ngăn xếp SS ( Stack segment )
Thanh ghi đoạn dữ liệu phụ ES ( Extra segment )
Các thanh ghi đoạn chỉ ra địa chỉ đầu của 4 đoạn trong bộ nhớ,
dung lượng max của mỗi đoạn nhớ này là 64KB
Địa chỉ vật lý = thanh ghi đoạn x 10h + thanh ghi lệch
Thanh ghi cờ
Cách mã hoá lệnh của của VXL 8088
Đối với bộ VXL 8088 một lệnh có thể có độ dài từ 1 đến 6 byte.
Ta lấy trường hợp lệnh MOV để giải thích cách giải mã lệnh nói
chung của VXL 8088.
Cú pháp lệnh : MOV đích, nguồn (copy dữ liệu giữa 2 thanh ghi
hoặc giữa ô nhớ với thanh ghi)
NOTE
Trong đó :
6 bit đầu dùng để chứa mã lệnh
D =1 xác định thanh ghi trong trường REG là toán hạng đích,
D =0 thanh ghi trong trường REG là toán hạng nguồn.
Bit W dùng để chỉ ra rằng một byte (W=0) hoặc 1 từ (W=1)
được chuyển.
- Bộ VXL sử dụng 2 hay 3 bit để mã hoá các thanh ghi:
2 bit MOD (chế độ) cùng với 3 bit R/M (thanh ghi/bộ nhớ) tạo ra
5 bit dùng để chỉ ra chế độ địa chỉ cho các toán hạng của lệnh.
Trong đó :

MOD = 11 - Chế độ thanh ghi

MOD = 00 - Chế độ bộ nhớ không có phần dịch trừ R/M =110

MOD = 01 - Chế độ bộ nhớ với 8 bit dịch (d8)

MOD = 10 - Chế độ bộ nhớ với 16 bit dịch (d16)
Các chế độ địa chỉ của VXL 8088
Chế độ địa chỉ là cách để CPU tìm thấy toán hạng cho các lệnh
của nó khi hoạt động.
VXL 8088 và họ 80x86 có 7 chế độ địa chỉ sau :
Chế độ địa chỉ thanh ghi

Chế độ địa chỉ tức thì

Chế độ địa chỉ trực tiếp

Chế độ địa chỉ gián tiếp qua thanh ghi

Chế độ địa chỉ tương đối cơ sở

Chế độ địa chỉ tương đối chỉ số

Chế độ địa chỉ tương đối chỉ số cơ sở

Chế độ địa chỉ thanh ghi :
Dùng thanh ghi như là toán hạng để chứa dữ liệu cần thao tác

Ví dụ :
MOV BX, DX ; chuyển nội dung DX vào BX
MOV DS, AX ; chuyển nội dung AX vào DS
ADD AL, DL ; cộng nội dung AL & DL rồi chứa vào AL
Chế độ địa chỉ tức thì :
Trong chế độ địa chỉ này toán hạng đích là 1 thanh ghi hay 1 ô nhớ
Còn toán hạng nguồn là một hằng số

Ví dụ :
MOV CL, 100 ; chuyển 100 vào CL
MOV AX, 0FF0H ; chuyển OFOH vào AX để rồi đưa vào DS
MOV DS, AX
MOV [BX], 10 ; chuyển 10 vào ô nhớ tại địa chỉ DS : BX
Chế độ địa chỉ trực tiếp :
Một toán hạng chứa địa chỉ lệch của ô nhớ, còn toán hạng kia
chỉ có thể là thanh ghi mà không là ô nhớ
Ví dụ :
MOV AL, [1234] ; chuyển nội dung ô nhớ DS:1234 vào AL
MOV [4320h], CX ; chuyển nội dung CX vào 2 ô nhớ liên tiếp
; DS:4320 & DS:4321
Chế độ địa chỉ gián tiếp qua thanh ghi :
Một toán hạng là thanh ghi được sử dụng để chứa địa chỉ lệch
của ô nhớ chứa dữ liệu, còn toán hạng kia chỉ có thể là thanh
ghi mà không là ô nhớ.
Ví dụ :
MOV AL, [BX] ; chuyển nội dung ô nhớ DS:BX vào AL
MOV [SI], CL ; chuyển nội dung CL vào ô nhớ có địa chỉ
; DS:SI
MOV [DI], AX ; chuyển nội dung AX vào 2 ô nhớ liên tiếp
; có địa chỉ DS:DI & DS:(DI+1)
Chế độ địa chỉ tương đối cơ sở :
Trong chế độ địa chỉ này các thanh ghi cơ sở như BX & BP &
các hằng số biểu diễn giá trị dịch chuyển được dùng để tính địa
chỉ hiệu dụng của toán hạng trong vùng nhớ DS và SS
Ví dụ :
MOV CX, [BX] +10 ; chuyển nội dung 2 ô nhớ liên tiếp có địa chỉ
; DS:(BX +10) & DS:(BX +11) vào CX
MOV CX, [BX +10 ]
Chế độ địa chỉ tương đối chỉ số :
Trong chế độ địa chỉ này các thanh ghi chỉ số như SI & DI &
các hằng số biểu diễn giá trị dịch chuyển được dùng để tính địa
chỉ của toán hạng trong vùng nhớ DS
Ví dụ :
MOV AX, [SI] +10 ; chuyển nội dung 2 ô nhớ liên tiếp có địa chỉ
; DS:(SI +10) & DS:(SI +11) vào AX
MOV AX, [SI +10 ]
Chế độ địa chỉ tương đối chỉ số cơ sở :
Trong chế độ địa chỉ này ta dùng cả thanh ghi cơ sở lẫn thanh ghi
chỉ số để tính địa chỉ của toán hạng. Nếu thêm thành phần dịch
chuyển ta có chế độ địa chỉ phức hợp nhất : chế độ địa chỉ
tương đối chỉ số cơ sở.
Ví dụ :
MOV AX, [BX] +[SI] +10 ; chuyển nội dung 2 ô nhớ liên tiếp có địa
; chỉ DS:(BX +SI +10) & DS:(BX+ SI +11) vào AX

* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Thái Danh Hải
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)