Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tài liệu Bài giảng Kiến trúc của hệ vi xử lý docx
PREMIUM
Số trang
256
Kích thước
5.8 MB
Định dạng
PDF
Lượt xem
786

Tài liệu Bài giảng Kiến trúc của hệ vi xử lý docx

Nội dung xem thử

Mô tả chi tiết

Bài giảng

Kiến trúc của hệ vi xử lý

OPEN.PTIT.EDU.VN

LỜI NÓI ĐẦU

Các bộ vi xử lý ra đời đem lại bước ngoặt trong khoa học kỹ thuật, các thiết bị trở nên

thông minh hơn nhờ sự điều khiển theo chương trình. Vi xử lý đang dần có mặt trong hầu hết các

máy móc thiết bị dân dụng cũng như công nghiệp. Vì vậy việc học tập nghiên cứu ứng dụng vi xử

lý trong trường học là một nhu cầu hết sức cần thiết.

Để phục vụ cho nhu cầu giảng dạy môn học Kỹ thuật vi xử lý cho các lớp đại học từ xa

chuyên nghành điện tử viễn thông, bài giảng vi xử lý được biên soạn với mục đích cung cấp cho

sinh viên các kiến thức cơ sở cần thiết sử dụng cho việc nghiên cứu ứng dụng các hệ thống vi xử

lý trong kỹ thuật và đời sống. Bài giảng bao gồm 8 chương với các nội dung chính như sau:

Chương 1 cung cấp các khái niệm cơ bản về vi xử lý và hệ thống của nó.

Chương 2 mô tả cấu trúc, các khối chức năng trong các bộ vi xử lý họ Intel 80x86, mà chủ

yếu là CPU 80286. Ngoài ra trong chương này còn giới thiệu về các tính năng của các bộ vi xử lý

thế hệ sau 80286 như 80386, 80486, Pentium.

Chương 3 mô tả về cấu trúc lệnh, các chế độ định vị địa chỉ và tập lệnh chi tiết của vi xử

lý 80286. Cho phép sinh viên rút ra được các kiến thức chung nhất về các lệnh vi xử lý và cách

tiếp cận trong việc lập trình bằng các lệnh hợp ngữ. Ngoài ra chương này còn đề cập tới các vấn

đề về lập trình hợp ngữ trên máy vi tính bao gồm: cấu trúc câu lệnh, cách khai báo dữ liệu, khung

chương trình hợp ngữ, các cấu trúc lập trình cơ bản, và các ví dụ cơ bản rèn luyện kỹ năng lập

trình bằng các lệnh gợi nhớ của vi xử lý.

Chương 4 cung cấp các kiến thức về việc thiết kế các hệ thống vi xử lý chuyên dụng bao

gồm cả việc thiết kế hệ thống phần cứng và phần mềm vi xử lý.

Chương 5 mô tả về cấu trúc hoạt động của các vi mạch hỗ trợ vào ra song song 8255 và

vào ra nối tiếp 8251.

Chương 6 mô tả về vi điều khiển 8051 bao gồm về cấu trúc các khối mạch phần cứng, về

tập lệnh và lập trình cho vi điều khiển 8051.

Chương 7 mô tả việc thiết kế hệ thống đo độ rộng xung và truyền dữ liệu nối tiếp bằng

8051. Với các ví dụ này sinh viên có thể tiếp cận về việc thiết kế các ứng dụng nhỏ dùng vi điều

khiển.

Chương 8 là các giới thiệu về bộ vi điều khiển 32 bit của Motorola MC68332. Đây là bộ

vi điều khiển có các tính năng rất mạnh được ứng dụng nhiều trong các thiết bị điều khiển hiện

nay.

Mong rằng tập bài giảng này đáp ứng được nhu cầu giảng dạy môn học kỹ thuật vi xử lý

tại học viện, và kích thích được sự hứng thú của học sinh – sinh viên trong việc nghiên cứu ứng

dụng vi xử lý trong kỹ thuật và đời sống hàng ngày. Rất mong nhận được nhiều ý kiến đóng góp

để bài giảng ngày càng được hoàn thiện hơn.

Tác giả

OPEN.PTIT.EDU.VN

MỤC LỤC Trang

Chương 1 : Kiến trúc của hệ vi xử lý (2 tiết)

1.1 Tổ chức chung của hệ vi xử lý

1.1.1. Công nghệ LSI và sự ra đời của bộ vi xử lý.

1.1.2. Phần cứng và phần mềm của hệ thống vi xử lý.

1.1.3. Tổng quan về phần cứng hệ thống vi xử lý.

1.1.4. Tổng quan về phần mềm và sự phát triển của ngôn ngữ phần mềm.

1.2 Tổ chức bộ nhớ của hệ vi xử lý

1.2.1 Cấu trúc và nguyên tắc làm việc của bộ nhớ ROM , EPROM .

1.2.2 Cấu trúc và nguyên tắc làm việc của bộ nhớ SRAM , DRAM .

1.2.3 Tổ chức bộ nhớ

1.3 Vào ra trong hệ thống vi xử lý.

1.3.1 Cấu trúc và nguyên tắc làm việc của cổng vào / ra.

1.3.2 Mạch ba trạng thái và mạch cài

1.3.3 Các cổng vào / ra đơn giản.

Chương 2 : Nguyên tắc làm việc của bộ vi xử lý họ 80X86 Intel (6 tiết)

2.1 Cấu trúc của bộ vi xử lý 80286 Intel

2.1.1 Sơ đồ khối của bộ vi xử lý 80286 Intel

2.1.2 Khối tạo địa chỉ (AU)

2.1.3 Khối ghép kênh (BU)

2.1.4 Khối lệnh (IU)

2.1.5 Khối thực hiện lệnh (EU)

