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

Bài giảng lý thuyết vi xử lý - Kỹ Thuật vi xử lý $h[CD-ROM]
PREMIUM
Số trang
156
Kích thước
18.9 MB
Định dạng
PDF
Lượt xem
1784

Bài giảng lý thuyết vi xử lý - Kỹ Thuật vi xử lý $h[CD-ROM]

Nội dung xem thử

Mô tả chi tiết

BÀI GIẢNG

VI XỬ LÝ/ KỸ THUẬT VI XỬ LÝ

BỘ MÔN ĐIỆN TỬ MÁY TÍNH_ KHOA CÔNG NGHỆ ĐIỆN TỬ

Bài giảng KỸ THUẬT VI XỬ LÝ

1

CHƯƠNG 1: TỔNG QUAN VỀ VI XỬ LÝ – VI ĐIỀU KHIỂN

- Trình bày được cấu trúc và hoạt động các thành phần của hệ vi xử lý tập lệnh của VĐK

- Trình bày được các dạng dữ liểu biểu diễn thông tin trong hệ vi xử lý

- Nhận dạng được thành phần của các hệ thống

Nhắc lại về Hệ thống số đếm:

Hệ nhị phân, hệ thập phân và hệ thập lục phân:

+ Hệ nhị phân, cơ số là 2, dùng hai số 0 và 1 để biểu diễn.

Thí dụ: 0B01001010 = 0x2

7

+1x2

6

+0x2

5

+0x2

4

+1x2

3

+0x2

2

+1x2

1

+0x2

0

= 64+8+2 = 74

+ Hệ thập phân, cơ số là 10 dùng các số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 để biểu diễn.

Thí dụ: 125=1x10

2

+2x10

1

+5x10

0

= 100+20+5.

+ Hệ thập lục phân, cơ số là 16 dùng các số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Thí dụ: 0x32 = 32H = 3x16

1

+2x16

0

= 48+2 = 50.

Bảng chuyển đổi giữa số nhị phân, thập phân và thập lục phân:

Hệ nhị phân (8 chữ số) Hệ thập phân (2 chữ số) Hệ thập lục phân (2 chữ số)

0B 00000000 00 00h; 0x00

0B 00000001 01 01h; 0x01

0B 00000010 02 02h; 0x02

0B 00000011 03 03h; 0x03

0B 00000100 04 04h; 0x04

0B 00000101 05 05h; 0x05

0B 00000110 06 06h; 0x06

0B 00000111 07 07h; 0x07

0B 00001000 08 08h; 0x08

0B 00001001 09 09h; 0x09

0B 00001010 10 0Ah; 0x0A

0B 00001011 11 0Bh; 0x0B

0B 00001100 12 0Ch; 0x0C

0B 00001101 13 0Dh; 0x0D

0B 00001110 14 0Eh; 0x0E

0B 00001111 15 0Fh; 0x0F

I. TỔNG QUAN VỀ HỆ THỐNG VI XỬ LÝ

1. Quá trình phát triển của máy vi tính (tham khảo thêm trên Internet)

Bài giảng KỸ THUẬT VI XỬ LÝ

2

- Máy vi tính bao gồm những máy tính dùng bộ vi xử lý (họ Intel, Motorola, AMD…) làm cốt lõi,

các vi điều khiển (microcontroller) hay máy vi tính trong một vi mạch (one-chip microcomputer).

2. Ứng dụng của vi xử lý (tham khảo thêm trên Internet)

3. Sơ đồ khối của hệ vi xử lý

3.1. Sơ đồ khối tiêu biểu của hệ vi xử lý: (hệ thống vi xử lý có kiến trúc 3-bus)

3.2. Một hệ vi xử lý gồm có các thành phần chính sau: - P (microprocessor hay còn gọi là CPU): đọc mã lệnh từ bộ nhớ (được ghi dưới dạng các bit 0

và 1), sau đó giải mã và thực thi lệnh. - Bộ nhớ (Memory): chứa các chương trình điều khiển hoạt động của toàn hệ và các dữ liệu, kết

quả trung gian. Có hai loại bộ nhớ: RAM (Random Access Memory) là loại bộ nhớ truy xuất ngẫu

