Tải bản đầy đủ (.pdf) (29 trang)

Hệ thống nhúng Embedded-Systems

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.18 MB, 29 trang )

Advanced Computer Architecture – 2011B Embedded Systems
1
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
Tiểu luận môn học
Kiến trúc máy tính tiên tiến




Tên đề tài:
HỆ THỐNG NHÚNG
Embedded Systems

GV hướng dẫn
TS.Nguyễn Kim Khánh
Họ và tên
Nguyễn Thị Minh
SHHV
CB110185
Lớp
2011B.CNTT-KH
Advanced Computer Architecture – 2011B Embedded Systems
2
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH

Mục Lục
Phần 1: Giới thiệu về hệ thống nhúng 3
Phần 2: Cấu trúc của sản phẩm nhúng 6
1. Cấu trúc 6
2. Những đặc trưng của hệ thống nhúng 6
Phần 3: Xử lý tín hiệu và ứng dụng nhúng trong xử lý tín hiệu 9


1. Một số khái niệm cơ bản 9
1.1. Real-Time Processing: 9
1.2. Bộ xử lý tín hiệu kỹ thuật số (DPS) 9
2. Các ứng dụng nhúng trong quá trình xử lý tín hiệu số 9
3. Tiêu chuẩn về nhúng 16
4. Tính hiệu quả và tiêu thụ điện năng trong các quá trình xử lý tín hiệu của ứng dụng nhúng 17
5. Đa xử lý nhúng 18
Phần 3: Case Study 20
1. Sony Playstation 2 20
2. Sanyo VPC-SX500 Digital Camera 23
3. The Cell Phone 25
4. Cell Phone Standards and Evolution 28
Phần 4: Kết luận 29

Advanced Computer Architecture – 2011B Embedded Systems
3
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH

Phần 1: Giới thiệu về hệ thống nhúng
Sau sự phát triển của máy tính lớn và mini (mainframe và mini computer) giai đoạn
1960-1980, PC-Internet giai dọan 1980-2000, thì hiện nay chúng ta đang ở thời đại hậu
PC. Giai đoạn hậu PC-Internet này dược dự đoán từ năm 2000 đến 2020 là giai đoạn của
môi trường thông minh mà hệ thống nhúng là cốt lõi và đang làm nên làn sóng đổi mới
thứ 3 trong sự phát triển của Công nghệ thông tin.
Một thực tế khách quan là thị trường của các hệ thống nhúng lớn gấp khoảng 100 lần
thị trường của PC và mạng LAN, trong khi đó chúng ta mới nhìn thấy bề nổi của công
nghệ thông tin là PC và Internet còn phần chìm của công nghệ thông tin chiếm 99% số
processor trên toàn cầu này nằm trong các hệ nhúng thì còn ít được biết đến.
Sức đẩy của công nghệ đưa công nghệ vi điện tử, các công nghệ vi cơ điện, công
nghệ sinh học hội tụ tạo nên các chip của công nghệ nano, là nền tảng cho những thay đổi

cơ bản trong công nghệ thông tin và truyền thông. Sức kéo của thị trường đòi hỏi các
thiết bị phải có nhiều chức năng thân thiện với người dùng, có mức độ thông minh ngày
càng cải thiện đưa đến vai trò và tầm quan trọng của các hệ thống nhúng ngày càng cao
trong nền kinh tế quốc dân.
Hệ thống nhúng là gì?
Theo định nghĩa của IEEE thì hệ thống nhúng là một hệ tính toán nằm trong sản
phẩm, tạo thành một phần của hệ thống lớn hơn và thực hiện một số chức năng của hệ
thống .
Nói một cách đơn giản khi một hệ tính toán (có thể là PC, IPC, PLC, vi xử lý, vi hệ
thống, DSP vv…) được nhúng vào trong một sản phẩm hay một hệ thống một cách hữu
cơ và thực hiện một số chức năng cụ thể của hệ thống thì ta gọi đó là một hệ thống
nhúng. Ví dụ quanh ta có rất nhiều sản phẩm nhúng như lò vi sóng, nồi cơm điện, điều
hoà, điện thoại di động, ô tô, máy bay, tàu thuỷ, các đầu đo cơ cấu chấp hành thông minh
vv. Ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi trong cuộc sống của
chúng ta.
Các nhà thống kê trên thế giới đã thống kê được rằng số chip vi xử lý ở trong các
máy PC và các server, các mạng LAN, WAN, Internet chỉ chiếm không đầy 1% tổng số
chip vi xử lý có trên thế giới. Hơn 99% số vi xử lý còn lại nằm trong các hệ thống nhúng.
Như vậy công nghệ thông tin không chỉ đơn thuần là PC, mạng LAN, WAN và
Internet như nhiều người thường nghĩ. Đó chỉ là bề nổi của một tảng băng chìm. Phần
chìm của công nghệ thông tin chính là các ứng dụng của các hệ nhúng có mặt trong mọi
ngành nghề của đời sống xã hội hiện nay.
Advanced Computer Architecture – 2011B Embedded Systems
4
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
Các hệ nhúng được tích hợp trong các thiết bị đo lường điều khiển và các sản phẩm
cơ điện tử tạo nên đầu não và linh hồn của sản phẩm.
Trong các hệ nhúng, hệ thống điều khiển nhúng đóng một vai trò hết sức quan trọng.
Hệ điều khiển nhúng là hệ thống mà máy tính được nhúng vào vòng điều khiển của
sản phẩm nhằm điều khiển một đối tượng, điều khiển một qúa trình công nghệ đáp ứng

các yêu cầu đặt ra. Hệ thống điều khiển nhúng lấy thông tin từ các cảm biến, xử lý tính
toán các thuật điều khiển và phát tín hiệu điều khiển cho các cơ cấu chấp hành.
Khác với các hệ thống điều khiển cổ điển theo nguyên lý thuỷ lực, khí nén, rơ le,
mạch tương tự, hệ điều khiển nhúng là hệ thống điều khiển số được hình thành từ những
năm 1960 đến nay. Trước đây các hệ điều khiển số thường do các máy tính lớn đảm
nhiệm, ngày nay chức năng điều khiển số này do các chip vi xử lý, các hệ nhúng đã thay
thế. Phần mềm điều khiển ngày càng tinh sảo tạo nên độ thông minh của thiết bị và ngày
càng chiếm tỷ trọng lớn trong giá thành của thiết bị.
Như vậy không phải tất cả các sản phẩm đo lường và điều khiển đều là các hệ nhúng.
Hiện nay chúng ta còn gặp nhiều hệ thống điều khiển tự động hoạt động theo nguyên tắc
cơ khí, thuỷ lực, khí nén, rơ le, hoặc diện tử tương tự…
Ngược lại phần lớn các sản phẩm cơ điện tử hiện nay đều có nhúng trong nó các chip
vi xử lý hoặc một mạng nhúng. Ta biết rằng cơ điện tử là sự cộng năng của các công
nghệ cơ khí, điện tử, điều khiển và công nghệ thông tin. Sự phối hợp đa ngành này tạo
nên sự vượt trội của các sản phẩm cơ điện tử. Sản phẩm cơ điện tử ngày càng tinh sảo và
ngày càng thông minh mà phần hồn của nó do các phần mềm nhúng trong nó tạo nên.
Các sản phẩm cơ điện tử là các sản phẩm có ít nhất một quá trình cơ khí (thường là một
quá trình chuyển động), là đối tượng để điều khiển do vậy các sản phẩm cơ điện tử ngày
nay thường có các hệ nhúng trong nó nhưng ngược lại không phải hệ thống nhúng nào
cũng là một hệ cơ điện tử.
Điểm qua sự phát triển của máy tính ta thấy nó đã trải qua 3 giai đoạn. Giai đoạn năm
1960-1980 là giai đoạn phát triển của máy tính lớn và máy mini (main frame và mini
computer) với khoảng 1000 chip/máy và mỗi máy có khoảng 100 người dùng. Giai đoạn
từ 1980-2000 là giai đoạn phát triển của máy PC với số chip vi xử lý khoảng 10 chip/máy
và thông thường cho một người sử dụng. Thời đại hậu PC (Post-PC Era) là giai đoạn mà
mọi đồ dùng đều có chip, trung bình 1 chip/một máy và số máy dùng cho một người lên
đến >100 máy. Giai đoạn hậu PC được dự báo từ 2001-2010 khi các thiết bị xung quanh
ta đều được thông minh hoá và kết nối với nhau thành mạng tạo thành môi trường thông
minh phục vụ cho con người.
Điểm qua về chức năng xử lý tin ở PC và ở các thiết bị nhúng có những nét khác biệt.

