Hardware Assignment for School

JacoFett

Reputable
Feb 13, 2016
18
0
4,510
We are building a Gaming Computer and have to compare each component and explain what each one does. I will be posting my CPU explanation below and would appreciate it if someone could read through and give advice for facts, grammar or things to add in. I know it may be a bit too much for the explanation for this assignment but I like to go in detail and explain what each part actually does.

A Central Processing Unit (CPU’s) is considered to be the brain of the computer and is located on silicon chips. Other names for this particular unit include; processor, microprocessor or Integrated Circuit (IC). They are called the brain of the computer because they have circuitry which completes instructions in the memory to perform calculations. There are 4 main parts of a CPU, they are; the Control Unit (CU), the ALU (Arithmetic Logic Unit), the I/O (Input/Output) Unit and the cache. There also may be a built-in memory controller inside the CPU (e.g. Intel i5 and i7) which controls the data flow between the processor and the RAM. The control unit controls when and how the instructions are executed. The ALU actually performs arithmetic and logic operations so the control unit can use these to complete an instruction. There may be multiple ALU’s and they also typically only work on integers. Floating point numbers are usually worked on by an FPU (Floating Point Unit), a minor unit in the CPU but it is a vital part to the processing unit. The Input/Output Unit consists of many registers to control the flow of information to the whole computer. Finally, the cache is the CPU’s internal memory and is used when the computer thinks that some information will be handy and be used again. Cache is made of SRAM (Static RAM), hence why it is the fastest memory in the whole computer system. A consequence of this speed is the fact that SRAM is very expensive which is why it is only used in the CPU. There are 4 levels of cache; level 1 (L1), level 2 (L2), level 3 (L3) and level 4 (L4). If an instruction requiring memory cannot find the information that it is looking for in L1 cache it moves to the next level. If it gets to L4 cache (assuming that there is even L4 in the CPU) and the CPU cannot find what it is looking for it will look in the main memory, also known as SDRAM (Synchronous Dynamic Random Access Memory). If the instructions that the computer is looking for isn’t in any of these spaces it will go to the secondary memory (Hard Disk Drives or Solid State Drives). Operations of the processor are synchronized by the system clock, located somewhere on the motherboard. This specifies how many clock cycles should be performing per second. This is generally measured in gigahertz (or GHz) and can be overclocked to be faster. Overclocking is a concept which speeds up the processors clock speed to improve performance and the instructions per second. This increases the throughput of the CPU but is hard to implement properly due to heat limitations. ‘Superclocked’ is also another common term which refers to the fact that the manufacturer has already overclocked it so it performs at a quicker speed. CPU throttling is a technique by which the processor can dynamically adjust its frequency in order to reduce heat output or reduce power consumption. This is similar to Intel’s Turbo Boost technology (or AMD’s Turbo Core technology) which dynamically changes the frequency in order to speed up the processor. Microprocessors function by the use of a group of Instruction Sets. Instruction Sets tell the CPU what it can and cannot do and includes a list of features in which all have different types of ‘commands’ and are programmed in an assembly language. These sets determine the processors limits and all have different uses such as the SSE set, which increases the knowledge of floating point numbers to the processor. CPU’s are divided into sections called ‘’Cores” and these allow the processor to multithread instructions to allow faster processing speed. Cores can also be split up into different ‘threads’ which allows the Operating System to ‘see’ all of the threads as extra cores. This boosts performance dramatically as it promotes multithreading by letting multiple instructions and operations happen all at once. Another main feature of a modern processor is pipelining and it is a very important feature and technology included in the microprocessor as it allows instructions to be overlapped in execution thus the CPU can complete instructions at a much faster speed. A Branch Predictor can be used to enhance the flow of the pipelining stages by predicting a branch of control statements. Multithreading, pipelining and parallelism is considered to be of a superscalar design which means that more than one instruction can be done per clock.
Initially three CPU’s were examined as the best for use in a gaming computer are; Intel Core i5 6600K, Intel Core i7 5820K, and Intel Core i7 6700k. All of these CPU’s are from the x86_64 architecture which means that the data path width can transfer information up to 64 bits each clock cycle. The x86 and x86_64 architecture uses an instruction set called CISC (Complex Instruction Set Computer) and defines how the simple or complex the instructions are. The opposite set of this stand is RISC (Reduced Instruction Set Computer) which is used in the ARM (Advanced RISC Machines), PPC (PowerPC or Performance Optimization With Enhanced RISC - Performance Computing) and MIPS (Microprocessor without Interlocked Pipeline Stages) architectures. CISC contains many complex instructions which means it takes the CPU longer to decode them. But this is where CISC gets interesting and actually breaks apart the instructions to make it like RISC instructions to increase the speed that the processor can execute the instructions. These sub operations are called micro-ops.
 
