Anonim

Khi máy tính cá nhân lần đầu tiên được phát minh, bộ xử lý trung tâm (CPU) của chúng chỉ đứng một mình và chỉ có một lõi xử lý. Bản thân bộ xử lý là cốt lõi; ý tưởng về việc có một bộ xử lý đa lõi vẫn chưa từng nghe thấy. Ngày nay, không có gì lạ khi thấy máy tính, điện thoại và các thiết bị khác có nhiều lõi - thực sự, hầu như mọi máy tính có sẵn trên thị trường đều có nhiều lõi. Các lõi này nằm trong cùng, Đơn vị, CPU hoặc Bộ xử lý trung tâm.

Có nhiều lõi là một lợi thế lớn. Chỉ với một lõi, một máy tính chỉ có thể hoạt động trên một nhiệm vụ tại một thời điểm, phải hoàn thành một nhiệm vụ trước khi nó chuyển sang một nhiệm vụ khác. Tuy nhiên, với nhiều lõi hơn, một máy tính có thể hoạt động trên nhiều tác vụ cùng một lúc, điều này đặc biệt hữu ích cho những người thực hiện nhiều thao tác đa nhiệm.

Trước khi đi sâu vào chính xác cách thức bộ xử lý đa lõi hoạt động, điều quan trọng là phải nói một chút về nền tảng của công nghệ xử lý, sau đó chúng ta sẽ thảo luận về những gì bộ xử lý đa lõi làm.

Một số lịch sử

Trước khi bộ xử lý có nhiều lõi được xây dựng, mọi người và các công ty như Intel và AMD đã cố gắng xây dựng các máy tính có nhiều CPU. Điều này có nghĩa là một bo mạch chủ có nhiều ổ cắm CPU là cần thiết. Điều này không chỉ đắt hơn, bởi vì phần cứng vật lý cần thiết cho một ổ cắm CPU khác, mà nó còn tăng độ trễ do tăng giao tiếp cần thiết để diễn ra giữa hai bộ xử lý. Một bo mạch chủ phải phân chia dữ liệu giữa hai vị trí hoàn toàn riêng biệt trong máy tính thay vì chỉ gửi tất cả dữ liệu đó đến bộ xử lý. Khoảng cách vật lý trong thực tế có nghĩa là một quá trình chậm hơn. Đặt các quy trình này trên một chip có nhiều lõi không chỉ có nghĩa là có ít khoảng cách di chuyển hơn mà còn có nghĩa là các lõi khác nhau có thể chia sẻ tài nguyên để thực hiện các tác vụ đặc biệt nặng. Ví dụ, cả chip Pentium II và Pentium III của Intel đều được triển khai trong các phiên bản có hai bộ xử lý trên một bo mạch chủ.

Sau một thời gian, bộ xử lý cần phải mạnh hơn, vì vậy các nhà sản xuất máy tính đã đưa ra khái niệm siêu phân luồng. Bản thân khái niệm này xuất phát từ Intel và lần đầu tiên nó được hình thành vào năm 2002 trên bộ xử lý máy chủ Xeon của công ty và sau đó là bộ xử lý máy tính để bàn Pentium 4. Siêu phân luồng vẫn được sử dụng ngày nay trong các bộ xử lý và thậm chí là sự khác biệt chính giữa chip i5 của Intel và chip i7 của nó. Về cơ bản, nó lợi dụng thực tế là thường có các tài nguyên không được sử dụng trong bộ xử lý, đặc biệt khi các tác vụ không đòi hỏi nhiều sức mạnh xử lý, có thể được sử dụng cho các chương trình khác. Một bộ xử lý sử dụng siêu phân luồng về cơ bản thể hiện chính nó với một hệ điều hành như thể nó có hai lõi. Tất nhiên, nó không thực sự có hai lõi, tuy nhiên, đối với hai chương trình sử dụng một nửa công suất xử lý có sẵn hoặc ít hơn, cũng có thể có hai lõi vì thực tế là chúng có thể tận dụng tất cả sức mạnh mà bộ xử lý phải cung cấp. Tuy nhiên, siêu phân luồng sẽ chậm hơn một chút so với bộ xử lý có hai lõi khi không đủ sức mạnh xử lý để chia sẻ giữa hai chương trình sử dụng lõi.

Bạn có thể tìm thấy một video sâu sắc đưa ra lời giải thích ngắn gọn, chi tiết hơn về siêu phân luồng ở đây.

Đa xử lý

Sau nhiều thử nghiệm, CPU có nhiều lõi cuối cùng đã có thể được chế tạo. Điều này có nghĩa là một bộ xử lý đơn về cơ bản có nhiều hơn một đơn vị xử lý. Ví dụ, bộ xử lý lõi kép có hai đơn vị xử lý, lõi tứ có bốn, v.v.