nhiên và ROM (Read-Only Memory) là loại bộ nhớ chỉ đọc. - Khối giao tiếp nhập/xuất (Input/Output - I/O): tạo ra khả năng giao tiếp giữa hệ vi xử lý với các

thiết bị ngoại vi như bàn phím, chuột … (thiết bị nhập), màn hình, máy in, loa … (thiết bị xuất),

các ổ đĩa… (thiết bị xuất/nhập)

P (Microprocessor): Vi xử lý

CPU (Central Processing Unit): Đơn vị xử lý trung tâm

Address bus: Bus địa chỉ

Data bus: Bus dữ liệu

Control bus: Bus điều khiển

RAM (Random Access Memory): Bộ nhớ truy xuất ngẫu nhiên

ROM (Read-Only Memory): Bộ nhớ chỉ đọc

I/O Interface: Khối giao tiếp nhập/xuất

Peripheral Devices: Thiết bị ngoại vi

P

(CPU)

Data bus

Control bus

RAM ROM I/O Interface

Address bus

Input

Devices

Memory

Hình 1.1

Output

Devices

Peripheral Devices

Bài giảng KỸ THUẬT VI XỬ LÝ

3

- Bus: ba khối chức năng trên liên hệ với nhau thông qua một tập các đường dây để truyền thông

tin gọi là bus. Trong hệ thống vi xử lý thường bao gồm 3 loại bus: bus địa chỉ, bus dữ liệu và bus

điều khiển.

3.3. Tổng kết lại các điểm quan trọng:

1. Hệ vi xử lý có 3 khối chính:

o Bộ nhớ

o CPU

o Phối ghép (giao tiếp) vào/ra (I/O)

2. CPU đọc thông tin từ bộ nhớ và ghi thông tin vào bộ nhớ

3. Các thiết bị đầu vào đưa thông tin từ bên ngoài vào hệ vi xử lý

4. Các thiết bị đầu ra đưa thông tin từ CPU đến các đối tượng bên ngoài

5. Thông tin không chạy trực tiếp từ bộ nhớ đến các phối ghép vào/ra (I/O) và ngược lại,

trước tiên thông tin phải đi qua CPU

Có thể thấy rằng vi xử lý chỉ trao đổi thông tin với bộ nhớ và các phối ghép vào/ra I/O. Dù hệ

thống sau này phức tạp như thế nào hoặc chương trình có dài đến đâu thì vi xử lý chỉ làm những

việc sau:

1. Đọc từ bộ nhớ

2. Ghi vào bộ nhớ

3. Đọc từ các đầu vào

4. Ghi vào các đầu ra

5. Thực hiện các lệnh nội bộ như lệnh cộng (ADD), lệnh trừ (SUB) …

II. CÁC LOẠI BUS

1. Bus địa chỉ

- Có chức năng chuyển tải các thông tin về địa chỉ.

- Khi đọc/ghi bộ nhớ hay thiết bị I/O, P sẽ đưa ra các bit địa chỉ trên bus địa chỉ để chọn chính xác

một ngăn nhớ (word) hay một thiết bị I/O cụ thể nào đó sẽ được giao tiếp với nó.

- Số lượng địa chỉ mà P có thể quản lý phụ thuộc vào số bit (số đường dây) của bus địa chỉ (16, 20,

24, 32 … bit).

Ví dụ: Một P có số đường dây của bus địa chỉ là N = 16

 có khả năng quản lý: 2N

= 216 = 26

.210 = 64.210 = 64 K = 65356 địa chỉ.

- Bus địa chỉ là loại bus một chiều (xuất phát từ P).

 Đệm bus địa chỉ

Bài giảng KỸ THUẬT VI XỬ LÝ

4

Do tất cả các thiết bị ngoại vi và bộ nhớ đều được nối với bus địa chỉ nên về mặt điện có thể vượt

quá tính chịu tải (fan-out) của vi xử lý. Trong trường hợp các mạch nối vào bus địa chỉ tiêu thụ dòng

điện lớn hơn khả năng chịu tải của vi xử lý thì hệ thống sẽ không hoạt động hay hoạt động không ổn

định. Để giải quyết vấn đề này ta sử dụng các bộ đệm trung gian được gọi là bộ đệm địa chỉ. Ví dụ: Đệm địa chỉ cho CPU có bus địa chỉ 16-bit:

Hình 1.2

2. Bus dữ liệu

- Có chức năng chuyển tải các thông tin về dữ liệu đến/từ P.

- Số lượng đường dây của bus này quyết định số bit dữ liệu mà P có khả năng xử lý cùng một lúc

(8, 16, 32, 64 … bit).

- Bus dữ liệu là loại bus hai chiều.

Tuy nhiên tại một thời điểm nhất định thì dữ liệu chỉ được truyền theo một hướng duy nhất.

Hình 1.3 Dữ liệu di chuyển 2 chiều truyền bus dữ liệu

Lưu ý: Hoạt động của bus địa chỉ và bus dữ liệu hoàn toàn độc lập với nhau (hình 1.4).

Bài giảng KỸ THUẬT VI XỬ LÝ

5

Hình 1.4

 Đệm bus dữ liệu

- Tương tự như bus địa chỉ, bus dữ liệu cũng cần được đệm để tăng fan-out khi cần thiết. Lưu ý là

cần dùng kỹ thuật đệm 2 chiều (hình 1.5) (IC 74LS245).

3. Bus điều khiển

- Gồm nhiều đường dây tín hiệu khác nhau ( WR , RD …), mỗi tín hiệu điều khiển có một chiều nhất

định. Khi hoạt động, P có thể đưa tín hiệu điều khiển đến các khối khác nhau trong hệ, đồng thời

nó cũng có thể nhận các tín hiệu từ các khối khác để phối hợp hoạt động của toàn hệ.

Lưu ý: Bus điều khiển ở khối I/O vẽ dạng 2 chiều để chỉ tính 2 chiều của cả nhóm tín hiệu, chứ không

phải của mỗi tín hiệu.

- Có 6 loại truyền thông tiêu biểu mà bus điều khiển phải xác đinh bằng tín hiệu điện:

(i) Đọc từ bộ nhớ

(ii) Ghi vo bộ nhớ

(iii) Đọc từ phối ghép đầu vào (Input)

(iv) Ghi vào phối ghép đầu ra (Output)

Hình 1.5

Kỹ thuật đệm 2 chiều sử dụng

thêm một tín hiệu điều khiển, tín

hiệu này sẽ quy định chiều dữ

liệu sẽ được đệm.

Bài giảng KỸ THUẬT VI XỬ LÝ

6

(v) Nhận biết yêu cầu ngắt (Interrupt acknowledge)

(vi) Nhận biết yêu cầu treo (Hold acknowledge, phục vụ DMA)

Giải thích về truyền thông trong cấu trúc 3-bus dựa vào sơ đồ khối hình 1.1: đọc và ghi.

III. VI XỬ LÝ (P – MICROPROCESSOR)

+ Sơ đồ khối của một P được cho trên hình 1.6.

+ Có ba khối chức năng chính: khối thực thi (Execution Unit), khối điều khiển tuần tự (Sequencer)

và khối giao tiếp bus (Bus Interface).

- Bộ điều khiển tuần tự (Sequencer): nhận lệnh từ bộ nhớ, sau đó giải mã lệnh và truyền lệnh đã

giải mã đến khối thực thi.

Execution Unit: Khối thực thi

Control Unit: Khối điều khiển

Registers: Các thanh ghi

ALU (Arithmetic & Logic Unit): Khối logic - số học

Sequencer: Bộ điều khiển tuần tự

Instruction Register: Thanh ghi lệnh

Instruction Decoder: Bộ giải mã lệnh

Program Counter: Bộ đếm chương trình

Internal bus: Bus nội

Bus interface: Giao tiếp bus

Data bus driver: Bộ điều khiển bus dữ liệu

Control bus driver: Bộ điều khiển bus điều khiển

Address bus driver: Bộ điều khiển bus địa chỉ

Data bus Control bus Address bus

Registers

(data, address)

ALU

Address bus

driver

Data bus

driver

Control bus

driver

Program Counter

Internal bus

Bus

Interface

Execution Unit Sequencer

Hình 1.6

Control

Unit

Instruction Decoder

