# Data and Program Representation
## Digital data and numerical data

Most computers are digital computers which use a specific language to communicate within itself in order to process information. If there are programs running in the background or a person is typing up a word document for example, the computer needs to be able to interpret the data that is being put into it by the human as well as communicate to working components within itself. This language that digital computers use is called binary code and is a very basic form of language composed of only two figures; 1 and 0. Whereas the English language is composed of 26 figures which we commonly call the alphabet, computers use a language composed of only two figures, hence its name "binary code". These 1's and 0's are referred to as "bits" - which are known as the smallest unit of data that a binary computer can recognize. They are found through every action, memory, storage, or computation that is done through a computer, such as creating a document, opening a web browser, or downloading media. In order to comply with more actions memory or storage, bits must compound together to form a larger unit referred to as "bytes".
Bytes are commonly used when referring to the size of the information being provided. For example, a song that is downloaded may contain several kilobytes or perhaps even a few megabytes if it is a whole c.d. and not just a single track. Likewise, pictures and all other documents in general are stored on the computer based on their size or amount of bytes they contain. The amount of information that can be stored onto a computer is also shown or displayed in bytes as is the amount left on a computer after certain programs or documents have been stored. Since bytes can be extremely long, we have come up with prefixes that signify how large they are. These prefixes increase by three units of ten so that a Kilobyte represents around 1,000 bytes, a Megabyte represents around one million bytes (1,000,000 bytes), a Gigabyte represents around one billion bytes (1,000,000,000 bytes), etc. Computers components have become so small that we can now store larger and larger amounts of data bytes in the same size computers resulting in the use of other larger prefixes such as Tera, Peta, Exa, Zetta, and Yotta. Below is a chart outlining the name of the prefix used and powers of ten they symbolize.
Digital Data Representation, otherwise known as how the computer interprets data, is a key concept to understanding computer data processing, as well as overall functioning. Data is represented by particular coding systems. The computer recognizes coding systems- rather than letters or phrases that the user of a computer views. The actual process of the computer understanding coding systems is called digital data representation. A digital computer operates by understanding two different states, on or off. This means that the data is represented by numbers- 0’s and 1’s, and is known as a binary computer. The binary code is a very basic coding system for computers to comprehend. An advantage to digital data computing lies behind the binary coding systems. Although the binary code has become decreasingly popular in the professional, recreational fields due to an increase in technology, they still provide a use in programming. Digital data creates a simple way to duplicate and transfer information accurately from computer to computer, which is why it is still used today. The terminology for the smallest unit of data is a bit, which consists of a single numeric value,0 or 1. Bytes, on the other hand, consist of groupings of multiple groupings of bits. Bytes allow the computer hardware to work more quickly and efficiently.
(from the SI page on Wikipedia):
SI Prefixes :
| Name | yotta | zetta | exa | peta | tera | giga | mega | kilo | hecto | deca |
| Symbol | Y | Z | E | P | T | G | M | k | h | da |
| Factor | 10$^{24}$ | 10$^{21}$ | 10$^{18}$ | 10$^{15}$ | 10$^{12}$ | 10$^9$ | 10$^6$ | 10$^3$ | 10$^2$ | 10$^1$ |
| Name | deci | centi | milli | micro | nano | pico | femto | atto | zepto | yocto |
| Symbol | d | c | m | µ | n | p | f | a | z | y |
| Factor | 10$^{-1}$ | 10$^{-2}$ | 10$^{-3}$ | 10$^{-6}$ | 10$^{-9}$ | 10$^{-12}$ | 10$^{-15}$ | 10$^{-18}$ | 10$^{-21}$ | 10$^{-24}$ |
Representing data in a way that can be understood by a digital computer is called Digital Representation and Binary Code is the most commonly used form of this. Binary Code is a Numerical Representation of data that uses only 1 and 0 to represent every possible number. Mathematics uses 10 symbols ranging from 1 TO 0 and include 2, 3, 4, 5, 6, 7, 8, and 9 as well. This Numerical Representation of data is called the decimal numbering system because it uses ten symbols. As shown on the chart, the prefix deci symbolizes ten. In both systems, the position of each digit determines to which power that number is raised. In the decimal system each digit is raised by ten so that the first column equals 1 (10^1) or ten raised to the first power, the second column equals 10 (10^2) or ten raised to the second power, the third column equals 100 (10^3) or ten raised to the third power and so on. However, since Binary Code only operates with two symbols, each digit is a power of two instead of ten. In binary the first column equals 1 (2^0) or two raised to the zero power, the second column equals 2 (2^1) or two raised to the first power, the third column equals 4 (2^2) or two raised to the second power, the fourth column equals 8 (2^3) or two raised to the third power, and so forth. Because the Binary system takes advantage of so few symbols, the result is that more positions for digits are used to express the same number than in decimal form, leaving long lines of information for even the simplest expressions.

## Coding systems

There are a few different coding systems, EBCDIC, ASCII and Unicode. EBCDIC (extended binary coded decimal interchange code) was created for use in mainframes, developed by IBM. The code uses a unique combination of 0’s and 1’s, 8-bits in length, which allows for 256 different combinations. ASCII ( American standard code for information interchange) was created for a more personal use. ASCII uses a 7 bit code, though there is an extended code which adds an extra bit, which nearly doubles the amount of unique characters the code can represent. However Unicode is a much longer string of code, between 8 and 32 bits. With over one million different possibilities, every language can be represented with this code, every mathematical symbol can be represented, every punctuation mark, and every symbol or sign from any culture.
Unicode is universal. With using 0’s and 1’s to represent different data, it has become fit for any language used all over the world. This code is replacing ASCII (American Standard Code for Information Interchange) because the characters in this code can be transformed into Unicode, a much more practical system for data. ASCII is known as the alphabet code, and its numbering codes range from 0 all the way to 127 considered to be a 7 bit code. Alphabets vary from language to langue, but 0’s and 1’s can be understood worldwide. The problem with Unicode is that it is not compatible with each computer system used today. Windows 95/98 does not have the ability to run Unicode while other Windows such as NT and 2000 are closer to being able to. There is a program Sun Microsystem’s Java Software Development Kit which allows you to convert files in ASCII format into Unicode. While Unicode is a huge improvement for coding systems today, it cannot process all symbols that are possible, leaving room for new systems to one day take its place.

## Graphics Data

One type of multimedia data is graphics data. These data are of still images, and can be stored in the form of a bitmap image file. A bitmap image is a type of graphic that contains pixels, or picture elements, that are arranged in a grid-like pattern. Each pixel is made up of a specific group of numbers which corresponds to the color, and the color’s intensity. Although there are a few other key factors when determining the detail quality of an image, pixels play an important role. An image with many pixels allows there to be more potential of higher quality in that image. However, this doesn’t mean that more pixels in an image definitely results in a higher quality picture. When shopping for digital cameras consumers must be aware of the amount of megapixels, or pixels by the million, the cameras in front of them have. Today, an average person wishing to take decent and basic everyday pictures will be satisfied with about an 8 megapixel camera. In fact, many new smartphone cameras use 16 megapixels, like the HTC Titan 2, a popular smartphone released in April, 2012. Someone with different intentions of using images, perhaps for making high definition prints, will require a camera with more megapixels. This would allow for their prints to be large, but with appropriate and exceptional quality.

## Audio Data

Audio Data is very similar to graphics data in that it is understood in pieces. Instead of using pixels, however, audio data uses samples. Audio data is usually recorded with an input device such as a microphone or a MIDI controller. Samples are then taken from the recording thousands of times every second and when they are played back in the same order, they create the original audio file. Because there are so many samples within each sound file, files are often compressed into formats such as MP3 or MP4 so that they take up less storage space. This makes them easier to download, send over the internet, or even store on your MP3 player.

## Video Data

Video data is also similar to graphic and audio data, but instead of using pixels or samples, video data is recorded with the use of frames. Frames are still images that are taken numerous times per second and that when played simultaneously, create a video (most films are recorded using twenty-four frames per second). Similar to audio data, because video data contains so much information, the files can be compressed, making it possible for full length movies containing thousands of frames to be stored on optical discs.

# The System Unit - The Motherboard and CPU
## Motherboard

"The motherboard can be thought of as the "back bone" of the computer." This quote is from the article Motherboard. Inside the system unit contains the motherboard. The motherboard is the "glue" of the computer. It connects the CPU, memory, hard drive, optical drives, video card, and sound card together. The front of the motherboard are peripheral card slots. The slots contain different types of cards which are connected to the motherboard. The left side of the motherboard contain ports. The ports connect to the monitor, printer, keyboard, mouse, speakers, phone line, and network cables.
Like many of the components of computers, motherboards have not always been as advanced as they are today. Motherboards on early PCs did not have many integrated parts located directly on the board. Instead, most of the devices, such as display adapters and hard disk controllers, were connected through expansion slots. As technology advanced, more and more devices were built in directly to the board itself. At first, this began to create problems as manufacturers began to find that if one of the devices on the motherboard was faulty or in some way damaged, that the entire motherboard must be replaced. This led manufactures to change the design in a way that allowed them to remove faulty parts easily and replace them, especially parts that are growing and changing so quickly, such as the RAM or CPU. Today, a motherboard comes equipped with many parts working in conjunction with each other. One can find anything, from back up batteries, keyboard and mouse connectors, to cache memory chips, in close proximity to the CPU. The computer is able to do tasks faster as its components continue to be closer to one another. The advancement of technology has allowed for these parts to become smaller and more powerful, allowing more surface area on the motherboard to fit more devices. It is common today to find even audio and video components built into it as well. With technology moving as fast as it is, one may wonder what a motherboard will be capable of containing in the near future.
* RepRap Motherboard v1.1
* Motherboard Diagram
* Motherboard
* Real-time clock on a motherboard

