Tải bản đầy đủ (.doc) (22 trang)

khái niệm về bộ vi xử lí intel

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (200.38 KB, 22 trang )

Bé vi xử lý Intel-8088
MỞ ĐẦU
Intel là nhà tiên phong trong việc sản xuất bộ vi xử lý khi tung ra Intel
4004 vào năm 1971. Tuy vậy bộ vi xử lý đầu tiên “đặt chõn” vào ngôi nhà số
của chúng ta hiện nay không phải là Intel 4004 mà là bộ vi xử lý thế hệ kế
tiếp của nã - Intel 8080 một máy tính 8 bit hoàn hảo trên một chip duy nhất
được giới thiệu vào năm 1974. Mặc dự cỏc bộ vi xử lý 8 bit đã mang lại
những cải thiện to lớn, nhưng hệ thống này sớm được phát hiện là khụng đỏp
ứng được một số ứng dụng do các hạn chế sau : Từ 8 bit làm giảm khả năng
của quá trình xử lý hoặc kéo dài thời gian xử lý với các số lớn và cỏc cụng
việc đòi hỏi độ chính xác cao, hơn nữa nó chỉ có thể quản lý bộ nhớ có dung
lượng 64K là quá hạn chế đặc biệt trong các ứng dụng lớn. Việc yêu cầu có
một bộ vi xử lý có khả năng địa chỉ hoá một bộ nhớ lớn hơn 1Mb là đề tài
cạnh tranh của cỏc hóng sản xuất vi xử lý. Vào năm 1979 Intel cho ra đời bộ
vi xử lý 8088 là thế hệ bộ vi xử lý đầu tiờn “loộ sỏng” thực sự trên thị
trường,nú có cấu trúc cơ bản giống như 8086 nhưng mặc dù Bus dữ liệu trong
vẫn là 16 thì Bus dữ liệu ngoài chỉ là 8 bit để "thoả hiệp" với các thiết bị
ngoại vi 8 bit đang thịnh hành lúc đó. Được giới thiệu vào năm 1979 và sau
đó được tích hợp vào các máy tính cá nhân IBM xuất hiện trên thị trường vào
năm 1982, Intel 8088 có thể được xem như người tiền nhiệm chính của các bộ
xử lý thế hệ tiếp theo : Intel 80286, 80386, 80486 rồi đến Intel Pentium,
Pentium Pro, Pentium II, III, IV do tất cả đều dựa trờn thiết kế cơ bản của
Intel 8088.
1
Bé vi xử lý Intel-8088
NỘI DUNG
1. Giới thiệu về bộ vi xử lý 8088 của intel
1.1. Khái niệm về vi xử lý
Vi xử lý là bộ xử lý trung tâm CPU được chế tạo trên một chíp. Nó là
linh kiện quan trọng nhất của hệ máy vi tớnh.Do vậy khảo sỏt nguyờn tắc
hoạt động của nó là điều cần thiết.Đỏp ứng lại nhu cầu của thực tế ,các nhà