2.2 Các thanh ghi của bộ vi xử lý 80286 Intel .

2.2.1 Chức năng và nhiệm vụ của các thanh ghi đa năng .

2.2.2 Các thanh ghi quản lý đoạn

2.2.3 Thanh ghi cờ trạng thái

2.2.4 Các thanh ghi đặc biệt

2.3 Nguyên tắc làm việc của bộ vi xử lý 80286 Intel .

2.3.1 Định nghĩa chu kỳ lệnh và chu kỳ máy

2.3.2 Quản lý bộ nhớ thực và bộ nhớ ảo

2.3.3 Trạng thái bộ vi xử lý khi khởi động

2.3.4 Chế độ ngắt và các đầu ngắt của bộ vi xử lý

2.4 Các bộ vi xử lý cấp cao của Intel

Chương 3 : Lập trình Assembly cho hệ vi xử lý Intel (6 tiết)

3.1 Cấu trúc của hợp ngữ.

3.1.1 Bộ ký tự từ khóa của hợp ngữ

3.1.2 Các lệnh chỉ dẫn trong hợp ngữ

3.1.3 Khung của file chương trình nguồn Assembly

3.2 Tập lệnh của bộ vi xử lý 80X86 Intel

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

1

1

1

2

3

4

4

5

7

7

10

10

10

11

14

14

15

15

15

15

15

15

16

17

18

20

21

21

25

35

36

40

43

43

44

44

48

50

54

OPEN.PTIT.EDU.VN

3.2.2 Nhóm l

ệnh x

ử lý dữ li

ệu.

3.2.3 Nhóm l

ệnh chuy

ển

đ

i

ều khi

ển

3.3 L

ập trình h

ợp ng

ữ cho h

ệ vi x

ử lý Intel

3.3.1

L

ập trình chuy

ển m

ảng dữ li

ệu

3.3.2

L

ập trình chuy

ển đổi mã (nh

ị phân , hexa , th

ập phân , ascii)

3.3.3

L

ập trình

đ

i

ều khi

ển thi

ết b

ị ngo

ại vi

Chương 4 : Thi

ết k

ế h

ệ vi x

ử lý chuyên d

ụng (6 ti

ết)

4.1 Trình t

ự thi

ết k

ế h

ệ vi x

ử lý chuyên dụng

4.2

T

ổ ch

ức ph

ần c

ứng cho h

ệ vi x

ử lý chuyên dụng .

4.2.1

L

ựa ch

ọn b

ộ vi x

ử lý

4.2.2 T

ổ ch

ức không gian nh

ớ th

ực và định v

ị ROM , RAM

4.2.3 Thi

ết k

ế các ngo

ại vi theo yêu c

ầu

4.3 Xây dựng ph

ần m

ềm cho h

ệ vi x

ử lý

4.3.1 Xây dựng thu

ật toán và l

ưu đồ thu

ật toán cho h

ệ vi x

ử lý

4.3.2 Vi

ết chương trình ngu

ồn b

ằng Assembly cho h

ệ vi x

ử lý

4.4

D

ịch và n

ạp chương trình vào ROM cho h

ệ vi x

ử lý

Chương 5 : Các chip IC h

ỗ tr

ợ cho h

ệ vi x

ử lý (4 ti

ết)

5.1 Chip vào / ra l

ập trình 8255

5.1.1

C

ấu trúc c

ủa chip 8255

5.1.2 Các ch

ế độ làm vi

ệc c

ủa chip 8255

5.1.3

K

ết n

ối 8255 v

ới h

ệ th

ống vi x

ử lý

5.1.4

L

ập trình kh

ởi t

ạo ch

ế độ làm vi

ệc cho chip 8255

5.2 Chip truy

ền tin n

ối ti

ếp USART 8251

5.2.1 Ch

ế độ truy

ền tin đồng b

ộ và c

ận đồng b

5.2.2

C

ấu trúc c

ủa chip USART 8251

5.2.3 Các ch

ế độ làm vi

ệc c

ủa chip USART 8251

5.2.4 Ghép chip USART 8251 v

ới h

ệ vi x

ử lý

5.2.5

L

ập trình kh

ởi t

ạo ch

ế độ làm vi

ệc cho chip USART 8251

Chương 6 : Vi

đ

i

ều khi

ển 8 bit 8051 (8 ti

ết)

6.1

C

ấu trúc và ch

ức n

ăng c

ủa vi

đ

i

ều khi

ển 8051.

6.1.1. Gi

ới thi

ệu v

ề các b

ộ vi

đ

i

ều khi

ển.

6.1.2.

C

ấu trúc t

ổng quát c

ủa các b

ộ vi

đ

i

ều khi

ển.

6.1.3. Mô t

ả ph

ần c

ứng các b

ộ vi

đ

i

ều khi

ển h

ọ MSC-51

6.2 Giao ti

ếp v

ới b

ộ nh

ớ ngoài cho vi

đ

i

ều khi

ển 8051.

6.2.1. Truy xu

ất b

ộ nh

ớ chương trình bên ngoài.

6.2.2. Truy xu

ất b

ộ nh

ớ dữ li

ệu bên ngoài.

6.2.3.

B

ộ nh

ớ ngoài s

ử dụng chung cho chương trình và dữ li

ệu

6.3 Ho

ạt động timer c

ủa 8051

6.3.1. Gi

ới thi

ệu.

6.3.2. Các ch

ế độ timer và c

ờ báo tràn.

6.3.3. Ngu

ồn xung nh

ịp.

6.3.4. Cho ch

ạy, dừng và

đ

i

ều khi

ển các timer.

6.3.5. Kh

ởi động và truy xu

ất các thanh ghi timer.

56

61

62

63

64

