Computer architecture
Memory Address Register (MAR)
The memory address register, or MAR, holds the location in memory (address) of the next piece of data or program to be fetched (or stored).
Program Counter (PC)
This holds the address in memory of the next instruction.
Current Instruction Register (CIR)
This holds the current instruction to be executed, having been fetched from memory.
Immediate access store
A memory device in which the access time for any location is independent of the previous access and is usually of the same order as the cycle time of the processor. Such devices are normally only used for main memory.
CPU
"the brain of the computer". The purpose of the CPU is to process data. It is where all the searching, sorting, calculating and decision making takes place in the computer.
Dual-core
A dual-core device means it contains two CPUs
Quad-core
A quad-core device means it contains four CPUs
The fetch-decode-execute cycle
A standard process describes the steps needed for processing to take place. It is called the Fetch - Decode - Execute cycle or sometimes simply called the Fetch-Execute Cycle. First of all, both the data and the program that acts upon that data are loaded into main memory (RAM) by the operating system. The CPU is now ready to do some work.
Problem 2
Both data and programs share the same memory space. This is a problem because it is quite easy for a poorly written or faulty piece of code to write data into an area holding other instructions, so trashing that program.
Problem 1
Every piece of data and instruction has to pass across the data bus in order to move from main memory into the CPU (and back again). This is a problem because the data bus is a lot slower than the rate at which the CPU can carry out instructions. This is called the 'Von Neumann bottleneck'. If nothing were done, the CPU would spend most of its time waiting around for instructions.
Clock speed higer
Faster performance but runs hotter and consumes more power.
Arithmetic logic unit
In digital electronics, an arithmetic logic unit (ALU) is a digital circuit that performs arithmetic and bitwise logical operations on integer binary numbers. It is a fundamental building block of the central processing unit (CPU) found in many computers.
Jobs of the Control Unit
It controls and monitors the hardware attached to the system to make sure that the commands given to it by the application software are used. It controls the input and output of data so that the signals go to the right place at the right time. It controls the flow of data within the CPU - which is the Fetch-Execute cycle described above.
Flag
It denotes a single binary bit within a register (PSW). They are often used to indicate a true or false condition.
Bus
Notice the arrows between components? This implies that information should flow between various parts of the computer. In a modern computer built to the Von Neumann architecture, information passes back and forth along a 'bus'. There are buses to identify locations in memory - an 'address bus' And there are buses to allow the flow of data and program instructions - a 'data bus'.
Overclocking
Overclocking is the process of forcing a computer or component to operate faster than the manufactured clock frequency. Operating voltages may also be changed (increased), which can increase the speed at which operation remains stable. However, this makes the CPU run hotter and so extra cooling fans also have to be purchased.
Harvard Architecture
Split the memory into two parts. One part for data and another part for programs. Each part is accessed with a different bus. This means the CPU can be fetching both data and instructions at the same time. There is also less chance of program corruption.
Fetch
The CPU carries out is to fetch some data and instructions (program) from main memory then store them in its own internal temporary memory areas. These memory areas are called 'registers'. fetch decode execute cycle
Decode
The CPU makes sense of the instruction it has just fetched. The CPU decodes the instruction and prepares various areas within the chip in readiness of the next step.
Program Status Word (PSW)
The PSW has a number of duties all rolled into one. •The Arithmetic Logic Unit compares two data items together, and it arranges for the result of that comparison to appear in this register i.e. the result of 'greater than' etc. •The PSW also indicates if program conditions have been met that would lead to a jump to a different part of the program. In programming terms this means the result of an IF statement. An IF statement is important in any programming language as it allows execution to jump from one set of instructions to another. •The PSW also holds error flags that indicate a number of problems that may have happened as a result of an instruction, such as 'overflow' which means a calculation has exceeded it allowed number range.
Ram
The RAM, acronym for Random Access Memory, is a type of computer memory characterized to allow direct access to any memory address with the same access time.
Problem 3
The rate at which data needs to be fetched and the rate at which instructions need to be fetched are often very different. And yet they share the same bottlenecked data bus.
Input - Output
This architecture allows for the idea that a person needs to interact with the machine. Whatever values that are passed to and forth are stored once again in some internal registers.
The Immediate Access Store
This holds the data and programs needed at that instant by the Control Unit. The CPU reads data and programs kept on the backing storage and stores them temporarily in the IAS's memory. The CPU needs to do this because Backing Storage (e.g. the hard disk) is much too slow to be able to run applications directly.
Arithmetic Logic Unit
This part of the architecture is solely involved with carrying out calculations upon the data. All the usual Add, Multiply, Divide and Subtract calculations will be available but also data comparisons such as 'Greater Than', 'Less Than', 'Equal To' will be available.
Clock speed lower
lower performance, less costly, needs less power, so good for battery life in laptops
Clock speed
A CPU processes digital data by taking each piece of data one-at-a-time and doing something with it. The amount of time that it has to process each piece of data is controlled by a quartz clock inside the CPU. With every tick of the clock, the CPU is able to process one piece of data or execute clockone instruction. The CPU clock speed is measured in cycles per second. 1 cycle per second is also known as 1 Hertz
Hard disk
A hard disk drive (HDD) is a data storage device used for storing and retrieving digital information using rapidly rotating disks (platters) coated with magnetic material. An HDD retains its data even when powered off.
A memory buffer
A memory buffer is a bit like the buffers on a train carriage, as the carriages connect with each other, the buffers will soak up the force. In memory, a bunch of data is absorbed quickly, then released at a controlled rate.
Register
A register is a discrete memory location within the CPU designed to hold temporary data and instructions. Registers are used extensively to move data and instructions around the CPU.
Instruction set
A specific set of commands that CPU is designed to understand. Each make of CPU has a different instruction set.
Number of cores
By having more than one processor, you would certainly see an improved performance. In an ideal world, running two CPUs would give you twice the performance. In real life this is not quite the case because many applications have not been written to take advantage of extra processors.
Turing test
It's still used today to decide if a computer has fooled a person into thinking they are conversing with another person rather than a computer.
Code optimisation
It's the activity of the software programmer to make easier for the CPU to store the most-often used part of the code in the 'cache'.
IAS's memory
It's where the CPU temporarily stores the data and programs just read (kept on the banking storage).
Von Neumann's architecture
The Von Neumann architecture, also known as the Von Neumann model and Princeton architecture, is a computer architecture based on that described in 1945 by the mathematician and physicist John von Neumann and others in the First Draft of a Report on the EDVAC. This describes a design architecture for an electronic digital computer with parts consisting of a processing unit containing an arithmetic logic unit and processor registers, a control unit containing an instruction register and program counter, a memory to store both data and instructions, external mass storage, and input and output mechanisms. Conclusion The Von Neumann architecture has been incredibly successful, with most modern computers following the idea. You will find the CPU chip of a personal computer holding a control unit and the arithmetic logic unit (along with some local memory) and the main memory is in the form of RAM sticks located on the motherboard. But there are some basic problems with it. And because of these problems, other architectures have been developed.
Memory
The computer will have memory that can hold both data and also the program processing that data. In modern computers this memory is RAM.
Control Unit
The control unit is a component of a computer's central processing unit (CPU) that directs operation of the processor. It tells the computer's memory, arithmetic/logic unit and input and output devices how to respond to a program's instructions
Control unit
The control unit will manage the process of moving data and program into and out of memory and also deal with carrying out (executing) program instructions - one at a time. This includes the idea of a 'register' to hold intermediate values. In the illustration above, the 'accumulator' is one such register
Hertz
The hertz (symbol Hz) is the unit of frequency in the International System of Units (SI) and is defined as one cycle per second
Execute
The instruction is carried out upon the data (executed). The result of this processing is stored in yet another register. Once the execute stage is complete, the CPU sets itself up to begin another cycle once more.
Cache
The memory device of a computer, of limited capacity but of considerable speed; is used as a buffer between the arithmetic unit and the main memory of a processing system, to increase the performance of the computer while keeping the cost content.
Volatile memory
Volatile memory, contrary to non-volatile memory, is computer memory that requires power to maintain the stored information; it retains its contents while powered on but when the power is interrupted the stored data is immediately lost.
Buffer
When a register is being used to move data /instructions from one part of the system to another, this is called a buffer. A 'buffer' is a commonly used computer term to describe memory designed to hold data that is on its way to somewhere else.
Memory Buffer Register or Memory Data Register
When the data or program instruction is fetched from memory, it is temporarily held in the 'Memory Buffer Register' or MBR for short sometimes also called the Memory Data Register or MDR