Vậy tại sao các công ty phát triển bộ xử lý với nhiều lõi? Chà, nhu cầu về bộ xử lý nhanh hơn ngày càng trở nên rõ ràng hơn, tuy nhiên sự phát triển trong bộ xử lý lõi đơn đang chậm lại. Từ những năm 1980 cho đến những năm 2000, các kỹ sư đã có thể tăng tốc độ xử lý từ vài megahertz lên vài gigahertz. Các công ty như Intel và AMD đã làm điều này bằng cách thu nhỏ kích thước bóng bán dẫn, cho phép nhiều bóng bán dẫn hơn trong cùng một không gian, do đó cải thiện hiệu suất.

Do thực tế là tốc độ xung nhịp của bộ xử lý rất liên quan đến việc có bao nhiêu bóng bán dẫn có thể lắp trên chip, khi công nghệ thu nhỏ bóng bán dẫn bắt đầu chậm lại, sự phát triển trong tốc độ bộ xử lý tăng cũng bắt đầu chậm lại. Mặc dù đây không phải là khi các công ty lần đầu biết đến bộ xử lý đa lõi, nhưng đó là khi họ bắt đầu thử nghiệm bộ xử lý đa lõi cho mục đích thương mại. Mặc dù bộ xử lý đa lõi được phát triển lần đầu tiên vào giữa những năm 1980, chúng được thiết kế cho các tập đoàn lớn và không thực sự được xem xét lại cho đến khi công nghệ lõi đơn bắt đầu chậm lại. Bộ xử lý đa lõi đầu tiên được phát triển bởi Rockwell International, và là phiên bản của chip 6501 với hai bộ xử lý 6502 trên một chip (chi tiết có sẵn ở đây trong mục Wikipedia này).

Bộ xử lý đa lõi làm gì?

Vâng, đó thực sự là tất cả khá đơn giản. Có nhiều lõi cho phép thực hiện nhiều việc cùng một lúc. Ví dụ: nếu bạn đang làm việc trên email, mở trình duyệt Internet, đang làm việc trên bảng tính excel và đang nghe nhạc trong iTunes, thì bộ xử lý lõi tứ có thể hoạt động trên tất cả những điều này cùng một lúc. Hoặc, nếu người dùng có một nhiệm vụ cần phải hoàn thành ngay lập tức, nó có thể được chia thành các nhiệm vụ nhỏ hơn, dễ dàng hơn để xử lý.

Sử dụng nhiều lõi cũng không chỉ giới hạn ở nhiều chương trình. Ví dụ: Google Chrome kết xuất mỗi trang mới với một quy trình khác nhau, có nghĩa là nó có thể tận dụng nhiều lõi cùng một lúc. Tuy nhiên, một số chương trình là những gì được gọi là đơn luồng, có nghĩa là chúng không được viết để có thể sử dụng nhiều lõi và vì vậy không thể làm như vậy. Siêu phân luồng một lần nữa xuất hiện ở đây, cho phép Chrome gửi nhiều trang đến hai lõi logic logic trên một lõi thực tế.

Đi đôi với bộ xử lý đa lõi và siêu phân luồng là một khái niệm gọi là đa luồng. Đa luồng về cơ bản là khả năng cho một hệ điều hành tận dụng nhiều lõi bằng cách tách mã thành dạng cơ bản nhất hoặc các luồng và đưa nó vào các lõi khác nhau cùng một lúc. Điều này, tất nhiên, quan trọng trong bộ xử lý đa cũng như bộ xử lý đa lõi. Đa luồng phức tạp hơn một chút so với âm thanh của nó, vì nó yêu cầu các hệ điều hành phải đặt mã đúng theo cách mà chương trình có thể tiếp tục chạy hiệu quả.

Bản thân các hệ điều hành cũng làm những việc tương tự với các quy trình của riêng chúng - nó không chỉ giới hạn trong các ứng dụng. Các quy trình của hệ điều hành là những thứ mà hệ điều hành luôn làm trong nền, mà người dùng không nhất thiết phải biết. Bởi vì thực tế là các quá trình này luôn diễn ra, có siêu phân luồng và / hoặc nhiều lõi có thể rất hữu ích, vì nó giải phóng bộ xử lý để có thể làm việc trên những thứ khác như những gì đang xảy ra trong ứng dụng.

Làm thế nào để bộ xử lý đa lõi làm việc?

