30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
Chuong1 tổng quan 8051
1. Tài liệu tham khảo TH. Vi xử lý GVHD: Trần Hoài Tâm
CHƯƠNG I: TỔNG QUAN
1. Lịch sử xuất hiện bộ vi điều khiển 8051:
Năm 1980 tập đoàn Intel giới thiệu chip 8051 bộ vi điều khiển đầu tiên của họ vi
điều khiển MSC-51.
Chip 8051 chứa trên 60000 transistor bao gồm 4K byte ROM, 128 byte RAM, 32
đường xuất nhập, 1 port nối tiếp và 2 bộ định thời 16 bit.
8051 là bộ vi điều khiển 8 bit tức là CPU chỉ có thể làm việc với 8 bit dữ liệu. Dữ liệu
lớn hơn 8 bit được chia thành các dữ liệu 8 bit để xử lý.
8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác (Siemens,
Atmel, Philips …) sản xuất và bán bất kỳ dạng biến thể nào của 8051 mà họ muốn với
điều kiện họ phải để mã chương trình tương thích với 8051. Từ đó dẫn đến sự ra đời của
nhiều phiên bản của 8051 với các tốc độ và dung lượng ROM trên chip khác nhau.
Tuy nhiên, điều quan trọng là mặc dù có nhiều biến thể của 8051, như khác nhau
về tốc độ, dung lượng ROM nhưng tất cả các lệnh đều tương thích với 8051 ban đầu.
Điều này có nghĩa là nếu chương trình được viết cho một phiên bản 8051 nào đó thì
cũng sẽ chạy được với mọi phiên bản khác không phụ thuộc vào hãng sản xuất .
2. Sơ đồ khối một hệ máy tính và các khái niệm cơ bản :
Hình 1.1 Sơ đồ khối hệ máy tính
2.1. Bộ nhớ bán dẫn RAM và ROM:
Các bộ nhớ được truy xuất trực tiếp bởi CPU bao gồm các IC (integrated circuit)
bán dẫn gọi là ROM và RAM, có hai đặc trưng dùng để phân biệt ROM và RAM:
RAM (Random access memory): bộ nhớ có thể đọc/ghi, không tiếp tục lưu
1
2. Tài liệu tham khảo TH. Vi xử lý GVHD: Trần Hoài Tâm
trữ nội dung khi mất nguồn cấp điện .
ROM (Read only memory): bộ nhớ chỉ đọc, vẫn tiếp tục lưu trữ nội dung
khi mất nguồn cấp điện.
2.2. Bus (Bus dữ liệu, Bus địa chỉ, Bus điều khiển):
Bus là một tập các dây mang thông tin có cùng một mục đích. Việc truy xuất tới
một mạch xung quanh CPU sử dụng ba loại bus: bus địa chỉ (Address bus), bus dữ liệu
(Data bus) và bus điều khiển (Control bus). Với mỗi thao tác đọc hoặc ghi, CPU xác
định rõ vị trí của dữ liệu (hoặc lệnh) bằng cách đặt một địa chỉ lên bus địa chỉ, sau đó
tích cực một tín hiệu trên bus điều khiển để chỉ ra thao tác đó là đọc hay ghi.
- Bus dữ liệu mang thông tin giữa CPU và bộ nhớ cũng như giữa CPU và các
thiết bị xuất nhập. Bus dữ liệu là bus hai chiều.
- Bus địa chỉ mang thông tin địa chỉ, luôn được cấp bởi CPU và là bus một chiều.
- Bus điều khiển là một tập hợp các tín hiệu, mỗi tín hiệu mang một vai trò riêng
trong việc điều khiển có trật tự hoạt động của hệ thống. Các tín hiệu điều khiển là các
tín hiệu định thời được cung cấp bởi CPU để đồng bộ hoá việc di chuyển thông tin trên
các bus dữ liệu và địa chỉ. Thông thường có ba tín hiệu như CLOCK, READ và WRITE
đối với việc di chuyển dữ liệu cơ bản giữa CPU và bộ nhớ.
2.3. Đơn vị xử lý trung tâm (CPU):
Đơn vị xử lý trung tâm CPU
Instruction register (IR) : thanh ghi lệnh IR.
Instruction decode and control unit : đơn vị giải mã lệnh và điều khiển.
Program counter (PC) : bộ đếm chương trình.
Registers : các thanh ghi.
Arithmetic and logic unit : đơn vị số học logic.
CPU quản lý tất cả các hoạt động và thực hiện các thao tác trên dữ liệu. Hầu hết
các CPU chỉ bao gồm một tập các mạch logic thực hiện liên tục hai thao tác: tìm nạp
lệnh và thực thi lệnh.
CPU có khả năng hiểu và thực thi các lệnh dựa trên một tập các mã nhị phân, mỗi
một mã nhị phân biểu thi một thao tác cơ bản.
2
3. Tài liệu tham khảo TH. Vi xử lý GVHD: Trần Hoài Tâm
Hình 1.2 Sơ đồ khối bộ xử lý trung tâm
Các lệnh này thường là các lệnh số học (như cộng, trừ, nhân, chia), các lệnh logic
(như AND, OR, NOT, …) các lệnh di chuyển dữ liệu, các lệnh rẽ nhánh được biểu thị
bởi một tập các mã nhị phân và được gọi là tập lệnh (instruction set).
Bên trong CPU bao gồm một tập các thanh ghi (Registers) có nhiệm vụ lưu trữ
tạm thời các thông tin, một đơn vị số học logic ALU (Arithmetic logic unit ) có nhiệm
vụ thực hiện các thao tác trên các thông tin này, một đơn vị giải mã lệnh và điều khiển
(instruction decode and control unit) có nhiệm vụ xác định thao tác cần thực hiện và thiết
lập các hoạt động cần thiết để thực hiện thao tác. Thanh ghi IR (instruction register) lưu
trữ mã nhị phân của lệnh . Bộ đếm chương trình PC (Program counter) lưu trữ địa chỉ
của lệnh kế tiếp trong bộ nhớ cần được thực thi.
Thao tác tìm nạp lệnh của CPU được thực hiện theo các bước 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).
Dữ liệu (hoặc mã lệnh) được đọc từ RAM và đưa lên bus dữ liệu.
Mã lệnh (opcode) được chốt vào thanh ghi lệnh bên trong CPU.
3
4. Tài liệu tham khảo TH. Vi xử lý GVHD: Trần Hoài Tâm
PC được tăng lên để chuẩn bị tìm nạp lệnh kế từ bộ nhớ.
Giai đoạn thực thi lệnh bao gồm việc giải mã lệnh và tạo ra các tín hiệu điều
khiển, các tín hiệu này điều khiển việc xuất nhập giữa các thanh ghi nội với ALU và
thông báo để ALU thực hiện thao tác đã được xác định.
Hình 1.3 Minh họa luồng thông tin cho việc tìm nạp lệnh
3. Sự khác nhau giữa bộ vi xử lý và bộ vi điều khiển:
3.1. Cấu trúc phần cứng:
Bộ vi xử lý Bộ vi điều khiển
Là một CPU đơn chip Là một vi mạch đơn chứa bên trong một CPU,
ROM, RAM, bộ định thời, mạch giao tiếp …để
tạo nên một hệ máy tính đầy đủ.
3.2. Ứng dụng:
Bộ vi xử lý Bộ vi điều khiển
Làm các CPU trong các hệ Thích hợp cho các thiết kế nhỏ với các thành phần
máy tính, thích hợp với các thêm vào tối thiểu nhằm thực hiện các hoạt động
ứng dụng xử lý thông tin. hướng điều khiển.
3.3. Đặc trưng của tập lệnh:
Bộ vi xử lý Bộ vi điều khiển
Các lệnh của bộ vi xử lý hoạt Tập lệnh chủ yếu cung cấp các điều khiển xuất
động trên các lượng dữ liệu nhập chỉ sử dụng 1 bit.
lớn ½ byte, 1 byte, 2 byte, 4
byte.
4
5. Tài liệu tham khảo TH. Vi xử lý GVHD: Trần Hoài Tâm
5