-
Notifications
You must be signed in to change notification settings - Fork 2
A Go package that reports processor topology
License
jpoirier/cpu
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Description
------------
cpu package reports (some) processor topology information
Note that the term package refers to a physical processor
and system refers to multiple packages. Also, a processor's
hardware capability may differ from its configuration.
Usage
-----
See cpu_example.go for output information and usage
Installation
------------
$ go get github.com/jpoirier/cpu
Testing
-------
$ go run cpu_example.go
TODO
----
- add error enumerations
- if 64-bit, or newer 32-bit, and the leaf value is less than 4 check IA32_MISC_ENABLES bit 22
Misc
----
- Package refers to a physical processor that plugs in to a socket
- Core refers to a physical sub-system of a package. A core may contain 1 or more logical processors.
- A logical processor refers to a hardware resource that can execute a single thread.
- Hyper-threading refers to the technology that allows a processor core to provide the functionality of more than one logical core.
- Simultaneous Multi-Threading refers to multiple logical processors within the same core.
- MultiCore Processor contains more than one physical core.
- MultiProcessor Platform contains multiple physical sockets.
- Hardware Multithreading refers to any combination of hardware support to allow multithreading,
which could be any combination of SMT, multi-core, and multi-processor.
- Processor Topology is the hierarchical relationship of shared vs dedicated hardware resources.
About
A Go package that reports processor topology
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published