Core và Thread là gì? Ảnh hưởng thế nào đến sức mạnh CPU?
https://fptshop.com.vn/https://fptshop.com.vn/
Nguyễn Quốc Anh
4 năm trước

Core và Thread là gì? Ảnh hưởng thế nào đến sức mạnh CPU?

Trong bài viết này, FPT Shop sẽ cùng các bạn tìm hiểu rõ ràng hơn về các khái niệm thường được nhắc tới trên CPU là core và thread, đồng thời trả lời các vấn đề thường gặp về những yếu tố này.

Chia sẻ:

Core và thread là gì?

Hiểu đơn giản, core là nhân CPU. Mỗi vi xử lý được cấu tạo từ nhiều nhân (hai, bốn, sáu hoặc tám) và mỗi nhân là một đơn vị xử lý. Từng nhân này có khả năng xử lý độc lập một dãy các chỉ dẫn của hệ thống. Do đó, CPU càng nhiều nhân thì hiệu năng xử lý càng ấn tượng.

Thread (luồng) là một đơn vị cơ bản khác của bộ vi xử lý CPU. Một luồng sẽ chia sẻ thông tin data, dữ liệu với các luồng khác trong cùng process. Thao tác tạo ra thread giúp cho các chương trình để thực thi song song nhiều công việc trong cùng thời điểm.

Core và Thread là gì? Những yếu tố này ảnh hưởng thế nào đến sức mạnh CPU? 1

Hyperthreading là gì?

Hyperthreading hay còn gọi là công nghệ siêu phân luồng, đây là khái niệm kỹ thuật được Intel sáng tạo ra nhằm hỗ trợ mỗi nhân CPU (physical core) có thể đảm nhận công việc của hai nhân ảo (logical core).

Ở khía cạnh này, một công ty sản xuất chip nổi tiếng khác là AMD cũng có khái niệm riêng của mình là CMT – Cluster-based Multithreading. Nhưng trong thực tế, cách gọi Hyperthreading vẫn nổi tiếng và được sử dụng rộng rãi hơn.

Core và Thread là gì? Những yếu tố này ảnh hưởng thế nào đến sức mạnh CPU? 2

Sự khác nhau giữa single-threaded và multithreaded

Multithreaded (đa luồng) là dạng mà hầu hết phần mềm sử dụng trên các laptopbộ PC ngày nay đều được xây dựng để vận hành tương thích. Ví dụ đơn giản như khi bạn truy cập vào một website nào đó, một thread sẽ phụ trách chạy âm thanh, hình ảnh và bài viết, còn một thread khác sẽ có trọng trách nhận thêm dữ liệu vào web trong cùng thời điểm.

Các phần mềm có thể được xây dựng nhằm vận dụng khả năng xử lý trên những hệ thống multicore, hỗ trợ thực hiện nhiều tác vụ CPU cùng lúc.

Core và Thread là gì? Những yếu tố này ảnh hưởng thế nào đến sức mạnh CPU? 3

Trong khi đó, single-threaded (đơn luồng) chỉ có thể giải quyết một nhu cầu trong một thời điểm, gây ra sự bất tiện tiêu tốn nhiều thời gian. Multithreaded được tạo ra nhằm giải quyết các vấn đề tồn đọng của single-threaded.

Ví dụ đơn giản cho bạn dễ hiểu là một website khi được người truy cập click vào sẽ phản hồi theo nhiều tác vụ cùng lúc như hiện hình ảnh, font chữ, âm thanh. Trong khi đó, mỗi thời điểm lại có hàng ngàn thậm chí hàng triệu lượt truy cập. Multithreaded ra đời để giải quyết vấn đề này, trong khi single-threaded thì không.

Multithreaded sẽ giúp tiết kiệm rất nhiều thời gian và nguồn lực. Khi một server máy chủ của website nhận được một yêu cầu tác vụ từ người truy cập, server sẽ tạo ra một luồng khác để giải quyết yêu cầu này, sau đó quay lại để tiếp tục xử lý các yêu cầu tiếp theo.

Core và Thread là gì? Những yếu tố này ảnh hưởng thế nào đến sức mạnh CPU? 65

Các mô hình trong multithreading

Việc phân luồng (thread) sẽ được thực hiện qua hai cách là thông qua nhân máy tính để xây dựng kernel thread và thông qua người dùng để tạo nên user thread. Nếu như user thread được hỗ trợ trên kernel và được quản lý mà không cần tới sự hỗ trợ của kernel thì kernel thread quản lý trực tiếp bởi hệ điều hành.

Sự liên kết giữa kernel thread và user thread là hết sức chặt chẽ, được thể hiện qua ba mô hình dưới đây.

Many-to-one

Đây là mô hình triển khai kết nối nhiều user thread với một kernel thread. Thao tác quản lý các luồng sẽ dựa trên thư viện luồng trong không gian người dùng. Trong trường hợp một luồng bất kỳ xảy ra blocking system call thì cả hệ thống sẽ bị chặn.

Ngoài ra, do chỉ một thread được phép tiếp cận kernel trong một lần nên các luồng còn lại sẽ không được hỗ trợ để chạy cùng lúc trong hệ thống đa lõi.

Core và Thread là gì? Những yếu tố này ảnh hưởng thế nào đến sức mạnh CPU? 89

One-to-one

Bạn có thể liên tưởng đến mô hình một kernel thread kết nối với một user thread ngay từ tên gọi one-to-one. Điểm mạnh của one-to-one nằm ở việc đảm bảo độ thông suốt bởi giả sử một thread bị block thì thread khác vẫn sẽ kết nối được cùng kernel.

Tuy nhiên, mô hình này lại tồn tại khuyết điểm là khi một user thread vận hành thì một kernel thread khác sẽ kích hoạt đồng thời. Trong trường hợp có quá nhiều kernel chạy thì ứng dụng sẽ bị quá tải.

Many-to-many

Mô hình many-to-many sẽ tiến hành chia các user-level thread để đạt được lượng nhỏ hơn hoặc bằng so với kernel thread. Tùy theo yêu cầu ứng dụng hoặc bộ máy vận hành mà lượng kernel thread sẽ có sự dao động khác nhau

Many-to-many ra đời nhằm giải quyết vấn đề từ hai mô hình là one-to-one và many-to-one. Số lượng user threads tạo ra là tùy thích và kernel thread tương ứng sẽ vận hành song song trong hệ đa xử lý. Ngoài ra, khi một thread đang thực hiện blocking system call thì kernel thread tương ứng sẽ tự chuyển sang kết nối với một user thread khác. 

Core và Thread là gì? Những yếu tố này ảnh hưởng thế nào đến sức mạnh CPU? 90

Thương hiệu đảm bảo

Thương hiệu đảm bảo

Nhập khẩu, bảo hành chính hãng

Đổi trả dễ dàng

Đổi trả dễ dàng

Theo chính sách đổi trả tại FPT Shop

Giao hàng tận nơi

Giao hàng tận nơi

Trên toàn quốc

Sản phẩm chất lượng

Sản phẩm chất lượng

Đảm bảo tương thích và độ bền cao