Bài giảng Thiết kế hệ thống nhúng - Thiết kế hệ thống nhúng - Nguyễn Quốc Cường

Phần cứng hệ thống nhúng  
Nguyễn Quốc Cường  
Bộ môn Kỹ thuật đo và Tin học công nghiệp  
Trường Đại học Bách khoa Hà Nội  
Tài liệu tham khảo  
• « Embedded hardware known it all », Jack  
Ganssle, Tammy Noergaard, Fred Eady, Creed  
Huddleston, Lewin Edwards, David J. Katz, Rick  
Gentile, Ken Arnold, Kamal Hyder, and Bob  
Perrin  
2
Bo mạch nhúng  
• Các thiết bị của hệ thống được hàn trên bo  
mạch PCB  
• Các phần tử trên bo mạch nhúng là thuộc về  
lớp phần cứng  
3
Tổ chức bo mạch nhúng  
• Gồm các thành phần: CPU, bộ nhớ, Input,  
output, Bus  
embedded system board  
Master Processor  
CPU  
controls usage and manipulation of data  
Memory  
Output  
Input  
5 system components commonly connected via buses  
Memory  
data from cpu or input devices stored in  
memory until a cpu or output device request  
brings data into the embedded system Input  
Output  
gets data out of the embedded system  
4
AMD/National Semiconductor x86 reference board  
5
Kiến trúc tập lệnh  
ISA  
• ISA : Instruction Set Architecture  
• Mô tả  
– Các hoạt động  
– Các toán hạng (data)  
– Chế độ đánh địa chỉ cho các toán hạng  
– Cơ chế xử lý các ngắt  
• ISA mô tả kiến trúc chung, các CPU khác nhau có  
thể được thiết kế chung ISA  
– Intel Pentium và the AMD Athlon có kiến trúc ISA gần  
như giống nhau  
6
Các kiến trúc ISA và các bộ xử lý  
7
Các thao tác  
• Các kiểu thao tác:  
– tính toán  
– chuyển dữ liệu  
– rẽ nhánh  
– thao tác vào/ra  
– chuyển ngữ cảnh  
8
Định dạng lệnh  
9
Các toán hạng  
• ISA định nghĩa định kiểu và định dạng toán  
hạng cho các thao tác  
– Ví dụ: Định nghĩa các kiểu đơn giản: byte (8 bits),  
halfword (16 bits) hay word (32 bits).  
– Các kiểu phức tạp: char, integer hay float được  
định nghĩa dựa trên các kiểu đơn giản trên  
10  
Cách lưu trữ thông tin  
• ISA mô tả cách tổ chức bộ nhớ để lưu trữ các  
thôn tin về thao tác, toán hạng  
• Một số kiểu quản lý địa chỉ  
–
Tuyến tính: địa chỉ được quy định từ 0 đến 2
N
với  
N là số bit địa chỉ  
– Phân đoạn:  
• bộ nhớ được chia thành các đoạn (segment)  
• truy cập bộ nhớ được xác định bởi địa chỉ của segment  
và địa chỉ offset trong segment đó  
• Trong một segment địa chỉ offset là tuyến tính  
11  
Cách lưu trữ thông tin  
• Thứ tự lưu trữ thông tin  
– big-endian: byte (hoặc bit) MSB được lưu ở địa chỉ  
thấp  
–
little-endian: byte (hoặc bit) LSB được cất ở địa chỉ  
thấp  
• Mô tả tập các thanh ghi  
• Mô tả cách sử dụng các thanh ghi  
12  
Các chế độ địa chỉ  
• Quy định các mà bộ xử lý có thể truy cập các  
toán hạng.  
• Có 2 kiểu mô hình chế độ địa chỉ  
– Load-store architecture: chỉ cho phép các thao tác  
xử lý trên thanh ghi, không thao tác trực tiếp trên  
bộ nhớ  
– Register-memory architecture: cho phép các thao  
tac được xử lý cả trên thanh ghi và các kiểu bộ  
nhớ  
13  
Ngắt và Xử lý ngoại lệ  
• Ngắt là cơ chế dừng chương trình đang thực  
hiện để thực hiện một đoạn chương trình  
khác đáp ứng một số sự kiện  
• Xử lý ngắt  
– vi dụ 8051  
14  
Mô hình kiến trúc trong của bộ xử lý  
von Neumann vs. Harvard  
15  
16  
Khối xử lý trung tâm CPU  
• CPU  
– cấp độ hệ thống thường được hiểu là Khối xử lý trung  
tâm  
– bên trong bộ xử lý, khối xử lý cũng được gọi là CPU  
• Các thành phần chính của CPU  
– khối số học và logic (ALU)  
– thanh ghi  
– khối điều khiển (CU)  
– bus  
17  
Hoạt động của CPU  
18  
Các bus trong CPU  
• Là các dây dẫn kết nối ALU, CU và các thanh  
ghi  
• Thường chia thành các nhóm chức năng  
– dữ liệu: hai chiều, mang dữ liệu giữa các thanh ghi  
và ALU  
– địa chỉ: mang thông tin vị trí của thanh ghi cần  
chuyển dữ liệu  
– điều khiển: các thông tin tín hiệu điều khiển giữa  
thanh ghi, ALU và CU  
19  
ALU  
• Là một mạch logic tổ hợp  
• Thực hiện các phép tính số học và logic  
20  
Thanh ghi  
• Kết hợp của các flip-flop  
• Dùng để lưu trữ dữ liệu hoặc để trễ tín hiệu  
• Số flip-flop:  
– thường đặc trưng cho độ rộng của bus dữ liệu sử  
dụng trong hệ thống  
– được sử dụng để mô tả bộ xử lý (ví dụ vộ xử lý 32  
có các thanh ghi 32 bit chứa 32 flip-flop)  
21  
22  
Thanh ghi  
• Thanh ghi đa năng  
– lưu trữ dữ liệu cho các thao tác  
• Thanh ghi đặc biệt  
– sử dụng trong một số lệnh  
– chứa các cờ trạng thái  
– bộ đếm  
– điều khiển các cổng I/O  
23  
Khối điều khiển  
• Tạo ra các tín hiệu điều khiển và điều phối các  
24  
Xung nhịp  
• CPU hoạt động được đồng bộ bởi xung nhịp hệ  
thống  
– Các CPU có thể nhân (hoặc chia) tần số xung nhịp hệ thống  
để tạo ra xung nhịp hoạt động cho CU  
– Hoạt động theo mức hoặc theo sường xung  
25  
Bộ nhớ  
• Lưu trữ thông tin  
– Bộ nhớ chương trình: lưu trữ mã lệnh  
– Bộ nhớ dữ liệu: lưu trữ toán hạng  
• Kiến trúc von Neumann:  
–
Bộ nhớ chương trình và dữ liệu cùng trên một không gian  
bộ nhớ  
• Kiến trúc Harvard  
– Bộ nhớ chương trình và bộ nhớ dữ liệu tách riêng  
• Kiểu bộ nhớ  
– ROM (Read Only Memory)  
– RAM (Random Acess Memory)  
26  
Bộ nhớ ROM  
• Có thể chứa lệnh và dữ liệu  
• Không mât thông tin khi mất nguồn cung câp  
‰ còn gọi là bộ nhớ không xóa (nonvolatile  
memory: NVM)  
27  
28  
29  
Các kiểu ROM  
• MROM (mask ROM)  
– nội dung được thiết lập trong quá trình sản xuất,  
không thay đổi được về sau  
• PROM (programmble ROM) hay OTP (one-time  
programmable)  
– chỉ lập trình một lần bởi bộ lập trình PROM (có thể lập  
trình sau khi đã sản xuất)  
• EPROM (erasable programmable ROM)  
• EEPROM (electrically erasable programmable  
ROM)  
30  
RAM  
• Bộ nhớ có thể đọc và viết:  
– SRAM  
– DRAM  
• DRAM cần có mạch refresh để không mất  
thông tin  
– chậm và tốn năng lượng hơn SRAM  
• DRAM có mật độ tích hợp cao hơn SRAM và  
giá thành rẻ hơn  
31  
Bộ nhớ cache  
• CPU có thể có các bộ nhớ khác nhau  
32  
Cache mức 1  
• Cache được thiết kế on-chip thường được gọi là  
cache mức 1  
• SRAM được sử dụng cho cache mức 1  
– Tốc độ nhanh, tiêu tốn ít năng lượng  
– Dung lượng nhỏ do giá thành cao  
• Cache là hình ảnh của các phần nhỏ của bộ nhớ  
chính , những phần hay được bộ xử lý truy cập  
thường xuyên  
– Một số bộ xử lý có 1 cache cho lệnh và dữ liệu  
– Môt số khác thì có cache cho lệnh và cache cho dữ  
liệu riêng nhau  
33  
Đọc và viết ở cache mức 1  
• Thông tin cần được viết vào cả cache và cả bộ  
nhớ chính để đảm bảo thông tin giống nhau  
cả ở cache và bộ nhớ  
• CPU khi đọc thông tin sẽ tìm ở cache  
– Nếu tìm được sẽ trả thông tin về cho CPU và chu  
trình đọc kết thúc  
– Nếu không tìm được ‰ sẽ tìm ở các cache off-  
chip. Nếu cũng không tìm thấy thì bộ nhớ chính  
được sử dụng để trả dữ liệu về cho CPU  
34  
Tổ chức bộ nhớ  
• Trong lập trình, các phần mềm thường quản lý bộ  
nhớ như là một mảng 1 chiều ‰ gọi là bản đồ bộ  
nhớ  
– Quy định các vùng địa chỉ cho dữ liệu, lệnh, thiết bị I/O,...  
Vào /Ra của bộ xử lý  
36  
Vào /Ra của bộ xử lý  
• Là mô-đun có nhiệm vụ chuyển thông giữa bộ  
xử lý và bộ nhớ, các I/O bên ngoài bộ xử lý  
– input: chuyển thông tin từ bên ngoài vào bộ xử lý  
– output: chuyển thông tin từ bộ xử lý ra bên ngoài  
– I/O: thực hiện cả input và output  
37  
Truyền tin không đồng bộ  
38  
Truyền tin đồng bộ  
Bus của bộ xử lý  
• Kết nối bộ xử lý với các phần còn lại của hệ  
thống  
• Đặc tính của bus hệ thống  
– Độ rộng: quy định số bit có thể truyền tại một thời  
điểm  
– Tốc độ bus  
39  
Hiệu năng của bộ xử lý  
• MIPS (millions of instructions per seconds)  
– dùng để đo hiệu năng của bộ xử lý (không chính  
xác)  
• Phần mềm đánh giá (benchmarks)  
– là các phần mềm được sử dụng để chạy trên bộ  
xử lý qua đó để đánh giá hiệu năng của hệ xử lý  
40  
pdf 20 trang Thùy Anh 18020 Free
Bạn đang xem tài liệu "Bài giảng Thiết kế hệ thống nhúng - Thiết kế hệ thống nhúng - Nguyễn Quốc Cường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_thiet_ke_he_thong_nhung_thiet_ke_he_thong_nhung_ng.pdf