## Expansion Cards

An expansion card, also known as an expansion board, adapter card, or accessory board, is a printed circuit board that can be inserted into an expansion slot on the motherboard to add functionality to a computer system. The three most common expansion cards are the audio card, graphics card, and network card. Each type of expansion card has a self-explanatory name and all serve the same purpose of adding functionality to the computer. The audio card is responsible for producing sound that is then transferred to speakers or headphones. Commonly audio cards are built onto the motherboard, however, they can be purchased separately. The graphics card turns the data produced by a CPU to an image that is able to be seen on a computer's display. Along with the audio card, graphics cards are commonly built onto the motherboard, yet graphics card that produce higher resolution images can be bought separately. Lastly, the network card is an expansion card that connects the computer to a computer network. This allows for a computer to exchange data with the computer network through a commonly used number of protocols called IEEE 802.11, popularly known as wireless LAN or Wi-Fi.

## CPU

The central processing unit, also known as the CPU, is responsible for executing a sequence of instructions called a program. The computer needs the CPU in order to function correctly. It is known as the brains of the computer where the calculations occur. The microprocessor and the processor are two other names for the central processing unit. The Central processing unit attaches to a CPU socket on the motherboard. A multi-core CPU contains more than one processor chips. This specific type of CPU is efficient because it allows computers to work on more than one task at a time because the singular processor can run multiple instructions on the different cores at the same time. Also, these multi core CPU's experience less over heating than the original CPU which causes much less problems to the computer.
* Intel i7 940
* AMD Dual Core

## History of the CPU

The first CPU ever made was the Intel 4004, which was designed by Federico Faggin. After ten months of Faggin and his colleagues working on the chip, it was released by Intel Corporation in January 1971. Even though this first generation, 4-bit microprocessor could only add and subtract, it was a major breakthrough in technology. The amazing quality was that all of the processing was done on one chip, as opposed to prior computers which had a collection of chips wired together. This invention lead to the first portable electronic calculator.
While technology has advanced quite a bit since 1971, old technology is not as “out-of-date” as one thinks. There are still CPU chips made in the 1970’s and 1980’s that are still being used today. Personal computers, such as PC’s and Mac’s, use faster, more up-to-date CPU’s because the users run many programs at the same time. However, the more simple computers embedded in cars, printers, and microwaves can still use the older forms of microprocessors. For example, one famous CPU was the MOS 6502, made in 1975, and it was still being used in many appliances up until 2009. Control processing units are the key component in any computer, and thus sometimes the simpler styles work best.

# The System Unit - Memory, Buses, Ports
## Memory

