Xem mẫu
- Chương7
Cấu trúc cơ bản của bộ VXL 8088
- 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
- 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
- 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
- 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
- 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
- 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
- 3. Các thanh ghi
8088 có 14 thanh ghi , mỗi thanh ghi có kích thước16 bit
- 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
- 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
- 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.
- 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.
- 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:
- Đị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)
- 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
- 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
- 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
- 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
- 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
- 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