Chương 1. Hệ thống trên một vi mạch Chương này giới thiệu khái quát về một hệ thống trên vi mạch, đặc điểm của một hệ thống trên một phiến tinh thể, tiếp đến là các vấn đề truyền thông bên trong vi mạch từ đó đi đến giới thiệu lý do chuyển từ mô hình hệ thống trên chip thông thường sang mô hình mạng trên chip. Cuối cùng là giới thiệu về quy trình thiết kế hệ thống trên vi mạch. Giới thiệu về hệ thống trên vi mạch Ngày nay, đi liền với sự phát triển công nghệ bán dẫn là công nghệ thiết kế và chế tạo vi mạch đã cho phép tích hợp cả một hệ thống hoàn chỉnh lên trên một phiến tinh thể (silicon).
Với ý tưởng ban đầu là tích hợp tất cả các thành phần của một hệ thống máy tính hay một hệ thống điện tử khác trên một vi mạch đơn (chip đơn). Nhưng không lâu sau, hệ thống trên chip (SoC: System-on-Chip) đã được mở rộng, nó không chỉ đơn thuần là một hệ thống máy tính hay một hệ thống điện tử mà hệ thống tích hợp trên chip có thể bao gồm các lõi vi xử lý (processor) hoặc các khối xử lý tín hiệu số (Digital Signal Processor), các khối nhớ (RAM, ROM, Flash…), các giao tiếp mở rộng (USB, SPI, Ethernet, Bluetooth…), các bộ mã hóa và giải mã, các bộ chuyển đổi ADC và DAC, hệ thống BUS, các khối điều chỉnh điện thế và quản lý năng lượng của nguồn… kể cả các khối tần số radio (RF: Radio Frequency) [12]. Các khối chức năng này còn được gọi là các lõi IP (Intellectual Property).1 là mô hình một hệ thống trên vi mạch. Theo dự đoán ITRS1 (2009), trong thập kỷ tới độ phức tạp của hệ thống trên chip (SoC) sẽ tiếp tục tăng nhanh để có thể đáp ứng yêu cầu ngày càng cao của các ứng dụng.
SoC có thể tích hợp được hàng trăm, hay thậm chí nhiều hơn, lõi IP trên một chip đơn. Thiết kế SoC ở quy mô này được bắt đầu từ các thành phần đã được thiết kế sẵn, ví dụ như các bộ xử lý, bộ điều khiển và mảng bộ nhớ. Phương pháp thiết kế tái sử dụng các lõi IP trở thành phương pháp thiết kế SoC phổ biến nhằm rút ngắn thời gian đưa sản phẩm ra thị trường (time-to-market) [6]. Với phương pháp này, yếu tố quyết định lớn nhất sẽ được đề cập đó là sự phối hợp truyền thông giữa các thành phần.
Việc thiết kế kiến trúc truyền thông trên chip đòi hỏi phải đáng tin cậy, năng 1 International Technology Roadmap for Semicondutors LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - 4- lượng thấp và thực thi cao. Vấn đề kết nối sẽ trở thành yếu tố hạn chế với các mục tiêu đề ra.1: Hệ thống trên vi mạch [13]. Các vấn đề truyền thông bên trong chip Như đã trình bày ở trên, hệ thống trên chip tích hợp các khối chức năng có sẵn nên việc thiết kế SoC đã trở lên đơn giản hơn nhiều, người thiết kế chỉ việc tích hợp các lõi và thiết lập sự truyền thông giữa chúng. Vì vậy, phương pháp thiết kế mang lại hiệu quả cao, rút ngắn chu kỳ thiết kế và góp phần làm giảm giá thành thiết kế.
Tuy nhiên, với hệ thống tích hợp nhiều lõi IP (các lõi này hoạt động song song và độc lập nhau) sẽ nảy sinh một số vấn đề trong truyền thông trên chip như trễ lan truyền trên dây và trên các cổng logic, vấn đề về truyền thông cục bộ và toàn cục, rồi vấn đề về hiệu suất hoạt động,… Độ trễ: Khi công nghệ thiết kế chip ngày càng phát triển, kích thước tăng, độ tích hợp ngày càng cao và các ứng dụng đòi hỏi đáp ứng thời gian thực thì vấn đề độ trễ lại trở lên hết sức quan trọng [4]. Vì vậy, đòi hỏi người thiết kế phải giải quyết các vấn đề liên quan đến độ trễ đáp ứng trên các dây dẫn (cục bộ và toàn cục) và trên các cổng logic. Trong đó, trễ trên các cổng logic thường rất nhỏ còn trễ trên đường dây là rất lớn. Trong các trễ trên dây dẫn lại có sự khác biệt khá lớn giữa dây dẫn cục bộ (là trễ trên dây dẫn nối bên trong lõi IP) và dây dẫn toàn cục (là trễ trên các dây nối các lõi IP với nhau).
Hơn nữa, trong cùng hệ thống thì độ trễ trên các dây nối lõi IP gần và LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - 5- IP xa là khác nhau. Vì vậy, các nhà thiết kế cần phải tìm giải pháp để giải quyết vấn đề về độ trễ. Đồng bộ toàn cục: Vì quá trình xử lý trong chip được chia nhỏ thành các xử lý bên trong các lõi IP mà các lõi IP này hoạt động song song và độc lập với nhau (mỗi lõi IP hoạt động ở một xung clock riêng) nên để đạt được sự đồng bộ toàn cục giữa các xung clock của các lõi IP với nhau là rất khó. Chính vì vậy, người ta nghĩ ra một giải pháp mới gọi là hệ thống GALS (Globally Asynchronous - Locally Synchronous: đồng bộ cục bộ - dị bộ toàn cục).
Với giải pháp này, mỗi lõi IP trong hệ thống làm việc với một xung clock riêng và đồng bộ cục bộ trong lõi, còn khi ra khỏi lõi, các lõi IP làm việc với nhau thông qua các phương thức bắt tay (handshaking) hay hỏi/đáp mà không liên quan đến các xung clock. Nhờ có giải pháp này mà việc xây dựng các hệ thống lớn hơn, với nhiều lõi IP làm việc với nhiều xung clock riêng sẽ trở lên dễ dàng hơn. Xuất phát từ những lý do trên tạo nên xu hướng thiết kế chia nhỏ các khối xử lý thành các khối con độc lập nhằm giảm chu kỳ thiết kế. Điều này giúp cho việc kiểm tra các khối trở lên dễ dàng hơn.
Đặc biệt là kiểm tra ở mức trìu tượng thấp của các lõi IP, ở mức trìu tượng cao của cả hệ thống hay kết hợp cả hai. Khi làm việc ở mức trìu tượng cao người thiết kế thực hiện các thao tác linh hoạt hơn, uyển chuyển hơn ở mức trìu tượng thấp. Vì thế, trong thiết kế SoC gồm nhiều lõi IP người thiết kế không chỉ quan tâm đến vấn đề truyền thông trong lõi mà còn quan tâm đến cả truyền thông toàn cục, vậy nên phương pháp thiết kế hệ thống trên chip được chuyển đổi từ thiết kế tập trung sang xử lý đồng thời tại các lõi IP. Tóm lại, việc thiết kế một hệ thống được chia nhỏ thành các mô đun và được chuyên môn hóa.
Từ đó, ta chỉ cần xây dựng kết nối giữa các mô đun và tạo lên sự truyền thông giữa chúng. Từ hệ thống trên chip đến mạng trên chip Từ khi khái niệm hệ thống trên chip (SoC) được ra đời thì vấn đề truyền thông cũng dần được giải quyết. Các cấu trúc truyền thông của hệ thống trên chip có thể là cấu trúc liên kết điểm-điểm (point to point), cấu trúc bus hoặc là kết hợp cả hai cấu trúc đó (Hình 1. Trong đó, cấu trúc liên kết điểm-điểm đơn giản chỉ là nối dây trực tiếp giữa các lõi IP với nhau để tạo sự liên lạc giữa chúng.
Với cấu trúc này cho phép sử dụng tối đa tài nguyên băng thông (bandwith), độ trễ đáp ứng thấp và rất đơn giản trong thiết kế, cũng như kiểm tra hay mô hình hóa. Tuy nhiên, khi tăng số lõi IP trên SoC thì số đường liên kết sẽ tăng theo cấp số mũ. Chính vì vậy mà nảy sinh vấn đề về không gian thực thi chip và vấn đề định tuyến các kết nối khi thực thi layout. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - 6- CPU I/O Memory I/O CPU Memory I/O Memory BUS CPU Memory Memory I/O I/O Memory CPU I/O DSP CPU a.
Cấu trúc liên kết điểm-điểm b. Cấu trúc bus c. Cấu trúc mạng Hình 1.2: Cấu trúc truyền thông trên chip. Để khắc phục các nhược điểm của kết nối điểm-điểm người ta thường kết nối theo kiểu bus, vì kết nối bus đem lại hiệu quả cao hơn và các thành phần trong hệ thống có thể chia sẻ chung kênh truyền thông.
Bên cạnh đó thì giá thành thực hiện kết nối bus thấp hơn, đơn giản hơn và dễ thực hiện hơn. Tuy nhiên, khi công nghệ thiết kế hệ thống phát triển (gồm nhiều lõi IP) thì kết nối theo kiểu bus bộc lộ một số hạn chế như: khi số đơn vị xử lý trên hệ thống tăng dẫn đến dung lượng truyền thông trên chip tăng và năng lượng sử dụng cho truyền thông tăng lên đáng kể, đặc biệt là với các bus chủ. Ngoài ra, nếu kết nối quá nhiều sẽ rất khó khăn trong việc kiểm soát thông tin. Để hạn chế những nhược điểm này, người ta xây dựng hệ thống bus có sử dụng crossbar bus như AMBA [2].
Nhưng phương pháp này chưa giải quyết được triệt để các vấn đề của hệ thống bus. Một vấn đề nữa xuất phát từ đặc tính vật lý của công nghệ nhỏ hơn micro (deep submicron). Nếu bus kéo dài thì sẽ xuất hiện những vấn đề không mong muốn như (hiệu suất thấp; không dự đoán được cách thức hoạt động cũng như thông tin trên bus; công suất tiêu thụ cao; hiện tượng nhiễu bus. Để hạn chế vấn đề này người ta đưa ra giải pháp là phân đoạn các bus dài để tránh suy giảm tín hiệu và các bus sẽ được thực thi như cấu trúc hợp kênh để giảm năng lượng và tăng độ phản ứng.
Ý tưởng của giải pháp này là sử dụng nhiều bus trong cùng một hệ thống và kết nối chúng với nhau thông qua các cầu bus (bus bridge) [2]. Trong đó, cầu bus là nút định tuyến còn các bus là các đường liên kết, do đó hình thành nên một mạng truyền thông đơn giản (gồm có các nút định tuyến và các đường liên kết). Ưu điểm của giải pháp này là giảm đáng kể số lượng lõi IP và chiều dài các liên kết, nhưng lại khó khăn trong việc quản lý địa chỉ các lõi IP khi truyền dữ liệu qua các cầu bus. Tuy nhiên, giải pháp này vẫn chưa loại bỏ được các vấn đề cố hữu thuộc về bản chất của cấu trúc truyền thông dạng bus.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - 7- Một vấn đề nữa là trong tương lai gần, kết nối bus sẽ trở thành một rào cản cho sự phát triển các ứng dụng công nghệ vì rằng chúng ta sẽ rất khó khăn trong việc thiết kế cũng như kiểm tra truyền thông giữa các tác vụ trong một hệ thống. Chính vì những nguyên nhân đó, vào năm 1999 đã có một số nhóm nghiên cứu về phương pháp kết nối và trao đổi thông tin trên các SoC hiện tại và trong tương lai.