Instruction Register

Bài giảng KỸ THUẬT VI XỬ LÝ

7

+ Bộ đếm chương trình (Proram Counter): là một thanh ghi lưu giữ địa chỉ của lệnh kế tiếp

sẽ được thực thi. Mỗi khi một lệnh được thực thi, bộ đếm chương trình sẽ được tăng lên 1 để chỉ ra

địa chỉ của lệnh kế tiếp sẽ được thực thi. Nội dung của bộ đếm chương trình được đặt lên bus địa

chỉ để tìm và nhận lệnh mong muốn. Như vậy, P thực hiện các lệnh của chương trình một cách tuần

tự, trừ khi gặp các lệnh chuyển điều khiển (lệnh nhảy, gọi chương trình con …) làm thay đổi nội dung

PC. Trong một số vi xử lý, bộ đếm chương trình còn được gọi là con trỏ lệnh IP (Instruction Pointer).

+ Bộ giải mã lệnh (Instruction Decoder): thông dịch (diễn dịch) các lệnh được nhận vào P.

Có thể xem bộ giải mã lệnh như một từ điển lưu trữ nghĩa của mỗi lệnh và các bước mà P cần thực

hiện đối với mỗi lệnh được nhận vào. Giống như từ điển nếu có càng nhiều trang thì có thể định

nghĩa được nhiều từ hơn, một P có thể hiểu càng nhiều lệnh hơn nếu có bộ giải mã lệnh càng lớn.

+ Thanh ghi lệnh (Instructin Register): lưu giữ mã nhị phân của lệnh đang được thực thi.

- Khối thực thi (Execution Unit): thực thi và ghi kết quả câu lệnh. Các toán hạng (operand) liên quan

có mặt ở các thanh ghi (registers) hoặc có từ bus nội (internal bus).

+ ALU (Arithmetic Logic Unit): là một mạch điện tử có khả năng thực hiện các phép toán số

học (+, -, *, / …) và logic (AND, OR, NOT, XOR…).

+ Thanh ghi (Register): là một bộ nhớ cực nhanh, có dung lượng hạn chế nằm bên trong P.

Các thanh ghi thường được dùng để lưu trữ các thông tin tạm thời. Mỗi thanh ghi có một địa chỉ để

truy xuất tới nó. Các thanh ghi được nối với nhau hoặc đến các phần tử khác của P hay nối với bus

ngoài nhờ bus nội. Độ rộng của các thanh ghi có thể là 8-bit, 16-bit, 32-bit hay 64-bit tùy thuộc vào

loại P. Thông tin có thể là 2 giá trị cần được xử lý hay địa chỉ chứa giá trị cần được xử lý nhận từ

bộ nhớ (hay I/O). P có càng nhiều thanh ghi và độ rộng càng lớn thì càng tốt vì lúc này chương trình

không phải thực hiện nhiều phép truyền thông tin giữa P và bộ nhớ do có thể truy xuất trực tiếp từ

thanh ghi, từ đó làm giảm thời gian truy xuất cũng như độ dài lệnh.

+ Khối điều khiển: tạo ra các tín hiệu điều khiển hoạt động của các bộ phận bên trong và bên

ngoài P (tùy theo mã lệnh).

- Giao tiếp bus (Bus Interface): gồm ba bộ điều khiển bus để giao tiếp với bus bên ngoài tương ứng:

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

Việc tìm nạp lệnh từ bộ nhớ là một trong các thao tác cơ bản nhất mà P thực hiện, gồm các bước

như sau:

- Nội dung của PC được đặt lên bus địa chỉ.

- Tín hiệu điều khiển READ được xác lập (chuyển sang trạng thái tích cực).

Bài giảng KỸ THUẬT VI XỬ LÝ

8

- Mã lệnh được đọc từ bộ nhớ và đưa lên bus dữ liệu.

- Mã lệnh được chốt vào thanh ghi lệnh IR bên trong.

- PC được tăng lên để chuẩn bị tìm nạp lệnh kế từ bộ nhớ.

Hình 1.7 minh họa luồng thông tin cho việc tìm nạp lệnh.

Hình 1.7

IV. BỘ NHỚ (MEMORY)

 Nhắc lại các đơn vị bit, nibble, byte, word