67

72

72

74

74

74

78

82

82

87

87

92

92

92

93

98

99

101

101

104

106

107

110

120

120

120

120

121

130

131

131

134

134

134

136

137

138

139

OPEN.PTIT.EDU.VN

6.4 Bộ điều khiển truyền tin nối tiếp UART của 8051.

6.4.1 Giới thiệu.

6.4.2 Thanh ghi điều khiển cổng nối tiếp.

6.4.3 Các chế độ hoạt động

6.4.4 Khởi động và truy xuất các thanh ghi cổng nối tiếp

6.4.5 Truyền thông tin trong hệ thống đa xử lý.

6.4.6 Tốc độ cổng nối tiếp.

6.5 Ngắt của vi điều khiển 8051.

6.5.1. Giới thiệu.

6.5.2. Tổ chức ngắt của 8051.

6.5.3. Các vector xử lý ngắt.

6.5.4. Thiết kế chương trình dùng các ngắt.

6.5.5. Các ngắt của 8051

6.6 Tập lệnh và hướng dẫn lập trình trên 8051.

6.6.1 Các chế độ địa chỉ.

6.6.2 Tập lệnh của 8051.

6.6.3 Chương trình hợp ngữ 8051.

6.7 Bộ nhớ ROM của vi điều khiển 8051.

Chưong 7 : Thiết kế hệ thống chuyên dụng trên on – chip 80C51 (4 tiết)

7.1 Thiết kế hệ đo thông số tín hiệu xung

7.1.1 Nguyên tắc đo độ rộng xung

7.1.2 Sơ đồ phần cứng của hệ đo

7.1.3 Xây dựng chương trình điều khiển

7.2 Thiết kế hệ truyền tín hiệu nối tiếp

7.2.1 Sơ đồ kết nối phần cứng hệ thống vi điều khiển truyền dữ liệu nối tiếp.

7.2.2 Xây dựng chương trình điều khiển.

Chương 8 : Vi điều khiển 32 bit MC68332 (9 tiết)

8.1 Cấu trúc và chức năng thành phần của on – chip 32 bit MC68332

8.2. Mô đun tích hợp hệ thống SIM.

8.2.1. Khối định cấu hình và bảo vệ hệ thống.

8.2.2. Khối tạo clock cho hệ thống.

8.2.3. Khối giao tiếp BUS bên ngoài.

8.2.4. Khối tạo tín hiệu chọn mạch.

8.2.5. Các ngõ vào ra đa dụng.

8.2.6. Reset

8.2.7. Ngắt

8.2.8. Khối kiểm tra phần cứng

8.3 Bộ vi xử lý

8.3.1. Các mô hình lập trình.

8.3.2. Thanh ghi trạng thái chương trình

8.3.3. Chế độ gỡ rối.

8.4 Khối xử lý thời gian TPU

8.4.1. Các khối chức năng trong TPU.

8.4.2. Các chức năng thới gian của TPU.

8.5 Mô đun nối tiếp theo hàng đợi QSM

140

140

140

141

143

145

145

147

147

148

149

151

152

153

153

157

159

168

173

173

173

174

175

181

181

181

189

189

191

195

195

195

196

197

198

199

200

200

201

202

203

203

204

206

210

OPEN.PTIT.EDU.VN

8.6 TRURAM

8.6.1. Khối thanh ghi của TPU RAM.

8.6.2. Hoạt động của TPURAM

8.7 Lập trình hợp ngữ cho vi điều khiển MC68332

8.7.1 Các chế độ địa chỉ trong chương trình hợp ngữ MC68332.

8.7.2 Tập lệnh của MC68332

8.7.3 Khuôn dạng chương trình nguồn.

8.7.4 Lập trình khởi động SIM.

8.7.5 Lập trình định cấu hình cho RAM nội.

8.7.6 Lập trình cho QSM.

8.7.7 Lập trình cho TPU.

HƯỚNG DẪN VÀ ĐÁP SỐ BÀI TẬP

CÁC CHỮ VIẾT TẮT

TÀI LIỆU THAM KHẢO

212

213

214

214

214

215

225

227

229

229

232

237

246

251

OPEN.PTIT.EDU.VN

Chương 1: Kiến trúc của hệ thống vi xử lý

CHƯƠNG 1: KIẾN TRÚC CỦA HỆ THỐNG VI XỬ LÝ

Giới thiệu:

Trước hết trong chương này sinh viên cần nắm được các khái niệm về bộ vi xử lý như :

mục đích sự ra đời của bộ vi xử lý, các khối chức năng cơ bản của bộ vi xử lý, nguyên tắc xử lý

các công việc và bài toán của bộ vi xử lý, lệnh của bộ vi xử lý, chương trình mà các bộ vi xử lý

thực hiện, chức năng của phần cứng và phần mềm trong hệ thống vi xử lý, các khối chức năng

phần cứng trong hệ thống vi xử lý và chức năng của chúng, các tín hiệu kết nối các khối chức

năng phần cứng, phần mềm phát triển của ngôn ngữ phần mềm hệ thống vi xử lý, lệnh mã máy,

lệnh gợi nhớ, nguyên tắc hình thành ngôn ngữ cấp cao, các chương trình hợp ngữ, các chương

trỉnh ngôn ngữ cấp cao và việc thực hiện các chương trình này trong hệ thống vi xử lý.

Tiếp theo chương này cung cấp các kiến thức về bộ nhớ bán dẫn. Sinh viên cần nắm được

nguyên tắc hoạt động của bộ nhớ bán dẫn, sự khác nhau giữa các bộ nhớ ROM và các bộ nhớ

RAM, giữa các loại bộ nhớ ROM và giữa các loại bộ nhớ RAM, và quan trọng nhất là các tổ chức

