Bộ xử lý Internet kết nối vạn vật (IoT) – Câu hỏi khó cho các nhà cung cấp
Diễn đàn - Ngày đăng : 18:02, 03/07/2019
Internet kết nối vạn vật (IoT) và điện toán cạnh (edge computing) đã và đang làm gia tăng sự phổ biến của thiết bị được kết nối, các sản phẩm có hàng loạt chức năng và khả năng mở rộng cao. Điều này đã làm tăng mức độ phức tạp trong các sản phẩm mà các kỹ sư thiết kế phải thực hiện. Sự phức tạp càng trở nên đặc biệt rõ ràng khi lựa chọn tài nguyên xử lý từng thiết bị này.
Vấn đề là các kỹ sư không phải chỉ đáp ứng nhiều nhu cầu thiết kế phức tạp – ví dụ như thiết bị phải hoạt động với năng lượng thấp và hiệu suất cao - mà họ còn phải sử dụng một loạt các tùy chọn xử lý.
Thật không may, đối với thiết kế bộ xử lý và công nghệ trong kỷ nguyên của IoT, một kích thước không bao giờ phù hợp với tất cả các thiết bị. Tất cả các thiết bị trong mạng thực hiện một số nhiệm vụ cơ bản và phổ quát nhất định mà các hệ thống xử lý đơn, đa mục đích có thể xử lý. Điều đáng chú ý là IoT hiện yêu cầu các chip có thể thực hiện các tác vụ chuyên biệt, như học máy, nhận dạng giọng nói hoặc cử chỉ và bảo mật. Những nhu cầu này đã khiến các nhà thiết kế chuyển sang một lớp máy gia tốc đang phát triển. Nhu cầu thị trường làm phức tạp thêm nhiệm vụ của nhà thiết kế, yêu cầu chu kỳ phát triển ngắn và ít chi phí phát triển hơn khiến quá trình lựa chọn bộ xử lý trở nên quan trọng.
So sánh bộ xử lý đơn mục đích với bộ xử lý đa chức năng
Một trong những quyết định đầu tiên mà một nhà thiết kế thiết bị IoT phải đưa ra là nên tạo ra một hệ thống bằng cách sử dụng bộ sưu tập chip dành riêng cho chức năng hay một chip đơn tích hợp nhiều chức năng.
Mặc dù một con chip dành riêng cho chức năng có thể làm tăng không gian và chi phí vật liệu (BOM), phương pháp này mang lại một số lợi thế. Bằng cách giữ các chức năng ứng dụng tách biệt với các tác vụ chuyên biệt, nhà phát triển giảm thiểu độ phức tạp của mã. Việc tích hợp hai phần mềm có thể là một thách thức, đặc biệt là với thiết kế lõi đơn.
Cách tiếp cận này cũng cho phép truy cập vào các bộ tính năng phong phú. Các sản phẩm nhúng các tác vụ chuyên dụng và các tính năng đa năng thường đi kèm với ít tùy chọn hơn vì kích thước bộ nhớ và các thiết bị ngoại vi. Tách ứng dụng và chức năng cụ thể có nghĩa là nhà phát triển tránh các vấn đề thời gian thực, chẳng hạn như xung đột giữa việc chạy động cơ và xử lý ngăn xếp Wi-Fi.
Mặt khác, một cách tiếp cận chip đa chức năng rõ ràng chiếm không gian bảng mạch in nhỏ nhất (printed circuit board - PCB) và có thể có chi phí thấp hơn. Do đó, nó rất phù hợp cho các ứng dụng đơn giản nhắm mục tiêu chi phí thấp nhất và tích hợp.
Một giải pháp cho vấn đề nan giải này có thể liên quan đến kỹ thuật ngăn cách các chức năng. STMicroelectronics sử dụng phương pháp này trong bộ vi điều khiển không dây (MCU) STM32WB. Với sản phẩm này, ST đã xây dựng một loạt MCU đa lõi và đã chặn được tường lửa MCU kết nối để bảo vệ nó khỏi bị gián đoạn từ bộ xử lý ứng dụng.
Mô-đun cảm biến IoT của STMicroelectronics, bao gồm một bộ vi điều khiển 80 MHz, cũng như một loạt các cảm biến MEMS. Để quản lý tốt hơn khối lượng dữ liệu cảm biến mà bộ xử lý phải xử lý, thiết bị hỗ trợ các chức năng nâng cao như hợp nhất dữ liệu cảm biến và nhận dạng hoạt động thời gian thực dựa trên gia tốc kế. Hình ảnh từ STMicroelectronics.
Renaud Bouzereau, giám đốc marketing cho các sản phẩm hiệu suất cao STM32, bộ vi điều khiển của STMicroelectronics cho biết: “cấu trúc lõi kép này cho phép thực thi đồng thời hai phần mềm và cung cấp sự linh hoạt cao hơn cho các nhóm phần mềm phát triển từng chức năng”.
Tìm kiếm sự cân bằng năng lượng
Do sự phổ biến của các thiết bị đeo trên thiết bị di động và hoạt động từ xa, hiệu quả sức mạnh có ý nghĩa đặc biệt trong phát triển sản phẩm IoT, thường xác định các khía cạnh chính của các thông số kỹ thuật của bộ xử lý hệ thống.
Cải thiện thiết kế bộ xử lý năng lượng hiệu quả thường đi kèm với chi phí hiệu năng, khu vực chết hoặc cả hai. Các yếu tố cơ bản nhất ảnh hưởng đến việc lựa chọn bộ xử lý tiết kiệm năng lượng cho một tác vụ hoặc ứng dụng nhất định bao gồm cấu trúc tập lệnh và tốc độ xung nhịp.
“Thiết kế tập lệnh phức tạp, như Intel x86, sử dụng nhiều lệnh phức tạp và nhiều phần cứng hơn so với thiết kế tập lệnh giảm (RISC) như ARMv8” theo Nihaar Mahatme, trưởng nhóm công nghệ ngành kinh doanh vi điều khiển tại công ty bán dẫn NXP. Phần cứng được đơn giản hóa của chip RISC đòi hỏi ít bóng bán dẫn hơn, giảm mức tiêu thụ điện năng. Điều này đã làm cho chip ARM trở nên phổ biến cho các thiết bị di động chạy bằng pin và thiết bị đeo, trong khi bộ xử lý x86 hiệu suất cao hơn và phù hợp hơn cho máy tính cá nhân, máy tính xách tay và máy chủ.
Đối với một thiết kế vi mô nhất định, rất nhiều sự đánh đổi giữa sức mạnh và hiệu suất được thực hiện thông qua các lựa chọn như độ sâu đường ống của bộ xử lý, thực hiện không theo thứ tự, kích thước của dữ liệu bus, kiến trúc đa lõi, tần số hoạt động và bộ nhớ hệ thống cấp bậc. Mỗi tùy chọn này đòi hỏi một sự trao đổi cẩn thận giữa sức mạnh, hiệu suất và khu vực.
Các nhà thiết kế cũng nên nhận ra rằng nhiều thiết bị IoT yêu cầu hiệu năng nổi bật, điều này phụ thuộc vào việc thực hiện chế độ ngủ. Trong những điều kiện này, dòng rò sẽ trở thành một vấn đề vì nó làm lãng phí năng lượng.
Paul Washkewicz, đồng sang lập và phó chủ tịch marketing của Eta Compute cho biết: “khu vực thường bị bỏ qua là dòng rò vì nhiều thiết bị IoT thường ngủ, do đó dòng rò chiếm ưu thế. Trên thực tế, đồng hồ thời gian thực bị chi phối hoàn toàn bởi dòng rò và thường là chức năng chính luôn được bật để giữ cho thiết bị IoT được đồng bộ hóa. Thông thường, mức tăng sẽ đạt được từ 90nm đến 40nm cho SoC [hệ thống trên chip] để có được hiệu suất cao hơn hoặc thu hẹp điểm chết vì chi phí khóa SoC khỏi thị trường bị chi phối bởi dòng điện rò rỉ”.
Các nhà thiết kế tìm kiếm hiệu quả năng lượng lớn phải xem xét phần tiêu tán năng lượng vì nó thay đổi theo nền tảng xử lý được sử dụng.
“Sự phân tán của năng lượng rất quan trọng trong các ứng dụng dựa trên bộ vi xử lý bởi vì mức tiêu thụ năng lượng cao hơn nhiều so với hầu hết các MCU” Bouzereau nói. “Tuy nhiên, trên các MCU có hiệu suất cao, việc tiêu thụ năng lượng trở nên quan trọng và đòi hỏi sự chú ý nhiều hơn từ nhà phát triển. Điểm mấu chốt là nhiệt độ giao nhau tối đa và cách đóng gói có thể giúp làm tan năng lượng này”.
Các nhà phát triển có một số kỹ thuật để giảm thiểu ảnh hưởng của tản điện. Họ có thể hạn chế năng lượng bên trong chip bằng cách giới hạn tần số hoạt động và hoạt động của chip (hoạt động ngoại vi) và bằng cách tận dụng các chế độ năng lượng thấp giữa các giai đoạn xử lý cao.
Các nhà thiết kế cũng có thể chọn một bộ xử lý công suất cực thấp và một gói có khả năng chịu nhiệt thấp hơn. Ngoài ra, họ có thể cải thiện khả năng tiêu tán năng lượng của gói bằng cách sử dụng tản nhiệt hoặc lưu thông không khí, nhưng mọi thứ trở nên khó khăn hơn khi bộ xử lý nằm trong vỏ kín.
Tiêu chuẩn công suất
Một cách để theo dõi và so sánh các mục tiêu tiêu thụ năng lượng và hiệu suất của bộ xử lý là điểm chuẩn EEMBC CoreMark, giúp các nhà thiết kế bảng và hệ thống so sánh hiệu quả năng lượng. Điểm chuẩn đo lường hiệu suất của vi điều khiển và CPU được triển khai trong các hệ thống nhúng bằng các thuật toán sau:
- xử lý danh sách (tìm và sắp xếp);
- thao tác ma trận (hoạt động ma trận phổ biến);
- máy nhà nước; và
- kiểm tra dự phòng chu kỳ (CRC).
Thuật toán CRC cung cấp một khối lượng công việc thường thấy trong các ứng dụng được nhúng và đảm bảo hoạt động chính xác của điểm chuẩn CoreMark, về cơ bản nó hoạt động như một cơ chế tự kiểm tra. Quá trình này thực hiện CRC 16 bit trên dữ liệu chứa trong các thành phần của danh sách được liên kết để xác minh hoạt động chính xác. Hệ thống được thiết kế để chạy trên các thiết bị từ bộ vi điều khiển tám bit đến bộ vi xử lý 64 bit.
Hỗ trợ Trí tuệ nhân tạo
Mối quan hệ giữa tiêu thụ năng lượng và triển khai trí tuệ nhân tạo (AI) sẽ đặt ra nhiều thách thức hơn cho các nhà phát triển IoT. Ở đây, một lần nữa, không có thiết kế bộ xử lý hoặc công nghệ nào phù hợp với tất cả các trường hợp sử dụng.
Hầu hết các ứng dụng IoT hỗ trợ AI nhằm mục tiêu nhận dạng và phản hồi giọng nói, phân loại hình ảnh, theo dõi các tính năng video và xử lý dữ liệu cảm biến để phân tích các mẫu hành vi. Mỗi ứng dụng này có thể có các yêu cầu khác nhau về hiệu suất, độ trễ phản hồi và sức mạnh.
“Nội dung cơ bản phổ biến cho tất cả các hệ thống là chúng yêu cầu các đơn vị logic số học hoặc các đơn vị tích lũy nhân (MAC) để thực hiện các phép toán số học, cũng như một lượng lớn bộ nhớ trên chip hoặc chip ngoài để giữ dữ liệu đầu vào và kết quả tính toán trung gian”, Mahatme của NXP nói. “Số lượng MAC cao hơn tương ứng với hiệu suất cao hơn. Điều này phải được bổ sung với loại phân cấp bộ nhớ phù hợp để đảm bảo rằng các thành phần xử lý không bao giờ bị thiếu dữ liệu hoặc bị giới hạn băng thông. Thông thường, một hỗn hợp đúng của RAM trên chip phân cấp, bộ nhớ được liên kết chặt chẽ và DRAM được sử dụng để quản lý hiệu suất và giảm thiểu mức tiêu thụ điện năng do truy cập bộ nhớ”.
Ngoài các yếu tố này, các nhà thiết kế nên lưu ý rằng phần mềm đóng vai trò quan trọng trong cách lập trình phần tử xử lý. Các giao diện lập trình ứng dụng linh hoạt (API) đơn giản hóa việc triển khai và tối ưu hóa các mô hình ML trên phần cứng khác nhau, đặc biệt là các mô hình được xây dựng trên các khung khác nhau, chẳng hạn như TensorFlow, Caffe và Pytorch.
Một trong những sự đánh đổi lớn nhất mà một nhà thiết kế phải đưa ra là quyết định sử dụng máy gia tốc cố định hoặc máy lập trình. Một trường hợp có thể được thực hiện cho một trường hợp khác, tùy thuộc vào phân khúc.
“Tuy nhiên, đối với hàng trăm ngàn ứng dụng trong các thiết bị nhỏ, bị hạn chế về năng lượng, điều tốt nhất là có khả năng lập trình cùng với bất kỳ máy gia tốc nào để nhắm mục tiêu vào nhiều ứng dụng của IoT” theo ông Washkewicz.
Từ dữ liệu cảm biến đến việc ra quyết định theo thời gian thực
Việc chuyển đổi dữ liệu cảm biến thời gian thực mang đến sự xung đột giữa các nhu cầu cạnh tranh về hiệu quả năng lượng, hiệu suất cao, triển khai AI và chi phí. Khối lượng lớn dữ liệu đang được tạo ra từ các cảm biến trong các thiết lập phân tán như thành phố thông minh, nhà máy công nghiệp và xe tự lái. Để đáp ứng thời gian thực nhanh, các nhà phát triển đang chuyển sang tính toán cạnh. Điều này làm tăng tài nguyên tính toán trong các nút cạnh. Do đó, phần cứng phải được bổ sung với hệ điều hành thời gian thực và phần mềm phản hồi nhanh để xử lý nhanh chóng các sự cố.
Để liên tục thay đổi dữ liệu cảm biến thời gian thực, ML cũng sẽ yêu cầu học nhanh vì các hệ thống thời gian thực không thể triển khai và bị quên lãng. Đối với khả năng thích ứng này, các tính năng phần cứng và phần mềm mới có thể được cập nhật hoặc cấu hình lại cho suy luận học máy. Với số lượng lớn dữ liệu được tạo từ nhiều nguồn, việc trích xuất vừa đủ thông tin cần thiết để thực hiện nhiệm vụ AI đã cho là rất quan trọng để giảm thiểu thời gian và năng lượng dành cho xử lý thông tin dư thừa. Các tính năng như vậy được tích hợp vào máy gia tốc tùy chỉnh ngày nay.
Khi chọn thiết kế bộ xử lý phù hợp cho các hệ thống như vậy, một số cân nhắc chính bao gồm loại thuật toán lập lịch và ảnh hưởng của chúng đến hiệu năng hệ thống, cách mà bộ xử lý ưu tiên và phản ứng với việc ngắt điện và các ràng buộc khác nhau đối với các lịch ngắt điệnh có mức độ ưu tiên khác nhau.
“Một số nhà phát triển thách thức khả năng của các hệ thống xử lý kỹ thuật số hiện tại để xử lý các thách thức phản ứng nhanh. Hầu hết các hệ thống số hóa và yêu cầu bus tốc độ cao sẽ không thể thực hiện vì các vấn đề về độ trễ”, David Schie, CEO của AIStorm nói. “Hầu hết các hệ thống kỹ thuật số sẽ không thể thực hiện quyết định thời gian thực tốc độ cao vì chúng không có thông tin về dữ liệu cảm biến cho đến khi được số hóa và truyền đến hệ thống AI, đến lúc quá muộn để ra quyết định bỏ bớt dữ liệu”.
Giải pháp thay thế tương tự
Điểm mấu chốt của thách thức này nằm ở sự tranh cãi rằng thế hệ máy gia tốc chuyên dụng hiện tại không đủ khả năng xử lý thời gian thực, tiêu thụ điện năng thấp và chi phí thấp để sử dụng AI trong nhiều ứng dụng IoT. Theo thách thức, giải pháp là loại bỏ hoặc giảm thiểu số hóa bằng cách xử lý dữ liệu đầu vào từ các cảm biến tương tự.
Các nhà sản xuất chip nhận ra rằng bằng cách áp dụng điện toán tương tự, cả xử lý tương tự và trong bộ nhớ đều tránh được các phép toán nhân số học có trọng số nhị phân thiếu năng lượng mà các máy gia tốc ML thông thường cần. Tuy nhiên, họ có mối quan tâm về cách tiếp cận.
Mahatme cho biết, “cả hai xử lý tương tự và bộ nhớ trong sẽ được chào đón để học máy tiết kiệm năng lượng. Tuy nhiên sự phụ thuộc vào lưu trữ dựa trên chi phí cụ thể, các yếu tố ghi nhớ hoặc điện trở, giới hạn khả năng ứng dụng của chúng đối với một số công nghệ nhất định. Xử lý tương tự đòi hỏi các bộ khuếch đại cảm giác, A/D và D/A để xử lý và giao tiếp với phần còn lại của chip, làm cho nó có khả năng mở rộng ít hơn. Thứ hai, truyền thông kỹ thuật số đến và từ các kiến trúc này vẫn sẽ tiêu thụ năng lượng”.
Mahatme nói rằng sự quan tâm đến giải pháp thay thế đang tăng lên, nhưng có thể đã có từ vài năm trước khi các thiết bị IoT gặt hái được những lợi ích.