o 1 nibble = 4 bit

o 1 byte = 8 bit

o Word là một nhóm gồm nhiều byte. Theo qui ước 1 word = 2 byte và 1 word dài = 4

byte (theo thế hệ vi xử lý 16-bit, 32-bit …)

1. Phân loại

+ Bộ nhớ thường được chia làm hai loại: bộ nhớ cơ bản (hay bộ nhớ chính – main memory) và bộ

nhớ lưu trữ (storage memory).

- Bộ nhớ chính: ROM và RAM.

- Bộ nhớ lưu trữ: băng từ, đĩa mềm, đĩa cứng…

+ Thông thường bộ nhớ lưu trữ được xem như là thiết bị I/O.

a. Bộ nhớ chỉ đọc – ROM (Read-Only Memory)

- Là bộ nhớ chỉ đọc, không thể sửa đổi thông tin trong các hoạt động thông thường.

- Thông tin ghi trong ROM sẽ không bị mất đi khi mất nguồn cung cấp.

- ROM được ghi bằng thiết bị chuyên dụng.

Bài giảng KỸ THUẬT VI XỬ LÝ

9

- ROM thường được dùng để chứa các chương trình và dữ liệu cố định (chương trình khởi

động, dữ liệu tra bảng …)

- Các loại ROM:

o ROM: thông tin được ghi lúc chế tạo.

o PROM (Programable ROM): là ROM trắng, chỉ cho phép ghi thông tin một lần duy nhất.

o EPROM (Erasable ROM): có thể ghi và xóa thông tin nhiều lần. Loại này được xóa bằng

cách rọi tia cực tím vào cửa sổ thủy tinh trên bề mặt.

o EEPROM (Electrically EPROM): còn gọi là ROM điện, có thể ghi và xóa thông tin bằng

xung điện.

o Flash ROM: tương tự EEPROM.

b. Bộ nhớ truy xuất ngẫu nhiên – RAM (Random Access Memory)

- Cho phép đọc/ghi thông tin bất kỳ lúc nào trong quá trình làm việc mà không cần thiết bị

đặc biệt.

- Thông tin trong RAM sẽ bị mất khi mất nguồn cung cấp.

- Có hai loại RAM chính:

o RAM động – DRAM (Dynamic RAM): có cấu tạo từ các transistor MOSFET và tụ điện (1

phần tử nhớ), lưu trữ thông tin bằng điện tích trong tụ nên thông tin có thể mất đi (rò rĩ

hết) nếu không có biện pháp duy trì thích hợp. Do đó cần có quá trình làm tươi (refresh)

định kì để phục hồi nội dung của các ô nhớ trước khi nó mất đi (rò rĩ hết). DRAM có thể

tích hợp với dung lượng lớn.

o RAM tĩnh – SRAM (Static RAM): cấu tạo từ những Flipflop (FF) (1 phần tử nhớ), mỗi FF

lưu trữ một bit thông tin nên SRAM không cần quá trình làm tươi để duy trì nội dung.

Tuy nhiên, nó khó tích hợp với dung lượng lớn.

2. Cấu trúc bên trong tiêu biểu của bộ nhớ

- Bộ nhớ gồm các phần tử nhớ hay ô nhớ (memory cell) được tổ chức dưới dạng ma trận.

Mỗi ô nhớ chứa một bit thông tin.

- Mảng nhớ được phân chia thành một chuỗi các ngăn nhớ hay từ nhớ (word).

- Mỗi ngăn nhớ đều có một địa chỉ duy nhất.

- Một ngăn nhớ có thể có 4-bit, 8-bit, 16-bit …

- Ký hiệu: số ngăn nhớ x độ rộng mỗi ngăn nhớ

Ví dụ: bộ nhớ 1024 x 8 bao gồm 210 ngăn nhớ, mỗi ngăn nhớ có 8-bit.

Bài giảng KỸ THUẬT VI XỬ LÝ

10

- Cấu trúc bên trong tiêu biểu của bộ nhớ:

- Các tín hiệu tiêu biểu trên một chip nhớ:

+ CS(Chip Select): tín hiệu chọn chip (cho phép chip).