sản xuất vi xử lý đó phỏt triển theo ba hướng chính là:
- Vi điều khiển chuyờn dụng : Một hướng phát triển là cỏc chớp điều
khiển chuyên dụng.Những chíp này được sử dụng để điều khiển cỏc mỏy
thông minh nh lò vi súng ,máy giặt quần ỏo,mỏy khõu,mỏy tiện kim loai…
- Vi xử lý bit-slice : Hướng phát triển thứ hai là vi xử lý bit-slice .Các
chíp này cho phép có thể được ghép với nhau để xây dung mét CPU theo ý
muốn, ngoài ra người dựng cũn cú thể tạo ra tập lệnh CPU của riờng mình
bằng việc sử dụng vi mó(microcode).
- Vi xử lý đa năng :Mạch vi xử lý đa năng đã đem lại cho các máy
tính
hiện nay hầu hết hoặc toàn bộ sức mạnh tính toán của máy tính đa năng trước
đó .Sau khi Motorola cho ra đời MC6800 đến năm 1979 intel cho ra đời 8088
là bộ vi xử lý 16 bit và đến nay là các chip vi xử lý Pentium.
1.2. Giới thiệu bộ vi xử lý 8088
Intel 8088 là bộ vi xử lý (BVXL)ra đời năm 1979, được sử dụng cho những
chiếc IBM PC/XT đầu tiờn trờn thế giới với giá thành rẻ hơn bộ vi xử lý
8086. 8088 là bộ vi xử lý 16 bit chạy ở tốc độ 4,77 MHZ và có thể hỗ trợ tối
đa 1MB RAM, 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.Trong máy tính IBM PC/XT, bé vi xử lý
8088 được dùng làm bộ vi xử lý trung tâm CPU, lắp trên mainboard.
BVXL 8088 được bán chủ yếu cho IBM để tạo nờn dũng IBM nổi
tiếng.Sự thành công của 8088 đã đưa intel vào hàng Fortune 500 và được tạp
chí Fortune bình chọn là một trong những công ty thành công trong thập niên
70 chính nhờ sự thành công này ,intel đã chọn làm mốc khởi đầu cho kiến
2
Bé vi xử lý Intel-8088
trúc intel (Intel Architecture-IA) BVXL 8088 được bán chủ yếu cho
IBM để tạo nên dòng IBM nổi tiếng.Sự thành công của 8088 đã đưa intel vào
hàng Fortune 500 và được tạp chí Fortune bình chọn là một trong những công
ty thành công trong thập niên 70 chính nhờ sự thành công này ,intel đã chọn

làm mốc khởi đầu cho kiến trúc intel (Intel Architecture-IA)
2. Bé vi xử lý 8088 của intel
2.1. Sơ đồ khối
Trong máy tính, đóng vai trò trung tâm điều khiển hoạt động của toàn
bộ hệ thống là bộ vi xử lý trung tâm CPU .Bé vi xử lý 8088 trong máy tính
IBM PC/XT là bộ xử lý 16 bit có nhiệm vụ điều khiển hoạt động cơ bản của
máy bằng cách gưỉ đ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 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 doc theo bus 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 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 doc 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.
3
Bé vi xử lý Intel-8088
Sơ đồ khối và cỏc chõn chức năng của 8088
BVXL 8088 được chia thành hai phần có chức năng riêng biệt là: đơn vị
giao tiếp BIU( Bus Interface Unit) và đơn vị thi hành lệnh EU (Excution
Unit).
- BIU có chức năng gửi ra các địa chỉ, nhận các lệnh từ bộ nhớ đọc số
MN / MX nối với nguồn +5V) liệu vào từ các cổng ,bộ nhớ,ghi dữ liệu
ra chóng. Nói cách khác Biu điều khiển tất cả các việc di chuyển số
liệu và địa chỉ trên BUS cho EU .BIU bao gồm ALU ,các thanh ghi có
mục đích chung ,thanh ghi cờ và các mạch đỡờu khiển .
- EU của 8088 điều khiển cho BIU tỡm đỳng lệnh, dữ liệu … EU bao
gồm các thanh ghi đoạn, hàng đợi lệnh và con trỏ lệnh (IP).
2.1.1. Cỏc chân chức năng
- 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 bit dữ liệu hoặc

8 AD0 - AD7: các chân địa chỉ dữ liệu phân đường chứa 8 bit 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,
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 khỏng trở
cao.
- A16/S 3, A17/S 4, A18/S 5, A19/ S6 : cỏc chõn địa chỉ / trạng thỏi ,cỏc
chân này ở trạng thỏi khỏnh trở cao trong suốt quá trình HLDA. Bit trạng thái
S6 luôn = 0 <S5 ở trạng thái cờ IF,S3-S4 xác định đoạn nhớ đang được xâm
nhập:

S4 S3 Đoạn nhớ thâm nhập
0 0 Đoạn dữ liệu
0 1 Đoạn ngăn xếp
1 0 Đoạn lệnh hoặc không có đoạn
1 1 Đoạn dữ liệu
4
Bé vi xử lý Intel-8088