các bộ nhớ trong hệ thống vi xử lý, phương pháp giải mã địa chỉ bộ nhớ trong các hệ thống vi xử

lý.

Phần cuối cùng sinh viên cần nắm được các kiến thức về vào ra, cấu trúc của các vi mạch

số đệm, cài và nguyên tắc làm việc của chúng trong các hệ thống vi xử lý, trạng thái trở kháng cao

và ý nghĩa của chúng trong kết nối hệ thống vi xử lý. Và cũng giống như bộ nhớ cần nắm rõ

nguyên tắc giải mã địa chỉ vào ra trong các hệ thống vi xử lý.

1.1. TỔ CHỨC CHUNG CỦA HỆ THỐNG VI XỬ LÝ

1.1.1. Công nghệ LSI và sự ra đời của các bộ vi xử lý

Trong kỹ thuật số, chúng ta đã được làm quen với công nghệ chế tạo bán dẫn cho phép đặt

nhiều cổng logic trong một vi mạch (hay một mạch tích hợp IC – Integrated Circuits) với diện tích

khoảng vài mm2

. Nếu số cổng nhỏ hơn 15 đơn vị cổng, chúng được gọi là mạch tích hợp mật độ

nhỏ SSI (Small Scale Integration). Từ 15 tới 100 đơn vị cổng được gọi là mạch tích hợp mật độ

vừa MSI, trên 100 cổng là mạch tích hợp mật độ cao LSI và hàng triệu đơn vị cổng được gọi là

mạch tích hợp mật độ rất cao VLSI.

Với công nghệ chế tạo bán dẫn trên, hàng ngàn loại IC số khác nhau ra đời với các chức năng

khác nhau, nhưng chúng đều có các tính chất chung như:

- Đều được kết nối từ các cổng logic cơ bản.

- Dữ liệu số đưa tới các ngõ vào sẽ được biến đổi theo một hàm số nhất định thành dữ liệu trên

các ngõ ra.

Với cấu hình nối cứng các cổng logic cơ bản để tạo thành một IC số với một chức năng cụ

thể như trên, làm việc sử dụng các IC số có các nhược điểm như: cùng một chức năng nhưng sử

dụng nhiều lần trong mạch, sẽ phải sử dụng nhiều IC số. Khi muốn thực hiện các công việc khác

nhau, cần thực hiện các mạch số khác nhau. Ví dụ, một công việc yêu cầu hai phép cộng nhị phân

sẽ phải sử dụng hai IC cộng khác nhau. Nếu có nhiều hơn một phép tính so với mạch đã thực hiện

sẽ cần phải làm một mạch khác.

Với sự ra đời của công nghệ LSI, cho phép tích hợp rất nhiều cổng logic trong một vi mạch

nhỏ, người ta nghĩ đến chuyện thiết kế một IC số có thể thực hiện mọi chức năng số mà không cần

phải thay đổi mạch điện. Nguyên tắc thực hiện của loại IC số này có thể biểu diễn trong sơ đồ

khối hình 1.1.

1

OPEN.PTIT.EDU.VN

Chương 1: Kiến trúc của hệ thống vi xử lý

Sơ đồ bao gồm khối các hàm số cơ bản và các bộ đệm được kết nối với nhau thông qua

các mạch kiểm soát (không kết nối cố định, mà chỉ kết nối khi có các tín hiệu cho phép). Dữ liệu

có thể di chuyển từ bộ đệm này tới bộ đệm khác và từ các bộ đệm tới xử lý tại các hàm cơ bản khi

có các tín hiệu cho phép thích hợp. Một chức năng số phức tạp (một bài toán hay một công việc

nào đó), thay vì phải thực hiện bằng một mạch số nối cứng, có thể thực hiện từng bước bằng cách

tuần tự thực hiện các hàm số cơ bản trong IC này. Với cấu hình này, sơ đồ có thể thực hiện mọi

chức năng số phức tạp mà không cần thay đổi mạch kết nối các IC số. Đây là cấu hình cơ bản nhất

của một bộ vi xử lý.

Chọn hàm

xử lý dữ

liệu

Chọn bộ đệm

cung cấp dữ

liệu

Các hàm số cơ bản

Bộ đệm Bộ đệm Bộ đệm Bộ đệm …

Hình 1.1: Sơ đồ khối cấu tạo cơ bản của vi xử lý.

Như vậy vi xử lý là một IC số có tất cả các hàm số cơ bản, để thực hiện một chức năng số

phức tạp nó sẽ tuần tự thực hiện các chức năng số cơ bản theo một trình tự thích hợp. Để thực

hiện một chức năng số cơ bản, cần phải cung cấp cho vi xử lý các tín hiệu chọn dữ liệu trong các

bộ đệm và tín hiệu chọn hàm số xử lý dữ liệu đó. Công việc này được gọi là cung cấp một lệnh

cho vi xử lý. Để thực hiện một bài toán hay một công việc nào đó, cần phải thực hiện tuần tự các

hàm số cơ bản theo một trình tự nhất định, có nghĩa là phải cung cấp cho vi xử lý một tập hợp các

lệnh sắp xếp theo một giải thuật hợp lý gọi là một chương trình.

1.1.2. Phần cứng và phần mềm của hệ thống vi xử lý

Với cấu tạo bao gồm các hàm số cơ bản và các bộ đệm như đã mô tả ở trên, các bộ vi xử

lý không thể hoạt động một mình, mà chúng cần được kết nối ghép với các mạch phụ cận như:

mạch cung cấp xung nhịp, bộ nhớ lưu trữ chương trình, các giao tiếp để liên lạc với người sử dụng

hay thiết bị điều khiển. Nguyên tắc cấu tạo và cách thức kết nối giữa vi xử lý và các mạch phụ cận

