Hệ Vi xử lý • Định nghĩa: – Là hệ thống số làm việc theo chương trình được lưu giữ trong bộ nhớ, xử lý dữ liệu bằng vi xử lý và đưa ra các quyết định liên lạc với thế giới bên ngoài th
Trang 1CHƯƠNG 2
TỔNG QUAN VỀ HỆ VI XỬ LÝ
1
Trang 32.1 Giới thiệu chung
2.1.1 Định nghĩa Vi xử lý
– Là mạch bán dẫn tích hợp trên một chip (IC) có nhiệm vụ thực hiện các công việc xử lý tín hiệu hoặc điều khiển các thành phần trong hệ thống
– Vi xử lý thực hiện công việc của nó theo chương trình,
thuật toán do người dùng đặt ra
– Ký hiệu: P hoặc uP
3
Trang 42.1 Giới thiệu chung
Trang 52.1 Giới thiệu chung
• Lịch sử ra đời và phát triển của Vi xử lý
1976
Zilog: Z-80 TI: VXL 16bit
1982
32 bit AT&T: BELLMAC-32A
1985
Motorola: 680xx ARM I 1990
Power PC (IBM) 64bit
1993
1999
Intel: Pentium, Xeon, Celeron
2005
Intel: Multi Core
Thương mại hóa chip bán dẫn
Tăng mật độ, Máy tính trên chip
Trang 62.1 Giới thiệu chung
2.1.2 Hệ Vi xử lý
• Định nghĩa:
– Là hệ thống số làm việc theo chương trình được lưu giữ
trong bộ nhớ, xử lý dữ liệu bằng vi xử lý và đưa ra các
quyết định liên lạc với thế giới bên ngoài thông qua các
cổng vào ra
– Một hệ Vi xử lý luôn bao gồm 2 thành phần: Phần cứng và phần mềm
Trang 72.1 Giới thiệu chung
2.1.3 Các thành phần trong hệ Vi xử lý
7
Trang 82.1 Giới thiệu chung
2.1.4 Các kiến trúc thông dụng của Vi xử lý
• Kiến trúc Von Neumann
– Chỉ có một bộ nhớ chung cho dữ liệu và chương trình
– Đọc dữ liệu và đọc lệnh không diễn ra đồng thời
Trang 92.1 Giới thiệu chung
• Kiến trúc Von Newmann
9
Trang 102.1 Giới thiệu chung
• Kiến trúc Harvard
– Có các bus độc lập cho bộ nhớ chương trình và dữ liệu
– Đọc dữ liệu và đọc chương trình diễn ra đồng thời
Trang 112.1 Giới thiệu chung
• Kiến trúc Harvard
11
Trang 122.1 Giới thiệu chung
• Kiến trúc SHARC – Super Harvard Architecture
– Thêm vào một số đặc trƣng để cải thiện băng thông dữ liệu
Trang 132.1 Giới thiệu chung
• Kiến trúc DSP – Digital Signal Processing
13
Trang 142.2 Cấu trúc của một hệ VXL điển hình
2.2.1 Cấu trúc chung của một hệ VXL điển hình
Trang 152.2 Cấu trúc của một hệ VXL điển hình
• Cấu trúc rút gọn
– uP: Vi xử lý
– M: Bộ nhớ (Memory)
– I: Cổng vào/Thiết bị vào dữ liệu (Input)
– O: Cổng ra/Thiết bị xuất dữ liệu (Output)
Address Bus Data bus
Control bus
15
Trang 162.2 Cấu trúc của một hệ VXL điển hình
Trang 172.2 Cấu trúc của một hệ VXL điển hình
– Bus là nút dùng chung của cả hệ thống, dùng để truyền dữ liệu giữa các thành phần với nhau
– Bus có thể nằm trong hoặc nằm ngoài Vi xử lý
– Truyền thông song song: Bus là dải (tape) dây dẫn, mỗi dây truyền 1 bit
– Truyền thông nối tiếp: Bus có thể là cáp đồng trục, xoắn đôi, quang…
17
Trang 182.2 Cấu trúc của một hệ VXL điển hình
Trang 192.2 Cấu trúc của một hệ VXL điển hình
• Cần giải quyết vấn đề xung đột
– Phương pháp tiền định: xác định trước quy luật, thời gian truy nhập
• Tốc độ cao
• Số phần tử ít
19
Trang 202.2 Cấu trúc của một hệ VXL điển hình
Ưu nhược điểm
Trang 212.2 Cấu trúc của một hệ VXL điển hình
2 Tổ chức cổng vào ra
Thiết bị cơ bản
• IC 8282 – Tích hợp mạch 3 trạng thái và chốt dữ liệu
D STB
D 0
Q 0
OE
D STB
D 7
Q 7
OE STB
OE
D0 – D7: 8 đường dữ liệu vào Q0 – Q7: 8 đường dữ liệu ra
STB: chốt tín hiệu STB = 1: cho phép đưa dữ liệu ra STB = 1->0: chốt dữ liệu đầu ra /OE: Cho phép xuất tín hiệu
21
Trang 222.2 Cấu trúc của một hệ VXL điển hình
- /RD: Lệnh chỉ thao tác đọc thiết bị
Trang 232.2 Cấu trúc của một hệ VXL điển hình
Trang 242.2 Cấu trúc của một hệ VXL điển hình
Ax STB
OE
Trang 252.2 Cấu trúc của một hệ VXL điển hình
Trang 262.2 Cấu trúc của một hệ VXL điển hình
Trang 272.2 Cấu trúc của một hệ VXL điển hình
• Tổ chức của bộ nhớ:
Bộ nhớ được tạo thành từ các ô nhớ sắp xếp cạnh
nhau về mặt logic Các tham số của ô nhớ gồm:
– Vị trí (logic) của ô nhớ: là địa chỉ của ô nhớ, do bus địa chỉ truyền đi trong hệ
– Nội dung của ô nhớ: là dữ liệu chứa trong ô nhớ, do bus dữ liệu truyền đi trong hệ Thông thường, mỗi ô nhớ có độ lớn
là 8bit (1byte)
Quản lý bộ nhớ bằng phương pháp địa chỉ hóa các ô nhớ
27
Trang 282.2 Cấu trúc của một hệ VXL điển hình
• Các phương pháp địa chỉ hóa ô nhớ
– Phương pháp địa chỉ tuyệt đối:
• Địa chỉ của một ô nhớ chính là khoảng cách của nó so với địa chỉ gốc
• Địa chỉ gốc thường được xác định là 0
• Ứng dụng cho các loại bộ nhớ dung lượng nhỏ
1 10 11 1
2 3
1110 14
15 ô nhớ
Trang 292.2 Cấu trúc của một hệ VXL điển hình
– Phương pháp địa chỉ đoạn
• Chia toàn bộ bộ nhớ thành nhiều vùng (segment), mỗi vùng có một địa chỉ xác đinh
• Địa chỉ của một ô nhớ trong bộ nhớ được xác định bởi:
– Địa chỉ của segment chứa ô nhớ đó – Địa chỉ offset của ô nhớ trong segment
Segment 0 Segment 1
Segment n Địa chỉ offset
Địa chỉ segment
29
Trang 302.2 Cấu trúc của một hệ VXL điển hình
– Phương pháp địa chỉ đoạn (tiếp)
• Các thiết bị lưu trữ địa chỉ ô nhớ có kích thước nhỏ
– Ví dụ: 8085A địa chỉ hóa ô nhớ bằng 16bit -> Dùng 2 thanh ghi 8bit,
1 thanh ghi chứa địa chỉ segment, 1 chứa địa chỉ offset
Trang 312.2 Cấu trúc của một hệ VXL điển hình
– Bản đồ bộ nhớ: cho thấy bộ nhớ hay các thiết bị có kết nối với bus địa chỉ đƣợc đặt ở đâu trong không gian nhớ
– Ví dụ:
31
Trang 322.2 Cấu trúc của một hệ VXL điển hình
4 Vi xử lý - 8085
• Một số đặc tính cơ bản:
– Bộ xử lý 8 bit tốc độ 3 – 6MHz
– 4 đầu vào ngắt
– Có các cổng vào ra nối tiếp
– Có khả năng tính toán số học thập phân, nhị phân và dấu phẩy động
– Chu kỳ lệnh 0.8s
– Địa chỉ hóa trực tiếp cho 64KB bộ nhớ
– …
32
Trang 332.2 Cấu trúc của một hệ VXL điển hình
• Sơ đồ chân linh kiện
– Bus địa chỉ: AD0 – AD7 và A8 – A15
– Bus dữ liệu: AD0 – AD7
– Bus điều khiển: IO/M, RD, WR…
– ALE: Cho phép chốt địa chỉ
– SID, SOD: vào/ra dữ liệu nối tiếp
– S0, S1: trạng thái chu kỳ máy
38
2 5
6
1
29 33
39 35
21 22 23 24 25 26 27 28
12 13 14 15 16 17 18 19
9 8 7 36
ALE
WR
RD IO/M RSTOUT CLKOUT SOD
TRAP
X1
S0 S1
HOLD READY
A8 A9 A10 A11 A12 A13 A14 A15
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
RST 5.5 RST 6.5 RST 7.5 RSTIN
33
Trang 342.2 Cấu trúc của một hệ VXL điển hình
• Phối hợp các tín hiệu điều khiển
– MEMR: cho phép đọc từ bộ nhớ – MEMW: cho phép ghi bộ nhớ – I/OR: cho phép đọc từ cổng vào – I/OW: cho phép ghi ra cổng ra
1 2
IO/(/M) /WR
IO/(/M)
4 5
2
4 5
2
/WR IO/(/M)
4 5
2
/RD
1 2
IO/(/M) /MEMR
/I/OW
4 5
2
/RD
/I/OR
/MEMW
Trang 352.2 Cấu trúc của một hệ VXL điển hình
• Biểu đồ thời gian làm việc trong 8085
35
Trang 362.2 Cấu trúc của một hệ VXL điển hình
• Sơ đồ cấu trúc Vi xử lý 8085
Trang 372.2 Cấu trúc của một hệ VXL điển hình
Trang 382.2 Cấu trúc của một hệ VXL điển hình
• Các thành phần điển hình:
– Thanh chứa (Accumulator – A) là một thành phần của
ALU Chứa dữ liệu 8 bit
Trang 392.2 Cấu trúc của một hệ VXL điển hình
Trang 402.2 Cấu trúc của một hệ VXL điển hình
– Thanh ghi địa chỉ bộ nhớ: lưu giữ địa chỉ, nhận về từ PC, của câu lệnh tiếp theo
– Bộ phát xung điều khiển (Control Generator) tạo ra các
xung trong uP để thực hiện các lệnh đã được giải mã
– Bộ chọn thanh ghi (Register Selector) điều khiển việc lựa chọn sử dụng các thanh ghi trong hệ thống thanh ghi của
uP
Trang 412.2 Cấu trúc của một hệ VXL điển hình
Trang 422.2 Cấu trúc của một hệ VXL điển hình
• Quá trình thực hiện lệnh (tiếp)
((IP)) -> uP
ID giải mã lệnh
IP ++
Lệnh được thực hiện
Trang 4343
Trang 442.3 Chu kỳ trong Vi xử lý
1 Chu kỳ lệnh (Instruction Cycle)
Khoảng thời gian để Vi xử lý thực hiện một lệnh từ
Trang 472.5 Ghép nối bộ nhớ
2.5.1 Một số chip nhớ thông dụng
1 ROM
– Thiết kế bởi công nghệ NMOS, CMOS
– Dung lượng thường 2Kbyte – 64Kbyte
– Dữ liệu lưu trữ dạng ma trận
– Không bị ảnh hưởng bởi việc mất điện
– 2716, 2732, , 27256
47
Trang 482.5 Ghép nối bộ nhớ
• Ví dụ ROM 2716
Trang 492.5 Ghép nối bộ nhớ
2 RAM
• Static RAM
– Mỗi bít dữ liệu được lưu trữ bởi cặp flip-flop
– Cấu trúc đơn giản
– Ghi và xóa tín hiệu bằng điện
– Dữ liệu mất đi khi mất điện
– Tiêu thụ năng lượng lớn khi có điện
– Kích thước lớn khi dung lượng lớn
– 6216, 6232, 62256
49
Trang 512.5 Ghép nối bộ nhớ
• Ví dụ: RAM 62256
51
Trang 52– Số lƣợng bit địa chỉ phải phù hợp
– Thống nhất tín hiệu điều khiển
– Bộ nhớ 2Kx8bit có 11 bit địa chỉ trong khi 4Kx8bit có
12bit địa chỉ
Trang 538 7 6 5 4 3 2 1 23 22 19
9 10 11 13 14 15 16 17
20 21
18
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
D1 D2 D3 D4 D5 D6 D7 D8
OE WE
U2 2016
8 7 6 5 4 3 2 1 23 22 19
9 10 11 13 14 15 16 17
20 21
18
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
D1 D2 D3 D4 D5 D6 D7 D8
OE WE
CE
D6 D0
A9
A4 A2
U3
NOT
1 2
D3
Trang 542.5 Ghép nối bộ nhớ
2.5.3 Thiết lập bộ nhớ tại địa chỉ xác định