Despite our best attempts to make our tech analysis and post-mortems as in-depth and easy to understand as possible, not everyone is aware of some of the basic terms and phrases that we throw about frequently. In this very article we’ll be going over the basics of the more common phrases you’ll likely hear each and everyday in the tech world but were afraid to ask.
CPU – Central Processing Unit
The so called “brain” of the PC and is responsible for fetching instructions and processing them. At its simplest it’s a super powerful calculator, taking the various instructions from memory, processing them and then storing the results back. Processors come in several different flavors – RISC (Reduced Instruction Set Computing) and CISC (Complex Instruction Set Computing). Typically for gaming on either a console or PC we’ll be using a PowerPC or a traditional X86-64 variant.
The PS4 / X1 now use X86-64 CPU’s – the same that you’ll find in most PC desktops. Previously the X360 and PS3 used PowerPC (either the Xenon or Cell respectively). X86 CPU’s use the CISC instruction set while the PowerPC based processors use RISC. The smaller instruction sets of RISC are harder to program for as more code is required to often be written for say memory functions, but this is off-set by more silicone being dedicated to processing. Thus RISC CPU’s are generally better for single purpose, while CISC is employed for a more general purpose work horse.
Their performance is measured in several ways, including the amount of cores located on the CPU. For example on the same die (that is same piece of silicone) you might have four CPU cores which will all speak to each other and know what the other is processing. There’ll typically be some cache which is a small amount of memory ‘on-chip’ to store frequently accessed instructions. Then there’s the clock speed, measured in either MHZ or GHZ. 1GHZ would equal to 1000 MHZ.
CPU’s produce a lot of heat, and are typically cooled by large metal (often copper) heatsinks which help extract the heat from the chip. A fan sucks (or blows) air over the metal fins of the heatsink. One of the reasons CPU’s are still roughly the same clock speed as they were several years ago is because of heat / power consumption which has pushed CPU creators to going ‘wide’ (adding in lots of CPU cores).
RAM – Random Access Memory
The storage area for the PC where applications are loaded. RAM “forgets” what was stored within it if the system either loses power or reset. Random Access memory holds the bulk of the data from games and will also store the Operating System (OS), drivers and everything else you’re running on your PC. The data from an application is loaded into RAM for the CPU to process. Typically memory has several performance factors.
The first is size – that is how much memory a computer or console has. The Xbox 360 and PS3 had 512MB but the PS4 / X1 feature 8GB (16 times the amount). Modern PC’s also typically feature 8GB or more. In addition to size there’s the speed – which is measured in latency and clock frequency.
If the application(s) require more memory they can be “paged” to virtual memory / swap file. This is a space on the hard disc which data / programs which haven’t been used in a while are stored. If you’ve ever used your PC and made an application active in awhile, but have been say playing a game, browsing the internet and so on and then click back to it and notice it takes a moment to open, it’s likely because it has been paged.
Of course swapping from the hard disc is much slower than ‘proper’ memory, but it allows you to run more applications than would otherwise fit in your systems RAM.
Graphics Card / GPU / Video Card
You might also hear this one called “Graphics Processing Unit”, but different folks refer to it as different names due to their history, Video Card typically is a relic of when they were barely more than a display output, and Graphics Card became a little more common when 3d graphics cards (such as the Voodoo chipsets) hit the market. Slightly after this we started to move into cards which were capable of Hardware Triangle and Lighting (this came about first with the GeForce 256 cards but ATI (now bought out by AMD) shortly followed). GPU is now a more common term, because the card does more than simply ‘process textures’.
Video Cards on PC’s and Consoles are extremely complicated beasts and they’ve multiple factors which determines their performance. The first of which is the “Shader Count” of the GPU. Shader’s (sometimes known as ALU – Arithmetic Logic Units) are small processors which can process a variety of different data provided to them. Typically the CPU sends the “jobs” over for to the GPU to process. There’s other factors too – such as TMU (Texture Mapping Units) which basically paints a “texture” (think of a texture as an image) on geometry.
Both AMD and Nvidia have technology to put two (or more) cards together in either CrossFire (AMD) or SLI (Nvidia). It’s important to remember that if you have two cards with say 2GB of RAM, you won’t suddenly have 4GB of video memory as the data between the two cards is an exact copy. Therefore carefully selecting the size of the frame buffer is important.
GPU’s on PC’s typically have their own local memory (GDDR5) which will hold the graphics assets rather than needing to fetch data from the systems main DDR3 RAM.
APU – Accelerated Processing Unit
An APU featured both the CPU and GPU on the same die package. This provides several advantages such as reducing the power requirements of a device and also provides the ability for the CPU and GPU to quickly communicate with each other. This is particularly helpful while processing GPGPU type of instructions and for general workload. In the case of the Playstation 4 / Xbox One (and most other designs) they also share the same physical space in RAM. HUMA (see below) is now becoming more the standard with APU’s so they’re able to address the same piece of data more effectively.
SOC – System on Chip
SoC’s and APU’s are often confused with one another, but in reality SoC’s speak about the die in a more general term. While not all APU’s are SoC’s, SoC’s feature other processors and parts on the die. For example, in the case of the Xbox One the eSRAM (see below), alongside the Data Move Engines are held on the die. DSP’s, Input / Output and other communications are other prime candidates to be housed on the SoC.
Many different devices use SoC designs, including the X1, PS4 and of course smart phones and other devices.
MotherBoard
The motherboard is generally the largest ‘component’ in the entire system, looking very much like a large printed circuit board. It’ll feature a socket for the CPU (sometimes more than one socket for server focused boards), and various connections such as the well known USB / Firewire / Ethernet. Internally it’ll also feature PCIE connections (boards now feature PCIE 3.0) and possibly the odd legacy PCI connection too. The PCIE x16 slots will be for the GPU (or multiple GPU’s) to reside in. The board will also feature SATA ports (Serial ATA) to connect DVD writers, Hard Drives (either SSD or HDD) and so on too. You’ll also slot your RAM into the memory slots on the board.
In case you’ve not guessed it, think of the Motherboard as the component responsible for housing and managing all of the components and letting them all speak to each other. Some of the features of motherboards are now housed on certain CPU’s (such as the South Bridge functions). Motherboards distribute the power around the system, provide the BUS for the CPU to speak to the GPU and pretty much everything else.
BIOS – Basic Input Output System
If you’ve ever tried to emulate a PS1 or a plethora of other pieces of hardware you’ve likely heard of the BIOS. The BIOS resides on a special chip on the motherboard of the device. Its job is to control the basic operations of the system – for example it’ll help determine Boot Order, how to access a Hard Drive and other functions for reading from discs. It’ll also help control the CPU, for example detecting the right frequency and even how to communicate with it.
Users can access the BIOS screen of their PC’s generally by processing the small delete key (sometimes F10 but it depends on each BIOS) and set various options. Most overclocking is now done via BIOS, and will also let you change the thermal limits of your system before it shuts down from overheating and so on.
GPGPU – General Purpose Computation on Graphics Processing Units
And now you know why people use the acronym GPU rather than its full title. As we hinted earlier while discussing Graphics Cards, GPU’s have now evolved much further than being able to process simple geometry and texture information. A GPU is comprised of sometimes thousands of shaders and these processors can be told to do a wide variety of different tasks. For non gamers, this means scientific applications or possibly bitcoin mining farms. For gamer’s this means the GPU can jump in and help process physics, AI, particles and so on and offload the work from the GPU.
It does this by the CPU reading the instruction and sending it to the GPU to process (while allocating RAM and other things on local storage as necessary). The GPU will process the results and if necessary the data will be copied back to the CPU’s memory.
HUMA – Heterogeneous Unified Memory Architecture
This is the next logical step of the UMA. In most systems (for example a PC) the GPU has its own memory space (say 3GB GDDR5) and the main system will have say another 8GB of DDR3 memory. This means that in cases of GPGPU the data must be copied from main memory to the GPU’s memory and in general produces latency for mem copy. It also means that developers cannot allocate resources how they choose.
In a PC that’s not really a large issue as memory can be expanded, but in consoles it’s not possible. UMA (Unified Memory Architecture) means that there’s a single pool of memory which can be split up as required. For the Xbox 360 for instance, there was 512MB of memory. This means that if devs wants to allocate 400MB to the games main logic and the remainder to graphics they could. Or they could go with a 256/256MB split. It was up to them.
The problem is that the two memory spaces are for all intents and purposes “separate” and if memory in space A (main system) wants to find its way to space B (video) then it’ll need a memcopy operation. With HUMA this isn’t required – the CPU / GPU address the exact same memory space.
There are still performance issues (mostly with the syncing of data) but it’s a better system – particularly for fixed memory systems for consoles. For more on HUMA check out our article.
GDDR5 vs DDR3
Types of memory – the primary difference between them is the speeds. DDR3 is pretty standard (with DDR4 soon to replace it). For more information regarding DDR3 and GDDR5 check out our previous article here.
eSRAM
Certainly one of the most talked about points regarding Microsoft’s Xbox One console, the eSRAM is a small (32MB to be precise) amount of memory located on the SOC of Xbox One. Its purpose is to act as a super fast amount of memory to help make up for the consoles slower DDR3 memory. Providing 204GB/s memory bandwidth, it’s likely to not cause issues in speed but just in size.
Developers are using tricks to try and get around the limitation, for example tiled rendering as used by Crytek in Ryse: son of Rome in the Cryengine 3 engine. For more on the eSRAM of the Xbox One check out this article.
Memory Bandwidth
Bandwidth can mean multiple things in PC terms, including the speed of your internet connection. In this case we’re discussing how ‘fast’ the memory is of the system. For all intents and purposes memory bandwidth is calculated by the ‘width’ of the bus (think of the bus as number of lanes on a highway) by the speed of the memory / bus (think of that as the speed limit you’re allowed to drive down on this highway). Memory speeds vary, for example the fastest DDR3 would be around 2133MHZ, while GDDR5 doesn’t start breaking a sweat until we hit 5500MHZ.
Bus width is typically 256, 384 or 512 bit. It’s quite literally the amount of data that can be moved “at a time” while speed is the… well, speed the data moves. To calculate the GB/s we can simply take the MHZ of the memory and multiply by the bus width. For instance the PS4 uses 5500MHZ RAM on a 256-bit bus. Meaning you’d do 256 * 5500 = 1408000. Take that number and then divide by 8 and you’re left with 176000. You could divide by 1024 again if you’d like to be given the GB/s rather than MB’s too.
Internal Resolution / Native Resolution
Native / Internal rendered resolution is a very different beast to the outputted resolution. Quite simply put this is the resolution (the number of pixels) that the game is being rendered at natively by the console. The higher the resolution, the greater the work the GPU must do as it takes longer to ‘draw’ the scene which can negatively impact the frame rates of a game particularly in more complex scenes.,
PC’s don’t really have a ‘set’ resolution for games as its user changeable. Consoles have it set by the developers per game. Most gamer’s now want to see 1080 (1920 x 1080 pixels) but other common resolutions include 900P (1600 x 900) or even 720P (1280 x 720). By the way, the P after the resolution doesn’t stand for pixels – but rather Progressive Scan.
Although the resolution difference between say 900 -> 1080 doesn’t sound much, multiply 1600 x 900 then do the same with 1920 x 1080. You’ll quickly see how the numbers make huge differences in the number of pixels. This affects image size too, which is rather crucial when discussing the eSRAM of the X1. For more info check here.
Hard Disc / Solid State Drive
HDD or SSD’s are the storage for the machine. Rather than PATA’s (or EIDE as some folks might call them) modern ones will now use SATA 2 or above.
In the case of HDD they are magnetic discs which spin around (measured in RPM). HDD’s vary hugely in size, but now are typically at least 500GB and many hit over the 2TB range. They are far slower than SSD’s but make up for it in their shear size. The PS4 / X1 both use 500GB drives, but much of their space is reserved for the OS / system. PC owners typically will use an SSD for their OS and use the HDD as storage (sometimes for games, but also for music, photos and other documents).
SSD are Solid State Drives, and can be thought of sort of like a USB memory stick. Their access times are hugely faster than traditional mechanical drives (HDD) but are much more expensive per MB. Often because of their size users typically only buy 128GB – 256GB and will use them for their commonly used applications / Windows (or Linux) install. Boot and load times are much faster (W8 can load in well under 20 seconds on a fast machine) – the difference in consoles isn’t as profound however.
Cache
An area of super fast memory located directly on the CPU (or GPU). There’s a few different ways it can be implemented, either with a ‘separate’ amount of memory per core, or a unified cache which is shared over several cores. The latter design is generally preferred because it allows developers and applications to be optimized. Suppose you have 4 CPU cores with 2 MB of cache each (meaning there’s 8MB total on chip). It’s possibly that cores three and four don’t require much cache usage, and would only be using let’s say 1MB. This means that if the caches are independent cache memory is going to waste. In a shared design the other two cores could use up the memory.
There’s another benefit too – it easily allows data to be shared and processed – so if core one was working on a piece of data, and core two needs to take over it doesn’t have to write across caches (which can be very slow).
Cache’s are very small in comparison to main system memory, but are small due to the fact they’re designed to hold only common instructions. Because space on a CPU (or GPU) die is at a premium it’s important that each byte of space is put to good use. In generally there are multiple cache levels, one, two and three being common. The lower the cache (say one) would be faster but also much smaller, the higher level caches are larger but slower (but still much faster than fetching the instruction off chip).
In the case of the PS4, the CPU is made up of eight cores – four cores per module (so two total). If the AMD Jaguar CPU needs to read data from the other modules cache there’s a huge performance penalty – see more here.