cần thiết của nó được gọi là công nghệ phần cứng của hệ thống vi xử lý (Hardware).

Hệ thống mạch

điện tử số

Các thiết bị xuất

nhập và chấp hành

điều khiển

Các chương trình

phần mềm

Hình 1.2: Sơ đồ khối mô tả hoạt động của hệ thống vi xử lý.

Để hệ thống mạch phần cứng đã được kết nối đúng có thể thực hiện một bài toán, một

công việc, cần cung cấp cho vi xử lý một chương trình thích hợp. Công việc tạo ra các chương

2

OPEN.PTIT.EDU.VN

Chương 1: Kiến trúc của hệ thống vi xử lý

trình cung cấp cho các hệ thống vi xử lý hoạt động được gọi chung là công nghệ phần mềm

(Software). Có thể mô tả cơ chế của một hệ thống vi xử lý trên hình 1.2.

1.1.3. Tổng quát về phần cứng hệ thống vi xử lý

Phần cứng một hệ thống vi xử lý bao gồm 3 khối mạch chính trên hình 1.3 bao gồm:

- Bộ vi xử lý, hay còn được gọi là đơn vị xử lý trung tâm CPU (Central Processing Unit) có

nhiệm vụ thực hiện tất cả các lệnh mà chương trình yêu cầu. Nó đóng vai trò là chủ trong hệ

thống, quyết định sự hoạt động của các linh kiện khác trong mạch.

- Khối bộ nhớ lưu trữ các chương trình cung cấp cho vi xử lý thực hiện, ngoài ra nó còn sử

dụng lưu trữ các biến trung gian cũng như cuối cùng trong các quá trình tính toán.

- Các bộ vào ra kiểm soát việc truyền dữ liệu giữa CPU và các thiết bị ngoại vi như bàn phím,

màn hình,…. Các thiết bị ngoại vi có thể là các thiết bị cho phép hệ thống vi xử lý và người

sử dụng có thể liên lạc với nhau, hoặc các thiết bị thực hiện một công việc nào đó theo sự

điều khiển của vi xử lý.

Trong hệ thống vi xử lý, CPU đóng vài trò là thành phần điều khiển kiểm soát mọi hoạt

động của các vi mạch phụ trợ (bộ nhớ và vào ra) khác. Vì vậy, các mạch phụ trợ sẽ được kết nối

với CPU bằng một hệ thống đường dẫn điện gọi là BUS. BUS được chia thành 3 loại: BUS dữ

liệu, BUS địa chỉ và BUS điều khiển.

BUS dữ liệu có nhiệm vụ truyền dữ liệu giữa CPU và các bộ nhớ hoặc vào ra để các thành

phần trong hệ thống có thể hiểu được nhau. Ví dụ như: các lệnh được CPU lấy từ bộ nhớ qua BUS

dữ liệu, hoạt động của các thiết bị ngoại vi được CPU điều khiển và kiểm soát bằng BUS dữ liệu.

Các CPU truyền thống sử dụng một BUS dữ liệu duy nhất để truyền dữ liệu với tất cả mọi nơi

trong hệ thống, vì vậy để điều khiển được từng thành phần một cách độc lập, tại một thời điểm

thông thường CPU chỉ truyền dữ liệu với một vị trí duy nhất, vị trí này được xác định bằng trạng

thái của BUS địa chỉ. Hệ thống phải được kết nối sao cho ứng với một địa chỉ mà CPU tạo ra, chỉ

có một vị trí duy nhất được xác định tới, công việc này được gọi là giải mã địa chỉ trong hệ thống

vi xử lý. Ngoài ra bộ nhớ hoặc vào ra, (xác định bằng BUS địa chỉ) có thể có nhiều chế độ hoạt

động khác nhau với CPU, các chế độ này được thông báo qua lại với CPU thông qua BUS điều

khiển. Ví dụ, khi đọc dữ liệu từ bộ nhớ CPU thông báo bằng tín hiệu MEMRD (memory read)

tích cực, còn khi ghi dữ liệu tới bộ nhớ nó thông báo bằng tín hiệu MEMWR.

CPU

Bộ

nhớ

I/O

Thiết

bị

ngoại

vi

Chương

trình

Hình 1.3: Sơ đồ khối hệ thống vi xử lý

3

OPEN.PTIT.EDU.VN

Chương 1: Kiến trúc của hệ thống vi xử lý

1.1.4. Tổng quát về phần mềm và sự phát triển của các ngôn ngữ phần mềm

Như đã biết, hệ thống vi xử lý là một hệ thống mạch điện tử số hoạt động theo chương

trình. Vì là hệ thống mạch điện tử số, nên các chương trình cung cấp cho vi xử lý hoạt động phải ở

dưới dạng 0, 1 gọi là chương trình mã máy. Nhưng do ngôn ngữ máy chỉ đơn giản là tổ hợp của

các bit 0 và 1 nên rất khó nhớ, khó kiểm tra đối với người sử dụng. Để khắc phục nhược điểm

này, người ta đặt cho mỗi lệnh mã máy thực hiện một chức năng số cơ bản một tên dễ nhớ hơn gọi

là mã gợi nhớ. Khi lập trình người ta sử dụng các lệnh gợi nhớ này, tạo thành chương trình hợp

ngữ (assembly), để vi xử lý thực hiện được chương trình cần phải dịch nó ra chương trình mã

máy. Quá trình dịch một chương trình hợp ngữ thành một chương trình mã máy, được gọi là quá

trình hợp dịch (assembler). Hợp dịch có thể thực hiện bằng cách tra bảng tập lệnh, khi có máy vi

tính và các công cụ soạn thảo lưu trữ, người ta thực hiện các chương trình hợp dịch để quá trình