S4,S3 xác định đoạn nhớ đang được xâ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: (Interup 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 để kỉêm tra BVXL 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 BVXL, địa chỉ khởi động
FFFF0h

- CLK: tín hiệu nhịp đưa vào cho BVXL 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 ba trạng thỏi bỏo ghi dữ liệu bộ nhớ,I/O.
- INAT: tín hiệu ra chấp nhận ngắt.
- ALE: tín hiệu thông báo rằng bus địa chỉ dữ liệu có chứa địa chỉ.
- DT/R:tớn hiệu ra ba 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. - DT/R:tín hiệu ra
ba 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: 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: báo ra BVXL chấp nhận thả nổi.
- SSO: tín hiệu trạng thái, hoạt động theo bảng sau :
5
Bé vi xử lý Intel-8088
IO/M DT/R SSO Chu kỳ bus
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
6
Bé vi xử lý Intel-8088
- 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
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
- 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 cờ đợ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
2.1.2. 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ờ FR (flag register ) dùng để ghi trạng thái kết quả cỏc phép xử

lý trong đơn vị số học / logic ALU .
- Cờ trạng thái:
DF ( Direction Flag, bit A) : Chỉ hướng xử lý chuỗi ký tù : DF = 1
khiến vi xử lý làm việc với một chuỗi kí tự từ phải sang trái (lùi ).
IF (Interrupt-enable Flag, bit 9) cờ cho phép ngắt : IF = 1 cho phép các
ngắt che được hoạt động .
7
Bé vi xử lý Intel-8088
TF ( Single-step Flag, bit 8) : Cờ bẫy : Được sử dụng cho từng bước
chương trình.
- Cờ phép toán :
CF ( Carry flag, bit 0 ) : Cờ nhí .
PF ( Parity Flag, bit 2 ) : Cờ chẵn lẻ : PF=1 nếu số 1 trong kết quả chẵn
AF ( Auxilary carry Flag, bit 4) : Cờ nhớ phụ : dùng cho các phép tính
với
mã BCD.
ZF ( Zero Flag, bit 6) : Cờ Zero : ZF = 1 khi kết quả = 0
SF ( Sign Flag, bit = 7 ) : Cờ dấu : SF = 1 khi kết quả âm
OF ( Overflow Flag, bit B) : Cờ tràn : OF = 1 khi kết quả vượt ra ngoài
giới hạn, xảy ra khi có phép tính có dấu.
- Thanh ghi đa năng : có nhiệm vụ ghi tham sè cho mã lệnh, đây cũng là nơi
lệnh trả kết quả về sau khi được thực hiện, gồm 4 thanh ghi 16 bit
AX (Accumulator) : Thanh ghi tích luỹ : được chia làm hai phần : 1 byte
cao AH và một byte thấp AL AX (Accumulator) : Thanh ghi tích luỹ :
được chia làm hai phần : 1 byte cao AH và một byte thấp AL. Đây là thanh
ghi quan trọng nhất và chuyên được dùng để chứa các kết quả thao tác lệnh .
BX ( Base) : Thanh ghi cơ sở : còng được chia thành BH, BL đõy là
thanh ghi thường dùng cho địa chỉ cơ sở .
CX ( Count ): Thanh ghi đếm : được chia thành CH, CL. Thanh ghi CX
dùng để chứa số đếm trong lệnh LOOP. Thanh ghi thấp CL được dùng để nhớ

số lần quay hoặc dịch của các lệnh quay và dịch.
DX ( Data) : Thanh ghi dữ liệu : thanh ghi này tham gia các phép nhân
chia 16 bit. Khi truy nhập các cổng cứng ngoại vi ( I/ O port) dài hơn 8 bit
,DX được dùng để chứa địa chỉ 16 bit của cổng cứng.
- Thanh ghi con trá : Gồm 3 thanh ghi 16 bit
IP ( Instruction Pointer) : Con trỏ lệnh :Dùng để chứa offset của lệnh
tiếp theo ( CS : IP )
SP (Stack Pointer) : Con trỏ ngăn xếp : Dùng để chứa offset của đỉnh
ngăn xếp (SS:SP).
BS ( Base Pointer) : Con trỏ cơ sở :Dùng để trỏ đến 1 ngăn nhớ trong
ngăn xếp (SS:BP).
8
Bé vi xử lý Intel-8088
- Thanh ghi chỉ số: hai thanh ghi 16 bit
SI ( Source index ) : là chỉ số nguồn trỏ vào dữ liệu mà địa chỉ đoạn
được ghi trong DS ( data segment ) (DS : SI )
DI ( Destination index) : là chỉ số đích cũng chỏ về đoạn dữ liệu ghi
trong DS ( DS : DI ).
- Thanh ghi đoạn: Dùng để ghi địa chỉ một đoạn bộ nhớ. Địa chỉ của đoạn
được ghi trong mét thanh ghi đoạn 16 bit. Gồm 4 thanh ghi
CS ( Code segment ) : Thanh ghi đoạn mã điều kiện là thanh ghi 16 bit.
Thang ghi này phối hợp với con trỏ lệnh IP để ghi địa chỉ mã lệnh trong bộ
nhí. Địa chỉ đầy đủ CS : IP .
SS ( Stack segment ) : Thanh ghi đoạn ngăn xếp 16 bit. Địa chỉ đỉnh
ngăn xếp được biểu diễn cùng với con trỏ ngăn xếp SP là SS : SP.
DS ( Data segment ) : Thanh ghi đoạn dữ liệu 16 bit. Thanh ghi này
phối hợp với hai thanh ghi chỉ số SI và DI để đánh địa chỉ cho dữ liệu. Địa chỉ
đầy đủ cgo dữ liệu cần đọc về là DS : SI, cho dữ liệu cần ghi ra là DS : DI .
ES ( Extra segment ) : Thanh ghi đoạn thờm cú chiều dài 16 bit. Hay
được dùng để đánh địa chỉ một chuỗi ( string ). ES : DI là địa chỉ chuỗi cần

viết đến ( chuỗi đích ) và DS : SI là địa chỉ chuỗi đọc về ( chuỗi nguồn ).
2.1.3. Các ngắt
Giống nh các vi xử lý khác 8088 có một chức năng mạnh và mềm dẻo
trong quá trình chạy chương trình, đó là khả năng thực hiện ngắt (interrupt).
Ngắt là thao tác dừng chương trình chính đang chạy để thực hiện một chương
trình khác gọi là chương trình con xử lý ngắt .Các ngắt không chỉ có ý nghĩa
quan trọng đối với phần mềm mà cả đối với phần cứng .
- Ngắt Mềm : Được thực hiện bằng một lời gọi trong chương trình ngôn
ngữ máy, đó là lệnh INT với số ngắt kèm theo. Chẳng hạn khi chương trình
gặp lời gọi INT 5, vi xử lý sẽ nhẩy vào thực hiện một chương trình con thực
hiện ngắt để in trang màn hình. Các ngắt mềm cho phép gọi các chương trình
phụ của hệ điều hành. Ngắt mềm cũn cú thể được gọi từ ngôn ngữ bậc cao lúc
đó nó sẽ được dich ra thành hợp ngữ.
- Ngắt cứng : Được thực hiện khi cỏc cỏc chip điện tử trong máy tính
hoặc ngoại vi phát ra tín hiệu yêu cầu ngắt và truyền nó tới chõn INTR hoặc
NMI của 8088. Chẳng hạn nhấn hay nhả phím sẽ gây ra ngắt cứng số 9,
9
Bé vi xử lý Intel-8088
chương trình xử lý ngắt sẽ phản ứng bằng cách đưa mó phớm đú vào vùng
đệm của bàn phím .Ngắt cứng còn chia làm hai loại : Ngắt có thể bị che
được : Khi cú tớn hiệu hệ thống có thể hoặc khụng đỏp ứng yêu cầu ngắt.
Ngắt không che được : Buộc hệ thống phải thực hịờn lệnh khi cú yờu cầu
ngắt.
2.2. Chế độ hoạt động của 8088
2.2.1. Chế độ tối thiểu : ( chân MN / MX nối với nguồn + 5V)

Hệ thống 8088 hoạt động với chế độ MIN

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 cua 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 .
2.2.2. Chế độ MAX ( chân MN/ MX nối thẳng với đất ) Khác biệt
so với chế độ MIN
10
Bé vi xử lý Intel-8088
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. 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. Chế độ MAX được sử dụng
khi trong hệ thống có chứa bộ đồng xử lý nh bé đồng xử lý toán học 8087.
Hệ thống 8088 hoạt động với chế độ MAX

2.3. Tập lệnh
2.3.1 2.3.1. Mét số lệnh cơ bản và chức năng từng lệnh trong của BVXL
8088:
Còng như tất cả các bộ vi xử lý khác, BVXL 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ư
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á
11
Bé vi xử lý Intel-8088
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 BVXL 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 trữ trong
bộ nhớ và di chuyển qua các mạch địờn tử để hoàn thành từng công việc cụ

thể .
Nhóm lệnh toán học:
AAA - cộng có chỉnh ASCII AAD - chia có chỉnh ASCII
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 đơ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 - hoặc
SUB - trừ
NOT - phủ định
ROL - quay trai
ROR - quay phải
SHL, SHR - dịch trái, dịch phải
SBB -trừ có mượn
- 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 trong Word
JAE, JLE - 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
12
Bé vi xử lý Intel-8088
JZ, JNP - nhảy nếu có, không có lỗi chẵn lẻ


- 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
2.3.2. Cấu trỳc mó lệnh :
Qui trình tiến hành một lệnh trong VXL được tiến hành qua ba giai
đoạn : Lấy lệnh ( fetching), giải mã lệnh (decoding), tiến hành lệnh
( execution). Những VXL bit cổ điển tớờn hành 3 giai đoạn trên một cách
tuần tự. Từ các VXL 16 bit trở đi, VXL dùng pipeline ( xen kẽ dòng lệnh ) để
tiết kiệm thời gian. Mã lệnh dùng cho VXL được viết dưới dạng nhị phân .Để
con người có thể lập trình và hiểu được VXL người ta dùng hợp ngữ
( assembly language ) để mô tả các lệnh máy bằng tổ hợp ký tự gợi nhí .
1 0 0 0 1 0
Đ/C phần thấp Đ/C phần caoMã lệnh D W MODE REG MR
Byte 1 Byte 2 Byte 3 Byte 4
Một lệnh nhị phõn có thể dài từ 1 - 6 byte. Cấu tróc chung một
mã lệnh bao gồm :
- Prefix đi trước mã lệnh
- Mã đoạn ( operation code ) phân biệt đó là lệnh gì.
- Toán hạng ( operand) cho biết cái gì được xử lý .
- Địa chỉ trực tiếp ( 2 byte ) ( ví dụ cho các lệnh nhảy ) - Địa chỉ trực tiếp
( 2 byte ) ( ví dụ cho các lệnh nhảy )
13

Bé vi xử lý Intel-8088
- Cờ hướng D ( direction ) chỉ hướng cho thanh REG. D = 1dữ liệu đi
đến RGE, D = 0 dữ liệu đi từ RGE .
- Cờ W ( word) chỉ xem thanh ghi được dùng là 8 bit ( 1 byte ) hay 16
bit
( 1 word ) W = 1 có nghĩa là thanh ghi 16 bit được dùng.
Cỏch mó hoỏ thanh ghi trong VXL :
Thanh ghi
đoạn

ES
CS
SS
DS
00
01
10
11
- Trường chế độ MOD ( mode) vá trường thanh ghi / bộ nhớ R / M
( Register / Memory, thanh ghi / bộ nhớ ) dùng để xác định địa chỉ của lệnh.
Thanh ghi
W=1
W=0 Mã RGE
AX
BX
CX
DX
SP
DI
BP

SI
AL
BL
CL
DL
AH
BH
CH
DH
000
011
001
010
100
111
101
110
14
Bé vi xử lý Intel-8088
2.4. Quản lý bộ nhớ và khái niệm ngăn xếp của 8088
- Quản lý bộ nhớ:
Về bản chất 8088 là BVXL 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 đị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 đị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ó 8088
chia bộ nhớ đánh địa chỉ được thành nhiều đoạn ( segment ) mỗi đoạn không
chứa quá 64 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à điạ 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ỉ offset 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 địa chỉ 20
bit hoàn chỉnh.
- Khái niệm ngăn xếp :
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ất của ngăn xếp là cất dữ địa chỉ chương trình gọi là những
tham số cần truyền cho chương trình con. Ngẵn xếp còn được ding nh một
vùng nhớ làm việc tam thời. Ngăn xếp đượ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 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 nội dung cò trong
ngăn xếp dương .
Bất cứ 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.
15
Bé vi xử lý Intel-8088
2.5. Đặc tính nguồn điện
- Nguồn điện :
BVXL 8088 hoạt động với điện áp 5V sai sè 10%, dòng điện max 340
mA. BVXL này hoạt động trong khoảng nhiệt độ 32 F đến 180 F, 
khoảng nhiệt độ này đủ cho BVXL này hoạt động ngoài trời vào mùa đông
thậm chí ngay cả vào mùa hè.
-Đặc tính một chiều : Đây là đặc tính quan trọng

Đâ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 phần tử khác.
- Đặc tính đầu vào : Các đầu vào của BVXL này tương thích với 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 Điện áp Mức dòng điện
0 0.08V Max 10à A Max
1 2.0V Min 10à A Max
- Đặc tính đầu ra : Mức logic1 tương thích với hầu hết 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.45V. 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ỉa 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 lên chọn các
phần tử logic thuộc họ 74LS, 74ALS, 74HC…
0 0.45V Max 2.0mA Max
1 2.4V Min -400à A Max

2.6. Quản lý vào ra
8088 điều khiển và liên lạc với nhiều phần của máy tính qua việc sử
dụng các cổng vào ra. Cổng vào ra là cánh cửa nối máy tính với các thiết bị
vào / ra như bàn phím, máy in Mỗi cổng được nhận dạng bằng một địa chỉ
cổng là một con sè 16 bit nằm trong khoảng từ 0 đến 65535. CPU gửi dữ liệu
16
Bé vi xử lý Intel-8088
hay thông tin điều khiển đến một cổng cụ thể bằng cách đưa ra điạ chỉ của
cổng này và cổng đáp lại bằng việc truyền dữ liệu hoặc thông tin trạng thái
cho CPU.

Tương tự như khi xâm nhập bộ nhớ. CPU dùng bus chỉ và bus dữ
liệu làm đường liên lạc tới các cổng. Để thâm nhập cổng , đầu tiên CPU gửi
một tín hiệu lên bus điều khiển để lưu ý tất cả các thiết bị vào ra rằng địa trên
bus là địa chỉ của một cổng rồi gửi đi địa chỉ của cổng này. Thiết bị với địa
chỉ cổng tương ứng sẽ phúc đỏp tớn hiệu này .
Địa chỉ cổng trỏ đến một vị trí nhớ nằm trong thiết bị vào /ra chứ
không phải nằm trong bộ nhớ chính. Để báo hiệu sự thâm nhập cổng, và gửi
thông tin đi hoặc nhận thông tin đến của thiết bị vào ra được thực hiện bằng
các lệnh vào ra đặc biệt. Ngoài ra một số thiết bị vào / ra như bộ điều khiển
màn hình lại dựng cỏc địa chỉ trong bộ nhớ chớnh thêm voà cho các cổng vào
/ ra của chúng khiến CPU tưởng nhầm chúng là một bộ phận của bộ nhớ
RAM, đó là kiểu vào / ra bộ nhớ xạ ảnh ( memory mapped I/O).
Giữa bé nhớ và thiết bị I/O mặc dự cú những điểm giống nhau song
cũng có những khác nhau quan trọng. Nhiệm vụ của hệ thống ghép nối I/O:
- Xác định địa chỉ và tín hiệu chọn bộ nhí - thiết bị I/O để quyết định
xem nó được yêu cầu không nếu cú nú phải xác định xem thanh ghi nào của
nó đang được truy xuất .
- Xác định đầu tín hiệu vào hay đầu tín hiệu ra và sau đó chấp nhận
đưa
dữ liệu hoặc tín hiệu điều khiển từ bus ra ngoài hoặc đưa dữ liệu hoặc tín hiệu
trạng thái lên bus dữ liệu.
- Đưa dữ liệu vào ra từ thiết bị I/O tương ứng và chuyển đổi thành
dạng
dữ liệu thích hợp của thiết bị I/O.
- Phát đi tín hiệu sẵn sàng khi nhận dữ liệu hoặc đưa dữ liệu lên bus
thông
báo cho BVXL, là đã hoàn thành quá trình truyền dữ liệu.
- Gửi yêu cầu ngắt và nhận tín hiệu xác nhận ngắt .
- Nhận tín hiệu RESET và tự khởi tạo lại cùng với các thiết bị ghép
nốivới nó.

17
Bé vi xử lý Intel-8088
Các thiết bị trong hệ thống đều có địa chỉ cổng I/O tương ứng theo
bảng sau :
18
Bé vi xử lý Intel-8088
Mô tả Địa chỉ I/ 0
Bộ điều khiển DMA(8237) 000 – 00 Fh
Bộ điều khiển ngắt (8259) 020h - 021h
Bộ định giê (8253) 040h - 043h
PPI (8255) 060h - 063h
Thanh ghi trang DMA 080h - 083h
Thanh ghi mặt nạ NMI 0Ah
Cần trò chơi ( joystic) 200h - 20Fh
Bộ mở rộng 210h - 217h
Máy in nối tiếp thứ nhất 3F8h - 3FFh
Máy in nối tiếp thứ hai 2F8h - 2FFh
Đĩa cứng 320h - 32Fh
Máy in song song thứ nhất 378h - 37Fh
Bộ ghép nối đơn sắc máy in 3B0h - 3BFh
Bộ ghép nối màu/ đồ thị 3D0h - 3DFh
Bộ điều khiển đĩa mềm 3F0h - 3F7h
KẾT LUẬN
19
Bé vi xử lý Intel-8088
Bé vi xử lý 8088 ra đời năm 1979, nó là bộ vi xử lý 16 bit, chạy ở tốc
độ 4,77 MHZ, với 8 bit dữ liệu và có khả năng đánh địa chỉ bộ nhớ lên tới 1
M ô nhớ nhờ bus địa chỉ 20 bit, hoạt động dựa trờn cỏc tập lệnh và cỏc tớn
hiệu điều khiển trong từng chế độ khác nhau. Trong máy IBM PC/XT bé vi
xử lý 8088 được dùng làm bộ xử lý trung tâm CPU .So với bộ vi xử lý 8086

ra đời trước đó bộ vi xử lý 8088 có giá thành rẻ hơn, thay vì đường bus dữ
liệu 16 bit là đường bus dữ liệu 8 bit , ở thời điểm đó BVXL 8088 rất được ưa
chuộng và được coi là người tiền nhiệm chính cho kiến trúc Intel, tiếp đó là sự
ra đời tiếp theo của Intel 80286, 80386, 80486 rồi đến Intel Pentium, Pentium
Pro, Pentium II, III, IV do tất cả đều dựa trờn thiết kế cơ bản của Intel 8088.


MỤC LỤC
I.MỞ ĐẦU Mở
đầu………………………………………………………… 1
20
Bé vi xử lý Intel-8088
II.NỘI DUNNội dunG…………………………………………………………
2
1. Giới thiệu bộ vi xử lý 8088 của Intel…………………………………2
2. Bé vi xử lý 8088 của Intel…………………………………………… 3
2.1. Sơ đồ khối…………………………………………………………… 3
2.2. Chế độ hoạt động của 8088……………………………………………9
2.3. Tập Lệnh…………………………………………………………… 10
2.4. Quản lý bộ nhớ và khái niệm ngăn xếp của 8088…………………….13
2.5. Đặc tính nguồn điện………………………………………………… 14
2.6. Quản lý vào ra……………………………………………………… 15
III.KẾT LUẬN Kết
luận……………………………………………………… 18
TÀI LIỆU THIỆU THAM KHẢO
1 Nguyên lý phần cứng và kĩ thuật ghép nối máy vi tính _Trần Quang
Vinh _Nhà xuất bản giáo dục .
21
Bé vi xử lý Intel-8088
2 Giáo trình kiến trỳc mỏy tớnh_Nhà xuất bản giao thông vận tải Hà Nội

_Vũ Chấn Hưng
3 Vi xử lý_Trần Nam Trung
22

×