Đối với PC và mạng Internet chức năng xử lý đang được phát triển mạnh ở các lĩnh vực
Advanced Computer Architecture – 2011B Embedded Systems
5
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
như thương mại điện tử, ngân hàng điện tử, chính phủ điện tử, thư viện điện tử, đào tạo từ
xa, báo điện tử….Các ứng dụng này thường sử dụng máy PC để bàn, mạng WAN, LAN
hoạt động trong thế giới ảo. Còn đối với các hệ nhúng thì chức năng xử lý tính toán được
ứng dụng cụ thể cho các thiết bị vật lý (thế giới thật) như mobile phone, quần áo thông
minh, các đồ điện tử cần tay, thiết bị y tế, xe ô tô, tàu tốc hành, phương tiện vận tải thông
minh, máy đo, đầu đo cơ cấu chấp hành thông minh, các hệ thống điều khiển, nhà thông
minh, thiết bị gia dụng thông minh vv
Advanced Computer Architecture – 2011B Embedded Systems
6
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH

Phần 2: Cấu trúc của sản phẩm nhúng
1. Cấu trúc
Các hệ nhúng là những hệ kết hợp phần cứng và phần mềm một cách tối ưu. Một số
đặc trưng cơ bản của hệ nhúng ngoài tính chuyên dụng nó còn bị ràng buộc về hoạt động
trong chế độ thời gian thực, hạn chế về bộ nhớ, năng lượng và giá thành mà lại đòi hỏi
hoạt động tin cậy và tiêu tốn ít năng lượng.
Các hệ nhúng rất đa dạng và có nhiều kích cỡ, khả năng tính toán khác nhau. Ví dụ
đối với một bộ điều khiển từ xa chỉ cần tới độ tính toán 100 KIPS và bộ nhớ vài KB, đối
với thiết bị điều khiển cần tốc độ 1MIPS, 1MB bộ nhớ và đối với các hệ nhúng quân sự
tốc độ xử lý có thể lên đến 1GIPS, tốc độ truyền 1GB/sec và 32 MB bộ nhớ.
Ngoài ra các hệ nhúng thường phải hoạt động trong môi trường khắc nghiệt có độ
nóng ẩm, rung xóc cao. Ví dụ các hệ điều khiển các máy diesel cho tàu biển, các thiết bị
cảnh báo cháy nổ trong hầm lò.
Các hệ thống nhúng lớn thường là các hệ nối mạng. Ở máy bay, tàu vũ trụ thường có
nhiều mạng nhúng kết nối để kiểm soát hoạt động và điều khiển. Trong ô tô hiện đại có

đến trên 80 nút mạng kết nối các đầu đo cơ cấu chấp hành để bảo đảm ô tô hoạt động an
toàn và thoải mái cho người sử dụng.
2. Những đặc trưng của hệ thống nhúng
Hệ thống nhúng (embedded system) được định nghĩa là một hệ thống chuyên dụng,
thường có khả năng tự hành và được thiết kế tích hợp vào một hệ thống lớn hơn để thực
hiện một chức năng chuyên biệt nào đó.
Khác với các máy tính đa chức năng (multi-purposes computers), ví dụ như máy vi
tính cá nhân (PC), một hệ thống nhúng thường chỉ thực hiện một hoặc một vài chức năng
nhất định. Hệ thống nhúng bao gồm cả thiết bị phần cứng và phần mềm, hầu hết đều phải
thỏa mãn yêu cầu hoạt động theo thời gian thực (real-time).
Tùy theo tính chất và yêu cầu, mức độ đáp ứng của hệ thống có thể phải là rất nhanh
(ví dụ như hệ thống thắng trong xe hơi hoặc điều khiển thiết bị trong nhà máy), hoặc có
thể chấp nhận một mức độ chậm trễ tương đối (ví dụ như điện thoại di động, máy lạnh, ti-
vi).
Để có thể dễ hình dung, ta xem ví dụ sau đây: một chiếc xe hơi trung bình có khoảng
70-80 chip vi xử lý (micro controller unit), mỗi bộ vi xử lý đảm nhiệm một nhiệm vụ,
chẳng hạn như đóng mở cửa, điều khiển đèn tín hiệu, đo nhiệt độ trong/ngoài xe, hiển thị
giao diện người dùng (dashboard), điều khiển thắng (nếu dùng hệ thống thắng điện)…
Advanced Computer Architecture – 2011B Embedded Systems
7
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
Mỗi bộ phận như thế là một hệ thống nhúng, tất cả được thiết kế tích hợp vào một hệ
thống chung lớn hơn, chính là chiếc xe hơi. Một ví dụ khác gần gũi hơn với cuộc sống
hằng ngày, đó là những chiếc điện thoại di động. Các chức năng như điều khiển màn hình
hiển thị, máy nghe nhạc và radio, bộ cảm ứng chụp hình, kết nối với máy tính và thiết bị
ngoại vi, hoặc cao cấp hơn là kết nối với hệ thống định vị toàn cầu (GPS), tất cả đều là
những hệ thống nhúng được tích hợp chung vào chiếc điện thoại.
Do tính chất chuyên biệt của hệ thống nhúng và chúng thường được sản xuất với số
lượng lớn nên các nhà sản xuất thường yêu cầu phải tối ưu hóa chúng nhằm giảm thiểu
kích thước và chi phí sản xuất. Những yêu cầu đó đã đưa đến những khác biệt cơ bản

trong lĩnh vực viết phần mềm cho hệ thống nhúng so với các phần mềm thông thường.
Thứ nhất, có rất nhiều hãng sản xuất bộ vi xử lý, phần cứng và phần mềm trong thị
trường hệ thống nhúng và ứng với mỗi nhà sản xuất lại có nhiều dòng sản phẩm, phong
phú về chủng loại và giá thành. Các nhà thiết kế thường có những sự lựa chọn rất khác
nhau về kiến trúc phần cứng và phần mềm cho các hệ thống của mình. Vì vậy, khác với
những lập trình viên thông thường như lập trình web hay lập trình ứng dụng
(application), chỉ cần thông thạo một vài ngôn ngữ lập trình, hệ điều hành và chương
trình khung (framework) là có thể làm việc có hiệu quả, một lập trình viên hệ thống
nhúng phải có sự năng động và khả năng học hỏi tốt để có thể làm việc tối ưu với:
- Những bộ vi xử lý và phần cứng khác nhau: Texas Instrument, Freescale, ARM,
Intel, Motorola, Atmel, AVR, Renesas
- Những hệ điều hành khác nhau : QNX, uITRON, VxWorks, Windows CE/XP
Embedded, Embedded Linux, Osek, Symbian
- Những ngôn ngữ lập trình khác nhau : C/C++, B#, Ada, Assembly, PMC, LabView,
PLC…
Thứ hai, bên cạnh sự đa dạng về kiến thức chuyên môn của lập trình viên, còn có sự
đa dạng về sản phẩm đầu ra như: y tế, công nghiệp ô-tô, tự động hóa, điện tử gia dụng,
viễn thông, quốc phòng… Điều này đòi hỏi những người làm việc trong ngành hệ thống
nhúng phải có khả năng thích ứng cao với nhiều dạng dự án và lĩnh vực hoạt động khác
nhau.
Thứ ba, các hệ thống nhúng thường cần có sự kết hợp liền lạc giữa phần cứng và
phần mềm. Do đó, lập trình cho hệ thống nhúng cũng đòi hỏi phải có sự giao tiếp và làm
việc mật thiết giữa đội ngũ lập trình viên và những người thuộc các lĩnh vực khác như tự
động hóa, phần cứng, cơ điện tử… Tùy vào lĩnh vực, bên cạnh những kiến thức về CNTT
thông thường, trong một số trường hợp người lập trình hệ thống nhúng cần phải bổ sung
thêm một số kiến thức nhất định về trình biên dịch (compiler), xử lý tín hiệu số, điện tử
và sơ đồ mạch (schematics)… để có thể làm việc có hiệu quả với những nhóm khác.
Advanced Computer Architecture – 2011B Embedded Systems
8
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH

Tất cả những khác biệt đó vừa là thách thức, khiến cho chỉ có ít người có thể trụ lại lâu
dài, vừa là động lực, giữ chân những người thật sự đam mê, thích khám phá và không
thích sự nhàm chán.
Gần đây, xu thế quan trong trong các hệ thống nhúng là sử dụng nhiều core xử lý
cùng với nhau – gọi là “core plus ASIC” or “hệ thống trên chíp” (system on a chip-SOC),
cái mà có thể xem như là đa bộ xử lý chung mục đích. Thường các yêu cầu về chức năng
và hiệu năng của ứng dụng được đáp ứng bởi giải pháp phần cứng đồng thời với phần
mềm chạy trên lõi xử lý nhúng tiêu chuẩn và được thiết kế giao diện liên kết với phần
cứng. Thực tế, các vấn đề nhúng được giải quyết thông qua các hướng tiếp cận sau:
- Người thiết kế sử dụng hỗn hợp các giải pháp phần cứng/ phần mềm bao gồm một
vài phần cứng của khách hàng và lõi xử lý nhúng tương thích, thường trên chip giống
nhau.
- Người thiết kế sử dụng phần mềm khách hàng chạy trên bộ xử lý nhúng có sẵn(
off-the-shelf).
- Người thiết kế sử dụng bộ xử lý tín hiệu số và phần mềm khách hàng cho bộ xử lý.
Trong đó bộ xử lý tín hiệu số là bộ xử lý đặc biệt chế tạo riêng cho ứng dụng xử lý tín
hiệu.
Trong tiểu luận này tôi tập trung vào nghiên cứu về xử lý tín hiệu và các ứng dụng
nhúng trong xử lý tín hiệu số.
Advanced Computer Architecture – 2011B Embedded Systems
9
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH

Phần 3: Xử lý tín hiệu và ứng dụng nhúng trong xử lý tín hiệu
1. Một số khái niệm cơ bản
1.1. Real-Time Processing:
Trong bài toán điều khiển và ứng dụng chúng ta rất hay gặp thuật ngữ ”thời gian
thực”. Real time có phải là thời gian phản ánh về độ trung thực của thời gian hay không?
Thời gian thực có phải là hiển thị chính xác và đồng bộ theo đúng như nhịp đồng hồ thời
gian hay không? Không hoàn toàn đúng như vậy! Thực chất theo cách hiểu nếu nói trong

hệ thống kỹ thuật đặc biệt các hệ thống yêu cầu khắt khe về sự ràng buộc thời gian, thời
gian thực được hiểu là yêu cầu của hệ thống phải đảm bảo thỏa mãn yêu cầu về tính tiền
định trong hoạt động của hệ thống. Tính tiền định nói lên hành vi của hệ thống thực hiện
đúng theo một khung thời gian cho trước hoàn toàn xác định vài giây cũng có thể đến vài
nano giây hoặc nhỏ hơn nữa. Ở đây chúng ta phân biệt yếu tố thời gian gắn liền với khái
niệm thời gian thực. Không phải hệ thống thực hiện rất nhanh sẽ đảm bảo thực hiện tính
thời gian thực. Hơn thế nữa nếu chỉ nhanh không thì chưa đủ mà phải đảm bảo duy trì ổn
định bằng một cơ chế hoạt động tin cậy. Chính ví thế mà hệ thống không kiểm soát được
hoạt động của nó (bất định) thì không phải là một hệ thống đảm bảo tính thời gian thực
mặc dù hệ thống đó có thể đáp ứng rất nhanh, thậm chí nhanh hơn rất nhiều so với yêu
cầu đặt ra. Một ví dụ tiêu biểu là truyền thông dữ liệu qua đường truyền.Thông thường,
yêu cầu hiệu nặng trong hệ thống nhúng là đòi hỏi thời gian thực. Chính là nơi mà đoạn
ứng dụng có thể thời gian thực thi lớn nhất được cho phép. Cho ví dụ,
Chuẩn Ethernet truyền thống, mặc dù ai cũng biết tốc độ truyền là rất nhanh nhưng
vẫn không phải hệ hoạt động thời gian thực vì không thỏa mãn tính tiền định trong cơ chế
truyền dữ liệu (có thể là rất nhanh và cũng có thể là rất chậm nếu có sự cạnh tranh và giao
thông đường truyền bị nghẽn).
1.2. Bộ xử lý tín hiệu kỹ thuật số (DPS)
Một bộ xử lý tín hiệu kỹ thuật số (DSP) là một bộ xử lý đặc biệt dùng tối ưu hóa để
thực hiện các thuật toán xử lý tín hiệu kỹ thuật số.
2. Các ứng dụng nhúng trong quá trình xử lý tín hiệu số
Hầu hết các thuật toán này, từ quá trình lọc miền thời gian (ví dụ như, quá trình lọc
đáp ứng xung vô hạn và đáp ứng xung hữu hạn), chập, biến đổi (ví dụ, biến đổi Fourier
nhanh - Fast Fourier Transform, Biến đổi cô sin rời rạc – Discrete Cosine Transform),
Advanced Computer Architecture – 2011B Embedded Systems
10
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
thậm chí hướng tới mã hóa hiệu chỉnh lỗi, tất cả đã làhạt nhân của họ hoạt động tương tự:
một hoạt động nhân-tích lũy.Ví dụ, Chuyển đổi Fourier rời rạc có dạng:


Biến đổi cô sin rời rạc thường được thay thế cho điều này khi nó không yêu cầu phép
toán số phức phức tạp. Hoặc chuyển đổi có lõi của nó là tổng của một tích. Để tăng tốc,
DSP trong các phần cứng chuyên dụng thực hiện nhân-tích lũy (MAC). Lệnh MAC:
“MAC A, B, C " có nghĩa là: "A = A + B * C". Trong một số trường hợp,hiệu quả của
phép toán này là rất cần thiết khi DSP là lựa chọn cho một ứng dụng dựa chủ yếu vào
thông qua phép toán MAC của nó.
DSP thường sử dụng phép tính số học điểm cố định (fixed-point : chính là số chữ số
sau dấu chấm được cố định).Nếu bạn nghĩ các số nguyên có điểm nhị phân bên phải của
bit quan trọng nhất, điểm cố định có điểm nhị phân ở bên phải của bit dấu.Do đó, dữ liệu
điểm cố định nằm trong khoảng -1 và 1.
Fixed point numbers: cách này ngầm cho rằng có một mẫu số cố định và chỉ cần lưu
tử số là được. Mẫu số thường được chọn trước là lũy thừa của 2 hoặc 10 hoặc 16. (Bộ
nhớ: 1 số int).
Ví dụ : Cho 3 mẫu 16-bit:
0100 0000 0000 0000
0000 1000 0000 0000
0100 1000 0000 1000
Tính số bù 2? Số lượng các điểm cố định?
Một số bù 2 có được do đảo tất cả các bit có trong số nhị phân (đổi 1 thành 0 và
ngược lại) rồi thêm 1 vào kết quả vừa đạt được. Thực chất, số biểu diễn ở dạng bù 2 là số
biểu diễn ở bù 1 rồi sau đó cộng thêm 1. Trong quá trình tính toán bằng tay cho nhanh
người ta thường sử dụng cách sau: từ phải qua trái giữ 1 đầu tiên và các số còn lại bên
trái số 1 lấy đảo lại.
Đầu tiên, chúng ta giả thiết rằng cả 3 mẫu trên đều là số nguyên. KHi đó dấu chấm là
ở bên phải xa nhất, vì thế 3 mẫu trên đại diện cho 2
14
, 2
11
, (2
14

+ 2
11
+ 2
3
). Hay là
16.384, 2048 và 18 440.
Vị trí của điểm cố định phải ở bên phải bit dấu, vì thế điểm cố định trong mỗi xâu
trên là 2
-1
, 2
-4
, (2
-1
+ 2
-4
+ 2
-12
) bằng 0.50000, 0 06250, 0.56274. Như vậy, cho một số
bù 2 n-bit, để tìm số điểm cố định, chúng ta phải chia số nguyên bởi 2
n-1
chúng ta đưa ra
một kết quả tương tự.

Advanced Computer Architecture – 2011B Embedded Systems
11
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
Fixed point numbers chạy nhanh nhất, cài đặt ko khó.Nó không bao gồm một số mũ
trong mỗi từ và không có phần cứng có thể tự động gắn và bình thường hóa các toán
hạng.Thay vào đó, điểm cố định dựa trên các lập trình DSP để giữ cho số mũ trong một
biến riêng biệt và đảm bảo rằng mỗi kết quả được chuyển sang trái hoặc phải để giữ cho

