Network Interface Card (NIC)
1. NICs take data that the computer sends it and transmits it through any connected network cable via the appropriate protocol.
2. The most popular one is Ethernet, or for wireless the 802.11 protocol..
1. Allows more than one computer to be connected in a network by connecting them all to a hub.
2. If a cable breaks, it only affects the computer connected to the hub through that cable.
3. This is generally very slow for large networks, since the more traffic that is generated means the more work that the hub has to do.
4. When a hub receives a packet, it transmits the packet to all connected ports.
1. Unlike hubs, a switch can route packets from one port to another. This is known as routing.
2. Switches hold a MAC address table to determine which computer is connected to which port.
1. Routers perform the same as switches, except instead of using MAC addresses to determine where to send packets they use IP addresses.
2. These are used for WANs or very large networks.
Wireless Interface Card (WIC)
1. This connects to a WAP or Wireless Access Point.
2. Most WICs use the 802.11 protocol to communicate with the WAP, in combination with security protocols such as WEP or WPA2.
Also known as L2 or L3 cache, this is a memory chip between the CPU and main memory where small sections of data are stored.
These are extremely fast since they are small and close to the CPU.
This is a section of memory between the CPU and the disk where data can be temporarily stored before being transferred to RAM.
Types of Network
Local Area Network (LAN)
Connected locally, usually on the same site.
Wide Area Network (WAN)
Connected via satellite links or any other method, may be spread out across towns or countries
Storage Area Network (SAN)
A dedicated network for large scale data storage. Usually provides a disc array of high capacity and performance.
Metropolitan Area Network (MAN)
Networks that provide WAN services in a city.
Personal Area Network (PAN)
Links personal devices such as phones.
In the Harvard Architecture, data and instructions are stored seperately and accessed via separate buses. The Harvard Architecture is generally used by RISC processors.
Parallel Processing involves setting two or more processors to perform a single task. The task is split into threads which can run concurrently.
1. More instructions can be processed in a given amount of time since they can be executed concurrently.
2. Tasks can be shared to reduce bottlenecks
1. It is difficult to write programs for multi-core processors.
2. Results from different processors need to be combined at the end of the program which may take more time.
3. Not all tasks can be parallelized.
4. Concurrency may introduce new software bugs.
The processor sends the address held in the PC to the address bus. The data is sent back to the CIR and the PC is incremented.
The processor runs the instruction in the CIR. It then fetches the next instruction.
RAM (Random Access Memory)
RAM is volatile and relatively slow compared to other methods of primary storage. It is useful for storing parts of programs while they are being run.
ROM (Read Only Memory)
ROM is not volatile and read-only. This means that once data has been programmed into it, it cannot be overwritten.
Graphics Processing Unit
GPUs are able to run a single instruction on multiple pieces of data in parallel. This is known as SIMD - Single Instruction Multiple Data.
GPUs are frequently used for processing screen data, since operations can be performed on each pixel in parallel.
Factors Affecting Performance
This is how many ticks per second the CPU is able to perform.
This determines how much data can be transferred along each bus in a single tick.
How many bits can be processed at a time. This is usually either 32 or 64 bits.
A multi-core CPU will be able to run two different instructions at the same time. This is useful for tasks that can be parallelized.
Frequently used information can be placed into a temporary area of memory close to the CPU. This is much faster to read from.
This is where the client frequently requests data from a central entity, the server. This is the most common type of network since it seperates functions, such as storage or printing.
This is where every computer is a client. This is cheaper to implement and also useful for sharing files frequently between computers.
Hardware such as printers can be shared
Viruses can be spread across a network to all computers
Software can be shared
Hackers may be able to access a network
Data can be shared, e.g from a file server
Network failure means that nobody can use their computer
Computers may communicate with each other via messaging
Networks may be slower than standalone computers
Complex cabling may be expensive to install
This is where T(n) is the time taken on n threads and B is the fraction of the algorithm that must be sequential.
ALU (Arithmetic and Logic Unit)
Carries out mathematical and logical functions. It is sent an opcode and an operand and carries out the required process.
Supervises the fetch-execute cycle. The control unit also decodes instructions.
Buses are groups of parallel wires which connect the processor to I/O controllers or memory. There are three types of bus:
The data bus is bidirectional and carries data between the CPU and the main memory. The width of the data bus is usually the same as the CPU word size, so either 32 or 64 are common.
This bus only goes from the processor to memory. This is used by the processor to retrieve data from memory. The address bus carries the memory address of the next instruction or data item to be received through the data bus.
This is a bidirectional bus that sends control signals to the registers, data and address bus. This helps to ensure that everything is kept in sync.
von Neumann Architecture
The von Neumann architecture describes a computer with one control unit that sequentially works through instructions. Instructions and memory are bundled together. This means that instructions can't be fetched while data is being sent along the bus, causing the von Neumann Bottleneck
Input and Output Devices
Optical Character Recognition (OCR)
This converts printed(often hand-written) media into editable text documents via scanning.
Optical Mark Recognition (OMR)
The computer reads selections from a predefined form. This is often used for multiple-choice tests.
Magnetic Ink Recognition (MICR)
A computer uses magnets to read data from a strip of semi-magnetic material. This is used most commonly for cheques since the reader can be very expensive.
There are two types of touch screen.
1. Resistive touch screens are made up of two thin transparent sheets that transmit a signal when they touch.
2. Capacitive touch screens are more common and use the fact that the human body conducts electricity to determine when a touch has occurred.
The computer detects commands spoken by the user into a microphone.
The computer attempts to detect all words spoken by the user. This is used frequently by people with RSI.
I/O Controllers are able to translate signals from external devices into something understandable by the CPU.
Also, I/O Controllers will buffer data that is sent between the processor and the external device so that the processor does not have to wait.
Cloud storage is off-site storage that is accessible anywhere and usually provided by a third party company.
This is useful for a few reasons:
1. Removes the need to install and upgrade software
2. Removes the need to hire specialist staff
3. Removes the need to back up data.
However, there are drawbacks:
1. Handing control of data to another party may be risky
2. Risk of losing access to the service and having no means to recover
Registers are located in the CPU and hold only a few bits of data at a time. However, they are very fast to access.
There are many types of registers in the CPU:
This keeps track of the status of many parts of the computer.
This stores details of any interrupt signals sent to the processor. If a bit is set in the interrupt register, the CPU must respond depending on its severity.
Current Instruction Register (CIR)
Stores the currently executed instruction
Program Counter (PC)
Stores the memory location of the next instruction
Memory Buffer Register (MBR)
Holds the data that has just been transferred between memory
Stores the results of the ALU
Memory is made up of a number of uniquely identifiable addressable cells.
Memory is organized systematically such that data that is related to one process is stored in one block. This speeds up the time to access memory, since the computer has a vague idea of where it is.
A memory map can be created to show which programs are stored at which address.