54
CHƢƠNG 2 TỔNG QUAN VỀ HỆ VI XỬ LÝ 1

Chuong 2 - Tong Quan Ve Vi Xu Ly

Embed Size (px)

Citation preview

Page 1: Chuong 2 - Tong Quan Ve Vi Xu Ly

CHƢƠNG 2

TỔNG QUAN VỀ HỆ VI XỬ LÝ

1

Page 2: Chuong 2 - Tong Quan Ve Vi Xu Ly

Mục lục

2.1. Giới thiệu chung

2.2. Cấu trúc một hệ Vi xử lý điển hình

2.3. Chu kỳ trong Vi xử lý

2.4. Tập lệnh của Vi xử lý

2.5. Ghép nối bộ nhớ

2

Page 3: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

Page 4: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.1. Giới thiệu chung

• Phân loại Vi xử lý

• Hoặc phân loại theo số lƣợng bit: Vi xử lý 4bit, 8bit, 16bit, 32

bit và bây giờ là 64bit.

• Chip của Intel dùng nhiều trong máy tính còn của Motorola

dùng nhiều trong viễn thông

Vi xử lý

Loại đa năng: Phục vụ cho nhiều mục đích khác nhau Ví dụ: 8080, 8085 … của Intel 6800, 6802… của Motorola

Loại chuyên dụng: Phục vụ một mục đích cụ thể Ví dụ: các IC trong đồ chơi của trẻ em

4

Page 5: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.1. Giới thiệu chung

• Lịch sử ra đời và phát triển của Vi xử lý

1960

Fairchild

Semiconductor:

Chip bán dẫn đầu tiên

1971

Intel:

4004, 8008,

8080

1976

Zilog: Z-80

TI: VXL 16bit

1982

32 bit

AT&T: BELLMAC-32A 1985

Motorola: 680xx

ARM I

1990

Power PC (IBM)

64bit1993

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

VLSI

và 32 bit32bit nhường chỗ

64bitKỷ nguyên đa lõi

5

Page 6: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

6

Page 7: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.1. Giới thiệu chung

2.1.3. Các thành phần trong hệ Vi xử lý

7

Page 8: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

8

Page 9: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.1. Giới thiệu chung

• Kiến trúc Von Newmann

9

Page 10: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

10

Page 11: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.1. Giới thiệu chung

• Kiến trúc Harvard

11

Page 12: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

12

Page 13: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.1. Giới thiệu chung

• Kiến trúc DSP – Digital Signal Processing

13

Page 14: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

14

Page 15: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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)

uP M I O

Address Bus

Data bus

Control bus

15

Page 16: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

2.2.2. Các thành phần cơ bản trong hệ VXL

1. Hệ thống Bus

Khái niệm

Kết nối kiểu kinh điển

A B

C D

Bus

Kết nối kiểu Bus 16

Page 17: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

Page 18: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

Tổ chức và quản lý Bus

• Bus sử dụng phần tử 3 trạng thái để cách ly các phần

tử trong hệ thống

• Các phần tử trong hệ thống Bus đƣợc quản lý bằng

địa chỉ.

– Mỗi thành viên trong hệ đều đƣợc xác định 1 địa chỉ duy

nhất

– Quản lý địa chỉ bằng phần cứng (mỗi đầu dây, I/O có 1 địa

chỉ xác định) hoặc bằng phần mềm (địa chỉ IP)

18

Page 19: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

• Truy cập Bus:

– Phƣơng pháp ngẫu nhiên: thời điểm truy cập bus của các

phần tử là ngẫu nhiên. Dùng trong quảng bá

• Tốc độ chậm

• Quản lý số lƣợng phần tử lớn

• 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

Page 20: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

Ưu nhược điểm

• Ƣu điểm:

– Tiết kiệm, đơn giản hóa hệ thống

– Làm hệ có tính mở. Có thể thêm hoặc bớt phần tử dễ dàng

• Nhƣợc điểm:

– Tốc độ bị hạn chế do Bus là đƣờng truyền chung

20

Page 21: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

D0Q0

