Viết tắt tiếng anh soc trong kỹ thuật là gì năm 2024
Bài này cố gắng trình bày một cách hiểu chi tiết về khái niệm SoC và cấu trúc cơ bản của một SoC qua đó các đặc điểm ưu việt và bất lợi của SoC cũng sẽ được trình bày.
Khái niệm SoC ngày nay đã trở nên phổ biến. SoC là từ viết tắt của System on a Chip hoặc System on Chip, được hiểu là toàn bộ "một hệ thống" được đóng gói hoàn chỉnh trong một chip (vi mạch điện tử). Một system thông thường là một hệ thống hoàn chỉnh thực hiện một hoặc nhiều chức năng nào đó, ví dụ như một máy tính cá nhân gồm một bo mạch chủ để kết nối các thành phần như CPU, USB, VGA, RS232,... Một hệ thống như mô tả có nhược điểm là kích thước lớn và tiêu tốn nhiều năng lượng khi hoạt động trong khi nhu cầu về các thiết bị di động, thiết bị dùng PIN, tiết kiệm năng lượng, kích thước nhỏ gọn và giảm chi phí sản phẩm ngày càng tăng. Bên cạnh đó, nhu cầu về đa chức năng, nhiều tiện ích của khách hàng ngày càng cao. Một hệ thống truyền thống sử dụng các chip có khả năng tích hợp thấp, ít chức năng khó đáp ứng nhu cầu khách hàng và nếu đáp ứn được thì giá thành sản phẩm có thể cao do sử dụng nhiều linh kiện hơn, bo mạch phức tạp và lớn hơn, sản phẩn to hơn. Ví dụ, trước đây, điện thoại chỉ có chức năng nghe, gọi, nhắn tin; sau đó thêm chức năng lưu và phát nhạc; sau đó là chụp ảnh; sau đó là kết nối internet, chạy ứng dụng, chơi game; và hiện nay điện thoại không khác gì một máy tính nhỏ. Để đáp ứng nhu cầu ngày càng tăng về tiện ích của sản phẩm, một chip ngày càng tích hợp nhiều chức năng hơn và tạo ra khái niệm System on Chip. Ví dụ như chip SoC dưới đây tích hợp một lõi CPU ARM và các ngoại vi như SegLCD, UDB, SCB, UART, CAN, SPI, ... Thực tế, không có tiêu chuẩn chính xác để đánh giá một chip như thế nào thì được xem là SoC nên có SoC chỉ tích hợp một vài ngoại vi,SoC khác thì tích hợp số lượng ngoại vi khổng lồ.
Ưu điểm của SoC:
Nhược điểm của SoC: một nhược điểm của SoC là một loại SoC khó đáp ứng nhu cầu của nhiều loại sản phẩm khác nhau. Chính vì vậy, mỗi hãng thiết kế và sản xuất chip đều có nhiều dòng SoC khác nhau, mỗi dòng sẽ đáp ứng một phân khúc sản phẩm nhất định và tối ưu nhất cho phân khúc sản phẩm này. Tối ưu ở đây được hiểu là số lượng chức năng mà chip tích hợp là vừa đủ, không quá nhiều và cũng không quá ít. Quá nhiều chức năng thì giá chip sẽ tăng, giá sản phẩm tăng trong khi chức năng thừa không được dùng đến. Quá ít chức năng thì không đáp ứng được nhu cầu ứng dụng của sản phẩm hoặc làm sản phẩm khó, thời gian ra thị trường lâu.
Như đã trình bày, mỗi chip SoC có mật độ tích hợp chức năng khác nhau nhưng hầu hết các SoC đều có các thành phần cơ bản sau đây: CPU (Central Processing Unit): Lõi vi xử lý là thành phần không thể thiếu trong một SoC làm nhiệm vụ quản lý toàn bộ hoạt động chính của một SoC. CPU đảm nhiệm luồng xử lý chính trong SoC, điều phối các hoạt động giữa các thành phần khác trong SoC, thực thi các tính toán chính. Một SoC có thể có một hoặc nhiều lõi CPU. Một số lõi CPU:
Bus hệ thống (System BUS): Bus hệ thống là có nhiệm vụ kết nối thông suốt các thành phần chức năng khác nhau trong vi xử lý. Bus hệ thống giống như những con đường để vận chuyển dữ liệu giữa các thành phần trong SoC. Một số cấu trúc bus hệ thống:
Bộ nhớ (Memory): Bộ nhớ trong một SoC gọi là bộ nhớ nội để phân biệt với bộ nhớ nằm ngoài SoC và giao tiếp với SoC thông qua các chân (pin) điều khiển của SoC. Bộ nhớ nội này có thể là:
Thành phần điều khiển nội (Internal block): là thành phần chỉ điều khiển hoạt động bên trong SoC mà không điều khiển trực tiếp port nào của SoC như:
Ngoại vi (Peripheral): là các khối có thể lái trực tiếp các chân (pin hoặc port) của SoC để thực thi một chức năng điều khiển bên ngoài SoC, ví dụ như:
Chúng ta giả sử đã có tất cả các khối chức năng cần thiết như CPU, các ngoại vi, bus hệ thống, ... Để xây dựng một SoC, chúng ta cần làm các công việc cơ bản sau:
Ở bước này, chúng ta cần xác định bus hệ thống sẽ bao gồm những bus nào và kết nối với nhau ra sao. Để xác định được cấu trúc bus hệ thống, căn cứ vào phạm vi ứng dụng các master và slave sẽ được lựa chọn. Các thông tin cơ bản về các master và slave sẽ có trong SoC sẽ được liệt kê:
Đầu tiên, căn cứ vào phạm vi ứng dụng mà SoC nhắm đến (ứng dụng hiển thị hình ảnh, phân tích dữ liệu, điều khiển tự động, ...) để phân nhóm các Master và slave theo mức độ ưu tiên khác nhau. Ví dụ, chúng ta cần xây dựng một SoC chuyên dùng cho lấy mẫu phân tích dữ liệu cảm biến thời gian thực thì nhóm ưu tiên số 1 phải là các các ngoại vi liên quan đến chức năng này như ADC (dùng để chuyển đổi tín hiệu tương tự từ các cảm biến sang tín hiệu số). Như vậy, nó cần được bố trí ở sao cho việc trao đổi dữ liệu từ ADC đến các master là nhanh nhất. Căn cứ tiếp theo là dựa vào tốc độ xử lý hoặc tần số hoạt động của các master và slave. Các thành phần tốc độ cao cần được gắn vào các bus có tốc độ cao, các thành phần tốc độ thấp sẽ gắn vào bus tốc độ thấp tương ứng. Căn cứ trên độ rộng bus dữ liệu để gắn master và slave đến bus có độ rộng bus dữ liệu phù hợp. Sau khi kết thúc bước này, chúng ta sẽ có được cấu trúc SoC như hình 6 và mô tả về giao tiếp của các bus thể hiện tần số bus; số lượng master, slave; độ rộng đường dữ liệu,... Trong ví dụ hình 8, hệ thống gồm 1 bus AHB và 2 bus APB đều có tần số tối đa là 32 Mhz.
Trong bước này, chúng ta cần phân tích rõ các vấn đề sau:
Thực hiện kết nối các master, slave đến các bus như đã phân tích.
Thực hiện kiểm tra lỗi cú pháp bằng các phần mềm chuyên dụng như Leda, Spyglass để đảm bảo các kết nối là đúng. Nếu việc kết nối này được thưng hiện thông qua một phần mềm chuyên dụng để xây dựng SoC thì các kết nối thường đã được kiểm tra và cảnh báo trong quá trình xây dựng SoC.
Thực hiện mô phỏng mức hệ thống để đảm bảo tất cả các master đều có thể truy cập đến các slave của nó trong vùng địa chỉ đã quy định. Nếu truy cập ngoài vùng địa chỉ quy định thì hệ thống vẫn hoạt động thông suốt nhưng sẽ có cơ chế cảnh báo. Chú ý, bước này không phải là mô phỏng chức năng các thành phần trong hệ thống như kiểm tra chức năng khối video, khối UART hay bất kỳ khối nào khác mà chỉ kiểm tra tính thông suốt của hệ thống SoC đã xây dựng.
Thực hiện mô phỏng kiểm tra để đảm bảo băng thông truy xuất của các master đến các slave hoặc bộ nhớ đáp ứng yêu cầu đặt ra. Việc truy xuất của các master, nhất là các master được ưu tiên phải đảm bảo được hoàn thành trong một khoảng thời gian cho phép. Nếu không đạt được thì SoC sẽ không đáp ứng được hiệu năng mong muốn. Ví dụ, master DSP luôn phải được đảm bảo một băng thông đọc bộ nhớ là 10 Mbps (đây chỉ là ví dụ minh họa, không có ý nghĩa áp dụng thực tế) để kịp tính toán và đưa ra kết quả kịp thời thì dù cho toàn bộ các master trong SoC đang truy xuất đến bộ nhớ thì hệ thống SoC vẫn phải đảm bảo bằng thông 10 Mbps cho master DSP. |