Bài giảng Vi xử lý - Chương 1: Giới thiệu hệ Vi xử lý tổng quan - Bùi Minh Thành

Nội dung

1.1 Sự phát triển của các hệ vi xử lý

1.2 Sơ đồ khối một hệ vi xử lý cơ bản

1.3 CPU

1.4 Bộ nhớ

1.5 Ngoại vi

1.6 Bus hệ thống

1.7 Giãi mã địa chỉ

1.8 Định thì

1.9 Chương trình

1.10 Vi điều khiển và vi xử lý

pdf135 trang | Chuyên mục: Vi Xử Lý – Vi Điều Khiển | Chia sẻ: tuando | Lượt xem: 666 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Vi xử lý - Chương 1: Giới thiệu hệ Vi xử lý tổng quan - Bùi Minh Thành, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
s I/O đến mạch giao tiếp
75
Bus I/O và bus bộ nhớ (1/2)
• Chức năng của các bus
- Bus bộ nhớ: dành cho chuyển thông tin giữa CPU và bộ nhớ.
- Bus I/O: dành cho chuyển thông tin giữa CPU và các thiết bị 
ngoại vi qua giao tiếp I/O
• Tổ chức vật lý
- Nhiều hệ thống sử dụng chung một bus hệ thống cho cả bộ 
nhớ và các đơn vị I/O. Sử dụng một bus chung với các đường 
điều khiển riêng cho mỗi chức năng hoặc dạng có những 
đường điều khiển chung cho cả 2 chức năng.
- Một số hệ sử dụng 2 bus riêng, một để liên lạc với bộ nhớ, cái 
còn lại liên lạc với các giao tiếp I/O.
76
Bus I/O và bus bộ nhớ (2/2)
Bus I/O
- Liên lạc giữa CPU và tất cả các đơn vị giao tiếp qua bus 
I/O chung.
- Giao tiếp kết nối với thiết bị ngoại vi có thể có một số 
các thanh ghi dữ liệu, thanh ghi điều khiển và thanh ghi 
trạng thái.
- Lệnh được chuyển đến ngoại vi bằng cách gửi đến thanh 
ghi ngoại thích hợp.
- Có thể không cần mã chức năng và các đường dò (cảm 
nhận) (sense lines) (chuyển dữ liệu, điều khiển và thông 
tin trạng thái luôn luôn qua bus I/O chung).
77
I/O cách ly và I/O ánh xạ bộ nhớ 
(Isolated I/O and memory-mapped I/O)
78
Giao tiếp I/O lập trình được
79
Các vấn đề chuyển dữ liệu
Hoạt động đồng bộ và bất đồng bộ
– đồng bộ (synchronous): 
Tất cả các thiết bị có được thông tin định thì từ 
đường xung nhịp chung.
– bất đồng bộ (asynchronous): 
Không có xung nhịp chung.
80
Chuyển dữ liệu bất đồng bộ
• Chuyển dữ liệu bất đồng bộ giữa 2 đơn vị độc lập cần có 
các tín hiệu điều khiển truyền giữa các đơn vị truyền 
thông để chỉ thời điểm mà dữ liệu sẽ được truyền.
• Có hai phương pháp chuyển dữ liệu bất đồng bộ:
– Xung strobe: Xung strobe được cung cấp bởi một đơn 
vị này để báo cho đơn vị kia khi việc chuyển dữ liệu 
xảy ra.
– Thực hiện bắt tay (Handshaking): Một tín hiệu điều 
khiển được đi kèm với mỗi dữ liệu sẽ được truyền để 
chỉ sự hiện diện của dữ liệu. Đơn vị nhận trả lời với 
tín hiệu điều khiển khác để báo nhận được dữ liệu rồi.
81
Chuyển dữ liệu bất đồng bộ với xung strobe
82
Chuyển dữ liệu khởi động bởi đơn vị nguồn 
với phương pháp bắt tay
83
Chuyển dữ liệu khởi động bởi đơn vị đích với 
phương pháp bắt tay
84
Truyền dữ liệu nối tiếp bất đồng bộ 
(Asynchronous serial transfer)
• Có 4 loại truyền dữ liệu:
- Truyền nối tiếp bất đồng bộ.
- Truyền nối tiếp đồng bộ.
- Truyền song song bất đồng bộ.
- Truyền song song đồng bộ.
• Truyền nối tiếp bất đồng bộ
- Sử dụng các bit đặt biệt chèn vào cả 2 đầu của mã ký tự.
- Mỗi ký tự bao gồm 3 phần: bit bắt đầu (Start bit), các bit 
dữ liệu (Data bits) và các bit dừng (Stop bits) (có thể 1, 
1½ hoặc 2 bit dừng) .
85
Truyền dữ liệu nối tiếp bất đồng bộ
Bộ thu có thể phát hiện được ký tự dựa trên 4 quy tắc sau:
1. Khi dữ liệu không được gửi đi, đường dây được giữ ở trạng thái 1 
(trạng thái nghỉ).
2. Khởi động truyền ký tự được phát hiện bởi “Start bit” (luôn luôn 
bằng 0).
3. Các bit ký tự luôn luôn theo sau “Start bit”.
4. Sau khi hết ký tự, “Stop bit” được phát hiện khi đường dây quay 
về trạng thái 1 trong khoảng thời gian ít nhất 1 bit.
Bộ thu phải biết trước tốc truyền các bit và số bit thông tin mong muốn.
86
Bộ thu phát bất đồng bộ vạn năng UART 
(Universal Asysnchronous Receiver-Transmitter)
87
Các phương pháp điều khiển I/O
Có 3 phương pháp cơ bản để chuyển dữ liệu giữa máy tính 
trung tâm (CPU hay bộ nhớ) và các thiết bị ngoại vi: 
1. Hỏi vòng (polling) hay còn gọi là I/O được điều 
khiển bằng chương trình (Program-controlled I/O)
2. I/O bằng ngắt (interrupt-initiated I/O), và 
3. DMA (Direct Memory Access=Truy cập bộ nhớ 
trực tiếp). 
Chú ý: Người ta cũng có thể kết hợp các phương pháp trên.
88
Polling ho%c I/O đi(u khi*n b+ng l,p trình
Kỹ thuật polling có 2 hạn chế:
1. Mất thời gian của MPU (do kiểm tra trạng thái của tất cả các 
ngoại vi thường xuyên ).
2. Chậm, do đó làm trở ngại trong hệ thống thời gian thực, không 
thỏa mãn cho các thiết bị nhanh (thí dụ: disks hoặc CRT).
89
Lưu đồ vòng lặp polling
90
I/O bằng ngắt (Interrupt)
91
DMA (Direct Memory Access)
Phần cứng DMAC (Direct Memory Access Controller= Bộ điều 
khiển truy cập bộ nhớ trực tiếp) được thiết kế để thực hiện 
chuyển dữ liệu tốc độ cao giữa bộ nhớ và thiết bị. 
Do đó, DMAC sẽ cần sử dụng cả hai bus dữ liệu và bus địa chỉ.
92
Nội dung
1.1 Sự phát triển của các hệ vi xử lý
1.2 Sơ đồ khối một hệ vi xử lý cơ bản
1.3 CPU
1.4 Bộ nhớ
1.5 Ngoại vi
3/5/2010
93
1.6 Bus hệ thống
1.7 Giãi mã địa chỉ
1.8 Định thì
1.9 Chương trình
1.10 Vi điều khiển và vi xử lý
1.6 BUS HỆ THỐNG
94
Bus
• Các hệ thống con của MCU và CPU liên lạc 
với nhau qua “bus” (tuyến)
• Bus là tập hợp các đường tín hiệu mà qua đó 
có thể truyền đi thông tin về địa chỉ, dữ liệu và 
95
điều khiển
Bus
• Bus có thể hai chiều (bidirectional) hay một chiều (unidirectional)
• Nếu cả hai dữ liệu và địa chỉ được truyền trên cùng một bus thì người ta gọi 
bus có dồn kênh (multiplexed).
• Nếu hai thiết bị gửi thông tin đồng thời trên cùng bus thì xảy ra tranh chấp bus 
(bus contention) và có thiết bị hư.
96
Cài đặt bus chung với 
Bus d/n kênh (Multiplexer Bus)
97
Cài đặt bus chung với
Các bộ đệm bus 3 trạng thái
98
Chu kỳ đọc bus (Read Bus Cycle)
99
Chu kỳ ghi bus (Write Bus Cycle)
100
Nội dung
1.1 Sự phát triển của các hệ vi xử lý
1.2 Sơ đồ khối một hệ vi xử lý cơ bản
1.3 CPU
1.4 Bộ nhớ
1.5 Ngoại vi
3/5/2010
101
1.6 Bus hệ thống
1.7 Giãi mã địa chỉ
1.8 Định thì
1.9 Chương trình
1.10 Vi điều khiển và vi xử lý
1.7 GIẢI MÃ ĐỊA CHỈ
102
Giải mã địa chỉ (Addressing Decoding)
• CPU cho phép một chip bộ nhớ (hoặc thiết bị I/O) chỉ 
khi nó muốn liên lạc với nó. Để thực hiện việc này 
CPU sử dụng mạch giải mã địa chỉ.
• Các phương pháp giải mã địa chỉ:
1. Giải mã đầy đủ hay toàn phần (Full decoding): 
Mỗi ngoại vi được gán với một địa chỉ duy nhất. Tất 
cả các bit địa chỉ được dùng để định nghĩa vị trí tham 
chiếu.
2. Giải mã một phần (Partial decoding): Không phải 
tất cả các bit được xử dụng trong quá trình giải mã. 
Các ngoại vi có thể đáp ứng với hơn 1 địa chỉ. 
Phương pháp này làm giảm độ phức tạp trong mạch 
giải mã địa chỉ.
103
104
A000H đến A7FFH
105
Thí dụ:
Thiết kế mạch ánh xạ 8 chip bộ nhớ EPROM 2764 khác nhau 
(mỗi EPROM được tổ chức như 8K x 8 bits) thành khối bộ nhớ 
64K byte với địa chỉ vật lý trong dãi F0000H đến FFFFFH.
Bài giải.
Mỗi EPROM 2764 có thể được ánh xạ trực tiếp vào khối 8 KB 
như sau
Khối thứ 1: F0000 - F1FFFh
Khối thứ 2: F2000 - F3FFFH
Khối thứ 3: F4000 - F5FFFH
Khối thứ 4: F6000 - F7FFFH
Khối thứ 5: F8000 - F9FFFH
Khối thứ 6: FA000 - FBFFFH
Khối thứ 7: FC000 - FDFFFH
Khối thứ 8: FE000 - FFFFFH
106
107
Bảng bộ nhớ (memory map) và bảng I/O
• Bảng bộ nhớ 
Bảng bộ nhớ minh họa những đoạn nào sẽ được sử dụng 
với RAM, ROM và một số trường hợp là các thiết bị I/O. 
Thí dụ:
• Bảng I/O hay Vùng I/O
Được tổ chức và định địa chỉ như vùng nhớ. Mỗi địa chỉ 
tương ứng với một cổng I/O (thông thường rộng 8 bit).
108
Nội dung
1.1 Sự phát triển của các hệ vi xử lý
1.2 Sơ đồ khối một hệ vi xử lý cơ bản
1.3 CPU
1.4 Bộ nhớ
1.5 Ngoại vi
3/5/2010
109
1.6 Bus hệ thống
1.7 Giãi mã địa chỉ
1.8 Định thì
1.9 Chương trình
1.10 Vi điều khiển và vi xử lý
1.8 ĐỊNH THÌ
(Timing)
110
Các quy ước trong giản đồ định thì
111
112
113
114
115
Định thì đọc cấp hệ thống
116
Định thì ghi bộ nhớ
117
Giao tiếp DRAM
118
Định thì đọc với DRAM
119
Định thì ghi với DRAM
120
Nội dung
1.1 Sự phát triển của các hệ vi xử lý
1.2 Sơ đồ khối một hệ vi xử lý cơ bản
1.3 CPU
1.4 Bộ nhớ
1.5 Ngoại vi
3/5/2010
121
1.6 Bus hệ thống
1.7 Giãi mã địa chỉ
1.8 Định thì
1.9 Chương trình
1.10 Vi điều khiển và vi xử lý
1.9 CHƯƠNG TRÌNH
122
Chưng trình
• Chương trình (program) là danh sách các lệnh 
(instruction=lệnh, chỉ thị) hay các phát biểu (statement) 
để điều khiển máy tính hay CPU thực hiện công việc xử 
lý dữ liệu mong muốn.
• Có nhiều loại ngôn ngữ lập trình:
– Ngôn ngữ máy (machine language)
+ Mã nhị phân
+ Mã bát phân hay thập lục phân
– Hợp ngữ (Assembly Language) (cần có Assembler 
[Trìnhdịch hợp ngữ])  Mã ký hiệu 
– Ngôn ngữ cấp cao (cần có Compiler [Trình biên dịch])
123
Ngôn ng5 máy
• Một chuỗi các mã nhị phân biểu diễn các công việc mà vi xử 
lý sẽ thực thi. Dạng dài các bit có thể được đơn giản hóa bằng 
dạng số Hex hay Octal. Ngôn ngữ này khó lập trình. Các vi xử 
lý khác nhau sẽ có những ngôn ngữ máy khác nhau.
• Thí dụ:
124
125
Lưu đồ chương trình (Program flowchart)
126
127
128
Nội dung
1.1 Sự phát triển của các hệ vi xử lý
1.2 Sơ đồ khối một hệ vi xử lý cơ bản
1.3 CPU
1.4 Bộ nhớ
1.5 Ngoại vi
3/5/2010
129
1.6 Bus hệ thống
1.7 Giãi mã địa chỉ
1.8 Định thì
1.9 Chương trình
1.10 Vi điều khiển và vi xử lý
1.10 VI ĐIỀU KHIỂN
130
Các giới hạn của vi xử lý
– Cần bộ nhớ ngoài để thực thi chương trình.
– Không thể giao tiếp trực tiếp với các thiết bị I/O.
131
So sánh vi xử lý (MPU) và vi điều khiển (MCU)
• MPU:
– Được thiết kế để thực hiện chức năng CPU trong hệ máy vi 
tính.
– Tập lệnh được sắp xếp để cho phép mã và một lượng lớn dữ 
liệu được chuyển đi giữa vi xử lý với bộ nhớ và thanh ghi 
ngoài.
– Các tác vụ tác động với nhóm bit không nhỏ hơn 4 bit.
• MCU:
– Được thiết kế để làm việc với mạch ngoài tối thiểu.
– Tập lệnh đơn giản (khoảng 255 lệnh).
– Các tác vụ có thể tác động lên từng bit.
• MCU là máy tính với tất cả trong một chip:
MCU = CPU + Bộ nhớ + Giao tiếp I/O
132
1.10 Vi điều khiển
Vi xử lý (MPU)
• CPU là một chip riêng, RAM, 
ROM, I/O, timer là các phần 
riêng biệt
• Người thiết kế tùy ý chọn kích 
Vi điều khiển (MCU)
• CPU, RAM, ROM, I/O và 
timer đều trong 1 chip
• On-chip ROM, RAM và 
I/O port là cố định
3/5/2010
133
cỡ bộ nhớ, các cổng I/O 
• Có thể mở rộng được
• Đa chức năng 
• Đa mục đích
• cho ứng dụng mà giới 
han về giá cả, năng 
lượng và không gian
• Chỉ có 1 mục đích
Microprocessor and Microcontroller
134
Sơ đồ khối của một MCU
135

File đính kèm:

  • pdfbai_giang_vi_xu_ly_chuong_1_gioi_thieu_he_vi_xu_ly_tong_quan.pdf