CPU đa lõi

Trong ngành công nghiệp máy tính thì đây là một bước tiến quan trọng. Trong vòng vài năm tới bạn sẽ được tiếp xúc một tương lai mạng với các máy tính đa lõi. Điều này sẽ ảnh hưởng tới mạng của bạn, từ việc đăng ký và giá cả phát triển phần mềm tới toàn bộ trung tâm cấu trúc mạng. Trong bài này, tôi sẽ giải thích rõ tại sao ngành công nghiệp lại chuyển biến theo hướng này và sẽ đưa ra một vài ảnh hưởng của nó đối với bạn cũng như mạng của bạn.

Thuật ngữ

Thuật ngữ trong ngành công nghiệp CNTT có thể khiến cho bạn bối rối. Vì vậy trước tiên ta phải hiểu rõ vấn đề đang nói đến. CPU đa lõi là có chứa từ hai bộ xử lý trở lên trong một vi mạch. Điều này hoàn toàn khác so với thuật ngữ “đa chíp” - là có chứa nhiều vi mạch được đóng gói cùng nhau. Và cũng hoàn toàn khác so với thuật ngữ “đa CPU” - là có nhiều bộ xử lý làm việc cùng nhau.

Ưu điểm

Vậy tại sao các kiến trúc sư phần cứng lại muốn đặt nhiều CPU vào cùng một chip? Lý do lớn nhất là việc đặt nhiều lõi lên cùng một vi mạch sẽ giúp giảm không gian trên bản mạch chính khi có nhu cầu muốn sử dụng với số lượng CPU lõi đơn tương đương. Thêm nữa, lợi thế của việc sử dụng đa lõi trên cùng một vi mạch đương nhiên sẽ làm việc kết hợp cùng nhau chặt chẽ và nâng cao được hiệu quả hơn.

Khả năng tiết kiệm năng lượng cũng được phát huy thấy rõ đối với thiết kế này. Khi nhiều lõi cùng nằm trên một chip, xung tín hiệu truyền giữa các lõi sẽ ngắn hơn. Ngoài ra, đặc trưng của CPU đa lõi là chạy với điện năng thấp hơn vì công suất tiêu tốn để tín hiệu truyền trên dây bằng với bình phương điện áp chia cho điện trở trong dây, do đó điện năng thấp hơn sẽ dẫn đến kết quả là nguồn điện sử dụng đi.

Một lý do khác đối với việc tiết kiệm nguồn điện là tốc độ đồng hồ. Như bạn thấy, CPU đa lõi có thể thực thi các hoạt động nhiều lần hơn trong một giây trong khi tần số thấp hơn. Ví dụ bộ xử lý MIT RAW 16 lõi hoạt động ở tần số 425MHz có thể thực thi gấp 100 lần các hoạt động trong một giây đối với Intel Pentium 3 đang chạy ở tần số 600 MHz. Vậy tần số như vậy ảnh hưởng như thế nào với sự tiêu thụ điện năng của CPU? Đây quả là vấn đề khá phức tạp, nhưng bạn phải hiểu một quy tắc đơn giản là mỗi một phần trăm tăng thêm tốc độ đồng hồ sẽ tăng 3% điện năng tiêu thụ. Và tất nhiên là điều đó còn chưa tính tới tác động của các nhân tố khác có ảnh hưởng tới sự tiêu thụ điện năng.

CPU đa lõi còn có thể chia sẻ một mạch ghép nối bus tốt như mạch lưu trữ. Hình 1 là lược đồ của chip Core 2 dual của Intel – có tính năng là một L2 cache được chia sẻ. Kết quả là tiết kiệm được lượng không gian đáng kể. Theo Intel, CPU Core 2 dual có thể lên tới 4MB được chia sẻ L2 Cache.


Hình 1: Sơ đồ Bộ xử lý Core 2 Dual của Intel
(Nguồn: Wikipedia.com)

Tile64 của Tilera

Nói về cache CPU, sản phẩm Tile64 (một bộ xử lý 64 bit) mới ra mắt gần đây của Tilera chính là một cache điển hình. Tile64 sử dụng một câu trúc lưới (hình 2). Cấu trúc này cho phép các lõi riêng lẻ thực hiện các hoạt động khá khác nhau. Khi lõi hướng tới L2 cache và không tìm thấy cái cần tìm, nó đầu tiên sẽ tìm kiếm trong L2 cache của các lõi khác trên lưới trước khi yêu cầu dữ liệu từ bộ nhớ chính. Về cơ bản thì điều này có nghĩa là các hoạt động lưới giống như một L3 cache.


Hình 2: Sơ đồ Tile64 (Nguồn: Tilera)

Kiến trúc

Tính năng lưu trữ đặc biệt của Tile64 là một điển hình của việc thay đổi chủ yếu trong cấu trúc máy tính. Các máy tính hiện nay đều tập trung vào bộ nhớ chính, và dùng bộ xử lý để truy cập tới bộ nhớ này. Điều này yêu cầu khá nhiều đến sự truyền thông và thường xảy ra vấn đề nghẽn hoặc giới hạn tốc độ xử lý. Với việc sử dụng đa lõi, ngành công nghiệp máy tính đã hướng tới một cấu trúc trung tâm truyền thông và xử lý tốt hơn. Cấu trúc mới này vừa đạt hiệu quả nhanh hơn và còn năng suất cao hơn trong việc sử dụng.