hợp dịch nhanh chóng và chính xác hơn.

Do chỉ đơn giản là tên của một lệnh cơ bản của vi xử lý, nên các mã gợi nhớ vẫn chưa

thực sự dễ dàng khi lập trình, các chương trình hợp ngữ thường không có cấu trúc và rất khó kiểm

tra phát hiện lỗi cũng như lưu trữ sử dụng lâu dài. Cũng theo cách trên, người ta viết ra các

chương trình con hợp ngữ thực hiện một chức năng thông dụng rồi đặt thành một lệnh ngôn ngữ

cấp cao. Có rất nhiều ngôn ngữ cấp cao khác nhau ra đời như Pascal, C, basic …. Để thực hiện

các chương trình ngôn ngữ cấp cao, cũng cần phải dịch chúng về dạng mã máy. Quá trình này

được gọi là thông dịch hoặc biên dịch. Thông dịch là quá trình dịch từng lệnh ngôn ngữ cấp cao ra

một chuỗi lệnh mã máy để vi xử lý thực hiện, sau đó mới tiếp tục với lệnh cấp cao kế tiếp. Còn

biên dịch là dịch đồng thời chương trình ngôn ngữ cấp cao ra chương trình mã máy, sau đó mới

cung cấp cho vi xử lý thực hiện chương trình mã máy đó.

Chương trình ngôn

ngữ cấp cao

Hệ thống mạch

điện tử số

Chương trình hợp

ngữ

(các lệnh gợi nhớ)

Chương trình mã

máy

(tập hợp các bit 0

và 1)

Hình 1.4: Sự phát triển của ngôn ngữ phần mềm.

1.2. TỔ CHỨC BỘ NHỚ CỦA HỆ THỐNG VI XỬ LÝ

Trong hệ thống mạch điện tử phần cứng của hệ thống vi xử lý mô tả trên hình 1.3, bộ nhớ

là các IC nhớ được gọi là bộ nhớ bán dẫn hay bộ nhớ chính của hệ thống vi xử lý. Ngoài bộ nhớ

bán dẫn, hệ thống vi xử lý còn có các thiết bị khác sử dụng để lưu trữ dữ liệu và chương trình, đó

là các thiết bị nhớ ngoài như: ổ đĩa cứng, ổ đĩa mềm, ổ đĩa quang học …. Chúng đóng vai trò là

các thiết bị ngoại vi của hệ thống. Phần này chỉ mô tả về cấu tạo và nguyên tắc hoạt động của các

loại bộ nhớ bán dẫn.

Bộ nhớ bán dẫn được chia thành hai loại chính: bộ nhớ chỉ đọc ROM (Read Only

Memory) và bộ nhớ có thể đọc ghi được hay còn gọi là bộ nhớ truy cập ngẫu nhiên RAM

(Random Access Memory). Tuy nhiên các tên gọi trên chỉ mang tính chất tương đối, bộ nhớ ROM

cần phải được ghi dữ liệu trước khi đọc, mỗi loại ROM khác nhau sẽ có cách ghi dữ liệu khác

nhau. Bộ nhớ truy cập ngẫu nhiên, khác với bộ nhớ truy cập tuần tự là có thể truy cập bất kỳ dữ

liệu nào một cách tức thời, mà không phải truy cập tuần tự. Các bộ nhớ ROM và RAM đều có thể

truy cập tuần tự.

4

OPEN.PTIT.EDU.VN

Chương 1: Kiến trúc của hệ thống vi xử lý

Trong các hệ thống vi xử lý, bộ nhớ ROM được sử dụng để ghi các chương trình và dữ

liệu cố định như: chương trình khởi động hệ thống, chương trình ROM BIOS của máy tính, các

chương trình điều khiển hoạt động của các hệ thống vi xử lý không có bộ nhớ ngoài ….

Các loại bộ nhớ ROM bao gồm: Mask ROM là ROM được ghi dữ liệu ngay từ khi sản

xuất không thể thay đổi được. PROM là loại ROM lập trình được một lần bởi người sử dụng.

EPROM là bộ nhớ ROM có thể lập trình bằng điện và xoá bằng tia cực tím, EEPROM là ROM

lập trình và xoá nhiều lần bằng điện.

Bộ nhớ RAM được sử dụng làm nơi lưu trữ các biến số của chương trình, nó cũng có thể

sử dụng làm nơi chứa các chương trình nạp vào từ các thiết bị nhớ ngoài để CPU thực hiện. Bộ

nhớ RAM được chia thành hai loại chính là: RAM tĩnh SRAM và RAM động DRAM. SRAM lưu

trữ dữ liệu theo nguyên tắc của các Flip – Flop, nên nó sẽ lưu trữ dữ liệu ghi vào nó cho đến khi

có một dữ liệu khác được ghi đè lên, hoặc cho đến khi mất nguồn cung cấp. DRAM lưu trữ dữ

liệu bằng các tụ nhỏ nên các mức 1 sau một thời gian sẽ bị tiêu hao qua các mạch phụ cận, vì vậy

DRAM yêu cầu chu kỳ làm tươi.

1.2.1. Cấu trúc và nguyên tắc làm việc của bộ nhớ ROM

Hình 1.5 mô tả nguyên tắc cấu tạo của bộ nhớ PROM. Trong hình vẽ ma trận nhớ bao

gồm 4 hàng và 8 cột. Tại một thời điểm tương ứng với trạng thái hai ngõ vào A1A0 sẽ có 1 trong

4 hàng mang trạng thái 0. Trạng thái của 8 cột sẽ tuỳ thuộc việc nối hay không nối hàng và cột

tương ứng bằng diode. Tương ứng với điểm nối trạng thái của cột sẽ bằng 0, không nối là 1. Ứng

với trạng thái của ngõ vào A2 bộ multiplex sẽ chọn 4 cột T3 – T0 hoặc P3 – P0 cung cấp ra các

đường D3 – D0. Như vậy bộ nhớ sẽ bao gồm 8 ô nhớ, mỗi ô nhớ chứa 4 bit dữ liệu. Ứng với một

trạng thái của A2A1A0 sẽ có một ô nhớ được chọn.

+Vcc

T3 P3 T2 P2 T1 P1 T0 P0

D3 D2 D1 D0

A0

A1

A2

Giải

mã địa

chỉ

Multiplex

Hình 1.5: Nguyên tắc cấu tạo của bộ nhớ ROM.

Mỗi loại bộ nhớ ROM sẽ có cách kết nối các điểm của ma trận nhớ khác nhau như trên

hình 1.6. Mask ROM có các điểm của ma trận nhớ được kết nối ngay khi sản xuất. Bộ nhớ PROM

kết nối các điểm ma trận nhớ bằng các diode và các cầu chì mảnh, khi lập trình cần cung cấp dòng

điện đủ lớn để làm đứt các cầu chì tại các điểm muốn lưu trữ các bit 1. Đối với các bộ nhớ

EPROM và EEPROM các điểm ma trận nhớ được kết nối bằng các transistor MOS, khi lập trình

cần cung cấp điện trường của điện áp cao để các hạt hiếm đủ năng lượng chuyển qua bán dẫn cực

cổng, kênh dẫn mất khả năng dẫn điện, điểm ma trận giữ bit 1. Nếu muốn xoá các bit 1 đã ghi có

5

OPEN.PTIT.EDU.VN

Chương 1: Kiến trúc của hệ thống vi xử lý

thể dùng điện trường điện áp cao (EEPROM) hoặc năng lượng cung cấp bằng tia cực tím

(EPROM) để các điện tử tự do trở về kênh dẫn.

W

B

W

B

1

W

B

W

B

W

B

0

VD

W

B

GN

Diode MOS ROM MOS ROM

Hình 1.7: Nối các điểm ma trận nhớ của các loại ROM.

Ngoài các tín hiệu địa chỉ và điều khiển các bộ nhớ ROM còn có các tín hiệu điều khiển,

hình 1.8 mô tả các tín hiệu của EPROM 2764 trong đó:

A12 – A0 : Các đường địa chỉ.

D7 – D0 : Các đường dữ liệu.

CE (Chip Enable): Tín hiệu chọn mạch, tín hiệu này không tích cực BUS dữ liệu sẽ ở trạng thái

trở kháng cao.

OE (Output Enale): Tín hiệu cho phép xuất cho phép bộ đệm dữ liệu ngõ ra để cung cấp dữ liệu từ

bên trong ra ngoài các đường D7 – D0.

VPP : Ngõ vào điện áp cao cung cấp nguồn lập trình cho EPROM.

PGM: Ngõ vào cung cấp xung lập trình cho EPROM.



U1

2764

10

9

8

7

6

5

4

3

25

24

21

23

2

11

12

13

15

16

17

18

19

22

27

1

20

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

D0

D1

D2

D3

D4

D5

D6

D7

OE

PGM

VPP

CE

Hình 1.8: Các tín hiệu EPROM 2764.

6

OPEN.PTIT.EDU.VN

Chương 1: Kiến trúc của hệ thống vi xử lý

1.2.2. Cấu trúc và nguyên tắc làm việc của bộ nhớ RAM

Hình 1.9: Cấu tạo một bit nhớ SRAM.

Hình 1.9 mô tả cấu tạo của một bit nhớ SRAM, trong sơ đồ khi cấp nguồn một trong hai

transistor M1 hoặc M2 dẫn, giả sử M2 dẫn Q = 0 nên M1 không dẫn, lúc này các đường BL và

BL\ sẽ được cung cấp tới mạch khuếch đại đọc để cung cấp dữ liệu mức 0 khi được chọn. Để ghi

một dữ liệu, chọn bit nhớ bằng cách cung cấp mức 1 tới WL làm các transistor M3 và M4 dẫn,

cung cấp mức 1 tới đường BL (BL\ = 0) làm M2 tắt, M1 dẫn, bit nhớ sẽ lưu trữ dữ liệu 1.

Ngoài tín hiệu chọn mạch CE cho phép xuất dữ liệu OE như bộ nhớ EPROM, các bộ nhớ

SRAM còn có thêm tín hiệu cho phép ghi WE, chỉ ghi tín hiệu này tích cực dữ liệu mới được lưu

trữ vào bộ nhớ.

Cấu tạo một bit nhớ DRAM một transistor mô tả trên hình 1.10. Để ghi dữ liệu tới bit nhớ

này cần cung cấp mức 1 tới WWL và cung cấp dữ liệu ghi tới BL1, transistor BL1 sẽ dẫn, điện áp

sẽ được nạp cho tụ Cs. Khi đọc cấp mức 1 tới RWL làm M3 dẫn, khi Cs giữ mức 1 M2 dẫn ngõ ra

BL2 tương ứng với mức 0 và mạch khuếch đại đọc sẽ cấp ra ngoài mức 1.

M 3

RL RL

VD

WL

Q Q

M1 M2

M4

BL BL

WWL

BL1

M1 X

M3

M2

CS

BL2

RWL

V DD

V DD 2 VT

DV BL 2 V DD 2 VT

BL 1

X

RWL

WWL

Hình 1.10: Cấu tạo bit nhớ DRAM.

1.2.3. Tổ chức bộ nhớ

Như đã mô tả ở trên, bộ nhớ lưu trữ các dữ liệu theo các địa chỉ duy nhất, trên hình 1.11

7

OPEN.PTIT.EDU.VN

Chương 1: Kiến trúc của hệ thống vi xử lý

tướng ứng với trạng thái 1 đường Si = 0 một ô nhớ sẽ được chọn. Để giảm bớt số tín hiệu chọn

phải cung cấp có thể dùng bộ giải mã địa chỉ, nếu cần N tín hiệu cho việc chọn N ô nhớ chỉ cần

cung cấp K đường địa chỉ (K = logN).

Word 0

Word 1

Word 2

Word N-2

Word N-1

Tế bào

Nhớ

M bits M bits

S0

S1

S2

SN-2

A0

A1

A K-1

K = log2N

SN-1

Word 0

Word 1

Word 2

Word N-2

Word N-1

Tế bào

nhớ

S0

Vào - Ra

(M bits)

Vào - Ra

(M bits)

Hình 1.11: Tổ chức lưu trữ các bit trong bộ nhớ.

Với cấu trúc trên với dung lượng nhớ lớn, ma trận nhớ sẽ mất đối xứng (nhiều hàng, ít

cột), để ma trận nhớ đối xứng có thể sử dụng thêm bộ giải mã cột như hình 1.12. Tương ứng với

một trạng thái của các địa chỉ cột sẽ chọn được một nhóm cột duy nhất cung cấp dữ liệu ra bên

ngoài.

Row Decoder

2L 2 K Bit line

Word line

AK

AK1 1

AL 2 1

A0

M.2K

AK2 1

Sense amplifiers / Drivers

Column decoder

Input-Output

(M bits)

Storage cell

Selects

word

Hình 1.12: Tổ chức các khối chức năng trong bộ nhớ.

Khi CPU muốn truy cập (đọc ghi) dữ liệu từ bộ nhớ, trước hết nó phải cung cấp địa chỉ để

xác định tới vị trí cần truy cập, sau đó cần cung cấp tín hiệu chọn mạch (CE) cho phép bộ nhớ

8

OPEN.PTIT.EDU.VN

Chương 1: Kiến trúc của hệ thống vi xử lý

hoạt động, tiếp theo trong chế độ đọc CPU cần cung cấp tín hiệu OE và nhận dữ liệu từ BUS dữ

liệu, trong chế độ ghi CPU cần cấp dữ liệu tới BUS dữ liệu và tín hiệu cho phép ghi WE.

Các đại lượng đặc trưng cho bộ nhớ là dung lượng và thời gian truy xuất bộ nhớ. Thời

gian tru

hớ có

A đườn

Hình 1.13: Giải mã kết nối 4 bộ nhớ trong hệ thống vi xử lý.

Bộ nhớ sử dụn ất là byte, các

IC nhớ

u, hình 1.13 sử dụng bộ giải

mã 2 ra

địa chỉ riêng biệt vùng địa chỉ

cho từn

: 000000H 3FFFFH

y xuất bộ nhớ là khoản thời gian từ lúc bộ nhớ nhận được địa chỉ và các tín hiệu điều

khiển cho đến khi đưa được dữ liệu ra tuyến dữ liệu trong chế độ đọc và lưu xong dữ liệu vào các

bit nhớ trong chế độ ghi. Bộ nhớ có thời gian truy xuất càng nhỏ thì hoạt động càng nhanh.

Dung lượng bộ nhớ tuỳ thuộc vào số đường dữ liệu và số đường địa chỉ của nó. Bộ n

g địa chỉ, D đường dữ liệu sẽ có dung lượng 2A x D bit. Bộ nhớ có dung lượng càng lớn thì

càng chứa được nhiều thông tin.

g trong hệ thống vi xử lý thường tổ chức theo đơn vị truy xu

được kết nối sao cho truyền dữ liệu với CPU theo bội số của byte. Trong thực tế, bộ nhớ

bán dẫn được sản xuất theo dạng các linh kiện có dung lượng hạn chế (từ vài KB cho đến cỡ vài

chục MB). Trong hệ thống vi xử lý thường có ít nhất hai loại bộ nhớ (ROM và RAM), mặt khác

trong trường hợp dung lượng các IC bộ nhớ không đủ đáp ứng dung lượng bộ nhớ của hệ thống

khi thiết kế, nhà thiết kế phải ghép nhiều IC nhớ lại. Các IC nhớ sẽ sử dụng chung các BUS dữ

liệu và địa chỉ, vì vậy tại một thời điểm truy xuất hệ thống phải được kết nối sao cho chỉ có một

IC nhớ được chọn, công việc này được gọi là giải mã địa chỉ bộ nhớ.

Việc giải mã địa chỉ có thể thực hiện theo nhiều cách khác nha

4 để kết nối 4 IC nhớ 256 KB thành dung lượng nhớ 1 MB.

Theo sơ đồ kết nối, mỗi IC nhớ trong mạch sẽ có một vùng

g IC nhớ trong hình 1.13 như sau:

256KB đầu tiên

256KB thứ hai : 400000H 7FFFFH

256KB thứ ba : 800000H BFFFFH và

256KB thứ tư : C00000H FFFFFH.

8088

Minimum

Mode

A 17

A 0

:

D 7

D 0

:

MEMR

MEMW

A 18

256 KB

#3

A 17

A 0

:

D 7

D 0

:

RD

WR

CS

A 19

256 KB

#2

A 17

A 0

:

D 7

D 0

:

RD

WR

CS

256 KB

#1

A 17

A 0

:

D 7

D 0

:

RD

WR

CS

A 17

A

:

0

256 KB

#4

D 7

D

:

0

RD

WR

CS I 1 O 3 I 0

O 2

O 1

O 0

9

Tải ngay đi em, còn do dự, trời tối mất!