Content deleted Content added
No edit summary Tags: Visual edit Mobile edit Mobile web edit |
Information about Processor |
||
(12 intermediate revisions by 6 users not shown) | |||
Line 4:
* Short [[Response time (technology)|response time]] for a given piece of work.
* High [[throughput]] (rate of processing work tasks).
* Low utilization of [[computing resource]]
** Fast (or highly compact) [[data compression]] and decompression.
* [[High availability]] of the computing system or application.
Line 77:
Computers run sets of instructions called a process. In operating systems, the execution of the process can be postponed if other processes are also executing. In addition, the operating system can schedule when to perform the action that the process is commanding. For example, suppose a process commands that a computer card's voltage output be set high-low-high-low and so on at a rate of 1000 Hz. The operating system may choose to adjust the scheduling of each transition (high-low or low-high) based on an internal clock. The latency is the delay between the process instruction commanding the transition and the hardware actually transitioning the voltage from high to low or low to high.
System designers building [[real-time computing]] systems want to guarantee worst-case response. That is easier to do when the CPU has low [[interrupt latency]] and when it has a deterministic response.
=== Bandwidth ===
{{Main|Bandwidth (computing)}}
In computer networking, bandwidth is a measurement of bit-rate of available or consumed [[data communication]] resources, expressed in bits per second or multiples of it (bit/s, kbit/s, Mbit/s, Gbit/s, etc.).
Bandwidth sometimes defines the net bit rate (aka. peak bit rate, information rate, or physical layer useful bit rate), channel capacity, or the maximum throughput of a logical or physical communication path in a digital communication system. For example, bandwidth tests measure the maximum throughput of a computer network. The reason for this usage is that according to Hartley's law, the maximum data rate of a physical communication link is proportional to its bandwidth in hertz, which is sometimes called frequency bandwidth, spectral bandwidth, RF bandwidth, signal bandwidth or analog bandwidth.
Line 93:
In communication networks, throughput is essentially synonymous to digital bandwidth consumption. In [[wireless network]]s or [[cellular communication networks]], the [[system spectral efficiency]] in bit/s/Hz/area unit, bit/s/Hz/site or bit/s/Hz/cell, is the maximum system throughput (aggregate throughput) divided by the analog bandwidth and some measure of the system coverage area.
In integrated circuits, often a block in a [[data flow diagram]] has a single input and a single output, and
=== Scalability ===
Line 109:
System designers building [[parallel computing|parallel computers]], such as [[Google search technology#Production hardware|Google's hardware]], pick CPUs based on their speed per watt of power, because the cost of powering the CPU outweighs the cost of the CPU itself.<ref>{{cite web |title=EEMBC -- the Embedded Microprocessor Benchmark Consortium |url=http://www.eembc.org/benchmark/consumer.asp?HTYPE=SIM |url-status=dead |archive-url=https://web.archive.org/web/20050327005323/http://www.eembc.org/benchmark/consumer.asp?HTYPE=SIM |archive-date=2005-03-27 |access-date=2009-01-21}}[http://news.cnet.com/Power+could+cost+more+than+servers,+Google+warns/2100-1010_3-5988090.html]</ref>
For spaceflight computers, the processing speed per watt ratio is a more useful performance criterion than raw processing speed due to limited on-board resources of power.<ref>D. J. Shirley; and M. K. McLelland. [https://digitalcommons.usu.edu/cgi/viewcontent.cgi?article=2656&context=smallsat "The Next-Generation SC-7 RISC Spaceflight Computer"]. p. 2.</ref>
=== Compression ratio ===
Line 123:
{{Further|Green computing}}
The effect of
=== Transistor count ===
{{Main|Transistor count}}
The
== Benchmarks ==
Line 140:
{{Main|Software performance testing}}
In software engineering, performance testing is, in general,
Performance testing is a subset of performance engineering, an emerging computer science practice which strives to build performance into the implementation, design, and architecture of a system.
=== Profiling (performance analysis)===
Line 150:
Profiling is achieved by instrumenting either the program [[source code]] or its binary executable form using a tool called a ''profiler'' (or ''code profiler''). A number of different techniques may be used by profilers, such as event-based, statistical, instrumented, and simulation methods.
== Processor ==
The central processing unit (CPU), also called the central processor, main processor, or simply the processor, is the primary processor in a given computer. Its electronic circuits execute instructions of a computer program, such as arithmetic, logical, control, and input-output (I/O) operations.<ref>{{Cite web|title=What is processor (CPU)?|url=https://www.techtarget.com/whatis/definition/processor|access-date=2025-08-15|work=www.techtarget.com}}</ref>
The performance or speed of a processor depends, among other things, on the clock frequency (usually measured in hertz) and the number of instructions per cycle (IPC), which together determine the number of instructions per second (IPS) the CPU can execute.<ref>{{Cite web|title=How is Processor Speed Measured: Understanding CPU Performance Metrics|url=https://bytebitebit.com/cpu/how-is-processor-speed-measured/|access-date=2025-08-15|work=bytebitebit.com}}</ref> Many reported IPS values represent "peak" execution speeds for artificial instruction sequences with few branches, whereas real workloads consist of a mix of instructions and applications, some of which run longer than others. The performance of the memory hierarchy also greatly affects processor performance, a factor that is rarely considered when calculating IPS. Due to these issues, various standardized tests, often called "benchmarks," such as SPECint, have been developed to attempt to measure real effective performance in commonly used applications.
When choosing a computer or mobile device, processor performance plays a major role and is selected according to the tasks to be solved. For example, the Intel Core i7 processor has been a reliable "workhorse" of computing technology for many years, providing overall performance for both mobile users and professionals. The Core i7 serves as a main high-performance processor offering balanced performance for general computing tasks.<ref>{{Cite web|title=Intel Core Ultra 7 vs i7|url=https://www.geekom.co.uk/intel-core-ultra-7-vs-i7|access-date=2025-08-15|work=www.geekom.co.uk}}</ref>
Computer performance increases through the use of multicore processors, which essentially connect two or more separate processors (in this sense called cores) on a single integrated circuit. Ideally, a dual-core processor should be almost twice as powerful as a single-core one. In practice, performance gains are much smaller, about 50%, due to imperfect software algorithms and implementation.<ref>{{Cite web|title=Quad Core Vs. Dual Core|url=https://techspirited.com/quad-core-vs-dual-core|access-date=2025-08-15|work=techspirited.com}}</ref> Increasing the number of cores in a processor (e.g., dual-core, quad-core, etc.) increases the workload it can handle. This means the processor can now process numerous asynchronous events, interrupts, and so forth, which might negatively impact the CPU under overload. These cores can be viewed as different floors in a processing plant, where each floor handles its own task. Sometimes these cores will process the same tasks as neighboring cores if one core is insufficient for handling the information. Multicore CPUs enhance a computer's ability to perform multiple tasks simultaneously by providing additional computational power. However, the speed increase is not directly proportional to the number of cores added. This is because cores need to interact via specific channels, and this inter-core communication consumes part of the available computing power.<ref>{{Cite web|title=Factors Affecting Multi-Core Processors Performance|url=https://pcsite.co.uk/factors-affecting-multi-core-processors-performance/|access-date=2025-08-15|work=pcsite.co.uk}}</ref>
Due to the specific capabilities of modern CPUs, such as simultaneous multithreading and uncore— which imply shared use of actual CPU resources to improve utilization—monitoring performance levels and hardware usage has gradually become a more complex task.<ref>{{Cite web|title=CPU utilization of multi-threaded architectures explained|url=https://blogs.oracle.com/solaris/post/cpu-utilization-of-multi-threaded-architectures-explained|access-date=2025-08-15|work=blogs.oracle.com}}</ref> In response, some CPUs implement additional hardware logic that tracks the actual utilization of various parts of the CPU and provides various counters accessible to software; an example is Intel's Performance Counter Monitor technology.<ref>{{Cite web|title=Intel Performance Counter Monitor - A Better Way to Measure CPU Utilization|url=https://www.intel.com/content/www/us/en/developer/articles/tool/performance-counter-monitor.html|access-date=2025-08-15|work=www.intel.com}}</ref>
== Performance tuning ==
Line 169 ⟶ 180:
Perceived performance, in computer engineering, refers to how quickly a software feature appears to perform its task. The concept applies mainly to [[User acceptance test|user acceptance]] aspects.
The amount of time an application takes to start up, or a file to download, is not made faster by showing a startup screen (see Splash screen) or a file progress dialog box. However, it satisfies some human needs: it appears faster to the user as well as
In most cases, increasing real performance increases perceived performance, but when real performance cannot be increased due to physical limitations, techniques can be used to increase perceived performance.
Line 213 ⟶ 224:
* [[Cache replacement policies]]
* [https://www.laptopicker.com/how-to-optimize-my-pc-hardware/ Understanding Your PC Hardware]
* [[Relative efficiency]]
==References==
|