Tổng quan về hệ vi xử lý (microprocessor)
1 Electrical Engineering
Định nghĩa
• Mạch vi xử lý là vi mạch cỡ cực lớn
(VLSI), trên đó có thể xử lý được dữ liệu theo một thuật toán xác định
• Cấu tạo
– Phần cứng (phần vi mạch điện tử) – Phần mềm (phần tập lệnh gắn chặt với phần
cứng)
• Vi xử lý 8 bit, 16 bit, 32 bit, 64 bit
1
2 Electrical Engineering
Phân biệt các loại máy tính
• Mainframe: dùng sử lý khối lượng thông tin
phức tạp, tốc độ cao, IBM 4381, Honeywell DSP8, Crây, kết hợp nhiều hệ VXL lại
• Máy tính con (minicomputer), xử lý dữ liệu ít hơn và dung lượng nhỏ hơn(VAX 6360 DEC)
• Máy vi tính xử dụng các hệ vi xử lý
3 Electrical Engineering
Lịch sử phát triển
• Thế hệ 1 (1971 – 1973)
– 4004, vi xử lý 4 bit -> 4040 – 8008 (1972), vi xử lý 8 bit • Tần số : 0.1 – 0.8 Mhz • Thêm các mạch phụ trợ • Thế hệ 2 (1974 – 1977)
– Vi mạch 8 bit, 6800, 6809 Motorola – 8080, 8085, Intel – Z 80 của hãng Zilog
2
4 Electrical Engineering
Lịch sử phát triển (tiếp)
• Máy tính Apple 2 (6800) • Công nghệ CMOS, xung clock 1-5Mhz Thế hệ 3 (1978 –1982) • Vi xử lý 16 bit, 8086/186/286 Intel • 68000, 68010 Motorola • Xử lý 1M địa chỉ • Ra đời IBM PC • Máy tính Việt nam ra đời (VT81)
5 Electrical Engineering
Lịch sử phát triển (tiếp)
• Thế hệ vi xử lý phục vụ PC, Pentium (32
bit), cơ chế đa nhiệm, MMU, cache
• Hệ vi điều khiển
– 8048, 8031, 8051, ... 8bit – 68HC05, 68HC11 – Microchip, 16P.., 17P.., 18P...
• Hệ DSP (Digital Signal Processing) – Texax Instruments (TMS 320...)
3
6 Electrical Engineering
Đặc tính chung
• Số bít: 4 bit, 8 bit, 16 bit, 32 bit • Số chân tín hiệu:
– 12, 16, 28, 40 chân cho VXL 8 bit – 68 chân VXL 32 bit – 168 chân VXL 64 bit – Tương ứng với các chân là khả năng kiểm soát
bộ nhớ 2^n
7 Electrical Engineering
Đặc tính chung
• Tần số xung nhịp (1MH – 3.2 GHZ) • Tính năng ứng dụng:
– Loại độc lập (one chip) – Mạch VXL đa năng
4
8 Electrical Engineering
Cấu trúc chung của hệ thống vi xử lý
Bµn phÝm
Address Bus
RAM
ROM
Khèi hiÓn thÞ LED
VXL 8051
M¹ch giao tiÕp 8255
Data Bus
Control Bus
9 Electrical Engineering
Các phần cơ bản hệ VXL
• Bộ nhớ (memory) • Ghép nối (I/O, interface) • Bộ vi xử lý (processor)
5
10 Electrical Engineering
Memory
• Tập hợp nhiều thanh ghi để lưu trữ dữ liệu
dưới dạng nhị phân
• ROM, RAM • Mỗi thanh ghi nhớ có địa chỉ duy nhất
11 Electrical Engineering
Interface (I/0)
• Thanh ghi để ghép nối với thiết bị bên ngoài • Có thể là thanh ghi nhớ nằm ở các vị trí đặc
biệt trong RAM
• Ví dụ, 8051, SFR 91, serial • Ví dụ như vi mạch ghép nôí 8255
6
12 Electrical Engineering
Processor
• Thực hiện chương trình lưu trong bộ nhớ
theo thứ tự
• Tập hợp lệnh gồm
– Chuyển dữ liệu (MOV) – Phép toán và logic – Lệnh điều kiện và rẽ nhánh
13 Electrical Engineering
Bus
• Chuyển dữ liệu giữa hệ thống này sang hệ
thống khác
• Hệ thống 8 bit, xử lý mọi dữ liệu dưới dạng
8 bit
• Bus địa chỉ (Address bus), 16 bit • Bus dữ liệu (data bus), 8 bit
7
14 Electrical Engineering
BUSES • Bus là tập các dây dẫn nối song song với nhau (bên trong VXL hoặc bên ngoài) đề truyền thông tin
• Trong VXL, các thanh ghi, ALU, thiết bị ngoại vi ghép nối với nhau thông qua đường BUS
• Mạch thời gian và điều khiển đảm bảo rằng mỗi loại tín hiệu sử dụng đường BUS tại một thời điểm xác định (RD/WD)
15 Electrical Engineering
Buses
• Trong mạch vi xử lý 8 bit, 8bit BUS chứa
dữ liệu và 16 bít BUS chứa địa chỉ • Ghép nối để mở rộng dung lượng nhớ
(ROM, RAM), mở rộng số cổng vào ra
• Tối đa 16 bít địa chỉ, 65536 byte.
8
16 Electrical Engineering
Thiết bị nhớ
• Đối với Vi xử lý, 2 loại bộ nhớ chính :
– ROM (Read only memory) – RAM (Random access memory), (read and
write memory)
17 Electrical Engineering
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
9
18 Electrical Engineering
2716
19 Electrical Engineering
Đọc bộ nhớ
• Ví trí đọc đưa vào bus địa chỉ • Lệnh READ gửi tới bộ nhớ • Dữ liệu truyền từ bộ nhớ lên Bus dữ liệu
10
20 Electrical Engineering
PARAMETER
min max units
400 250
250 75
Tcyc TCE Tacc Toff TAH TAS Tp
ns ns ns ns ns ns ns
Cycle time /CE pulse width /CE access time Output turn-off delay Address & CS hold time to /CE Address & CS setup time to /CE /CE precharge time
100 0 150
21 Electrical Engineering
Các loại ROM khác
• Mạch xóa và mạch nạp riêng • Serial Rom (2014 – 2kbit) • EEROM (Electrical erasable ROM)
11
22 Electrical Engineering
RAM
• Static RAM • Dynamic RAM
23 Electrical Engineering
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
12
24 Electrical Engineering
RAM 62256
25 Electrical Engineering
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
13
26 Electrical Engineering
Ví dụ 64 Kbit RAM
27 Electrical Engineering
Cấu trúc mạch vi xử lý 89c51
14
28 Electrical Engineering
Các khối cơ bản • Khối ALU (the Arithmetic and Logic Unit
(ALU),
• Khối ALU thực hiện các phép toán ADD,
SUBTRACT, AND, OR, SHIFT.
29 Electrical Engineering
Thanh ghi (resister)
Thanh ghi là nơi tạm thời lưu kết quả tính toán (thường 8 bit hoặc 16 bit)
15
30 Electrical Engineering
Ví dụ tính toán dùng thanh ghi
• Nạp dữ liệu vào thanh ghi A • Đưa dữ liệu nhập vào B • Thực hiện phép cộng và lưu lại kết quả
vào thanh ghi (Accumulator)
31 Electrical Engineering
Định nghĩa VXL 8 bit
• Vi xử lý 8 bít là vi xử lý được thiết kế để
làm việc với các toán tử 8 bit. Khi làm việc với dữ liệu nhiều hơn 16 bit, 32 bít, chương trình sẽ chia thành nhiều khối 8 bít riêng biệt
16
32 Electrical Engineering