Chủ đề là gì và chúng làm gì trong bộ xử lý?


27

Tôi đã xem xét các số liệu thống kê cho CPU Intel Pentium e5700 .

Nó có hai lõi và hai luồng. Các chủ đề làm gì cho bộ xử lý? Có bất kỳ mối quan hệ giữa số lượng lõi và số lượng chủ đề? Mục đích nào làm chủ đề phục vụ cho toàn bộ hệ thống?


Đó là số lượng luồng mà CPU có thể xử lý tại một thời điểm hoặc một số chỉ số giả mà Intel đã phát minh ra.
chữ sốxp

3
Được bình chọn đóng như IMO, điều này quá chung chung - trong khi tôi luôn rất do dự khi nói "chỉ Google nó", mục đích của Super User (và các trang web tương tự) là để trả lời các câu hỏi thực sự, không phải là một từ điển cho các thuật ngữ kỹ thuật dễ dàng tra cứu trong các nguồn lực thích hợp hơn.
Shinrai

3
@Shinrai Tôi đã chỉnh sửa nó để làm cho nó ít chung chung hơn
Simon Sheehan

Câu trả lời:


21

Số lõi là số lõi vật lý trên CPU tự chết, trong khi số luồng là số luồng ứng dụng riêng lẻ có thể được thực thi đồng thời trên chính CPU. Không có bất kỳ phần cứng bổ sung hoặc đặc biệt nào, điều này bằng với số lượng cốt lõi. Tuy nhiên, một số bộ xử lý sẽ có nhiều luồng hơn so với lõi.

Một số CPU Intel có một tính năng gọi là siêu phân luồng , cho phép hệ điều hành nhìn thấy gấp đôi số lượng lõi logic trên mỗi lõi vật lý. Điều này cho phép hệ điều hành lên lịch và chạy gấp đôi số lượng luồng đồng thời, vì vậy trong trường hợp CPU tôi liên kết ở trên, có bốn lõi vật lý, nhưng tám lõi logic (để bạn có thể chạy tám luồng đồng thời).

Mỗi ứng dụng riêng lẻ chạy trong hệ điều hành là một luồng đơn hoặc đa luồng (nghĩ rằng mỗi luồng là một "ứng dụng phụ"). Các ứng dụng đơn luồng chỉ cần một luồng để chạy trên CPU, trong khi các ứng dụng đa luồng có nhiều luồng con chạy đồng thời. Các lõi bổ sung, hoặc siêu phân luồng, cho phép nhiều luồng ứng dụng hơn đồng thời chạy cùng một lúc.

Điều này cho phép các ứng dụng đa luồng ( không phải luồng đơn) chạy nhanh hơn nhiều, vì nhiều hơn một luồng có thể chạy cùng một lúc trên CPU.


Chỉ là một lưu ý cuối cùng, siêu phân luồng giúp cải thiện hiệu suất của một số ứng dụng đa luồng được tối ưu hóa cụ thể cho nó (vì vẫn chỉ có một nửa số lõi vật lý là có logic). Trong một số trường hợp khác nhau, ứng dụng có thể chạy nhanh hơn với HyperThreading bị vô hiệu hóa (mặc dù nhiều ứng dụng làm lợi ích từ nó). Bất kể siêu phân luồng, sự gia tăng số lượng lõi vật lý sẽ luôn có lợi cho các ứng dụng đa luồng.


1
Có lẽ bạn có thể giải thích những gì chủ đề làm cho bộ xử lý? +1 để đề cập đến siêu phân luồng, vì nó rất phổ biến hiện nay (Có vẻ như trong tất cả các i3)
Simon Sheehan

Mỗi quá trình có ít nhất một chủ đề. Khi quá trình được bật CPU, luồng chính sẽ chạy cho đến khi CPU bật lên. Một tiến trình có thể sinh ra một luồng khác và bây giờ hai phần của cùng tiến trình đó sẽ được chạy và yêu cầu các lượt CPU. Tất cả các quy trình là chương trình và với cơ chế này, hai thứ trong cùng một chương trình có thể chạy cùng một lúc. Nó nhanh hơn so với thực hiện một quy trình mới (tức là rèn hoặc tải một chương trình mới) nhưng kém an toàn hơn. Các quy trình được cách ly với nhau, các chủ đề của một quy trình thì không.
LawrenceC

Điều gì sẽ xảy ra nếu tôi đã tạo một chương trình java đa luồng với 50 luồng xử lý đồng thời và tôi đang chạy nó trên Intel i7-4790K, có 4 lõi và 8 luồng. Điều này có nghĩa là chỉ có 8 trong số 50 luồng trong ứng dụng java thực sự đang thực thi đồng thời và phần còn lại nằm trong một hàng đợi? Làm thế nào nó hoạt động
Donato

