Vậy lõi cpu logic là gì (trái ngược với lõi cpu vật lý)?


48

Tôi đã loay hoay về cách tôi có thể tìm thấy số lượng CPU trong một máy và tôi đã tìm thấy một số bài đăng nhưng tôi bối rối khi một số người đề cập rằng bạn có lõi logic so với lõi vật lý, v.v ...
Vậy sự khác biệt giữa lõi logic và lõi vật lý là gì Có cách nào để tôi có thể lấy lõi vật lý không? Hoặc nó có ý nghĩa để bao gồm các lõi logic trong tính của chúng tôi?

Câu trả lời:


62

Các lõi vật lý chỉ là vậy, các lõi vật lý trong CPU. Các lõi logic là khả năng của một lõi đơn lẻ để làm 2 hoặc nhiều việc cùng một lúc. Điều này phát triển từ khả năng của CPU Pentium 4 đầu tiên để làm những gì được gọi là Hyper Threading (HTT) .

Đó là một chút của một trò chơi đang được chơi trong đó các thành phần phụ của lõi không được sử dụng cho một số loại hướng dẫn nhất định, trong khi đó, một lệnh chạy dài khác có thể đã được thực thi. Vì vậy, CPU có thể có hiệu lực làm việc trên 2 thứ cùng một lúc.

Các lõi mới hơn là các CPU đầy đủ hơn, do đó chúng hoạt động trên nhiều thứ cùng một lúc, nhưng chúng không phải là CPU thực sự như các lõi vật lý. Bạn có thể đọc thêm về những hạn chế của chức năng siêu phân luồng so với khả năng vật lý của lõi ở đây trên tomshardware trong bài viết này có tiêu đề: Intel Core i5 và Core i7: Mainux Magnum Opus của Intel .

Bạn có thể xem bảng phân tích hộp của mình bằng lscpulệnh:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               2667.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

Ở trên, máy tính xách tay Intel i5 của tôi có tổng cộng 4 "CPU"

CPU: 4

trong đó có 2 lõi vật lý

Lõi (mỗi) ổ cắm: 2

trong đó mỗi cái có thể chạy tới 2 luồng

Chủ đề cho mỗi lõi: 2

cùng lúc, cùng thời điểm. Những chủ đề này là khả năng logic của cốt lõi.


Tôi không có lscpu. Có công cụ thay thế nào không?
Jim

1
Thông tin thô lscpusử dụng được đưa ra ở đây : cat /proc/cpuinfo. HĐH của bạn là gì?
slm

1
@ThomasWeller - xem A'er khác của tôi ở đây - unix.stackexchange.com/questions/113544/ .
slm

1
Core(s) per socketlần Thread(s) per core: 2= CPU(s): 4? Chính xác?
user3019105

1
@ user3019105 - đúng
slm

12

Lõi vật lý là số lõi vật lý, thành phần phần cứng thực tế.

Các lõi logic là số lõi vật lý nhân với số lượng luồng có thể chạy trên mỗi lõi thông qua việc sử dụng siêu phân luồng.

ví dụ, bộ xử lý 4 lõi của tôi chạy hai luồng trên mỗi lõi, vì vậy tôi có 8 bộ xử lý logic.


Vì vậy, con số này chỉ có ý nghĩa nếu sử dụng bộ xử lý hỗ trợ siêu phân luồng? Và điều này có nghĩa là gì? Vẫn còn một luồng sẽ chiếm mỗi cpu tại một thời điểm phải không? Vậy con số này có ý nghĩa gì?
Jim

Vì vậy, số lượng tôi nên nhắm đến để có được?
Jim

không nhất thiết, đa luồng đồng thời , ví dụ, cho phép hai luồng được chạy cùng lúc trên một lõi. Có một số lợi thế khác là tốt.
tro

Tôi nhìn vào số lượng lõi vật lý.
tro

1

Công nghệ siêu phân luồng cho phép một lõi bộ xử lý vật lý hoạt động giống như hai bộ xử lý logic.

Vì vậy, một lõi xử lý đơn có thể thực thi đồng thời hai luồng độc lập .

Intel gọi bộ xử lý vật lý là ổ cắm.

Siêu phân luồng làm cho Bộ xử lý vật lý hoạt động giống như nó có hai Bộ xử lý vật lý, được gọi là Bộ xử lý logic. tại sao?

Mặc dù siêu phân luồng không tăng gấp đôi hiệu suất của một hệ thống, nhưng nó có thể tăng hiệu suất bằng cách sử dụng tốt hơn các tài nguyên nhàn rỗi dẫn đến thông lượng lớn hơn cho các loại khối lượng công việc quan trọng nhất định. Một ứng dụng chạy trên một bộ xử lý logic của lõi bận rộn có thể mong đợi hơn một nửa thông lượng mà nó thu được khi chạy một mình trên bộ xử lý không siêu phân luồng.


Tóm lược


Bộ xử lý vật lý là chúng ta có thể nhìn thấy và ngã xuống.

Bộ xử lý logic giống như, một lõi Phsical hoạt động như hai lõi vật lý


Liên kết được gửi đến tài liệu vmware.
slm

0
$ sudo dmidecode |egrep "Socket Designation: Proc|((Thread|Core) Count)"
Socket Designation: Proc 1
        Core Count: 14
        Thread Count: 28
Socket Designation: Proc 2
        Core Count: 14
        Thread Count: 28

Hai ổ cắm. Mỗi ổ cắm có 14 lõi vật lý. Mỗi lõi có hai luồng (28/14). Tổng số "cpus" hoặc đơn vị xử lý logic là 56 (đó là "top" và một số lệnh khác sẽ hiển thị cho bạn dưới dạng số "cpus").


Điều gây trở ngại cho tôi là trên i3-3220 với cách tiếp cận của bạn, tôi nhận được số lõi 2 và số đếm 2 (= 4) nhưng lscpu shows CPUs 4 and threads per 2 (=8) but lshw -C cpu` hiển thị 16 cpu logic được đánh số 0 - 15
Elder Geek

dmidecode diễn giải những gì trong BIOS .. không chắc chắn chính xác những gì sai trong trường hợp của bạn, ví dụ bạn có thể bị siêu phân luồng bị vô hiệu hóa trong BIOS hoặc đại loại như thế. lscpu và lshw là các lệnh OS, vì vậy hãy hiển thị kernel OS nào đã nhận ra. Thông số kỹ thuật Intel cho bộ xử lý của bạn hiển thị 2 lõi 4 luồng.
Tagar

Sẽ không có siêu phân luồng kết quả bị vô hiệu hóa trong các lõi logic ít hơn chứ không phải nhiều hơn?
Anh Cả Geek

Tôi hiểu rằng bạn có 2 lõi 2 luồng được báo cáo bởi dmidecode thay vì 2 lõi 4 luồng số luồng thực / lõi i3-3220 có. Vì vậy, nó là nhỏ hơn. Và đó chỉ là dự đoán, tôi không biết liệu bạn có thực sự bị siêu phân luồng bị vô hiệu hóa trong BIOS hay không.
Tagar 8/2/2016

Có vẻ như tôi đã hiểu sai lscpuđầu ra và thực sự là tổng số 4 luồng nhưng "lshw -C cpu` hiển thị 16 CPU logic" Tôi không biết phải làm gì với điều đó.
Anh Cả Geek
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.