OE

D

STB

D7Q7

OESTB

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

Page 22: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

Tổ chức cổng vào

8282

Data bus

Address bus

Control bus

D0…..D7

IO/M

RD

Ax

STB

OE

+5V

- Ax: Địa chỉ của thiết bị (Tín hiệu sau giải mã địa chỉ)

- IO/M: Tín hiệu chọn thiết bị: IO/M = 1 chọn cổng vào ra IO/M = 0 chọn bộ nhớ

- /RD: Lệnh chỉ thao tác đọc thiết bị

22

Page 23: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

Ax = 1

IO/M = 1

RD = 0

Data từ bên ngoài

Address Bus

Control Bus

Data Bus

23

Page 24: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

• Tổ chức cổng ra

8282

Data bus

Address bus

Control bus

Q0…..Q7

IO/M

WR

Ax

STB

OE

24

Page 25: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

Ax = 1

IO/M = 1

WR = 0

Data đưa ra ngoàii

Address Bus

Control Bus

Data Bus

25

Page 26: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

3. Bộ nhớ

• Định nghĩa:

Là thiết bị dùng để lƣu trữ thông tin gồm chƣơng

trình và dữ liệu

• Phân loại:

– Bộ nhớ chính: là bộ nhớ hoạt động, yêu cầu tốc độ cao. Chế

tạo dƣới dạng bộ nhớ bán dẫn. VD: RAM

– Bộ nhớ phụ: yêu cầu cao về dung lƣợng lƣu trữ và thời gian

lƣu trữ. VD: ROM, HDD…

26

Page 27: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

Page 28: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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ỏ

0

1

10

11

0

1

2

3

111014

15 ô nhớ

28

Page 29: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

Page 30: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

• Quản lý đƣợc bộ nhớ có dung lƣợng lớn

– Không gian nhớ: toàn bộ địa chỉ có thể địa chỉ hóa đƣợc

của bộ nhớ

• Nếu bus địa chỉ có n bit thì không gian nhớ là 2n địa chỉ

30

Page 31: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

Page 32: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

Page 33: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

U5

8085

30

31

3234

3

37

4

38

40

20

2

5

6

1

10 11

2933

39

35

2122232425262728

1213141516171819

987

36

ALE

WR

RDIO/M

RSTOUT

CLKOUT

SOD

HLDA

VC

CG

ND

X2

SID

TRAP

X1

INTR INTA

S0S1

HOLD

READY

A8A9

A10A11A12A13A14A15

AD0AD1AD2AD3AD4AD5AD6AD7

RST 5.5RST 6.5RST 7.5RSTIN

33

Page 34: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

52

4

52

/WR

IO/(/M)

4

52

/RD

1 2

IO/(/M)/MEMR

/I/OW

4

52

/RD/I/OR

/MEMW

34

Page 35: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

Page 36: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

• Sơ đồ cấu trúc Vi xử lý 8085

36

Page 37: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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:

– Đơn vị điều khiển (Control Unit): điều khiển và đồng bộ

quá trình trao đổi và biến đổi số liệu trong hệ Vi xử lý.

– Đơn vị logic số học (Arithmetic Logic Unit – ALU) thực

hiện các phép toán

– Hệ thống thanh ghi: lƣu giữ dữ liệu tạm thời phục vụ cho

tính toán. 8085 có 7 thanh ghi mục đích chung 8 bit B, C,

D, E, H, L và có thể ghép thành 3 thanh ghi 16 bit.

37

Page 38: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

– Hệ thống cờ (Flag – F)

• Cờ không – Zero (Z)

• Cờ nhớ – Carry (C)

• Cờ dấu – Sign (S)

• Cờ chẵn lẻ – Parity (P)

• Cờ nhớ phụ – Auxiliary Carry (AC)

38

Page 39: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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:

– Bộ đếm chƣơng trình (Program Counter – PC): 16 bit, là

con trỏ bộ nhớ. Dùng để lập trình tự thực hiện lệnh trong Vi

xử lý

