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),
– 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ỉ
N
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ớ
• 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
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:
bai_giang_thiet_ke_he_thong_nhung_thiet_ke_he_thong_nhung_ng.pdf