câu trả lời phù hợp với biến đó.Kể từ khi biến số mũ này thường được chia sẻ bởi một tập
hợp các biến cố định điểm, phong cách này của số học còn được gọi là bị chặn nổi điểm,
kể từ khi một khối của các biến có một số mũ phổ biến.
Để hỗ trợ các tính toán như hướng dẫn sử dụng, DSP thường có một số đăng ký rộng
hơn để bảo vệ chống lại lỗi tròn, giống như các đơn vị điểm nổi nội bộ có bit bảo vệ
thêm.Hình D.2 các cuộc điều tra bốn thế hệ của DSP, liệt kê dữ liệu kích thước và chiều
rộng của sổ đăng ký tích lũy.Lưu ý rằng các kiến trúc DSP không bị ràng buộc bởi kích
cỡ từ.Hình D.3 cho thấy kích thước của các toán hạng dữ liệu cho TMS320C55 TI DSP.

Thêm vào phép toán MAC, DSP thường cũng có hoạt động để tăng tốc độ các phần
của các thuật toán thông tin liên lạc.Một lớp quan trọng của các thuật toán xoay quanh
mã hóa và giải mã sửa lỗi về phía trước mã số mã trong đó thông tin bổ sung được thêm
vào các dòng bit kỹ thuật số để bảo vệ chống lại các lỗi trong truyền tải. Một mã tỷ lệ m /
n bit thông tin m (m + n) kiểm tra bit. Vì vậy, ví dụ, 1 / 2 tỷ lệ mã sẽ có 1 bit thông tin
trên mỗi 2 bit.
Các mã như vậy thường được gọi là mã lưới mắt cáo vì một sơ đồ dòng chảy phổ
biến đồ họa mã hóa của họ giống như một lưới mắt cáo vườn.Một thuật toán chung cho
việc giải mã trellis mã số là do Viterbi.Thuật toán này đòi hỏi một chuỗi các so sánh và
Advanced Computer Architecture – 2011B Embedded Systems
12
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
lựa chọn để thu hồi giá trị thật sự một chút truyền.Vì vậy, DSP thường có so sánh, lựa
chọn các hoạt động hỗ trợ giải mã Viterbi cho mã FEC.
Để giải thích DSP tốt hơn, chúng tôi sẽ có một cái nhìn chi tiết ở hai DSP, cả hai đều
được sản xuất bởi Texas Instruments.Dòng TMS320C55 là một gia đình DSP nhắm tới
mục tiêu đối với các ứng dụng nhúng sử dụng pin.Hoàn toàn trái ngược này,TMS
VelociTI 320C6x là một dòng bộ vi xử lý mạnh mẽ, VLIW-8 được nhắm mục tiêu hướng
tới một phạm vi rộng lớn hơn của các ứng dụng mà tốn ít năng lượng nhạy.
a. TI 320C55
Phần kết thúc của phổ DSP là kiến trúc TI 320C55. C55 này được tối ưu hóa cho các

ứng dụng nhúng công suất thấp, các ứng dụng nhúng.Tổng thể kiến trúc của nó được thể
hiện trong hình D.4. Tại trung tâm của nó, C55 là bảy tổ chức pipelined CPU.Các giai
đoạn được trình bày dưới đây:
- Fetch stage: đọc dữ liệu chương trình từ bộ nhớ vào hàng đợi bộ đệm các lệnh
- Decode stage: giải mã lệnh và truyền đi các công việc cho các đơn vị chức năng
chính khác
- Address stage: tính toán địa chỉ cho truy cập dữ liệu và địa chỉ rẽ nhánh cho
chương trình.
- Access 1/Access 2 stage: gửi địa chỉ dữ liệu đọc được vào bộ nhớ.
- Read stage: chuyển giao dữ liệu toán hạng trên bus B, bus C, và bus D.
- Execute stage: thực thi các phép toán trong các đơn vị A và đơn vị D, và thực hiện
ghi trên bus E và bus F.

Pipeline trong C55 thực hiện phát hiện hazard và sẽ ngừng trên các hazard WAR và
RAW.
C55 có một bộ nhớ cache lệnh 24 KB , nhưng nó có thể được cấu hình để hỗ trợ khối
lượng công việc khác nhau. Nó có thể được cấu hình là ánh xạ kết hợp hai đường, ánh xạ
Advanced Computer Architecture – 2011B Embedded Systems
13
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
trực tiếp, hoặc "ramset." Đây là một cách để hỗ trợ các ứng dụng thời gian thực cứng.
Trong chế độ này, các khối trong bộ nhớ cache không thể thay thế.
C55 cũng có quản lý điện năng tiên tiến.Nó cho phép quản lý điện năng động thông
qua phần mềm “idle domains”. Các khối của mạch điện trên thiết bị được tổ chức vào các
thành phần này đang rỗi.Mỗi miền có thể hoạt động bình thường hoặc có thể được đặt
trong trạng thái nhàn rỗi năng lượng thấp.Một lập trình viên có thể truy cập đăng ký kiểm
soát trạng thái nghỉ (ICR) xác định những thành phần sẽ được đặt trong trạng thái nhàn
rỗi khi thực hiện của lệnh IDLE tiếp theo xảy ra.Sáu thành phần này gồm CPU, DMA,
thiết bị ngoại vi,bộ phát xung đồng hồ, bộ nhớ cache lệnh, và giao diện bộ nhớ ngoài.Khi
từng thành phần trong trạng thái nhàn rỗi, các chức năng của tên miền cụ thể là không có

sẵn.Tuy nhiên, trong thành phần thiết bị ngoại vi, mỗi thiết bị ngoại vi đều có một bit nhà
rỗi để điều khiển khi có hay không có thiết bị ngoại vị đáp ứng sự thay đổi trạng thái
nhàn rỗi.Vì vậy, thiết bị ngoại vi có thể được cấu hình độc lập nhàn rỗi hoặc vẫn hoạt
động khi thành phần thiết bị ngoại vi là ngừng hoạt động.
Kể từ khi C55 là một DSP, tính năng trung tâm là đơn vị MAC của nó.C55 có hai
đơn vị MAC, bao gồm 17-bit 17-bit nhân cùng với một bộ cộng dành riêng cho 40-
bit.Mỗi đơn vị MAC thực hiện công việc của mình trong một chu kỳ đơn, do đó C55 có
thể thực hiện hai MAC trên mỗi chu kỳ trong hoạt động pipelined đầy đủ.Đây là khả
năng là rất quan trọng để thực hiện có hiệu quả các ứng dụng xử lý tín hiệu.C55 cũng có
một bộ so sánh, lựa chọn, và đơn vị lưu trữ (CSSU) để thêm / so sánh phần của các bộ
giải mã Viterbi.
b. The TI 320C6x
Trái ngược hoàn toàn với dòng DSP C55 là dòng xử lý Texas Instruments VelociTI
320C6x cao cấp.Các bộ vi xử lý C6x gần gũi hơn với các bộ xử lý VLIW truyền thống
bởi vì họ tìm cách khai thác ở mức độ song song mức lệnh cao (ILP) trong nhiều thuật
toán xử lý tín hiệu.Texas Instruments là không phải là đơn vị duy nhất lựa chọn VLIW
khai thác ILP trong không gian nhúng. Các nhà cung cấp VLIW DSP khác cũng lựa chọn
cách thức tương tự như Ceva, StarCore, Philips / TriMedia, và STMicroelectronics. Tại
sao các nhà cung cấp ủng hộ VLIW superscalar? Đối với không gian nhúng, khả năng
tương thích mã là vấn đề quan trọng, và vì vậy các ứng dụng mới có thể là điều chỉnh
bằng tay hoặc biên dịch lại cho các thế hệ bộ vi xử lý mới nhất.Lý do khác của siêu vô
hướng (supperscalar) vượt trội trong máy tính để bàn là bởi vì trình biên dịch không thể
dự đoán thời gian trễ bộ nhớ tại thời gian biên dịch.Trong nhúng, tuy nhiên, độ trễ bộ nhớ
thường nhiều hơn dự đoán.Trong thực tế, rang buộc thời gian thực ảnh hưởng đến khả
năng dự đoán độ trễ bộ nhớ.Tất nhiên một superscalar cũng sẽ thực hiện tốt trong môi
trường này với những hạn chế, nhưng các phần cứng thêm để tự động đưa vào lập lịch
Advanced Computer Architecture – 2011B Embedded Systems
14
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
cho lênh là lãng phí về chip và tiêu thụ điện năng.Vì vậy, VLIW là một sự lựa chọn tự

nhiên đối với nhúng hiệu suất cao.
Các dòng C6x sử dụng độ sâu đường ống pipeline khác nhau tùy thuộc vào thành
viên trong dòng. Đối với C64x, ví dụ, đường ống có 11 giai đoạn.Bốn giai đoạn đầu của
đường ống thực hiện nạp lệnh, hai giai đoạn giải mã lệnh, và cuối cùng là giai đoạn để
thực hiện lệnh.Tổng thể kiến trúc của C64x được hiển thị dưới đây trong hình D.5.