– Con trỏ ngăn xếp (Stack Pointer – SP): 16 bit, cũng là con

trỏ bộ nhớ, trỏ đến vùng nhớ ngăn xếp (stack)

– Thanh ghi lệnh và giải mã lệnh (IR, ID): lƣu giữ tạm thời

lệnh hiện thời của chƣơng trình (IR), ID sẽ giải mã lệnh

thành các vi lệnh

39

Page 40: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

40

Page 41: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.2. Cấu trúc của một hệ VXL điển hình

• Quá trình thực hiện lệnh

– Địa chỉ lệnh đầu tiên: n

– Sau Reset, IP = 0

– Khi thực hiện, IP = n

– Địa chỉ trong IP chỉ ra vị trí câu lệnh trong chƣơng trình

41

Page 42: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

42

Page 43: Chuong 2 - Tong Quan Ve Vi Xu Ly

43

Page 44: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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ừ

bộ nhớ chƣơng trình.

2. Chu kỳ máy (Machine Cycle)

Số bƣớc mà vi xử lý thực hiện ứng với một lệnh

nhận đƣợc. Thƣờng gồm 4 bƣớc: đọc lệnh, dịch

lệnh, thực hiện lệnh và lƣu giữ kết quả

Bằng một số nguyên lần xung đồng hồ

44

Page 45: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.4. Tập lệnh của Vi xử lý

• 4 nhóm lệnh chủ yếu:

– Nhóm lệnh di chuyển dữ liệu

• VD: MOV A, B

– Nhóm lệnh tính toán logic

• VD: ANL A, R0

– Nhóm lệnh toán học

• VD: ADD A, R1

– Nhóm lệnh nhảy và rẽ nhánh

• VD: JNB TF0, LOOP

• VD: ACALL LOOP

45

Page 46: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.4. Tập lệnh của Vi xử lý

• Ngày nay, tập lệnh của VXL ngày càng phong phú,

thời gian thực hiện lệnh ngày càng nhanh

– Do sự phát triển về công nghệ chế tạo

– Do mức độ tích hợp các thiết bị ngoại vi

– Do sự đa dạng của các sản phẩm

– Do sự đa dạng của các hãng sản xuất

– ….

46

Page 47: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

Page 48: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.5. Ghép nối bộ nhớ

• Ví dụ ROM 2716

48

Page 49: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.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

Page 50: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.5. Ghép nối bộ nhớ

• Dynamic RAM

– Dữ liệu ghi bằng tụ

– Dữ liệu phải refresh từng 2ms -> phải có bộ điều khiển

refresh

– Dung lƣợng lớn

– Cấu trúc ma trận

– Ít tổn hao điện

50

Page 51: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.5. Ghép nối bộ nhớ

• Ví dụ: RAM 62256

51

Page 52: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.5. Ghép nối bộ nhớ

2.5.2. Ghép nối nhiều bộ nhớ

• Ghép nối các chip nhớ 2Kx8bit để tạo ra bộ nhớ

4Kx8bit

• Một số chú ý:

– 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ỉ

52

Page 53: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.5. Ghép nối bộ nhớ

53

D1

A1

A2

A0

A[0

..1

1]

D6

A9

D5

A6

A8

D0

A3

/RD

U12016

87654321

232219

910111314151617

2021

18

A0A1A2A3A4A5A6A7A8A9A10

D1D2D3D4D5D6D7D8

OEWE

CE

Da

ta[0

..7]

D7

/WR

/WR

A8

U22016

87654321

232219

910111314151617

2021

18

A0A1A2A3A4A5A6A7A8A9A10

D1D2D3D4D5D6D7D8

OEWE

CE

D6

D0

A9

A4

A2

U3

NOT

12

A3

/RD

A4

A10

A7

D5

A11

A7

D7

A10

A6

A11

D2

A5

D4A5

A0

D4

D3

D1

D2A1

D3

Page 54: Chuong 2 - Tong Quan Ve Vi Xu Ly

2.5. Ghép nối bộ nhớ

2.5.3. Thiết lập bộ nhớ tại địa chỉ xác định

54