+ OE(Output Enable): tín hiệu cho phép xuất dữ liệu (nhận xung kích RD từ P).

+ WE(Write Enable): tín hiệu cho phép ghi dữ liệu (nhận xung kích WR từ P).

+ Address: các tín hiệu địa chỉ (từ bus địa chỉ) để chọn ngăn nhớ cần thao tác.

+ Data: các tín hiệu dữ liệu đọc ra (data output) hay ghi vào (data input), được nối với bus

dữ liệu.

3. Truy xuất bộ nhớ

* Các quy ước trên giản đồ thời gian: Hình 1.9

Bài giảng KỸ THUẬT VI XỬ LÝ

11

Bài giảng KỸ THUẬT VI XỬ LÝ

12

a. Truy xuất ROM

Giới thiệu EPROM 2764:

Đây là IC nhớ 28 chân 8K (8192 x 8) với 13 đường địa chỉ và 8 đường dữ liệu. Chú ý rằng chân

/PGM không được điều khiển bởi vi xử lý, chỉ dùng cho bộ nạp dữ liệu vào ROM. Điện áp VPP chỉ sử

dụng khi nạp ROM, còn điện áp VCC = 5V là điện áp hoạt động của ROM.

Quy trình đọc ROM:

1. Xác định địa chỉ của ngăn nhớ cần truy xuất. CPU sẽ đưa địa

chỉ này lên bus địa chỉ đến ROM.

2. Kích hoạt tín hiệu chọn chip cho phép dữ liệu được xuất ra bus

dữ liệu.

A0 – A12 Đường địa chỉ

D0 – D7 Đường dữ liệu

/CE Chọn chip

/OE Cho phép xuất

/PGM Lập trình

Bài giảng KỸ THUẬT VI XỬ LÝ

13

3. CPU đợi 1 khoảng thời gian ngắn gọi là thời gian truy cập để vi mạch nhớ giải mã địa chỉ

và xuất dữ liệu ra đường dữ liệu. CPU xuất xung nhịp nạp dữ liệu vào thanh ghi bên trong.

4. Tín hiệu chọn chip được đặt ở mức không tích cực và xóa dữ liệu từ ROM vào CPU.

1

2

3

Địa chỉ từ CPU đến ROM

CS

Bus dữ liệu

Dữ liệu không có giá trị Dữ liệu không có giá trị

Dữ liệu của

ROM ở trên

bus dữ liệu

Hình 1.10

b. Truy xuất RAM

Giới thiệu RAM 6264

Đây là IC nhớ cho phép đọc ghi tùy ý, 28 chân 8K (8192 x 8) với 13 đường địa chỉ và 8 đường

dữ liệu.

Quy trình đọc RAM: tương tự như đọc dữ liệu từ ROM.

A0 – A12 Đường địa chỉ

D0 – D7 Đường dữ liệu

/CE Chọn chip

/OE Cho phép xuất

/WE Cho phép ghi

Bài giảng KỸ THUẬT VI XỬ LÝ

14

Hình 1.11

Hình 1.12

Quy trình ghi RAM:

(i) Các đường địa chỉ được kết nối với RAM xác định ngăn nhớ nào trong RAM sẽ được kết nối.

(ii) Dữ liệu cần ghi vào RAM được xuất đến các đường dữ liệu vào của RAM.

(iii) Hệ thống phải đợi một khoảng thời gian nhỏ. Trong khoảng thời gian này RAM sẽ giải mã địa

chỉ và chọn ngăn nhớ mang địa chỉ nhận được. Khoảng thời gian này gọi là thời gian ghi vào

RAM.

(iv) Đường dẫn R/W sẽ được đặt ở mức logic tương ứng với thao tác ghi vào RAM. Tín hiệu này

cho phép dữ liệu được ghi vào RAM

(v) Chú ý rằng ở đây ta nói về các đường dẫn dữ liệu ra từ RAM và các đường dẫn dữ liệu vào

RAM. Trong thực tế vì rằng trong một khoảng khắc nhất định thì ta chỉ thực hiện một thao tác

l đọc hoặc ghi, nên cả hai loại đường dẫn trên được thực hiện bằng một đường dẫn hai chiều

chung.

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