Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Processors A Computing Research Project Louis Sullivan Processors: the construction process Processors are mainly made using silicon, which is found in beach sand. Silicon is a natural semiconductor, and the most abundant element on Earth, excluding oxygen. This means that processors can continue to be made, as silicone is so abundant, and it’s a natural conductor, which makes it perfect for computer parts. To begin with, silicon is gathered by extraction companies and shipped to factories. Here, the silicon is purified, melted, and cooled to form an ingot, which is then sliced into discs called wafers. Chips are built simultaneously in a grid formation on the wafer surface in a fabrication facility or “fab.” A chip is a complex device that forms the brains of every computing device. While chips look flat, they are three-dimensional structures and may include as many as 30 layers of complex circuitry. Processors are fabricated in batches of wafers in clean rooms that are thousands of times cleaner than hospital operating rooms. Fab technicians wear special suits, nicknamed bunny suits, designed to keep contaminants such as lint and hair off the wafers during chip manufacturing. The "recipe" for making a chip varies depending on the chip’s use. Making chips is a complex process requiring hundreds of precisely controlled steps that result in patterned layers of various materials built one on top of another. A photolithographic "printing" process is used to form a chip’s multilayered transistors and interconnects (electrical circuits) on a wafer. Hundreds of identical processors are created in batches on a single silicon wafer. Once all the layers are completed, a computer performs a process called wafer sort test. The testing ensures that the chips perform to design specifications. After fabrication, it's time for packaging. The wafer is cut into individual pieces called die. The die is packaged between a substrate and a heat spreader to form a completed processor. The package protects the die and delivers critical power and electrical connections when placed directly into a computer circuit board or mobile device, such as a smartphone or tablet. These packages have to undergo final testing for functionality, performance, and power. The chips are electrically coded, visually inspected, and packaged in protective shipping material, ready to be sold. The Architecture of a Processor The way a chip works is the result of how a chip’s transistors and gates are designed and the ultimate use of the chip. Design specifications that include chip size, number of transistors, testing, and production factors are used to create schematics—symbolic representations of the transistors and interconnections that control the flow of electricity though a chip. Designers then make stencil-like patterns, called masks, of each layer. Designers use computer-aided design (CAD) workstations to perform comprehensive simulations and tests of the chip functions. To design, test, and fine-tune a chip and make it ready for fabrication takes hundreds of people. The architecture defines what the chip will do, and affects how effective the chip is at different tasks. Depending on how the chip is mapped out, it will be able to do different things better than other processors, whose architecture is different. This doesn’t necessarily mean that it’s worse, it’s just specialised in a different task. Size and Speed The speed of a processor depends on many different factors. Here are the main ones. Clock Speed Clock speed, basically, is how many fetch, decode, execute cycles it can do in one second. It is measured in Hertz, although it is more common to see GHz due to the speed of modern processors. 1.8 GHz is equal to 1,800,000,000 clock cycles per second. Number of Cores Processors have evolved drastically over the years, and the introduction of multi-core processors has greatly increased speeds of processors. Each core cannot do more than 1 clock cycle at the exact same time, so a dual-core processor theoretically doubles the clock speed, as each core does the same amount, at the same speed, but at the same time. Therefore quad-cores are four times as fast. However, due to bottle-necking and limitations on software, sometimes only one core can be used, as the program needs to be compatible with multi-core processors. This means that number of cores is not as important as clock-speed, but definitely helps. Cache Cache is a super-fast volatile memory, located in the CPU, that contains the data for any programs running. Whilst RAM is fast, compared to Cache it is very slow, and so if the processor had to fetch from RAM all the time the computer would slow down greatly. However, Cache memory is very expensive to make and buy, and so there is only a very small amount in the CPU. More demanding programs will have to fetch from the RAM, but frequently used instructions and programs will be stores, and used, in the cache. Think of it like a bus stop, a half-way point between RAM and the processor. Ram delivers the most used lines of code to the cache, which is then fetched by the processor, rather than the processor having to fetch all the way from RAM. Binary Code Each and every line of code executed by the processor has to be in machine (binary) code. This essentially is a load of 0s and 1s; 0s for false, 1s for true. These are then arranged into bytes (8 ‘bits’), kilobytes (1024 bytes), megabytes (1024 Kb), gigabytes (1024 Mb) et cetera. However, when people code it is extremely long-winded, difficult and time consuming to code in binary. This is avoided by writing in a higher-level programming language, such as Python, which is then translated in to binary by utilities such as compilers, assemblers and linkers. Even data like pictures and text is stored as Binary. For text we use character-encoding language, like ASCII, to convert text into binary. For example, ‘A’ in ASCII is ‘100 0001’