Cấu trúc bộ nhớ trung tâm hiện tại sẽ không thể thực hiện được hết các lợi thế của lõi đa nhân. Ví dụ, một bộ đọc lưu trữ điển hình chỉ cần 10% năng lượng cần thiết để đọc một off-chip nhớ xác định. Tốc độ hoạt động đọc off-chip sẽ bị giới hạn bởi công nghệ nhớ và phương tiện kết nối được sử dụng.

Bộ xử lý đa lõi sẽ trở nên phổ biến hơn và được sử dụng nhiều hơn. Khi đó, các chuyên gia phát triển phần mềm sẽ bắt đầu phát triển các ứng dụng đa tuyến thực sự và khi đó bạn sẽ thấy sự thay đổi trong các mạng. Mạng của bạn sẽ có khẳ năng thay đổi từ trung tâm bộ nhớ sang trung tâm truyền thông và xử lý. Mạng lúc đó tất nhiên sẽ không phù hợp để sử dụng bộ xử lý lõi kép hay lõi tứ (ngoại trừ máy tính sử dụng thông thường). Trang thiết bị mạng của bạn lúc đó có thể sẽ cần 10 hay cả trăm lõi.

Đa luồng

Nhưng kiến trúc này có tác dụng gì với các nhà phát triển phần mềm? Một nhân tố khác giới hạn lợi ích thực thi của CPU đa lõi là phần mềm chạy trên nó. Đối với người dùng bình thường, hiệu suất lớn nhất mà họ đạt được khi lựa chọn một CPU đa lõi là tính đa nhiệm được cải thiện. Ví dụ, với một CPU đa lõi bạn sẽ thấy sự cải thiện lớn khi xem DVD trong lúc máy vẫn đang được quét virus mà tốc độ không bị ảnh hưởng, bởi vì từng ứng dụng sẽ được gán trên các lõi khác nhau.

Nếu người dùng đang chạy một ứng dụng đơn trên máy tính đa lõi thì sẽ không thấy rõ được việc tăng hiệu suất đáng kể lắm. Bởi hầu hết các ứng dụng không được xử lý đa luồng. Chính vì vậy các ứng dụng cũng cần phải thay đổi trong thiết kế. Ví dụ một chương trình quét virus chạy trên một tuyến mới trong khi GUI lại chạy trên một tuyến khác. Việc xử lý đa luồng đúng cách là khi khối lượng công việc được phân chia thành nhiều luồng khác nhau. Việc quét virus là một ví dụ, luồng GUI làm việc rất ít, trong khi luồng quét virus thực hiện một nhiệm vụ rất nặng và không có khả năng chia nhỏ ra và gửi đến các lõi khác.
Việc phát triển một ứng dụng đa luồng đích thực yêu cầu rất nhiều công việc phức tạp. Điều này rõ ràng cũng tốn khá nhiều chi phí vào một chu trình thiết kế phần mềm. Đó là lý do tại sao phần lớn các ứng dụng phần mềm sẽ không được phát triển như các ứng dụng thực sự đa luồng cho đến khi số lượng lõi đủ cao để thực hiện nhiều tác vụ mà không làm ảnh hưởng tới hiệu suất. Và điều này sẽ đạt được khi người dùng có nhu cầu.

Tuy vậy các mạng của bạn còn có nhiều vấn đề khác. Các router có thể trở thành các thiết bị được chấp nhận rộng rãi trước tiên với kiến trúc đa lõi cũng như việc xử lý đa luồng. Các máy chủ cũng sẽ tăng hiệu suất đáng kể từ công nghệ mới này. Trong số các bạn có ai cho rằng vẫn chưa có các sản phẩm đa lõi? Điều này hoàn toàn có thể được cũng như điều tôi đã nói về bước tiến quan trọng đối với tầm quan trọng của lõi. Intel đã hứa rằng sẽ cung cấp một lõi 80 vào năm 2011 và điều này thực sự là rất đáng trông chờ.

Bản quyền phần mềm

Câu hỏi tiếp theo mà bạn đặt ra có lẽ là điều này có ảnh hưởng gì tới bản quyền phần mềm của mình? Hiện tại thì đây vẫn còn là một câu hỏi khó. Rất nhiều công ty phần mềm cũng sẽ cần đến một bản quyền để chạy trên các CPU đa lõi. Tất nhiên, điều này thường chỉ áp dụng đối với các CPU có từ 2 hoặc có thể là 4 lõi. Microsoft tuyên bố rằng họ vẫn tiếp tục cấp bản quyền phần mềm máy chủ theo từng bộ xử lý chứ không phải theo lõi. Điều này cũng có thể làm thay đổi ngành công nghiệp. Tuy nhiên, chúng ta có thể đợi và chờ xem các công ty phần mềm sẽ làm những gì khi người dùng sẽ dần muốn chạy phần mềm của họ trên hệ thống 80 lõi.

Trong khi không có nhiều kiến thức liên quan đến việc đăng ký, một số bất thuận lợi liên quan đến sự phát triển phần mềm, thì bước đi theo hướng các bộ vi xử lý đa lõi vẫn là một bước tiến quan trọng. Vài năm trở tới đây, bạn có thể đã thấy rằng tốc độ của các CPU ngày càng tăng một cách rõ rệt, trong khi đó hiệu suất của chúng chỉ tăng ở mức độ bình thường. Đó thực sự là những bất thuận lợi cho công nghệ mới này, công nghệ có thể mang lại hiệu suất đáng kể!

Thứ Ba, 30/10/2007 14:33
31 👨 3.618
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp