Chuong 1 gioi thieu ve vi xu ly
Transcript of Chuong 1 gioi thieu ve vi xu ly
Nội dung:
• Chương 1: Giới thiệu về Vi xử lý
• Chương 2: Giới thiệu về cấu trúc của Họ Vi điềukhiển 8051
• Chương 3: Khảo sát tập lệnh và lập trình Vi điềukhiển 8051
• Chương 4: Hoạt động của bộ định thời
• Chương 5: Hoạt động ngắt
• Chương 6: Hoạt động truyền thông nối tiếp
• Chương 7: Thiết kế giao tiếp
Chương 1: Giới thiệu về vi xử lý
1.1. Lịch sử phát triển của vi xử lý
Vi xử lý?
Vi xử lý (MicroProcessor) là vi mạch
tích hợp cỡ lớn VLSI (Very High Scale
Intergration) hàng ngàn, hàng triệuTransistor, có khả năng:
• Thực hiện các thao tác (lệnh). Các lệnh
được cất trong bộ nhớ ⇒⇒⇒⇒ Là một vi
mạch lập trình được.
• Đọc và ghi với bộ nhớ ngoài thông qua
các Bus.
Thiết bị nội thất gia đình Văn phòng ô tô
Đồ điện trong nhà
Máy đàm thoại
Máy điện thoại
Các hệ thống an toàn
Các bộ mở cửa ga-ra xe
Máy trả lời
Máy Fax
Máy tính gia đình
Tivi
Truyền hình cáp
VCR
Máy quy camera
Điều khiển từ xa
Trò chơi điện tử
Các nhạc cụ điện tử
Điều khiển ánh sáng
Máy nhắn tin
Đồ chơi
Các dụng cụ tập thể hình,…
Điện thoại
Máy tính
Các hệ thống an toàn
Máy Fax
Lò vi sóng
Máy sao chụp
Máy in lazer
Máy in màu,…
Điều khiển động cơ
Điều khiển ôtô
Điều khiển hộp số tự động
Điều khiển Túi khí
Điều khiển ABS, ESP, EBD
Hệ thống bảo mật
Điều khiển truyền tin
Giải trí
Điều hoà nhiệt độ
Điều khiển từ xa
Hệ thống định vị GPS,…
Ứng dụng Ứng dụng điều khiển trên ôtô
Chương 1: Giới thiệu về vi xử lý
1.1. Lịch sử phát triển của vi xử lý
1.1.1. Thế hệ 1 (1971 - 1973)
� Năm 1971 Intel đưa ra thị trường Chip Vi xử lý
4004 ⇒⇒⇒⇒ Dùng cho máy tính cầm tay.
• Tần số làm việc: 740 kHz
• Address bus: 12 bit
• Data bus: 4 bit
� Năm 1972 Chip 8008 ra đời nhưng chưa tìm
được nhiều ứng dụng.
Chương 1: Giới thiệu về vi xử lý
1.1.2. Thế hệ 2 (1974 - 1977)
� 1974 Intel công bố Chip Vi xử lý 8080
• Tần số làm việc: 2 MHz
• Address bus: 16 bit
• Data bus:8 bit
� 1974 Motorola cũng đưa ra chip VXL 6800.
� 1975 Intel công bố chip 8085.
� 1976 Zilog đưa ra chip Z80.
⇒⇒⇒⇒ Ứng dụng rộng rãi trong công nghiệp và dùng cho máy
tính cá nhân (Apple II, Commodore 64).
Chương 1: Giới thiệu về vi vi xử lý
1.1.3. Thế hệ 3 (1978 - 1982)
�Intel công bố Chip VXL 16 bit:
• Năm 1978: Chip 8086.
• Năm 1979: Chip 8088. Sau đó, Chip 80186.
• Năm 1982: Chip 80286 ⇒⇒⇒⇒ Dùng cho các loại máy
vi tính AT.
� Trong lúc đó, Motorola cũng công bố VXL 16 bit:
• Năm 1979: Chip MC68000.
• Năm 1983: Chip MC68010.
Chương 1: Giới thiệu về vi vi xử lý1.1.4. Thế hệ 4 (1983 - 1992)
� Intel công bố Chip VXL 32 bit:
• Năm 1985: Chip 80386.
• Năm 1989: Chip 80486DX.
• Năm 1992: Chip 80486DX2.
� Motorola cũng công bố VXL 32 bit:
• Năm 1984: Chip 68020.
• Năm 1987: Chip 68030.
• Năm 1988: Chip MM88000.
• Năm 1989: Chip 68040. Sau đó, công bố 68060 (1994).
� Zilog cũng công bố VXL Z80000 32 bit.
�AMD (Advance Micro Devices) công bố VXL Am29000 32 bit .
Chương 1: Giới thiệu về vi xử lý
1.1.5. Thế hệ 5 (1993 – ?)
�Intel công bố Chip VXL 64 bit:
• Năm 1993: Pentium.
• Năm 1997: Pentium II.
• Năm 1999: Pentium III.
• Năm 2000: Pentium 4.
• Năm 2006: Intel® Core® 2 Duo.
� Motorola cũng công bố VXL 64 bit 68060 và Power
PC.
Các Chip Vi xử lý của Intel qua các thời kỳ
Họ vi xử lý x86 của Intel• Model Năm sản xuất Số lượng Transistor
• 4004 1971 2,300
• 8008 1972 2,500
• 8080 1974 5,000
• 8086 1978 29,000
• 80286 1982 120,000
• 80386™ processor 1985 275,000
• 80486™ DX processor 1989 1,180,000
• Pentium® processor 1993 3,100,000
• Pentium II processor 1997 7,500,000
• Pentium III processor 1999 24,000,000
• Pentium 4 processor 2000 55,000,000
�Năm 2003 AMD công bố Chip 64 bit :
AMD Athlon 64 và AMD Opteron.
�Năm 2004 AMD ra mắt VXL nhân 2:
AMD Turion 64 x2 và ADM Athlon 64 x2.
�Năm 2007 AMD công bố VXL 4 nhân :
Opteron và Phenom
1.2. Các thông số cơ bản của Vi xử lý
� Chiều dài từ dữ liệu (D-Bus, Data Bus )
� Khả năng truy xuất bộ nhớ (A-Bus, Address Bus)
�Các Thanh ghi
�Tốc độ của Vi xử lý
�Tập lệnh
1.2.1. Chiều dài từ dữ liệu (D-Bus, Data Bus)
• Mỗi bộ VXL chỉ có thể xử lý dữ liệu với một độdài cố định. Độ dài của từ càng lớn thì tốc độ xửlý càng nhanh.
• Ví dụ: So sánh VXL 8 bit và VXL 64 bit.
VXL 64 bit: mỗi lần lấy dữ liệu từ bộ nhớ có thểlấy 8 byte. Trong khi đó VXL 8 bit chỉ có thể lấy
1 byte ⇒⇒⇒⇒ VXL 64 bit có tốc độ xử lý nhanh hơn.
1.2.2. Khả năng truy xuất bộ nhớ (A-Bus,
Address Bus)
• Độ rộng của Bus địa chỉ (A-Bus) quyết định
khả năng truy xuất bộ nhớ. A-Bus càng lớn thì
khả năng truy xuất bộ nhớ càng lớn ⇒⇒⇒⇒ có khảnăng xử lý chương trình càng lớn.
• Gọi n là độ rộng của A-Bus ⇒⇒⇒⇒ VXL có khảnăng truy xuất 2n ô nhớ.
Ví dụ: VXL có 32 (A0 – A31) đường địa chỉ
⇒⇒⇒⇒ có khả năng truy xuất 232 = 4 Gbyte ô nhớ.
1.2.3. Tốc độ làm việc
Tần số xung cấp cho VXL quyết định tốc độ làm
việc của VXL. VXL có tốc độ làm việc càng lớn
thì khả năng truy xuất lệnh càng lớn. Tốc độlàm việc (triệu lệnh/giây-MIPS) được xác định:
MIPS = f*N/(M + T)
f: tần số làm việc của VXL.
N: số lượng bộ ALU.
M: số chu kỳ máy.
T: thời gian truy cập bộ nhớ.
1.2.4. Các Thanh ghi của VXL
Các thanh ghi là một phần quan trọng
trong cấu trúc của VXL. Dùng để lưu trữ,
kiểm tra, xử lý dữ liệu khi tính toán.
Số lượng thanh ghi càng lớn thì người lập
trình có thể viết chương trình đơn giản
hơn ⇒⇒⇒⇒ Tốc độ xử lý sẽ nhanh hơn.
1.2.5. Tập lệnh của VXL
Tập lệnh của VXL đóng vai trò rất quang trọng.
Mỗi loại VXL có một tập lệnh riêng. VXL hoạt
động theo sự chỉ dẫn của tập lệnh. Người lập
trình dựa vào tập lệnh để soạn thảo chương
trình điều khiển hoạt động của VXL.
Số lượng tập lệnh càng nhiều thì người lập trình
càng dễ dàng lựa chọ khi lập trình.
Tập lệnh thông thường được chia làm các nhóm
như sau:
• Nhóm lệnh chuyển dữ liệu.
• Nhóm lệnh số học và logic.
• Nhóm lệnh xử lý bit.
• Nhóm lệnh rẽ nhánh.
• Nhóm lệnh điều khiển hệ thống,…
1.2. Cấu trúc bên trong của Vi xử lý
TemporaryRegisters
ALU
Flags
EU
Control
AH AL
BH BL
CH CL
DH DL
SP
BP
DI
BI
CS
DS
SS
ES
IO
Internal
CommunicationsRegisters
SUMMATION
Address Bus 20 bits
Data Bus
BusControl
1 2 3 4
Instruction Queue
8088Bus
EU BIU
Bên trong VXL 8088/8086 gồm 2 khối cơ
bản:
• Khối phối ghép bus (BIU - Bus Interface
Unit)
• Khối thực hiện lệnh (EU - Excution Unit)
BIU
• Khối phối ghép bus (BIU): đưa ra địa chỉ, đọc
mã lệnh từ bộ nhớ. Đọc/ghi dữ liệu vào/ra từcổng giao tiếp hoặc bộ nhớ nhớ.
• Trong BIU còn có bộ nhớ đệm (cache): dùng đểchứ các mã lệnh đọc được nằm sẵn để chờ EU
xử lý.
Bên trong EU gồm có:
• Khối điều khiển (CU - Control Unit), có chức năng:
− Cung cấp thông tin về địa chỉ để BIU đọc lệnh và dữ liệu.
− Giải mã lệnh và thực hiện lệnh.
− Đưa ra các xung điều khiển hoạt động của VXL.
EU
• Khối số học và logic (ALU – Arithmetic and Logic
Unit): dùng để thực hiện các thao tác khác nhau với
các toán hạng của lệnh.
Để tăng tốc độ xử lý thì sử dụng các kỹ thuật:
• Bộ nhớ Cache.
• Tăng tần số làm việc của VXL.
• Tăng độ rộng từ dữ liệu (D-Bus).
• Cơ chế Pipelining.
• Xử lý song song /bộ đồng xử lý.
Cơ chế pipelining
F1 D1 E1 F2 D2 E2 F3 D3 E3
F1 D1
F2
E1
D2
F3
E2
D3 E3
Không có
pipelining
Có pipelining
Giới thiệu về Hệ Vi xử lý