1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng Vi Xử Lý - chương 1

21 527 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giới thiệu vi xử lý
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Vi Xử Lý
Thể loại Bài giảng
Thành phố Hà Nội
Định dạng
Số trang 21
Dung lượng 380,48 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Là loại máy tính được thiết kế để giải các bài toán lớn với tốc độ rất nhanh -Nó làm việc với số liệu có độ dài từ 64 bit hoặc hơn và được trang bị bộ nhớ rất lớn, vì vậy kích thước lớn. -Chúng thường được dùng để điều khiển các hệ thống thiết bị dùng trong quân sự hoặc các hệ thống máy móc của chương trình nghiên cứu vũ trụ, để xử lý thông tin trong ngành ngân hàng, vv… Ví dụ : IBM 4381, Honeywell DSP8 Loại mạnh nhất trong các máy tính lớn gọi là siêu máy tính (supercomputer). Ví dụ : Y-MP/832 của Gray.

Trang 1

CHƯƠNG 1: GIỚI THIỆU VI XỬ LÝ

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 [LQĐ-p.7 ÷ 9])

- 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 [LQĐ-p.9])

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

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) [LQĐ-p.11]

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)

μ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)

Hình 1.1

Output Devices Peripheral Devices

Trang 2

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

- 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

Mọi nguồn thơng tin vào CPU, nếu khơng là bộ nhớ thì là thiết bị đầu vào

Mọi đích đến của thơng tin từ CPU, nếu khơng là bộ nhớ thì là thiết bị đầu ra

Tổng kết lại các điểm quan trọng từ sơ đồ 1.1:

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

♦ Bộ nhớ

♦ CPU

♦ 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 ngồ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 ngồ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 cĩ 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ỉ [LQĐ – p.60+61]

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ỉ

Trang 3

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 trê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)

Hình 1.4

¾ Đệm bus dữ liệu [LQĐ – p.62]

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)

CPU Bộ nhớ hoặc phối ghép

vào/ra (I/O) Bus dữ liệu

CPU

Bộ nhớ hoặc phối ghép vào/ra (I/O)

Bus dữ liệu

Trang 4

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

Điều khiển hướng

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:

[LQĐ – p.63]

1 Đọc từ bộ nhớ

2 Ghi vào bộ nhớ

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

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

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

6 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

+ Bộ đếm chương trình: 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: thông dịch (diễn dịch) các lệnh được nhận vào μP

Trang 5

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 IR: 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ử

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ỉ

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

Trang 6

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à 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)

- 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 [HTM – p.29]

− 1 nibble = 4 bit

− 1 byte = 8 bit

− 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 …)

Trang 7

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

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

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

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

nhất

+ 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

+ 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

+ 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:

+ 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

+ 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

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

Trang 8

- 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

Hình 1.8

Memory array

Write

Row addressdecoder …

Columnaddressdecoder

EN Three State driver

Data Output

Data Input

Memory array: Mảng ô nhớ

Row address decoder: Bộ giải mã địa chỉ hàng

Column address decoder: Bộ giải mã địa chỉ cột

Memory cell: Ô nhớ

Three state driver: Bộ điều khiển ngõ ra 3 trạng thái

Data Output: Dữ liệu ra

Data Input: Dữ liệu vào

Address: Địa chỉ

Write: Ghi

Trang 10

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

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

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

2764

Trang 11

Hình 1.11

Hình 1.12

Quy trình ghi RAM:

1 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

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

3 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

4 Đườ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

5 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

A0 – A12 Đường địa chỉ D0 – D7 Đường dữ liệu

6264

Trang 12

Hình 1.13

4 Giải mã địa chỉ cho bộ nhớ

Trong một hệ thống vi xử lý, bộ nhớ có thể được tạo thành từ nhiều chip nhớ Các chip này đều dùng chung bus dữ liệu để trao đổi với μP Do đó để tránh xung đột trên bus, cần phải giải mã địa chỉ để tại mỗi thời điểm chỉ cho phép một chip có thể kết nối với bus dữ liệu để trao đổi với μP

Kết nối mạch giải mã địa chỉ tổng quát:

+ 3 bit cao (A15 → A13) được đưa đến bộ giải mã (ở đây dùng IC 74LS138)

+ 13 bit thấp (A12 → A0) được đưa đến các chip nhớ

→có 23 = 8 vùng, mỗi vùng có 213 = 23.210 = 8 K=8192 địa chỉ

Các bit địa chỉ

m bit

đến bộ giải mã địa chỉ

n bit

đến các chip nhớ

μP

Mạch giải mã địa chỉ

Bus địa chỉ Đến các chân địa chỉ

của các chip nhớ

CS1

CSn

Đến các chân chọn chip của các chip nhớ

Ngày đăng: 27/08/2013, 14:21

HÌNH ẢNH LIÊN QUAN

3. Sơ đồ khối của hệ vi xử lý - Bài giảng Vi Xử Lý - chương 1
3. Sơ đồ khối của hệ vi xử lý (Trang 1)
Hình 1.7 minh họa luồng thông tin cho việc tìm nạp lệnh. - Bài giảng Vi Xử Lý - chương 1
Hình 1.7 minh họa luồng thông tin cho việc tìm nạp lệnh (Trang 6)

TỪ KHÓA LIÊN QUAN

w