Giai đoạn thực hiện lệnh trong dòng C6x được chia thành hai phần, "1" ở bên trái, và
“2” ở bên phải. Đơn vị L1 và L2 thực hiện các phép toán logic và số học.Các đơn vị D
ngược lại thực hiện một tập con các hoạt động logic và số học, nhưng cũng có thể thực
hiện các truy cập bộ nhớ (tải và lưu trữ).Hai M đơn vị thực hiện phép nhân và các hoạt
động liên quan đến (ví dụ như, thay đổi).Cuối cùng đơn vị S thực hiện so sánh, chi nhánh,
và một số hoạt động SIMD (Single Instruction Multi Data).Mỗi bên có 32-file, tập tin
đăng ký 32-bit (Một tập tin cho phía bên 1, các tập tin B cho 2 bên).Một bên có thể truy
cập đăng ký ở phía bên kia, nhưng trả giá là 1 chu kỳ.Vì vậy, một lệnh thực hiện bên 1 có
thể truy cập B5, ví dụ, nhưng nó sẽ mất thêm 1 chu kỳ để thực hiện vì điều này.
VLIWs là truyền thống rất xấu khi nói đến kích thước mã, chạy trái với nhu cầu của
các hệ thống nhúng.Tuy nhiên, cách tiếp cận của gia đình C6x "nén" lệnh cho phép các
mã VLIW để đạt được mật độ tương tự như mã RISC tương đương.Để làm như vậy,
hướng lấy được thực hiện trên một gói tin lệnh, "thể hiện trong hình Q.6.Mỗi hướng dẫn
có ap bit xác định liệu hướng dẫn này là một thành viên của từ VLIW hiện tại hoặc
Advanced Computer Architecture – 2011B Embedded Systems
15
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
VLIW tiếp theo từ (xem hình minh họa cho một lời giải thích chi tiết).Như vậy có bây
giờ không có NOPs cần thiết cho việc mã hóa VLIW. Phần mềm Pipelining là một kỹ
thuật quan trọng để đạt được hiệu suất cao trong một VLIW.Tuy nhiên, pipelining dựa
trên mỗi lần lặp của vòng lặp có một lịch trình giống hệt nhau cho tất cả các lần lặp
khác.Bởi vì lệnh rẽ nhánh có điều kiện phá vỡ mô hình này, dòng C6x cung cấp một
phương tiện để có điều kiện thực hiện các hướng dẫn sử dụng sư
̣

truyền giáo .Trong sư
̣

truyền giáo, hướng dẫn thực hiện công việc của mình.Nhưng khi nó được thực hiện thực
hiện, một đăng ký bổ sung, ví dụ A1, được kiểm tra. Nếu A1 bằng không, lệnh không ghi
kết quả của nó.Nếu A1 là khác không, lệnh tiến hành bình thường.Điều này cho phép cấu
trúc đơn giản if-then và if-then-else bị phá vỡ thành mã thẳng cho phần mềm pipeling.
c. Media Extensions
Có một nền tảng chung giữa DSP và vi điều khiển là mở rộng truyền thông.Việc mở
rộng này thêm khả năng DSP-kiến trúc vi điều khiển với chi phí tương đối thấp.Bởi vì xử
lý truyền thông được đánh giá bằng nhận thức của con người, dữ liệu cho các hoạt động
đa phương tiện thường hẹp hơn nhiều hơn từ dữ liệu 64-bit của máy tính để bàn hiện đại
và bộ vi xử lý máy chủ.Ví dụ, phép toán số phẩy động cho đồ họa bình thường trong độ
chính xác duy nhất, độ chính xác không tăng gấp đôi, và thường ở một độ chính xác thấp
hơn yêu cầu của IEEE 754.Thay vì lãng phí phép toán số học 64-bit khi hoạt động trên
32-bit, 16 bit, hoặc thậm chí số nguyên 8-bit, lệnh đa phương tiện có thể hoạt động trên
một số dữ liệu hẹp hơn mặt hàng cùng một lúc.Do đó, một phân vùng thêm hoạt động
trên 16-bit dữ liệu với một ALU 64-bit sẽ thực hiện bốn vùng 16-bit cho biết thêm trong
một chu kỳ đồng hồ duy nhất.Chi phí phần cứng mở rộng chỉ đơn giản là để ngăn cản
mang giữa bốn phân vùng 16-bit của ALU.Ví dụ, lệnh như vậy sử dụng cho các phép
toán đồ họa trên pixels.Các hoạt động này thường được gọi là một lệnh nhiều dữ liệu
(SIMD) hoặc lệnh vector.
Đồ họa Hầu hết các ứng dụng đa phương tiện sử dụng phép toán số phẩy động 32-
bitM ột số máy tính tăng gấp đôi hiệu suất cao điểm chính xác duy nhất, pháp toán số
phẩy động, cho phép một lệnh duy nhất để khởi động hoạt động trên các toán hạng được
tìm thấy bên cạnh nhau trong một đăng ký tăng gấp đôi độ chính xác 32-bit.Hai phân
vùng phải được cách ly để ngăn chặn các hoạt động trên một nửa từ ảnh hưởng đến
nhau.Những phép toán số phẩy động được gọi là kết hợp các hoạt động duy nhất.Ví dụ,
một hoạt động có thể được sử dụng để chuyển đổi đồ họa đỉnh.Tăng gấp đôi trong hoạt
động này thường được thực hiện bằng cách tăng gấp đôi số lượng các đơn vị dấu chấm

động, làm cho nó thêm tốn kém hơn là chỉ mang ức chế trong adders số nguyên.
Hình Q.7 tóm tắt các hướng dẫn đa phương tiện SIMD được tìm thấy trong máy tính
gần đây.
Advanced Computer Architecture – 2011B Embedded Systems
16
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
DSP cũng cung cấp các hoạt động được tìm thấy trong ba hàng đầu tiên của hình Q.7,
nhưng họ thay đổi ngữ nghĩa một chút. Đầu tiên, bởi vì họ thường được sử dụng trong
các ứng dụng thời gian thực, có không phải là một lựa chọn gây ra một ngoại lệ tràn số
học (nếu không nó có thể bỏ lỡ một sự kiện), do đó, kết quả sẽ được sử dụng không có
vấn đề gì các yếu tố đầu vào. Để hỗ trợ một môi trường không nhượng bộ, DSP kiến trúc
sử dụng số học bão hòa: Nếu kết quả là quá lớn, nó được thiết lập với số lượng biểu diễn
lớn nhất, tùy thuộc vào dấu của kết quả. Ngược lại, số học bổ sung của hai người có thể
thêm một số lượng nhỏ tích cực để tích cực lớn.

3. Tiêu chuẩn về nhúng
Nó được sử dụng phải là trường hợp chỉ là một vài năm trước đây trong thị trường
nhúng, nhiều nhà sản xuất trích dẫn Dhrystone hiệu suất, một chuẩn mực đã bị chỉ trích
và đưa ra bởi các hệ thống máy tính để bàn cách đây hơn 20 năm!Như đã đề cập trước
đó, sự đa dạng rất lớn trong các ứng dụng nhúng, cũng như sự khác biệt về yêu cầu thực
Advanced Computer Architecture – 2011B Embedded Systems
17
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
hiện (thời gian thực cứng, thời gian thực mềm, và hiệu suất tổng chi phí), làm cho việc sử
dụng một bộ tiêu chuẩn không thực tế.Trong thực tế, nhiều nhà thiết kế của các hệ thống
nhúng đưa ra các tiêu chuẩn phản ánh ứng dụng của họ, hoặc như là hạt nhân hay các
phiên bản độc lập của toàn bộ ứng dụng.
Đối với những ứng dụng nhúng có thể được đặc trưng bởi hiệu suất hạt nhân, thiết
lập tiêu chuẩn hóa tốt nhất của tiêu chuẩn dường như là một băng ghế dự bị-đánh dấu
thiết lập: Bộ vi xử lý nhúng EDN Benchmark Consortium (hoặc EEMBC, phát âm là

"embassy").Các tiêu chuẩn EEMBC thành sáu lớp (được gọi là "tiểu ban" trong cách nói
của EEMBC): công nghiệp / ô tô, người tiêu dùng, viễn thông, giải trí kỹ thuật số, mạng
(hiện đang trong phiên bản thứ hai của nó), và tự động hóa văn phòng (cũng là phiên bản
thứ hai của tiểu ban này).Hình D.8 cho thấy trong sáu lớp ứng dụng khác nhau, trong đó
bao gồm 50 tiêu chuẩn.
Mặc dù nhiều ứng dụng nhúng là nhạy cảm với hiệu suất của các hạt nhân nhỏ, hãy
nhớ rằng thường là hiệu suất tổng thể của toàn bộ ứng dụng (có thể là hàng ngàn dòng)
cũng rất quan trọng.Vì vậy, đối với nhiều hệ thống nhúng, các tiêu chí chuẩn EMBCC chỉ
có thể được sử dụng để đánh giá hiệu suất một phần.

4. Tính hiệu quả và tiêu thụ điện năng trong các quá trình xử lý tín hiệu của ứng
dụng nhúng
Chi phí và năng lượng thường được tối thiểu hóa và cũng quan trọng như hiệu quả
trong thị trường nhúng.Ngoài ra chi phí của mô-đun bộ xử lý (trong đó bao gồm chip giao
diện bất kỳ yêu cầu), bộ nhớ thường là phần tiếp theo tốn kém nhất của một hệ thống
Advanced Computer Architecture – 2011B Embedded Systems
18
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
nhúng.Không giống như một máy tính để bàn hoặc hệ thống máy chủ, hầu hết các hệ
thống nhúng không có lưu trữ thứ cấp, thay vào đó, toàn bộ ứng dụng phải nằm trong
hoặc FLASH hoặc DRAM.Bởi vì nhiều hệ thống nhúng, chẳng hạn như PDA và điện
thoại di động, bị hạn chế bởi chi phí và kích thước vật lý, số lượng bộ nhớ cần thiết cho
các ứng dụng là rất quan trọng.Tương tự như vậy, quyền lực thường là một yếu tố quyết
định trong việc lựa chọn một bộ xử lý, đặc biệt là đối với các hệ thống chạy bằng pin.
EEMBC EnergyBench cung cấp dữ liệu về lượng năng lượng bộ xử lý tiêu thụ trong
khi chạy các tiêu chuẩn hiệu suất của EEMBC.Một EEMBC chứng nhận Energymark số
điểm là một số liệu tùy chọn cho một nhà sản xuất thiết bị có thể chọn để cung cấp kết
hợp với điểm số chứng nhận cho hiệu suất thiết bị như là một cách để chỉ ra hiệu quả của
bộ xử lý thông qua điện năng và năng lượng.EEMBC đã tiêu chuẩn hóa về việc sử dụng
của môi trường LabVIEW của National Instruments phát triển đồ họa và phần cứng thu

thập dữ liệu để thực hiện EnergyBench.
Hình D.9 cho thấy hiệu quả tương đối cho mỗi oát của điện năng tiêu thụ.So sánh con
số này Hình D.10, mà lô nguyên liệu hiệu suất, và thông báo kết quả khác nhau như thế
nào.NEC VR 4122 có một lợi thế rõ ràng về hiệu suất trên mỗi oát, nhưng là thấp nhất
thực hiện bộ xử lý thứ hai!Từ quan điểm của tiêu thụ điện năng, VR NEC 4122, được
thiết kế cho các hệ thống dựa trên pin, đã chiến thắng.IBM PowerPC hiển thị sử dụng
hiệu quả năng lượng để đạt được hiệu suất cao của nó, mặc dù lúc 6 W điển hình, nó có lẽ
là không phù hợp cho hầu hết các thiết bị dựa trên pin.

5. Đa xử lý nhúng
Multiprocessors được phổ biến trong môi trường máy chủ, và một số multiprocessors
máy tính để bàn có sẵn từ các nhà cung cấp, chẳng hạn như Sun, Compaq và
Advanced Computer Architecture – 2011B Embedded Systems
19
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
Apple.Trong không gian nhúng, một số mục đích thiết kế đặc biệt, đã sử dụng
multiprocessors tùy chỉnh, bao gồm cả Sony Playstation 2 (xem Phần D.5).
Nhiều mục đích đặc biệt thiết kế nhúng bao gồm một bộ vi xử lý lập trình có mục
đích chung hoặc DSP với mục đích đặc biệt, máy chuyển trạng thái hữu hạn được sử
dụng cho dòng theo định hướng vào ra.Trong các ứng dụng khác nhau, từ đồ họa máy
tính và các phương tiện truyền thông xử lý cho viễn thông, phong cách của đa mục đích
đặc biệt này đang trở nên phổ biến.Mặc dù tương tác interprocessor trong các thiết kế này
được đánh giá cao regimented và tương đối đơn giản bao gồm chủ yếu là một kênh giao
tiếp đơn giản bởi vì phần lớn của thiết kế là cam kết silicon, đảm bảo rằng các giao thức
truyền thông giữa các bộ vi xử lý đầu vào / đầu ra và bộ xử lý có mục đích chungđúng là
một thách thức lớn trong thiết kế như vậy.
Gần đây, chúng ta đã thấy sự xuất hiện đầu tiên, trong không gian nhúng,
multiprocessors nhúng được xây dựng từ một số bộ xử lý có mục đích chung.Những
multiprocessors đã được tập trung chủ yếu vào viễn thông cao cấp và thị trường mạng,
nơi mà khả năng mở rộng là rất quan trọng.Một ví dụ của thiết kế như một là bộ vi xử lý

MXP được được thiết kế bởi Networks empowerTel để sử dụng trong các hệ thống voice-
over-IP. Bộ xử lý MXP bao gồm bốn thành phần chính:
- Giao diện dòng suối nối tiếp bằng giọng nói, bao gồm hỗ trợ để xử lý jitter
- Hỗ trợ cho định tuyến gói dữ liệu nhanh và tra cứu kênh
- Giao diện Ethernet hoàn chỉnh, bao gồm các lớp MAC
- Bốn MIPS32 R4000-vi xử lý lớp, mỗi với cache riêng của mình (tổng cộng 48 KB
hoặc 12 KB cho mỗi bộ vi xử lý)
Các bộ vi xử lý MIPS được sử dụng để chạy đáp ứng mã cho việc duy trì các kênh
voice-over-IP, bao gồm cả việc bảo đảm chất lượng dịch vụ, hủy bỏ tiếng vang, nén đơn
giản, và mã hóa gói tin.Kể từ khi mục tiêu là để chạy như suối giọng nói độc lập càng tốt,
đa là một giải pháp lý tưởng.
Bởi vì kích thước nhỏ của các lõi MIPS, toàn bộ các chip chỉ có các bóng bán dẫn
13.5M.Các thế hệ tương lai của chip được dự kiến sẽ xử lý các kênh thoại, cũng như xóa
tiếng vọng phức tạp hơn, phát hiện hoạt động bằng giọng nói, và nén phức tạp hơn.
Đa xử lý đang trở thành phổ biến trong lĩnh vực điện toán nhúng trong hai lý do
chính.Đầu tiên, các vấn đề tương thích phần mềm nhị phân gây hại cho máy tính để bàn
và hệ thống máy chủ, nhưng lại ít liên quan trong không gian nhúng.Thường thì phần
mềm trong một ứng dụng nhúng được viết từ đầu cho một ứng dụng hoặc có thay đổi lớn
(lưu ý rằng đây là cũng VLIW lý do được ưa chuộng trên superscalar trong việc song
song mức lệnh trong hệ thống nhúng).Thứ hai, các ứng dụng thường có song song, đặc
biệt là ở cao cấp của không gian nhúng.Ví dụ này song song tự nhiên rất nhiều trong các
Advanced Computer Architecture – 2011B Embedded Systems
20
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
ứng dụng như một hộp set-top, chuyển đổi một mạng lưới điện thoại di động (xem Phần
Q.7) hoặc một hệ thống trò chơi (xem Phần D.5).Các rào cản thấp hơn sử dụng song song
mức luồng cùng với bộ cảm nhận lớn hơn có mức chi phí chết (và do hiệu quả sử dụng
của silicon) là hàng đầu để áp dụng rộng rãi của đa trong không gian nhúng, như nhu cầu
ứng dụng phát triển nhu cầu hiệu suất hơn.
Phần 3: Case Study

