1
PHẦN 1
VI XỬ LÝ
2
Chương 1
TỔNG QUAN
1.1. Các thế hệ máy tinh
Các thế hệ Thời gian Công nghệ
Tốc độ (lệnh/
giây)
1 1946-1957 Đèn điện tử 40,000
2 1958-1964 Transistor 200,000
3 1965-1971 Vi mạch tích hợp cỡ vừa và nhỏ 1,000,000
4 1972-1977 Vi mạch tích hợp cỡ lớn 10,000,000
5 1978 - Vi mạch tích hợp cực lớn 100,000,000
(μsec)
-
1.3 0.3 0.125 0.06
4
1.6. Sơ đồ chân 8086
1.7. Sơ đồ khối của 1 máy vi tính đơn giản dùng 8086 5
1.8. Sơ đồ khối bên trong của bộ vi xử lý Intel 486
1.9. Yêu cầu về băng thông đối với các công nghệ thiết bị ngoại vi
Thiết bị ngoại vi Kỹ thuật Yêu cầu băng thông
Graphics 24-bit color 30 MBytes/sec
Local area network 100BASEX or FDDI 12 Mbytes/sec
Disk controller SCSI or P1394 10 Mbytes/sec
Full-motion video 1024 x 768@30fps 67+ Mbytes/sec
I/O Peripherals Other miscellaneous 5+ Mbytes/sec
6
1.10. Chỉ số ICOMP 1.11. Lịch sử phát triển của các bộ vi xử lý
a. Các sách tham khảo
Malone & Shawn M. (1995). The microprocessors: a biography. California:
Santa Clara. (As the name suggests, it is a book discussing the history of
8421 BCD EXCESS-3 abcdefg Display
0 0000 0 0 0000 0011 0011 0000 1111110 0
1 0001 1 1 0001 0011 0100 0001 0110000 1
2 0010 2 2 0010 0011 0101 0011 1101101 2
3 0011 3 3 0011 0011 0110 0010 1111001 3
4 0100 4 4 0100 0011 0111 0110 0110011 4
5 0101 5 5 0101 0011 1000 0111 1011011 5
6 0110 6 6 0110 0011 1001 0101 1011111 6
7 0111 7 7 0111 0011 1010 0100 1110000 7
8 1000 10 8 1000 0011 1011 1100 1111111 8
9 1001 11 9 1001 0011 1100 1101 1110011 9
10 1010 12 A 0001 0000 0100 0011 1111 1111101 A
11 1011 13 B 0001 0001 0100 0100 1110 0011111 B
12 1100 14 C 0001 0010 0100 0101 1010 0001101 C
13 1101 15 D 0001 0011 0100 0110 1011 0111101 D
14 1110 16 E 0001 0100 0100 0111 1001 1101111 E
15 1111 17 F 0001 0101 0100 1000 1000 1000111 F 8
2.3. Các mã ký tự thông dụng
2.4. Binary Subtraction
Truth table for 2 bits and borrow
2.5. Phép trừ nhị phân
2‘s-complement positive result
2‘s-complement negative result
2.6. Buffer and Logic Gates 10
2.7. Thanh ghi
Simple data storage
Thanh ghi dịch
2.8. Bộ đếm nhị phân 4 bit
Sơ đồ giản lược
Chuỗi đếm
11
2.9. Khối số học - logic (ALU)
trong bộ nhớ.
¾ Các thanh ghi mục đích chung: Chúng được sử dụng cho việc lữu giữ dự
liệu tạm thời, như các thanh ghiaccumulator A, status register, vv.
3.3. Bộ nhớ
Hai mục đích:
¾ (1). Lưu trữ mã lệnh của chương trình máy tính để thực thi;
13
¾ (2). Lưu trữ dữ liệu mà máy tính sẽ làm việc trên đó.
Các loại bộ nhớ:
Thường là RAM, ROM và các thiết bị nhớ khối như đĩa từ, đĩa quang, vv.
3.4. Input/Output
Thông qua giao tiếp, cho phép máy tính trao đổi dữ liệu với thế giới bên
ngoài. Các thiết bị ngoại vi như bàn phím, thiết bị đầu cuối hiển thị, máy in, vv,
đều được nói với máy tính thông qua các khối I/O.
Các thiết bị vật lý thực sử dụng
để giao tiếp bus máy tính với các hệ thống
ngoài được gọi là các cổng giao tiếp (ports).
Kiểu cổng I/O đơn giản nhất là 1 tập các flip-flop D. Nếu chúng được sử
dụng như 1 cổng vào, thì các đầu vào D được nối với thiết bị ngoài và đầu ra Q
được nối đến bus dữ liệu. Dữ liệu sẽ được truyền thông qua các bộ chốt khi
chúng được kích hoạt bởi một tín hiệu điề
u khiển từ CPU. Trong trường hợp
chúng được sử dụng làm đầu ra, sơ đồ ghép nối cũng tương tự.
3.5. Các Bus
Bus địa chỉ - Address bus
¾ Là các đường tín hiệu song song 1 chiều nối từ CPU đến bộ nhớ
¾ Độ rộng bus: là số các đường tín hiệu, có thể là 8, 18, 20, 24, 32 hay 64.
¾ CPU gửi giá trị địa chỉ của ô nhớ cần truy nhập (đọc/ghi) trên các đường
tín hiệu này.
o Tín hiệu điều khiển này sẽ cho phép thiết bị nhớ đã được địa chỉ
hoá đưa byte dữ liệu lên bus dữ
liệu.
o Byte dữ liệu từ ô nhớ sẽ được truyền tải qua bus dữ liệu đến CPU.
3.6. Phần cứng -Hardware, phần mềm -Software, và phần sụn -Firmware
¾ Phần cứng là các thiết bị vật lý và các mạch điện của máy tính.
¾ Phần mềm là các chương trình được viết cho máy tính.
¾ Phần sụn là thuật ngữ chỉ các chương trình được lưu giữ trong
ROM hay
các thiết bị khác mà có đặc tính là các chương trình này ở được lưu giữ
bền vững và ở trạng thái thường trực.
3.7. Sự thực thi của 1 chương trình máy tính 3 bước
Chương trình
1. Nhập vào 1 giá trị từ cổng số 0.
2. Cộng giá trị đó với 7
3. Đưa kết quả ra cổng số 02 15
Thứ tự các bước thực hiện
1A CPU sends out address of first instruction to memory.
1B CPU sends out memory read control signal to enable memory.
1C Instruction byte (E4H) sent from memory to CPU on data bus.
2A Address next memory location to get rest of instruction.
2B Send memory read control signal to enable memory.
2C Port address byte (05H) sent from memory to CPU on data bus.
2D CPU sends out port address on address bus.
2E CPU sends out port read control signal to enable I/O port.
2F Data from port sent to CPU on data bus and store in an internal
register.
00101H 00000101 05 PORT 05H
00102H 00000100 04 ADD
00103H 00000111 07 07H
00104H 11100110 E6 OUTPUT TO
00105H 00000010 02 PORT 02
16
3.8. A Typical PC Motherboard 17
Chương 4
KIẾN TRÚC 8088
4.1. Hệ vi xử lý cơ bản ¾ Control Unit (CU) tạo ra tất cả các tín hiệu điều khiển trong CPU. Nó khởi
tạo các thanh ghi khi mở nguồn, tạo ra các tín hiệu để lấy lệnh cho ALU.
Khối điều khiển có thể được thực hiện hoàn toàn bởi phần cứng (điều
khiển cứng, ví dụ như sử dụng một bộ đếm trạng thái và một mảng logic
khả lập triình) hay kết hợp giữ
a các lệnh phần mềm (vi lệnh được lưu trữ
trong CPU) và phần cứng (bộ điều khiển vi chương trình. Cả hai họ vi xử lý
Intel 8086 và Motorola 68000 đều sử dụng các bộ điều khiển vi chương
trình.
¾ Registers – là các bộ nhớ nhỏ, nhanh, thường được sử dụng để lưu dữ
liệu và địa chỉ gắn với (tương ứng với) các mã lệnh của chươ
ng trình.
¾ ALU thực hiện các phép toán số học và logic
Thực hiện lệnh
Kết thúc
Chu kỳ
lấy lệnh
Chu kỳ
thực hiện19
4.5. Giản đồ thời gian của cơ chế đường ống lệnh
4.6. Giới thiệu bộ vi xử lý Intel 8086/8088 20
¾ 8088 và 8086 là gần tương tự như nhau, chỉ khác ở chỗ 8088 có 8bit dữ
liệu còn 8086 có 16 bit dữ liệu ngoài.
¾ Cả 2 bộ xử lý đều có:
- Độ rộng bus dữ liệu nội là 16 bit
- 20 đường địa chỉ (16 address/data + 4 address/status), cho phép
địa chỉ hoá không gian bộ nhớ tối đa là 1Mbyte ở chế độ dồn kênh
address/data pins (8088 only multiplexes 8 pins)
- 2 chế độ hoạt động (maximum và minimum mode)
- Cùng 1 tậ
p lệnh
4.7. Kiến trúc bên trong của 8088
Cả 8088/8086 áp dụng cơ chế xử lý song song.
¾ Chứa 2 đơn vị xử lý: Đơn vị thi hành (EU) và đơn vị giao tiếp bus (BIU);
¾ Có nhiệm vụ giải mã và thực hiệ
n lệnh.
¾ Chứa: arithmetic logic unit (ALU), status and control flags, general purpose
registers, và temporary-operand register.
22
¾ EU truy xuất lệnh từ đầu của hàng đợi lệnh và dữ liệu từ các thnah ghi
chức năng chung.
¾ Nó đọc lệnh, giải mã chúng và tạo ra các địa chỉ toán hạng nếu cần,
chuyển chúng cho BIU và yêu cầu để thực hiện chu kỳ đọc/ghi bộ nhớ hay
I/O và thực hiện các hoạt động cụ thể được chỉ định bởi lệnh trên các toán
hạng.
¾ Trong quá trình thi hành lệnh, EU có thể kiểm tra trạ
ng thái của các cờ
điều khieển và cập nhật các cờ này dựa trên kết quả của việc thực thi
lệnh.
4.11. Các thanh ghi cờ
¾ Các cờ chỉ thị tình trạng của bộ vi xử lý cũng như điều khiển sự hoạt động
của nó.
¾ Một thanh ghi cờ là 1 flip-flop mà nó chỉ thị một số tình trạng được tạo bởi
việc thực thi 1 lệnh hay các hoạt
động điều khiển cụ thể của EU. Thanh ghi
cờ 16-bit trong EU có 9 cờ.
¾ các cờ điều kiện - conditional flags: Có 6 cờ được gọi là cờ điều kiện.
Chúng được lập hay xoá là bởi EU, dựa trên kết quả của các phép toán số
học.
¾ cờ điều khiển - control flags : 3 cờ còn lại trong thanh ghi cờ được sử dụng
để điều khiển một số
hoạt động của vi xử lý. Chúng được gọi là các cờ
điều khiển.
học.
¾ cờ tràn - overflow flag (OF)- xảy ra khi các số có dấu được cộng thêm
hay trừ đi. Một chỉ thị tràn có nghĩa là kết quả đã vượt quá khả
năng của
máy (dung lượng nhớ của toán hạng).
4.13. Các cờ điều khiển
¾ Các cờ điều khiển được lập hay xoá thông qua các lệnh đặc biệt trong
chương trình người dùng. Ba cờ điều khiển là:
- cờ bẫy - trap flag (TF) - được sử dụng cho việc chạy chương trình
từng lệnh một;
- cờ ngắt - interrupt flag (IF) - được sử d
ụng để cho phép hay cấm
ngắt của 1 chương trình;
- cờ hướng - direction flag (DF) - được sử dụng với các lệnh chuỗi.
¾ Không có lệnh riêng để lập cờ TF.
4.14. Các thanh ghi mục đích chung (đa năng)
¾ EU có tám thanh ghi đa năng 8 bit, được ký hiệu là AH, AL, BH, BL, CH,
CL, DH, DL. Các thanh ghi này có thể được sử dụng độc lập để lưu trữ
tạm thờ
i dữ liệu 8 bit.
¾ Các cặp AH-AL, BH-BL, CH-CL, và DH-DL có thể được sử dụng tổ hợp để
tạo thành các thanh ghi 16 bit: AX, BX, CX, và DX.
¾ Thanh ghi AL còn được gọi là thanh ghi tích luỹ (accumulator). Nó có 1 số
tính năng mà các thanh ghi khác không có
¾ Lợi ích của việc sử dụng các thanh ghi nội là nó có thể được truy xuất
nhanh hơn so với bộ nhớ ngoài. Không cần đến chu kỳ tham chiếu bộ nhớ
khi truy xuất dữ liệu.
24
Chương 5
/RD Read control Output, 3-state
/TEST Wait on test control Input
/READY Wait state control Input
RESET System reset Input
NMI
Nomaskable
Interrupt request
Input
INTR Interrupt request Input
CLK System clock Input
V
CC
+5V Input
GND Ground Input 25
5.3. Các tín hiệu chỉ dùng trong chế độ Min
Minimum mode signals (MN/(/MX) = VCC )
Name Function Type
HOLD Hold request Input
HLDA Hold acknowledge Output
WR Write control Output, 3-state
IO/ (/M) IO/memory control Output, 3-state
DT/(/R) Data transmit/receive Output, 3-state
/DEN Data enable Output, 3-state
/SSO Status line Output, 3-state
ALE Address latch enable Output
/INTA Interrupt acknowledge Output