Memory identifies data storage that comes in the form of chips and is used to store data and programs on a temporary or permanent basis. There are two main types of memory storage which are random- access memory (RAM) and read-only memory (ROM). Inside the system unit, ROM is attached to the motherboard. Random-access memory can read data from RAM and write data into RAM in the same amount of time. RAM capacity is measured in bytes. It is volatile which means that it loses the information/data stored on it when the power is turned off. In order to retrieve an important file at a later date, one needs to store it on a separate, non-volatile, storage medium (such as a flash drive or hard-drive) so that, even though the information is erased from RAM, it is stored elsewhere. RAM has different slots where it stores data and keeps track of addresses. Read-only memory cannot be written to and is non-volatile which means it keeps its contents regardless of whether the power is turned off or not. Flash memory (solid-state) is starting to replace ROM. It is also a non-volatile memory chip that is used for storage on devices, like mobile phones, tablets, digital cameras, etc. This type of memory can often be found in the form of flash drives, SD cards, and Solid-State hard drives. The reason for this is so that the data can be quickly updated over time while taking up a smaller amount of physical space in comparison to its precursors. Flash memory is also more resistant to outside forces, such as electro-magnetic fields or shock, than other memory alternatives such as traditional hard-drives.
Cache memory and Registers are special types of volatile memory that allows a computer to perform certain tasks much more quickly. The cache memory is a high speed circuitry that can either be built right into the CPU or very close to the CPU. Registers are built into the CPU to store intermediary results during processing. A good analogy from HowStuffWorks compares the computer to a librarian, data to books, and cache to a backpack. Suppose somebody walks into a library and asks the librarian for a copy of the book Moby Dick. The librarian goes back into the room full of books, grabs that book, and gives it to the reader. Later that day, the reader returns, having finished the book, and gives it back to the librarian, who returns it to the same storage room. Then, a second reader walks in asking for the same book, Moby Dick. The librarian has to get up and go all the way back to the room in order to get the book he was just handling, which is a waste of time. Instead, suppose the librarian had a backpack that could store up to 10 books. When the first person returns Moby Dick, the librarian puts it into his backpack instead (after making sure the backpack doesn't have 10 books in it already.) Then, when the second person comes in requesting that same book, the librarian can just check his bag, get the book out, and hand it to the second person without having to walk all the way back into the other room. Cache memory functions like that backpack, it stores previously accessed data in a specific area with a limited amount of memory so that the processor can get this data much more quickly.

## Ports

Ports are on the outside of the system unit and they are used to connect hardware devices. There are physical ports and virtual ports. A physical port is a physical connection to a computer where data is transferred. It is when something is physically plugged into the computer or some other device. Virtual ports allow software applications to share hardware resources without having to physically connect to each other or to interfere with one another. Parallel ports are most often used with a keyboard, printer or mouse, but these are more commonly known as legacy ports instead. Each port has a certain connector to plug it into the computer. Different type of ports would be power connectors, VGA monitor port, USB ports, Firewire port, HDMI port, Network port, audio ports, and empty slots. The connectors would be Monitor (VGA, HDMI), USB, Firewire, network, and audio connector. Each port also has a different purpose and connector. Almost all PCs come with a serial RS-232C port or a RS-4222 port and they are used for connecting a modem, mouse, or keyboard. They also have parallel ports that are used to connect printers. These are also considered USB ports because they are physical ports and which standardize communications between computers and peripheral. USB ports were created in the mid 1990’s; USB stands for Universal Serial Bus. There are also network ports used to connect a computer to a network. Ethernet was developed in the 1980s and it is a system for connecting a number of computer systems to form a local area network (LAN).
A serial port is used to connect modems to personal computers. The term “serial” signifies that data sent in one direction always travels over a single wire within the cable. The last main kind of port is the FireWire, which are used to connect FireWire devices to the computer via a FireWire connector. These are used with mostly digital video cameras and other multimedia devices.

## Thunderbolt port

A Thunderbolt port connects peripheral devices through that cable. These ports allow you to connect more devices to your computer and are very fast. Thunderbolt ports support hardware controller I/0 protocols with the use of a single cable. I/O technology is input and output, and is a device that transfers the data to the computer peripherally (a CD-ROM would be an example of an I/O technology). This port supports full bandwidth for both directions of the port, thus allowing the user to be faster and more efficient with the connected devices. This type of technology allows people to plug in as many devices as they can use on their computer while not slowing any of those devices down. The thunderbolt port is also small, so it is easy to travel with as well.

## Power supply unit

Computers need power and there are two main functions the power supply unit, also commonly referred to as the PSU, is responsible for. The first is to convert the type of electrical power available at the wall outlet such as 110 V 60 Hz AC (alternating current) or 230 V 50 Hz AC to the type the computer circuits can use. The other crucial task is to deliver low voltages to each device due their requirements. The converting currents could be represented either by built in PSU (desktops, servers, mainframes) or by the separate power supply adapters for computers with rechargeable batteries inside (laptops, tablets). Three main voltages are used to power computer : +3.3 V, +5 V, and +12 V DC, Usually, the +3.3 or +5 voltages are being used by logic circuits and some digital electronic components (motherboard, adapter cards, and disk drive logic boards) while the motors (disk drive motors and any fans) use the +12 V power. The power supply must provide a good, steady supply of DC power for the proper system operation. Devices that run on voltages other than these must be powered by onboard voltage regulators. For example the CPUs operate 1.5 V and 2 V and require very stable power with high power consumption.

## Ethernet Cable in Theatre

A commonly used cable today is Ethernet cable. You are probably most familiar with its use involving the internet in your home, mostly going from your modem, to another computer of to a Wi-Fi router. However, the use of Ethernet cable has been instrumental in the changing would of technical theatre. Before its introduction, the most common computer cables used in theatre were DMX and XLR, for lighting and sound respectively. The issue with this is that each cable can only carry the information for one device, be that a microphone or light. In addition, if these cables are stored improperly, they can corrupt the information being transmitted. Ethernet is much smaller, and can transmit far more data. Also, there is less of a danger regarding storing cable. Ethernet, combined with new operating system and equipment, has made things far more efficient. For example, an analog board must have one XLR cable go to each microphone, so if you wanted to run 40 microphones, you must have 40 channels available on your soundboard. Also, the size of a cable with 40 smaller lines inside it can reach a one-inch diameter, and can weigh several hundred pounds. Now, a digital soundboard can control up to 100 microphones on a single Ethernet cable.

# How the CPU Works
### CPU Architecture and Components

As previously discussed on this page, the CPU is a complex piece of the computer made up of many parts. The way these parts all fit together inside the CPU is different in each processor but they mainly contain the same parts from device to device. The most abundant part in the CPU would be the transistor. Modern CPU's typically hold several hundred million transistors with some of the more high-end computers holding over a billion, and for good reason. Calculations in a computer can be performed thanks to the combination of transistors turning off or on. Besides these transistors, there are several parts that make up the CPU. Some of these include the arithmetic/logic unit (ALU) and floating point unit (FPU), the control unit, and the prefetch unit. The ALU is the part of the CPU that deals with the mathematics involving whole numbers and any functions done with those numbers. The FPU takes care of the mathematics with other numbers like fractions, or numbers with decimal places. These two parts work hand in hand, using arithmetic and logical processes, to allow you to perform basically any function you perform on your computer. The control unit takes charge in controlling where and when information is transferred to and from the CPU. When information leaves the control unit, it is usually sent to the ALU/FPU where it can be converted into a process. The prefetch unit, as its name implies, fetches data before it is needed. It uses a sequence of processes to guess what information will be needed next, and have it readily available before the time it needed. Other components of the CPU include the cache, the decode unit, and the bus interface unit. The cache serves as high-speed memory for instructions that the CPU would like to access faster, in other words instructions that the CPU would rather avoid retrieving from RAM or the hard drive. The decode unit, just as it sounds, decodes instructions. Once the prefetch unit fetches data, the data goes through the decode unit so the instructions can be understood by the control unit. The bus interface unit allows communication between the core and other CPU components. Think of it as literally a bus, taking information from one place and transporting it somewhere else.

### The Internal Clock

Every computer actually has two different clocks. One is the virtual or system clock that runs and is displayed whenever the computer is on and running. The other is a real-time clock or hardware clock that runs continuously, and is responsible for tracking the correct time and day. This device does not count time in days and hours for example. Instead it just runs a counter at times per second. As far as the century goes, it is the job of the BIOS, the Basic Input-Output System, to track this and save it in the non-volatile memory of the hardware clock. These two clocks run independently on each other. The system clock is physically a small quartz crystal that can be found on the motherboard. It also helps synchronize all computer functions by sending out signals- or cycles- on a regular basis to all parts, much like a person’s heartbeat. Hertz is the unit of measure used to count the number of cycles per second. For example, one megahertz is one million ticks of the system clock. This clock is very important to the CPU because the higher the CPU clock speed, the more instructions per second it could process. Since the entire system is tied to the speed of the system clock, increasing the system clock speed is usually more important than increasing the processor speed.
PCs in the past only had one unified system clock with a single clock, which drove the processor, memory, and input/output bus. However, as technology advanced, the need for a higher speed, and thus multiple clocks, arose. Therefore, a typical modern PC now has multiple clocks, all running at different speeds to enable any data to “travel” around the PC. Furthermore, two CPUs with the same clock speed will not necessarily perform equally. For instance, if an old microprocessor required 20 cycles to perform a simple arithmetic equation, a newer microprocessor can perform the same calculation in a single clock tick. Therefore, even if both processors had the same clock speed, the newer processor would be a lot faster than the old.
As mentioned previously, a CPU serves as a great example for the synchronization that the system clock performs. To synchronize, most CPUs start an operation on either the falling edge, when the clock goes from one to zero, or the rising edge, when the clock goes from zero to one. All devices, such as a CPU, synchronized with the system clocks run at either the system clock speed or at a fraction of the system clock speed; therefore, the CPU is unable to perform tasks any faster than the clock. For example, during each system clock tick, a CPU clock speed of 2 GHz allows the CPU clock to “tick” 10 times, executing one or more pieces of microcode. This ability to process multiple pieces of microcode at one time is known as superscalar.

### The Machine Cycle

A machine cycle is a term often used when discussing the clock. It has four main parts- fetch, decode, execute, and store. The machine cycle occurs whenever a CPU processes a single piece of microcode. The fetch operation requires the program instruction to be fetched from either the cache or RAM, respectively. Next, the instructions are decoded so that the ALU or FPU can understand it, known as the decode operation. Then, the execute operation occurs when the instructions are carried out. Finally, the data or result from the ALU or FPU operations is stored in the CPU’s registers for later retrieval, known as the store operation. A fifth possible step in the cycle is the register write back operation, which occurs in certain CPUs. The RISC CPU, which stands for reduced instruction set computer processing unit, is an example that uses the fifth step of the machine cycle. Machine cycles can only process a single piece of microcode, which forces simple instructions, like addition or multiplication, to require more than one machine cycle. In order to make computers faster, a system known as pipelining has been created. Originally, one machine cycle would have to finish processing a single instruction before another instruction could be carried out through a second machine cycle. With pipelining, as soon as an instruction passes through one operation of the machine cycle, a second instruction can start that operation. For example, after one instruction is fetched and moves on to decoding, the CPU can fetch a second instruction. This invention allows for multiple machine cycles to be carried out at the same time, which boosts the performance of the computer. Also, because of how fast the CPU can work with pipelining, it can be measured in millions of instructions per second.

### Typical CPU Components (continued)

To round up the simplified inventory of a CPU's guts, we have the decode unit, the registers and internal cache memory, and the bus interface unit. Of the remaining three sections of a CPU, the decode unit is easiest to understand because its job immediately follows the job of the prefetch unit. After the prefetch unit collects the data, the decode unit decodes the data into a language that is easier for the ALU/FPU to understand. It does that by consulting a ROM memory that exists inside the CPU, called microcode. The registers are used during processing; they're groups of high-speed memory located within the CPU that can be accessed by the ALU and FPU, or for other assorted optimization purposes. While the registers provide the fastest speed of memory, their space is extremely limited. In the cases where the small register space isn't good enough, there are the caches to save the day. The cache is used by the CPU for memory which is being accessed repeatedly, speeding up the access time and having a slightly larger storage than the register. The bus interface unit does exactly what it sounds like; it buses the data back and forth, connecting the core of the CPU to interact with other components.
Another aspect of the CPU is improving processing performance. In the past most CPUs designed for desktop computers had only one single core, so the only way to improve performance was to increase the speed of the CPU; however, increasing the speed also caused the CPU to heat up. So now a days CPU have multiple cores in order to increase the performance. The new iPhone XS, for example, will have six CPU cores. In an article by Stephen Shankland from CNET on September 12, 2018, he explains how the new Apple iPhone XS CPU will be able to perform faster. The new Apple iPhone is going to have a new A12 Bioinic chip. It is going to have more transistors, which if you recall, are small devices made of semiconductor material that acts like a switch to open and close electrical circuits. This new A12 chip will have about 7 billion transistors according to the article Mr. Shankland wrote. Mr. Shankland states in his article that that the new A12 will be 15 percent faster than 2017’s iPhone X, and consume 40 percent less power. As of now, this information is coming from graphs and information that Apple has shared. The thing to know and realize is that companies are constantly striving to improve performance and reworking the architecture of the CPU can improve the performance.

# Improving the Performance of Your Computer
## Add More Memory and Buy a Separate Hard Drive

When it comes to technology, there is no question that newer is better. New systems are able to process faster, store more, and run more applications at one time. However, it is obviously not within everybody’s means to just run out and purchase the newest technology the minute it hits the market. Technology is expensive, and therefore it is important to know your options. For example, if you have a computer that is a couple of years old, it is not unreasonable to assume that the hard drive and memory on the system are starting to slow down. However, what many people may not know is that buying a new computer is not the only solution to the problem. You can add memory to your old system simply by purchasing a new memory card and installing it into the computer hardware. By doing this, you are saving money and buying yourself a little bit more time with the computer. Another way to speed up your computer with out having to invest in a whole new one is by buying a second hard drive. When the original hard drive starts to fill up, one can simply purchase either an internal or external hard drive for the computer and drastically increase the operating speed.

## Upgrade To A Solid-State Drive

Since solid-state drives (SSDs) are hard drives that use flash memory technology instead of hard disk platters they have no moving parts. They also no longer make noise, consume less power thus generating less heat, and are much faster than hard drives. Since they are much faster than hard drives, the performance of the computer would also be improved. Running programs, opening files, saving things to the disk, even browsing the web will be much faster. Also with a mechanical hard drive, physical heads have to move around to read data from the disk while in a solid-state drive data can be read and written on any location thus there is no penalty in performance. Not only are solid-state drives faster but they have also become less expensive that upgrading to them is much more affordable and reasonable. Even further, installing solid-state drives is not too difficult or complex. It is basically the same as installing regular hard drives. Also if the decision of upgrading to solid-state drives seems a little too final, it is possible to just add a solid-state drive alongside the hard drive. Thus not only having more space, but also having the ability to keep the old mechanical drive.

## Upgrade Your Internet Connection

If your system seems to be running poorly while using the internet, you may have to upgrade your internet connection. Upgrading your internet connection may become more costly but there is a significant change in the processor. Your first step would be to discuss any upgrades or check if the provider needs to be enhanced in any way. Then find a browser that is suitable for your connection type. With that being stated, you can change the settings on the router in order to speed up the internet connection. In order to prevent your internet connection becoming slower, it’s highly suggested to have a password in order to access the internet. In addition, every computer owner should provide maintenance to their computer in order to prevent viruses or any bugs the computer may receive but it also prevents an internet connection from being slow. In order to do so, keep up with upgrading and cleaning the computer because the more the computer is trying to maintain, the slower the internet connection may become.

## System Maintenance

In order for computers to operate at their maximum efficiency, users must be aware of the importance of system maintenance because, over a period of time, one may notice a reduction in system performance. This can be attributed to a number of common factors that lead to the degradation in performance. One major reason is hard drive fragmentation. As more programs are installed onto the hard drive, the pieces of the files that are on those programs take longer to be located. The longer pieces of the program become shorter and fragmented, leading to a longer waiting period for the user as the computer searches for these scattered pieces. Related to this, although not nearly as detrimental to system performance as fragmentation, is the cluttering of pieces and references to uninstalled programs in the operating system. For Windows users, this occurs in the Registry. After the user uninstalls a program, there are references to that program left behind in the Registry that can possibly impact performance. However, performance is not necessarily the issue here. For example if the user is going to update the system by switching from an Nvidia graphics card to an AMD one, it might be a good idea to not only uninstall all drivers and related programs but also to clean the Registry of any references to the Nvidia drivers and software (in order to avoid possible conflicts when the AMD card is installed). This will ensure a “clean” install of both the hardware and software components. A free registry cleaner utility one can use is CCleaner.
Temporary files (e.g. from web browsers and installation programs) can take up valuable storage space if they are not removed after extended periods of times. Also, users should be aware of the programs they are installing and decide which specific programs are to run at startup. Too many programs can slow down the initial startup time of the computer because it must launch program after program. Only those programs that are necessary should be included, and to check for this, click Start (in the lower-left Windows icon) and enter the command msconfig in the search tab. This will open the System Configuration window. Programs that run at startup are listed under the Startup tab. Here the user can enable or disable programs, which can affect startup time.
Another important factor in determining system performance is the corruption of system files by malware. Viruses, worms, trojans, spyware, and other forms of malware can infect a system by various means, so it is important for the user to be aware and defensive. Anti-virus programs and other security software provide protection from malware, so it is recommended that a user has some sort of program installed and regularly scans the system for any traces.
Lastly, dust can accumulate in and on heatsink fans (e.g. processor and graphics card), case fans, ports, power supplies, and motherboards. Every internal component can accumulate dust, and this can be a major issue for system integrity because dust acts as an insulator by trapping heat. Fans with too much dust do not operate efficiently because the fins do not spin quickly, which further exacerbates the heating problem. Not only that, but dust can also cause electrical shorting of the circuits, which can irreversibly damage components. To clean the computer, power off the system, which includes turning off the power supply. It should not be connected to any source. Then open the case and use a can of compressed air to blow out the dust wherever it may be. The goal is to rid the case of any remnants of dust. Following this and the other tips listed above will help ensure reliable performance and a longer lifespan for the computer.

## Future Trends

The challenge of making computers faster and more efficient has brought new ideas to the table of technology. One such idea is nanotechnology, which uses microscopic components only nanometers in length. Carbon nanotubes are already being used in technology today in products such as lithium ion batteries because of their great performance conducting electricity. Other nanotechnology includes nanoparticles and nanosensors. Another idea that has received increased recent attention is quantum computing. These computer’s go beyond regular computers’ binary system using qubits, which can be either a 1, a 0, or both simultaneously. Although these computers are only able to perform seemingly simple tasks like sudoku puzzles as of recently, their potential is outrageous for tasks such as encryption. Optical computing is another form of future technology which uses light waves to transfer data. Since the in fared beams do not interfere with each other, optical computers can be much smaller and more efficient that electronic computers. In fact, once optical computers have been mastered the computers will be able to process information at the speed of light using very little power at all. In years to come, the extraordinary power of supercomputers is predicted to be available in more common computers using technology like terascale computing to process at incredible speeds.

## Review Definitions

Application Software: Programs that enable users to perform specific tasks on a computer, such as writing letters or playing games.
Computer: A programmable, electronic device that accepts data input, performs processing operations on that data, and outputs and stores the results.
Data: Raw, unorganized facts.
Information: Data that has been processed into a meaningful form.
Computer Network: A collection of computers and other hardware devices that are connected together to share hardware, software, and data, as well as to communicate electronically with one another.
Hardware: The physical parts of a computer system, such as the keyboard, monitor, printer, and so forth.
Internet Appliance: A specialized network computer designed primarily for Internet access and/or e-mail exchange.
Operating System: The main component of system software that enables a computer to operate, manage its activities and the resources under its control, run application programs, and interface with the user.
Output: The process of presenting the results of processing; can also refer to the results themselves.
Software: The instructions, also called computer programs, that are used to tell a computer what it should do.
Storage: The operation of saving data, programs, or output for future use.
URL: An Internet address (usually beginning with http://) that uniquely identifies a Web page.
Web browser: A program used to view Web pages.
World Wide Web (WWW): The collection of Web pages available through the Internet.
Web server: A computer that is continually connected to the Internet and hosts Web pages that are accessible through the Internet.

## Review Questions

1) What is the key element of the CPU?
2) What are the connectors located on the exterior of the system unit that are used to connect external hardware devices?
3) What is an electronic path over which data travels?
4) _________ are locations on the motherboard into which _________ can be inserted to connect those cards to the motherboard.
5) What is used to store the essential parts of the operating system while the computer is running?
6) The ______________________ consists of a variety of circuitry and components that are packaged together and connected directly to the motherboard
7) A _________ is a thin board containing computer chips and other electronic components.
8) The main circuit board inside the system unit is called the ___________ .
9) Before a computer can execute any program instruction, such as requesting input from the user, moving a file from one storage device to another, or opening a new window on the screen, it must convert the instruction into a binary code known as ____________.
10) In order to synchronize all of a computer's operations, a __________ is used.