1. Sony Playstation 2
Máy tính để bàn và máy chủ dựa trên hệ thống phân cấp bộ nhớ để giảm thời gian
truy cập trung bình đến dữ liệu tương đối tĩnh, nhưng trong các ứng dụng nhúng, dữ liệu
thường là dòng liên tục.Trong các ứng dụng như vậy có không gian địa phương, nhưng
thời gian địa phương là hạn chế hơn nhiều.Để cung cấp cho cái nhìn khác về hiệu năng
bộ nhớ ngoài máy tính để bàn, phần này sẽ đưa ra ví dụ bộ vi xử lý của Sony Playstation
2. Như chúng ta sẽ thấy, các dòng ổn định của đồ họa và âm thanh theo yêu cầu của trò
chơi điện tử dẫn đến một cách tiếp cận khác nhau để thiết kế bộ nhớ. Phong cách là băng
thông cao qua nhiều bộ nhớ độc lập dành riêng cho chúng.Hình D.11 cho thấy một sơ đồ
khối của Sony Playstation 2 (PS2). Không có gì đáng ngạc nhiên cho một máy chơi
game, có giao diện cho âm thanh, video, và máy nghe nhạc DVD. Đáng ngạc nhiên, có
hai tiêu chuẩn bus vào ra, USB và IEEE 1394, một khe cắm PCMCIA như tìm thấy trong
máy tính xách tay, và một modem. Những bổ sung này cho thấy rằng Sony đã có kế
hoạch lớn hơn cho PS2 ngoài trò chơi truyền thống. Mặc dù nó chỉ có bộ vi xử lý vào ra
(IOP) đơn giản là xử lý các thiết bị vào ra và giao diện điều khiển trò chơi, nó bao gồm
một bộ xử lý 34 MHz MIPS rằng cũng hoạt động như máy tính mô phỏng để chạy các trò
chơi cho Playstations của Sony trước đó. Nó cũng kết nối với một máy tính card âm
thanh tiêu chuẩn để cung cấp các âm thanh cho các trò chơi.
Vì vậy, một trong những thách thức đối với hệ thống bộ nhớ này trong ứng dụng
nhúng này là hoạt động như nguồn hoặc đích đến số lượng phong phú của các thiết bị vào
ra.Các nhà thiết kế đáp ứng thách thức này với hai PC800 (400 MHz) DRDRAM chip hai
kênh, cung cấp 32 MB dung lượng lưu trữ và bộ nhớ băng thông cao điểm 3,2 GB / giây.
Những gì còn lại trong hình về cơ bản hai chip lớn: Synth đồ họa và động cơ của cảm
xúc.
Advanced Computer Architecture – 2011B Embedded Systems
21
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH

Figure D.11: Block diagram of the Sony Playstation 2


Bộ tổng hợp đồ họa có các lệnh dựng hình từ động cơ trong những gì thường được
gọi là danh sách hiển thị.Đây là danh sách lệnh 32-bit phác họa hình dạng cho nơi đặt
chúng và màu sắc cũng như chú thích điền vào chúng.
Chip này cũng có phần băng thông cao nhất của phần mềm sử dụng DRAM nhúng
Synthesizer đồ họa, con chip chứa đầy đủ bộ đệm hình ảnh và có giao diện rộng 2048-bit-
để điền điểm ảnh mà không bị thắt nút cổ chai. DRAM nhúng này làm giảm đáng kể
băng thông d DRDRAM.Nó cho thấy một kỹ thuật phổ biến được tìm thấy trong các ứng
dụng nhúng:bộ nhớ riêng biệt dành riêng cho chức năng lưu trữ băng thông bộ nhớ lớn
cho toàn bộ hệ thống. Chip lớn còn lại là Emotion Engine, và công việc của nó là chấp
nhân đầu vào từ IOP và tạo ra danh sách hiển thị của hình ảnh game cho phép biến đổi
hình ảnh 3D trong thời gian thực. Một cái nhìn sâu sắc lớn hình Engine destion: Nói
chung, trong một trò chơi đua xe có tiền cảnh thay đổi liên tục và nền đối tượng thay đổi
trong các sự kiện, mặc dù nền có thể được hầu hết các màn hình. Điều này cho một phân
chia trách nhiệm.
CPU hoạt động với VPU0 là một bộ đồng xử lý chặt chẽ, trong đó tất cả các lệnh
VPU0 là lệnh bộ đồng xử lý MIPS tiêu chuẩn, và các địa chỉ được tạo ra bởi CPU của
MIPS.VPU0 được gọi là một bộ xử lý vector, nhưng nó là tương tự như các phần mở
rộng 128-bit SIMD cho đa phương tiện được tìm thấy trong một số bộ vi xử lý máy tính
để bàn (xem Phần D.2). VPU1, ngược lại, lấy hướng dẫn riêng của mình và các dữ liệu
và các hành vi song song với CPU/VPU0, hành động giống như một đơn vị vector truyền
Advanced Computer Architecture – 2011B Embedded Systems
22
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
thống. Với phân chia này, các CPU/VPU0 linh hoạt xử lý các hành động nền trước và
VPU1 xử lý nền. Cả hai tiền gửi kết quả danh sách hiển thị giao diện đồ họa để gửi danh
sách đến bộ tổng hợp đồ họa. Vì vậy, các lập trình viên của Emotion Engine có ba bộ vi
xử lý bộ để lựa chọn để thực hiện các chương trình của họ: MIPS 64-bit truyền thống
kiến trúc bao gồm một đơn vị số dấu phẩy động, kiến trúc MIPS mở rộng với các lệnh đa
phương tiện (VPU0), và một bộ xử lý vector độc lập (VPU1). Để tăng tốc giải mã MPEG,
có một đồng vi xử lý khác(Image Processing Unit) mà có thể hoạt động độc lập.

Với phân chia chức năng này, câu hỏi sau đó là làm thế nào để kết nối các đơn vị với
nhau, làm thế nào để làm cho luồng dữ liệu giữa các đơn vị, và làm thế nào để cung cấp
băng thông bộ nhớ cần thiết cho tất cả các đơn vị này.Như đã đề cập trước đó, Emotion
Công cụ thiết kế đã chọn những ký ức nhiều chuyên dụng.CPU có một bộ nhớ 16 KB
đệm đầu (SPRAM) Ngoài việc bộ nhớ cache lệnh 16 KB và bộ nhớ cache dữ liệu 8 KB.
VPU0 có bộ nhớ lệnh 4 KB và 4 KB bộ nhớ dữ liệu, và VPU1 có bộ nhớ lệnh 16 KB và
16 KB bộ nhớ dữ liệu.Lưu ý rằng đây chỉ có bốn bộ nhớ, không lưu trữ của bộ nhớ lớn
hơn các nơi khác.Trong bộ nhớ mỗi độ trễ chỉ là 1 chu kỳ đồng hồ.VPU1 có bộ nhớ nhiều
hơn VPU0 bởi vì nó tạo ra phần lớn các danh mục hiển thị, và bởi vì nó phần lớn hoạt
động độc lập.
Lập trình viên tổ chức tất cả bộ nhớ hai bộ đệm đôi, một cặp cho các dữ liệu DMA
đến và một cặp cho các dữ liệu DMA đi.Lập trình sau đó sử dụng bộ vi xử lý khác nhau
để chuyển đổi dữ liệu từ bộ đệm đầu vào bộ đệm đầu ra.Để giữ cho dữ liệu được chuyển
giữa các đơn vị, các lập trình viên tiếp theo thiết lập 10 kênh DMA, chăm sóc để đáp ứng
thời hạn thời gian thực cho việc thực hiện hiển thị hình ảnh thực tế của 15 khung hình
mỗi giây.
Hình D.12 cho thấy rằng tổ chức này hỗ trợ hai chế độ hoạt động: nối tiếp, nơi
CPU/VPU0 hoạt động như một tiền xử lý trên những gì để cung cấp cho VPU1 cho nó để
tạo ra cho đồ họa giao diện sử dụng bộ nhớ đệm là bộ đệm; và song song, nơi mà cả hai
CPU/VPU0 và VPU1 tạo các danh sách hiển thị. Danh sách hiển thị và bộ tổng hợp đồ
họa có nhiều nhận dạng bối cảnh để phân biệt các danh sách hiển thị song song để tạo ra
một hình ảnh thống nhất cuối cùng.Tất cả các đơn vị trong Emotion Engine được liên kết
bởi hầy hết bus 150 MHz, 128-bit. Để cung cấp băng thông lớn hơn, cũng có hai bus
chuyên dụng: 128 bit giữa CPU và VPU0 và 128-bit giữa VPU1 và giao diện Graphics.
Lập trình viên cũng có thể chọn bus để sử dụng khi thiết lập các kênh DMA.
Advanced Computer Architecture – 2011B Embedded Systems
23
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH

Nhìn rộng ra, nếu một nhà thiết kế máy chủ theo định hướng đã được đưa ra vấn đề,

chúng ta có thể nhìn thấy đường bus chung duy nhất với lưu trữ nhiều cache địa phương
và các cơ chế bộ nhớ cache chặt chẽ để duy trì tính nhất cho dữ liệu.Ngược lại,
Playstation 2 theo truyền thống của các nhà thiết kế nhúng và có ít nhất chín module bộ
nhớ riêng biệt.Để giữ cho dữ liệu chảy trong thời gian thực từ bộ nhớ để hiển thị, PS2 sử
dụng những bus bộ nhớ dung chung, bus chuyên dụng, và các kênh DMA.Sư
̣
truyền
thông là công việc của các lập trình viên, và với yêu cầu về dòng chảy liên tục từ bộ nhớ
chính để giao diện đồ họa và thời gian thực, lập trình viên cần điều khiển sư
̣
liên la
̣
c hoạt
động tốt cho ứng dụng này.
2. Sanyo VPC-SX500 Digital Camera
Một hệ thống nhúng rất quen thuộc là một máy ảnh kỹ thuật số.Ở đây chúng ta xem
xét dòng sản phẩm Sanyo VPC-SX500. Chiếc máy ảnh này sử dụng một silic đa tinh thể
nhiệt độ thấp 1,8-inch LCD TFT màu.Khi chụp ảnh,đầu tiên phải giữ chụp để bộ vi xử lý
có thể mất một đọc ánh sáng.Bộ vi xử lý sau đó giữ cho màn trập mở ra để có được ánh
sáng cần thiết, được chụp bởi một thiết bị charged-couple(CCD) là màu đỏ, xanh lá cây,
và màu xanh pixels. CCD là một 1/2-inch, 1360 × 1024 pixel, tiến bộ, quét con chip.Các
điểm ảnh được quét hàng bởi hàng và sau đó được truyền thông qua các thói quen cho
cân bằng trắng, màu sắc, và chỉnh sửa răng cưa, và sau đó được lưu trữ trong một bộ đệm
khung MB 4.Bước tiếp theo là để nén hình ảnh sang một định dạng tiêu chuẩn, chẳng hạn
như JPEG, và lưu trữ nó trong bộ nhớ Flash di động.Các nhiếp ảnh gia chọn nén, máy
ảnh này được gọi là hoặc tốt hoặc bình thường, với một tỷ lệ nén từ 10 đến 20 lần.Một bộ
nhớ Flash 512 MB có thể lưu trữ ít nhất là 1200 mỹ chất lượng nén hình ảnh hoặc khoảng
Advanced Computer Architecture – 2011B Embedded Systems
24
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH

2000 nén hình ảnh chất lượng bình thường.Các bộ vi xử lý sau đó cập nhật màn hình hiển
thị LCD để cho thấy rằng có chỗ cho hình ảnh ít.
Mặc dù đoạn trước bao gồm những điều cơ bản của một máy ảnh kỹ thuật số, có
nhiều tính năng hơn được bao gồm: hiển thị các hình ảnh ghi lại trên màn hình màu LCD,
chế độ ngủ để tiết kiệm pin, pin năng lượng giám sát, đệm để cho phép ghi âm một chuỗi
nhanh chóng củakhông nén hình ảnh trong máy ảnh này, quay video bằng cách sử dụng
định dạng MPEG và ghi lại âm thanh sử dụng định dạng WAV.
Bộ não điện tử của máy ảnh này là một máy tính nhúng với một số chức năng đặc
biệt được gắn trên chip [Okada et al. 1999].Hình D.13 cho thấy sơ đồ khối của một con
chip tương tự như một trong những máy ảnh.Như đã đề cập trong mục Q.1, chip như vậy
có được gọi là các hệ thống trên một chip (SOCs) bởi vì họ chủ yếu tích hợp vào một
chip duy nhất tất cả các bộ phận đã được tìm thấy trên một bảng mạch in của quá
khứ.SOC thường làm giảm kích thước và làm giảm sức mạnh so với các giải pháp ít tích
hợp.Sanyo đòi hỏi các SOC cho phép máy ảnh để hoạt động trên một nửa số pin và cung
cấp một yếu tố hình thức nhỏ hơn so với máy ảnh đối thủ cạnh tranh. Đối với hiệu suất
cao hơn, nó có hai us.Các bus 16-bit là chậm hơn nhiều các thiết bị I / O: giao diện Smart
Media, chương trình và dữ liệu bộ nhớ, và DMA.Các bus 32-bit cho SDRAM, bộ xử lý
tín hiệu (được kết nối với CCD), các bộ mã hóa Motion JPEG, và mã hóa các NTSC /
PAL (được kết nối với màn hình LCD).Không giống như bộ vi xử lý máy tính để bàn, lưu
ý sự đa dạng lớn của xe buýt I / O chip này phải tích hợp.32-bit RISC MPU là một thiết
kế độc quyền và chạy ở mức 28,8 MHz, tốc độ đồng hồ tương tự như các xe bus.700 mW
con chip này chứa các bóng bán dẫn 1.8m trong 10,5 × 10,5 mm chết thực hiện bằng cách
sử dụng một quá trình 0,35-micron.

Advanced Computer Architecture – 2011B Embedded Systems
25
Nguyễn Thị Minh – CB110185 – 2011B.CNTT-KH
Figure D.13: The system on a chip (SOC) found in Sanyo digital cameras
Mặc dù máy chơi game và máy ảnh kỹ thuật số là những hệ thống nhúng quen thuộc,
hiện nay các hệ thống nhúng quen thuộc nhất là điện thoại di động.Năm 1999, đã có 76

triệu thuê bao di động tại Hoa Kỳ, tốc độ tăng trưởng 25% so với năm trước.Đó là tốc độ
tăng trưởng gần 35% mỗi năm trên toàn thế giới, như các nước đang phát triển tìm thấy
nó rẻ hơn nhiều để cài đặt các tháp di động hơn so với dây đồng dựa trên cơ sở hạ
tầng.Như vậy, ở nhiều nước, số lượng điện thoại di động được sử dụng vượt quá số lượng
điện thoại có dây sử dụng.
Không có gì đáng ngạc nhiên, thị trường thiết bị cầm tay di động đang tăng trưởng ở
mức 35% mỗi năm, với khoảng 280 triệu thiết bị cầm tay điện thoại di động được bán
vào năm 1999. Để đặt rằng trong quan điểm, trong cùng một doanh số bán hàng năm của
máy tính cá nhân là 120 triệu. Những con số này có nghĩa là các nguồn lực kỹ thuật to
lớn để cải thiện điện thoại di động, và điện thoại di động có thể là các nhà lãnh đạo trong
đổi mới kỹ thuật trên mỗi inch khối [Grice và Kanellos 2000].
3. The Cell Phone
Hình D.15 cho thấy các thành phần của một đài phát thanh, mà là lõi chính là điện
thoại di động.Tín hiệu radio đầu tiên nhận được ăng-ten, khuếch đại, thông qua thông qua
một máy trộn, sau đó lọc, giải điều chế, và cuối cùng đã được giải mã.Ăng-ten các hành
vi như giao diện giữa các phương tiện truyền thông thông qua sóng radio đi du lịch và các
thiết bị điện tử của máy phát hoặc thu.Các ăng-ten có thể được thiết kế để làm việc tốt
nhất theo các hướng cụ thể, cho cả truyền tải và tài sản tiếp nhận hướng.Điều chế mã hóa
thông tin trong biên độ, giai đoạn, hoặc tần số của tín hiệu để tăng sức mạnh của nó trong
điều kiện suy giảm.Thiết bị phát đi thông qua các bước tương tự, chỉ trong thứ tự ngược
lại.
Ban đầu, tất cả các thành phần tương tự, nhưng theo thời gian đã được thay thế bởi
các thành phần kỹ thuật số, yêu cầu các tín hiệu vô tuyến để được chuyển đổi từ analog
sang kỹ thuật số.Mong muốn cho sự linh hoạt về số lượng của các dải radio đã dẫn đến
thói quen phần mềm thay thế một số các chức năng này trong các chip lập trình, chẳng
hạn như xử lý tín hiệu kỹ thuật số.Bởi vì bộ vi xử lý như vậy thường được tìm thấy trong
các thiết bị di động, nhấn mạnh được đặt trên hiệu suất mỗi Jun để kéo dài tuổi thọ pin,
hiệu suất trên mỗi milimet vuông của silic để giảm kích thước và chi phí, và byte mỗi
nhiệm vụ để giảm kích thước bộ nhớ.

×