Solution
First off, I would challenge the FPU information. The FPU is one of the most important portions of the CPU these days. It is also the unit that sees the most attention and updates as features are added. The ALU performs integer math and logic functions, but the FPU does most of the heavy lifting when it comes to math.

As for your cache descriptions, if this is to be considered general information, it might be worth mentioning that not all CPU's have this many levels of cache. As for HDD's, SSD's and for that matter ODD's, I would refer to them as storage devices, they aren't technically memory devices.

The system clock is never measured in GHz. No motherboard utilizes clock signals at this speed. Due to how noisy "square wave"...
First off, I would challenge the FPU information. The FPU is one of the most important portions of the CPU these days. It is also the unit that sees the most attention and updates as features are added. The ALU performs integer math and logic functions, but the FPU does most of the heavy lifting when it comes to math.

As for your cache descriptions, if this is to be considered general information, it might be worth mentioning that not all CPU's have this many levels of cache. As for HDD's, SSD's and for that matter ODD's, I would refer to them as storage devices, they aren't technically memory devices.

The system clock is never measured in GHz. No motherboard utilizes clock signals at this speed. Due to how noisy "square wave" signals are (at high frequencies) and the amount of EMI shielding that would be required, you will never find clock signals this fast on a motherboard. Maybe on RF equipment, but not computer equipment. The clock signals found on motherboards are in the MHz range. For instance the base clock for Intel's Core series uses 100MHz. This is where the CPU multiplier comes in. It takes the 100MHz to develop the operating frequency of the CPU, but this is done on-die, this frequency isn't seen outside of the CPU.

Throttling is a safeguard against overheating. Throttling is done when the CPU internal temperature begins to run outside the specified operating temperature. Typically in a logic terms, the CPU base clock is OR'ed with a logic 1 which in effect turns off the clock signal which results in program execution to stop. When the temp drops below the temp threshold, the OR'ing is removed. What you are referring to is Intel SpeedStep (for AMD Cool 'n Quiet) where by the multiplier is manipulated to save power. The core voltage is also manipulated.

It might be worth mentioning that multi-threading is only effective if the software has been explicitly written to take advantage of more than one core. Multi-threading needs to be "turned on" in the compiler when the software is compiled. Even so, some loads are by their very nature sequential and do not benefit from any parallelism. Furthermore, just because a task might be a candidate for multi-threading, doesn't mean that it can utilize all the logic cores that are presented by the OS. So if a task can utilize no more than 2 cores, then having more than a dual core CPU is of no benefit, other than maybe to offload any OS work. Games are becoming more multi-threaded, but if you were to look at how long we've had dual cores (and more), you would have thought we'd be a lot further along. There are some shining examples of games that will utilize more than 4 cores, but the fact remains that most games struggle to keep 2 cores busy.

As for Turbo Boost or Turbo Core, this goes back to core usage. When core usage is low, Intel and AMD will allow the core clock to raise above the base clock. So for instance lets say that when all 4 cores are loaded, the base core clock is 3.5GHz. Then the core loading changes to only utilize 1 core, so the core clock is "boosted" to 3.9GHz to increase performance for that single thread. Those frequencies by the way correspond to a i7 4770K. However a lot of motherboard manufacturers defeat this in their BIOS's. For instance by default my Maximus VI Hero runs all 4 cores at 3.9GHz regardless of the load. This can be changed, but by default it runs all the cores at the "boost" clock.

I will continue to look to see if I can find anything else. Overall, it's well written, though you should consider separating it into paragraphs. It's very daunting to read a massive wall of unbroken text.
 
Solution

JacoFett

Reputable
Feb 13, 2016
18
0
4,510


What if they wrote this from their head like I did? Would I have to go out and find trustworthy references?
 

Rabmac

Reputable
Nov 29, 2015
1,325
0
5,960
As someone who has taught at a secondary school and college I would be willing to bet that this has been plagiarised.

This line alone gives the game away: "Initially three CPU’s were examined as the best for use in a gaming computer are; Intel Core i5 6600K, Intel Core i7 5820K, and Intel Core i7 6700k. All of these CPU’s are from the x86_64 architecture which means that the data path width can transfer information up to 64 bits each clock cycle. "

Although there are loads of other things that would indicate to me that this is plagiarised.
 


Most consumer microprocessors have two floating point execution units per core, one for FPADD and one for FPMUL. FPDIV may be shared with the regular IDIV as division is used much less frequently. The same hardware is used for both scalar and vector floating point operations. However, discrete hardware is used for scalar integer arithmetic and vector integer arithmetic. As of Haswell, Intel's microarchitecture has 4 scalar integer ALUs per core, two vector integer ALUs per core, two vector logicals per core, and one dedicated vector integer multiplier per core. Many of these share the same ports, but it is possible to issue three integer vector multiply (one on the dedicated, and two on vector ALUs) and one scalar all in the same cycle.

It's really vectors that have received the most attention, usually in the form of wider floating point instructions followed later by wider integer instructions and wider logical instructions.