@Donato hệ điều hành làm gián đoạn mọi luồng đang chạy để cho phép những người khác một thời gian hoàn thành công việc của họ. Tại bất kỳ thời điểm nào, chỉ có 8 luồng đang chạy trên CPU và mỗi lõi liên tục chuyển đổi giữa các luồng khác nhau; thật hữu ích khi nghĩ về chúng như là "công việc" (ghi nhớ các công việc cũng có thể được ưu tiên). Mỗi lõi sẽ thực hiện một số công việc cho một luồng nhất định và sau đó bị gián đoạn bởi bộ lập lịch tác vụ của hệ điều hành để chuyển sang một công việc khác, thực hiện một số công việc trong công việc đó, và cứ tiếp tục như vậy, cho đến khi công việc hoàn thành.
Đột phá

@BreakENC, Re " để bạn có thể chạy tám luồng đồng thời ", những hạn chế của tính đồng thời như vậy khi so sánh với tính đồng thời thực sự được cung cấp bởi các lõi thực sự là gì? Ngoài ra, làm thế nào có thể " các ứng dụng có thể chạy nhanh hơn với tính năng siêu phân luồng bị vô hiệu hóa "?
Pacerier

9

Một "lõi" đại diện cho một tập hợp vật lý thực tế của bộ xử lý có thể tự xử lý việc xử lý, trong khi "luồng" là có bao nhiêu quy trình thực tế mà bộ xử lý có thể xử lý cùng một lúc. Intel đã phát triển một công nghệ mà họ gắn mác "siêu phân luồng", kỹ thuật này cho phép một lõi vật lý (thông thường chỉ có thể xử lý một luồng tại một thời điểm) để có thể xử lý đồng thời hai luồng.

Một luồng là một nhiệm vụ mà bộ xử lý phải xử lý, vì một lời giải thích đơn giản, bạn có thể giả sử rằng mọi ứng dụng bạn mở (như paint, notepad, media player) đều có luồng riêng ... bây giờ điều này không có nghĩa là bạn chỉ có thể mở 2 ứng dụng cùng một lúc, đơn giản là vì bộ xử lý và HĐH hoạt động rất nhanh với 'chuyển đổi luồng' để xử lý các nhu cầu của mọi ứng dụng mà bạn đã mở. Bạn sẽ chỉ trải nghiệm hiệu năng tốt hơn với nhiều lõi hơn vì giờ đây bạn có thể xử lý tất cả các công việc cho nhiều bộ xử lý lõi hơn.

Ví dụ, máy tính làm việc của tôi có i7 trong đó. I7 có 4 lõi vật lý, nhưng mỗi lõi có thể thực hiện 'siêu phân luồng', cho phép bộ xử lý này xử lý 8 luồng cùng một lúc. Vì vậy, nếu tôi mở trình quản lý tác vụ, tôi sẽ thấy 8 hộp cho thang đo hiệu năng của bộ xử lý.

Một nguyên tắc chung là nhiều lõi vật lý tốt hơn nhiều luồng. Vì vậy, nếu bạn so sánh một bộ xử lý có 4 lõi và 4 luồng, sẽ tốt hơn 2 lõi 4 luồng. Nhưng bộ xử lý của bạn có thể xử lý càng nhiều luồng thì nó sẽ hoạt động tốt hơn trong khi đa nhiệm và đối với một số ứng dụng rất chuyên sâu (chỉnh sửa video, CAD, CAM, Nén, Mã hóa, v.v.) sẽ tự sử dụng nhiều lõi một lần.


"Hộp" có nghĩa là gì?
Pacerier


-1

nhấp vào liên kết trong một bài viết trong IE hoặc chrome ,, mỗi lần bạn nhấp vào bạn tạo một chủ đề. bạn càng nhấp vào liên kết các chủ đề càng nhiều. có CPU 4 lõi, bạn có tối đa 8 luồng, bạn có thể mở 8 liên kết trước khi bắt đầu gặp sự cố. coi thường kết nối internet của bạn. vì vậy mỗi lõi bao gồm hai trong số các liên kết (chủ đề) mà bạn đã mở. đó là ý tưởng IMO. nếu điều này có ý nghĩa với bất cứ ai.


Không, đây không phải là chủ đề trong bối cảnh của CPU hoặc câu hỏi đã được hỏi.
nhạc2myear
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.