Chương 1. Hệ thống trên chip vĖ kiến trúc hệ thống truyền thông 23 hoạt động, năng lượng tiêu hao, thời gian trễ đáp ứng trên các kết nối, trên các cổng logic, vấn đề truyền thông cục bộ và toàn cầu… hay các vấn đề liên quan đến quá trình sản xuất. Vấn đề về độ trễ: Công nghệ thiết kế vi mạch ngày càng phát triển, kích thước transistor ngày càng nhỏ, dẫn đến độ tích hợp trên một vi mạch ngày càng cao. Khi thiết kế với công nghệ nhỏ hơn micro (DSM: deep submicron) thì vấn đề độ trễ đặc biệt quan trọng [3].
Khi đó, người thiết kế cần phải giải quyết các vấn đề liên quan đến độ trễ đáp ứng của dây dẫn cục bộ, dây dẫn toàn cầu và độ trễ đáp ứng của các cổng logic. Với các công nghệ mới, độ trễ đáp ứng giữa đầu ra và đầu vào của cổng lô-gic rất nhỏ, đặc biệt khi so với độ trễ dây dẫn (vì tiết diện dây dẫn rất nhỏ với các công nghệ tiên tiến). Ngoài ra, độ trễ trên dây dẫn cục bộ trong các lõi IP cũng có sự chênh lệch khá lớn đối với độ trễ trên các dây dẫn nối giữa các lõi IP với nhau. Ngay cả độ trễ trên các dây dẫn toàn cầu cũng có sự khác nhau; đó là sự khác nhau giữa các dây nối các lõi IP ở gần với các dây nối các lõi IP ở xa.
Vấn đề đồng bộ toàn cầu: Việc đạt được sự đồng bộ toàn cầu càng trở nên khó khăn khi mật độ tích hợp và tốc độ chip càng tăng. Các quá trình xử lý trong chip được chia nhỏ thành các xử lý bên trong các lõi IP. Khi đó mỗi lõi IP sẽ có một xung nhịp đồng hồ (clock) riêng nên có sự đồng bộ cục bộ riêng. Chính vì thế, rất khó để đạt được sự đồng bộ toàn cầu giữa các xung nhịp đồng hồ của các lõi IP với nhau.
Từ đó, người ta nghĩ ra một giải pháp mới gọi là hệ thống dị bộ toàn cầu - đồng bộ cục bộ (GALS: Globally Asynchronous - Locally Synchronous) [4]. Mỗi lõi IP trong hệ thống GALS làm việc với một xung nhịp đồng hồ riêng, đồng bộ cục bộ trong lõi; khi ra ngoài, các lõi IP trao đổi với nhau thông qua các phương thức hỏi-đáp hay bắt tay (handshaking). Việc xây dựng các hệ thống lớn từ các lõi IP riêng, có đặc trưng thời gian khác nhau trở nên dễ dàng hơn nhờ giải pháp GALS. Hiệu suất thiết kế: Sự phát triển không ngừng của công nghệ dẫn đến yêu cầu giảm thời gian thiết kế; ví dụ từ năm 1997 đến năm 2002 chu kỳ thiết kế giảm tới 50%.
Thêm nữa, số lượng transistor của 24 Mạng trên chip vi mạch ngày càng tăng, việc thu gọn hình dạng và tăng số lớp kim loại khiến độ phức tạp của thiết kế tăng tới 50 lần trong cùng một chu kỳ. Do đó, việc tái sử dụng các lõi IP trong thiết kế là cần thiết. Việc sẵn có tài nguyên giúp các nhà thiết kế có thể thiết kế ở mức trừu tượng cao hơn, không cần thiết kế ở mức transistor hay mức cổng lô- gic nữa mà có thể thiết kế ở mức chuyển giao thanh ghi (RTL: Register Transfer Level), thậm chí ở mức hành xử (behavior) [2]. Những lý do trên tạo nên xu hướng thiết kế hướng tới việc chia nhỏ các khối xử lý nhằm giảm chu kỳ thiết kế, chia quá trình thiết kế lớn thành các vấn đề con độc lập.
Điều này cũng cho phép áp dụng các phương pháp kiểm tra mô-đun, 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. Làm việc ở mức trừu tượng cao sẽ cho phép người thiết kế thực hiện các thao tác linh hoạt hơn ở các mức trừu tượng thấp. Điều này cũng dẫn tới sự khác nhau về truyền thông cục bộ và toàn cầu. Vì lý do đó, trong thiết kế hệ thống trên chip 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 bên trong từng lõi IP mà còn phải quan tâm phát triển cả truyền thông toàn cầu, dẫn tới phương pháp thiết kế hệ thống trên chip chuyển từ thiết kế xử lý tập trung truyền thống sang thiết kế xử lý đồng thời tại các lõi IP.
Khi đó, việc thiết kế một hệ thống được chia nhỏ thành thiết kế các mô-đun riêng rẽ và được chuyên môn hóa cao. Vấn đề còn lại của thiết kế hệ thống chỉ là việc xây dựng kết nối giữa các mô-đun đó, tạo nên sự truyền thông giữa chúng. Kiến trúc truyền thông truyền thống và những hạn chế Trong các mạch tích hợp, kết nối truyền thống giữa các khối chức năng chủ yếu dựa vào mạng kết nối ad-hoc và các kiến trúc bus dùng chung như mô tả trong Hình 1-2. Khi hệ thống trở nên phức tạp hơn, các kiểu kiến trúc này bộc lộ nhiều hạn chế như thông lượng truyền thông bị giới hạn, công suất tiêu thụ năng lượng lớn, tính toàn vẹn của tín hiệu không được đảm bảo, trễ đáp ứng trong quá trình truyền tín hiệu, vấn đề đồng bộ toàn hệ thống… Nếu chúng ta không cải thiện Chương 1.
Hệ thống trên chip vĖ kiến trúc hệ thống truyền thông 25 các phương pháp kết nối truyền thống thì những hạn chế này sẽ tạo nên nút thắt cổ chai, hạn chế việc thiết kế và xây dựng các hệ thống tích hợp cỡ lớn [5, 6, 7, 8]. IP IP IP IP IP IP Bộ phân xử bus IP IP IP IP (a) (b) Hình 1-2: Kiến trúc kết nối trong các hệ thống trên chip: Kết nối điểm-tới-điểm (a); Chia sẻ bus (b). Với kiểu kết nối ad-hoc, truyền thông giữa các lõi IP được thực hiện thông qua các liên kết vật lý trực tiếp (liên kết điểm-tới-điểm) từ lõi IP nguồn đến lõi IP đích, Hình 1-2(a). Ưu điểm của kiểu kết nối này là chúng ta có được hiệu suất truyền thông tối đa giữa các đơn vị tham gia truyền thông (có thể sử dụng tối đa tài nguyên băng thông).
Tuy nhiên, các cấu trúc truyền thông kiểu này đòi hỏi một lượng lớn liên kết trực tiếp giữa các lõi IP trong khi hiệu quả sử dụng các liên kết này không lớn, tần suất sử dụng vào khoảng 10% theo nghiên cứu của Dally và cộng sự [5]. Số lượng liên kết lớn sẽ làm cho không gian thực thi phần cứng tăng và tạo nên sự phức tạp trong quá trình đặt chỗ và định tuyến (Place & Route). Chính vì vậy, cấu trúc truyền thông này sẽ trở nên phức tạp cho việc thiết kế các hệ thống trên chip trong tương lai do số lượng các lõi IP ngày càng nhiều hơn (số lượng các liên kết sẽ tăng theo cấp số mũ khi số lượng các lõi tăng). Để khắc phục các nhược điểm của truyền thông điểm-tới-điểm, người ta nghĩ ra giải pháp truyền thông bus như mô tả trong Hình 1-2(b).
Ngày nay, với các hệ thống trên chip phức tạp, truyền thông chia sẻ bus là loại cấu trúc truyền thông được sử dụng phổ biến nhất trong các ứng dụng thương mại. Bus cung cấp giải pháp kết nối đơn giản, hiệu quả mà qua đó các lõi IP có thể giao tiếp với nhau thông qua một giao 26 Mạng trên chip thức truyền thông. Nếu so sánh với kết nối điểm-tới-điểm thì cấu trúc bus tỏ ra ưu việt hơn nhiều, kết nối bus khá mềm dẻo và dễ dàng tái sử dụng. Tuy nhiên, cấu trúc bus chỉ cho phép thực hiện mỗi một quá trình truyền thông giữa các lõi IP tại một thời điểm nhất định.
Băng thông của bus do đó được chia cho các IP và hiệu suất truyền thông giảm đáng kể khi số lượng các lõi IP tăng. Chúng ta cần phải xây dựng cơ chế phân xử để quản lý quyền truy cập của các IP khi xuất hiện các yêu cầu đồng thời. Hơn nữa, vì bus dùng cho cả hệ thống nên các liên kết hình thành bus có độ dài đáng kể. Điều này làm tăng công suất tiêu thụ chung của hệ thống vì dữ liệu được truyền trên toàn bus cho dù truyền thông chỉ thực hiện giữa vài lõi IP.
Khi chúng ta tăng số lượng lõi IP thì độ dài của bus cũng tăng và kết quả là trễ truyền dẫn dữ liệu sẽ vượt quá chu kỳ của xung nhịp đồng hồ [9]. Qua những vấn đề trên cho thấy về bản chất mô hình kết nối kiểu bus có những hạn chế nhất định về khả năng kết nối khi hệ thống tích hợp một số lượng lớn lõi IP. Để vượt qua một vài vấn đề gặp phải nêu ở trên, các nhà nghiên cứu đã đề xuất cấu trúc bus phân tầng như IBM Core Connect của hãng IBM [10] hay ARM AMBA của hãng ARM [1]. Ý 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 nối bus (bus bridge), xem Hình 1-3.
IP IP IP IP IP IP Bộ phân Bộ phân xử bus xử bus IP IP Cầu nối bus IP IP Hình 1-3: Mô hình bus phân tầng. Với ý tưởng này, chúng ta có thể giảm số lượng lõi IP kết nối trên cùng một bus, chiều dài của các liên kết do đó cũng được giảm đi đáng kể. Mỗi bus sẽ có một bộ phân xử bus riêng. Tuy nhiên, giải pháp này gặp phải một vấn đề là việc quản lý địa chỉ các lõi IP sẽ trở nên khó khăn hơn khi truyền dữ liệu qua các cầu nối bus (dữ liệu được truyền từ bus này qua bus khác thông qua cầu nối bus).
Ngoài ra, giải Chương 1. Hệ thống trên chip vĖ kiến trúc hệ thống truyền thông 27 pháp này vẫn không thể 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. Trước tình hình đó, mô hình mạng trên chip đã được đề xuất và được xem như là một giải pháp đột phá cho vấn đề truyền thông trên chip. Phương pháp thiết kế hệ thống trên chip Để thiết kế hệ thống mạch tích hợp, chúng ta có thể thực hiện theo phương pháp thiết kế top-down (thiết kế từ trên xuống) hoặc phương pháp thiết kế bottom-up (thiết kế từ dưới lên).
Theo phương pháp thiết kế top-down, hệ thống sẽ được phân chia nhỏ thành các khối chức năng nhỏ hơn, dễ hiểu hơn. Nếu tiếp cận theo phương pháp thiết kế này, người thiết kế sẽ thiết kế tổng quan, xây dựng các đặc tả chung của hệ thống nhưng không nêu chi tiết bất kỳ hệ thống con nào. Sau đó, các hệ thống con sẽ được tinh chỉnh chỉ tiết hơn, thậm chí đôi khi được chia nhỏ thành các khối chức năng nhỏ hơn ở các cấp độ khác nhau. Do đó, toàn bộ đặc tả của hệ thống được phân tách thành các yếu tố cơ bản.