## Review Answers

1) Transistor 2) Ports 3) Bus 4) Expansion slots, Expansion cards 5) RAM 6) Central Processing Unit 7) Circuit Board 8) Motherboard 9) Machine Language 10) System Clock

# References

* ↑ http://courses.cs.washington.edu/courses/cse100/99au/FIT100-99.L5.pdf
* ↑ http://compnetworking.about.com/cs/basicnetworking/f/bitsandbytes.htm
* ↑ http://www.peachpit.com/articles/article.aspx?p=31286&seqNum=16
* ↑ http://desktoppub.about.com/od/glossary/g/bitmap.htm
* ↑ http://www.cambridgeincolour.com/tutorials/digital-camera-pixel.htm
* ↑ http://www.cambridgeincolour.com/tutorials/digital-camera-pixel.htm
* ↑ https://en.wikipedia.org/wiki/Frame_rate
* ↑ http://pcsupport.about.com/od/componentprofiles/p/p_mobo.htm
* ↑ http://www.pctechguide.com/motherboards/evolution-of-the-motherboard
* ↑ https://en.wikipedia.org/wiki/Expansion_card
* ↑ https://simple.wikipedia.org/wiki/Network_card
* ↑ http://www.howstuffworks.com/microprocessor.htm
* ↑ http://www.cpushack.com/life-cycle-of-cpu.html
* ↑ http://computer.howstuffworks.com/cache2.htm
* ↑ http://www.computerports.net/
* ↑ http://www.tomshardware.com/reviews/thunderbolt-performance-z77a-gd80,3205.html
* ↑ http://www.instructables.com/id/Power-Supply-For-Arduino-power-and-breadboard
* ↑ http://www.techterms.com/definition/alu
* ↑ http://education-portal.com/academy/lesson/central-processing-unit-cpu-parts-definition-function.html#lesson
* ↑ http://scholar.lib.vt.edu/vtpubs/spectrum/sp970911/3b.html
* ↑ https://courses.engr.illinois.edu/ece390/books/artofasm/CH03/CH03-2.html
* ↑ http://www.jegsworks.com/lessons/lesson4/lesson4-4.htm
* ↑ http://www.hardwaresecrets.com/printpage/How-a-CPU-Works/209
* ↑ http://www.moreprocess.com/devices/computer-memory-hierarchy-internal-register-cache-ram-hard-disk-magnetic-tape
* ↑ http://www.electronics.dit.ie/staff/tscarff/BIU/bus_interface_unit.htm
* ↑ https://www.cnet.com/news/iphone-xs-a12-bionic-chip-is-industry-first-7nm-cpu/
* ↑ http://www.pcworld.com/article/129177/article.html
* ↑ http://windows.microsoft.com/en-us/windows7/install-or-remove-a-hard-disk-drive
* ↑ http://www.howtogeek.com/194750/its-time-why-you-need-to-upgrade-to-an-ssd-right-now/
* ↑ http://www.auslogics.com/en/articles/speed-up-internet/
* ↑ http://www.piriform.com/ccleaner
* ↑ http://www.computerdust.com/downloads/special_report_on_the_effect_of_dust_on_electronics.pdf
* ↑ http://www.dwavesys.com/quantum-computing
* ↑ http://www.extremetech.com/extreme/187746-by-2020-you-could-have-an-exascale-speed-of-light-optical-computer-on-your-desk
* ↑ http://coursemate.cengage.com/CPReader/View/9781133114598/default.aspx?eISBN=9781133114598#70a7d313-0a5d-4ddc-ba5c-766e5fb0dc77
* ↑ http://ng.cengage.com/static/nb/ui/index.html?nbId=7345&nbNodeId=1013914#!&parentId=1013922