# data[].attributes.headline
A Bus is a connection between different devices. This connection will normally consist of multiple wires along which signals, instructions and data will be carried. In Von Neumann Architecture there is a single bus to manage the connection between the three main components. The System Bus consists of 3 separate buses, each with a specific task that you need to know. This three bus model is an expansion of the Von Neumann architecture showing greater detail.

# data[].attributes.subject
A Bus is a connection between different devices. This connection will normally consist of multiple wires along which signals, instructions and data will be carried. In Von Neumann Architecture there is a single bus to manage the connection between the three main components. The System Bus consists of 3 separate buses, each with a specific task that you need to know. This three bus model is an expansion of the Von Neumann architecture showing greater detail.

# data[].attributes.body
Registers - a small amount of fast storage which is part of the processor

There are also 4 registers in particular that you need to know, we'll meet them in more detail in the next chapter:

Program Counter (PC) - an incrementing counter that keeps track of the memory address of which instruction is to be executed next.

Memory Address Register (MAR) - holds the address in memory of the next instruction to be executed

Memory Buffer Register (MBR) - a two-way register that holds data fetched from memory (and ready for the CPU to process) or data waiting to be stored in memory

Current Instruction register (CIR) - a temporary holding ground for the instruction that has just been fetched from memory

# data[].attributes.body
The number of cycles that are performed by the CPU per second

# data[].attributes.body
Bus Size - The number of bits of information a bus can carry at one time (the number of wires making up a bus)

# data[].attributes.body
Another way to increase the performance of a computer is to increase the word size.

# data[].attributes.body
A timing device connected to the processor that synchronises when the fetch, decode execute cycle runs https://commons.wikimedia.org/wiki/File:FrequencyAnimation.gif

# data[].attributes.body
The most obvious way to increase the speed of a computer would be to increase the speed of the computer clock.

# data[].attributes.body
The control unit sits inside the CPU and coordinates the input and output devices of a computer system. It coordinates the fetching of program code from main memory to the CPU and directs the operation of the other processor components by providing timing and control signals.

# data[].attributes.body
ADD ;add one number to another number
SUB ;subtract one number to another number
INC ;increment a number by 1
DEC ;decrements a number by 1
MUL ;multiply numbers together
OR  ;boolean algebra function
AND ;boolean algebra function
NOT ;boolean algebra function
XOR ;boolean algebra function
JNZ ;jump to another section of code if a number is not zero (used for loops and ifs)
JZ  ;jump to another section of code if a number is zero (used for loops and ifs)

# data[].attributes.body
Digital circuit that performs arithmetic and logical operations

# data[].attributes.body
If we want to increase the performance of our computer, we can try several things

Increasing the clock speed

Adjusting word length

Increasing bus widths

# data[].attributes.body
How does it all fit together?
https://en.wikibooks.org/wiki/A-level_Computing_2009/AQA/Computer_Components,_The_Stored_Program_Concept_and_the_Internet/Machine_Level_Architecture/Structure_and_role_of_the_processor#How_does_it_all_fit_together.3F