Đầu tiên, bo mạch chủ và hệ điều hành cần nhận ra bộ xử lý và có nhiều lõi. Các máy tính cũ chỉ có một lõi, vì vậy một hệ điều hành cũ hơn có thể không hoạt động tốt nếu người dùng cố gắng cài đặt nó trên một máy tính mới hơn có nhiều lõi. Windows 95, ví dụ, không hỗ trợ siêu phân luồng hoặc nhiều lõi. Tất cả các hệ điều hành gần đây đều hỗ trợ bộ xử lý đa lõi, bao gồm cả Windows 7, 8, 10 mới được phát hành và OS X 10.10 của Apple.

Về cơ bản, hệ điều hành sau đó nói với bo mạch chủ rằng một quy trình cần phải được thực hiện. Các bo mạch chủ sau đó nói với bộ xử lý. Trong bộ xử lý đa lõi, hệ điều hành có thể yêu cầu bộ xử lý thực hiện nhiều việc cùng một lúc. Về cơ bản, thông qua sự chỉ đạo của hệ điều hành, dữ liệu được chuyển từ ổ cứng hoặc RAM, qua bo mạch chủ, đến bộ xử lý.

Bộ xử lý đa lõi

Trong bộ xử lý, có nhiều cấp bộ nhớ đệm chứa dữ liệu cho các hoạt động hoặc hoạt động tiếp theo của bộ xử lý. Các mức bộ nhớ đệm này đảm bảo rằng bộ xử lý không phải tìm kiếm quá xa để tìm tiến trình tiếp theo của chúng, tiết kiệm rất nhiều thời gian. Cấp bộ nhớ cache đầu tiên là bộ đệm L1. Nếu bộ xử lý không thể tìm thấy dữ liệu cần thiết cho quy trình tiếp theo của nó trong bộ đệm L1, thì nó sẽ tìm đến bộ đệm L2. Bộ đệm L2 lớn hơn trong bộ nhớ, nhưng chậm hơn bộ đệm L1.

Bộ xử lý lõi đơn

Nếu bộ xử lý không thể tìm thấy những gì nó đang tìm kiếm trong bộ đệm L2, thì nó sẽ tiếp tục chuyển xuống L3 và nếu bộ xử lý có L4. Sau đó, nó sẽ tìm trong bộ nhớ chính hoặc RAM của máy tính.

Cũng có nhiều cách khác nhau trong đó các bộ xử lý khác nhau xử lý các bộ đệm khác nhau. Ví dụ, một số sao chép dữ liệu trên bộ đệm L1 trên bộ đệm L2, về cơ bản là một cách để đảm bảo rằng bộ xử lý có thể tìm thấy những gì nó đang tìm kiếm. Tất nhiên, điều này sẽ chiếm nhiều bộ nhớ hơn trong bộ đệm L2.

Các mức bộ nhớ cache khác nhau cũng xuất hiện trong các bộ xử lý đa lõi. Thông thường, mỗi lõi sẽ có bộ đệm L1 riêng, nhưng chúng sẽ chia sẻ bộ đệm L2. Điều này khác với nếu có nhiều bộ xử lý, bởi vì mỗi bộ xử lý có L1, L2 và bất kỳ bộ đệm cấp độ nào khác. Với nhiều bộ xử lý lõi đơn, việc chia sẻ bộ đệm đơn giản là không thể. Một trong những lợi thế chính của việc có bộ đệm chia sẻ là khả năng sử dụng bộ đệm hết mức, vì thực tế là nếu một lõi không sử dụng bộ đệm, thì bộ kia có thể.

Trong bộ xử lý đa lõi, khi tìm kiếm dữ liệu, một lõi có thể xem qua bộ đệm L1 duy nhất của chính nó và sau đó sẽ phân nhánh ra bộ đệm L2, RAM và cuối cùng là ổ cứng.

Có khả năng chúng ta sẽ tiếp tục thấy sự phát triển của nhiều lõi hơn. Tốc độ đồng hồ của bộ xử lý chắc chắn sẽ tiếp tục tốt hơn, mặc dù ở tốc độ chậm hơn trước. Mặc dù bây giờ không có gì lạ khi thấy bộ xử lý octa-core trong những thứ như điện thoại thông minh, nhưng chúng ta sẽ sớm thấy bộ xử lý với hàng tá lõi.

Bạn nghĩ công nghệ xử lý đa lõi sẽ đi về đâu? Hãy cho chúng tôi biết trong các ý kiến ​​dưới đây, hoặc bằng cách bắt đầu một chủ đề mới trong diễn đàn cộng đồng của chúng tôi.

Tất cả về bộ xử lý đa lõi: chúng là gì, hoạt động như thế nào và chúng đến từ đâu