1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống nhúng Embedded-Systems

29 377 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 1,18 MB

Nội dung

Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems Hệ thống nhúng Embedded-Systems

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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)…

Trang 7

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

Trang 8

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ố

Trang 9

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),

Trang 10

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:

Đầ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 214

, 211, (214 + 211 + 23 ) 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 2n-1 chúng ta đưa ra một kết quả tương tự

Trang 11

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à

Trang 12

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ạ

Trang 13

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

Trang 14

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

Ngày đăng: 02/05/2015, 19:17

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w