Chapter 3: Hardware Flashcards
What is the central processing unit responsible for?
The central processing unit (CPU) is responsible for the execution or processing of all the instructions and data in a computer
What is an integrated circuit?
Usually a chip made from a semi-conductor material which carries out the same tasks as a larger circuit made from individual components
What is von Neumann architecture?
A type of computer architecture which introduced the concept of the stored program in the 1940s
What is the Arithmetic & Logic Unit (ALU)?
The component of the CPU that carries out all the arithmetic and logical operations
What is an accumulator (ACC)?
Temporary general-purpose register that stores numerical values at any part of a given operation
What is a memory address register (MAR)?
A register that stores the address of the memory location currently being read from or written to
What is a current instruction register (CIR)?
A register that stores the current instruction being decoded and executed
What is a memory data register (MDR)?
A register that stores data that has just been read from memory or data that is about to be written to memory
What is a program counter (PC)?
A register that stores the address where the next instruction to be read can be found
What is the control unit?
The component of a computer’s CPU that ensures synchronisation of data flow and programs throughout the computer by sending out control signals along the control bus.
What does a system clock do?
Produce timing signals on the control bus to ensure synchronisation takes place
What is a clock cycle?
Clock speeds are measured in terms of GHz; this is the vibrational frequency of the system clock which sends out pulses along the control bus; for example, a 3.5 GHZ clock cycle means 3.5 billion clock cycles a second.
What is the immediate access store (IAS)?
Memory that holds all data and programs needed to be accessed by the control unit
What is a backing store?
A secondary storage device (such as HDD or SSD) used to store data permanently even when the computer is powered down
What is a register?
A temporary component in the CPU which can be general or specific in its use; it holds data or instructions as part of the Fetch-Decode-Execute cycle
What is an address?
A label for a memory location used by the CPU to track data
What is a memory location?
A numbered place in memory where values can be stored?
What is a system bus?
A connection between major components in a computer that can carry data, addresses or control signals
What is an address bus?
A system bus that carries the addresses throughout the computer system
What is a data bus?
The system bus that carries signals from control unit to all other computer components
Definition of unidirectional
Can travel in one direction only; used to describe data
Definition of bidirectional
Can travel in both directions; used to describe data
What is a word (in computer science)?
A group of bits used by a computer to represent a single unit; for example, modern computers often use 64-bit word lengths
What does overclocking mean?
Changing the clock speed of a system clock to a value higher than the factory/ recommended setting
What is a core?
A unit on a CPU made up of an ALU, control unit and registers; a CPU may contain a number of cores
What is a dual core?
A CPU containing two cores
What is a quad core?
A CPU containing four cores
What is Fetch-Execute-Decode?
A cycle in which instructions and data are fetched from memory, decoded and finally executed
What is the Basic Input/Output System (BIOS)?
A suite of programs on firmware that are used to perform the initialisation of a computer system during the boot-up process
What is opcode?
Part of a machine code instruction that identifies what data is to be used
What is operand?
Part of a machine code instruction that identifies what data is to be used
What is an instruction set?
The complete set of machine code instructions used by a particular microprocessor
What is an embedded system?
A combination of hardware and software designed to carry out a specific set of functions
What is a barcode?
A series of dark and light lines of varying thickness used to represent data; the code has to be scanned using laser or LED light source
What is the key field?
The field that uniquely identifies a record in a file
What is a quick response (QR) code?
A matrix of dark and light squares which represent data; the pattern can be read and interpreted using a smartphone camera and QR app
What is a frame QR code?
A type of QR code that includes a space for advertising
What is a DAC (digital to analogue converter)?
A device that converts digital data into electric currents that can drive motors, actuators and relays, for example
What is an ADC (analogue to digital converter)?
A device that converts analogue data (for example, data read from sensors) into a form understood by a computer
What is a charge couple device (CCD)?
A light sensitive cell made up of millions of tiny sensors acting as photodiodes
What is a virtual keyboard?
An onscreen keyboard which uses the features of the touch screen to emulate a physical keyboard
What is a touch screen?
A screen that allows the user to select of manipulate a screen image using the touch of a finger or stylus; touch screens most frequently use capacitive, infra-red or resistive technology
What is repetitive strain injury (RSI)?
Pain felt in the muscles, nerves and tendons caused by a repetitive action (for example, excessive clicking of a mouse button over a period of time)
What is an optical mouse?
A pointing device that uses a red LED to track the movement of the device and then relays its coordinates to a computer
What is a pointing device?
An input device that allows the user to control the movement of an onscreen cursor or to allow onscreen selection by clicking a button on the device
What is a complementary metal oxide semi-conductor (CMOS)?
A chip that generates an electric current (or pulses) when light falls on its surface
What is a digital signal processor (DSP)?
A processor that calculates, for example, the coordinates of a pointing device based on the pulses of electricity received
What is optical character recognition?
Technology that can convert hard copy text or images into a digital format to be stored in a computer memory
What is computer aided design (CAD)?
Software used to create drawings (for example, to send to a 3D printer or to produce blue-prints of a microprocessor design)
What is a computed tomographic (CT) scanner?
Technology that can create a 3D image of a solid object by slicing up the object into thin layers (tomography)
What is a capacitive touch screen?
A type of touch screen that uses the change in the screen’s capacitance (the ability to store an electrical charge) when it is touched by a finger or stylus
What is an infra-red touch screen?
A type of touch screen that uses infra-red beams and sensors to detect where the screen has been touched
What is a resistive touch screen?
A type of touch screen that uses two conductive layers which make contact where the screen has been touched
What is an actuator?
An output device that converts electrical energy into mechanical movement
What is a digital micromirror device (DMD)?
A chip that uses millions of tiny mirrors on its surface to create a video display
What is thermal bubble?
Inkjet printer technology whereby tiny resistors create heat and form an ink bubble which is ejected onto paper in an inkjet printer
What is a piezoelectric crystal?
A crystal located in an ink reservoir within an inkjet printer; the crystal vibrates and forces ink out onto paper
What is direct 3D printing?
A 3D printing technique in which the print head move in the x, y and z directions
What is binder 3D printing?
A 3D printing method that uses a two-stage pass; the first stage uses dry powder and second stage uses a binding agent
What is a cathode?
A negative electrode
What is cache?
Cache is temporary memory using static RAM to hold frequently used data / instruction by the CPU thereby increasing CPU performance. More generally, cache means any area of storage used to quickly access frequently-used data - other examples include web cache, database cache, DNS cache
What is an anode?
A positive electrode
What is organic LED (OLED)?
A light-emitting diode that uses the movement of electrons between a cathode and an anode to produce an on-screen image; it generates its own light so no backlighting is required
What is a loudspeaker?
An output device that converts electric current into sound
Function of memory
Stores program operations and data during the execution cycle of a program.
What is random access memory (RAM)?
Primary memory than can be written to or read from
What is read only memory (ROM)?
Primary memory that cannot be written to (changed) and can only be read
What is dynamic RAM (DRAM)?
A type of RAM chip that needs to be constantly refreshed
What is static RAM (SRAM)?
A type of RAM chip that uses flip flops and doesn’t need to be constantly refreshed
What does volatile mean?
Describes memory that loses its contents when the power is turned off
What does refresh mean?
Recharge every few seconds in order to maintain charge; for example with a device such as a capacitor
What does flip flop mean?
Electronic circuit with only two stable conditions
What is latency?
The lag in a system; for example, the time it takes to find a track on a hard disk, which depends on the time it takes for the disk to rotate around to its read-write head
What is SSD endurance?
The total guaranteed number of times data can be written to or read from a solid state drive (SSD) in its usable life cycle
What is optical storage?
A type of storage that uses laser light to read and write data, and includes CDs, DVDs and Blu-ray discs
What is dual layering?
Using two recording layers in storage media such as DVDs and some Blu-rays
What is virtual memory?
A memory management system that makes use of secondary storage and software to enable a computer to compensate for the shortage of actual physical RAM memory
What is disk thrashing (HDD)?
A problem in a hard disk drive (HDD) caused by excessive swapping in and out of data causing a high rate of head movements during virtual memory operations
What is the thrash point?
The point at which the execution of a program comes to a halt because the system is so busy moving data in and out of memory rather than actually executing the program
What is data redundancy?
The unnecessary storing of the same data on several storage devices at the same time
What is cloud storage?
A method of data storage where data is stored on offsite servers; the physical storage may be on hundreds of servers in many locations
What is network interface card (NIC)?
A hardware component (circuit board or chip) that is required to allow a device to connect to a network, such as the internet
What is a router?
A device that enables data packets to be moved between networks, for example, to join a LAN to a WAN
What is a static IP address?
An IP address that doesn’t change
What is a MAC address?
A unique identifier which acts as a network address for a device; it takes the form NN - NN - NN - DD - DD - DD, where NN is the manufacturer code and DD is the device code
What is a dynamic IP address?
A temporary IP address assigned to a device each time it logs onto a network
What is dynamic host configuration protocol (DHCP)?
A server that automatically provides and assigns an IP address
What does a CPU consist of?
- control unit (CU)
- arithmetic and logic unit (ALU)
- registers and buses
What are the main novel features of von Neumann architecture?
- the concept of a central processing unit (CPU or processor)
- the CPU was able to access the memory directly
- computer memories could store programs as well as data
- stored programs were made up of instructions which could be executed in sequential order
Arithmetic & Logic Unit (ALU)
The Arithmetic & Logic Unit (ALU) allows the required arithmetic (e.g. +, - and shifting), or logic (e.g. AND, OR) operations to be carried out while a program is being run; it is possible for a computer to have more than one ALU to carry out specific functions. Multiplication and division are carried out by a sequence of addition, subtraction and left or right logical shift operations
Control Unit (CU)
The control unit reads an instruction from memory. The address of the location where the instruction can be found is stored in the Program Counter (PC). This instruction is then interpreted using the Fetch-Decode-Execute cycle. During that process, signals are generated along the control bus to tell other components in the computer what to do. The control unit ensures synchronisation of data flow and program instructions throughout the compute. A system clock is used to produce timing signals on the control bus to ensure this vital synchronisation takes place - without the clock the computer would simply crash.
Purpose of the current instruction register (CIR)
this register stores the current instruction being decoded and executed
Purpose of the accumulator (ACC)
This register is used when carrying out ALU calculations; it stores data temporarily during the calculations
Purpose of the memory address register (MAR)
This register stores the address of the memory location currently being read from or written to
Purpose of memory data/ buffer register (MDR)
This register stores data which has just been read from memory or data which is about to be written to memory
Purpose of program counter (PC)
This register stores the address where the next instruction to be read can be found
(System) buses
(System) buses are used in computers as parallel transmission components; each wire in the bus transmits one bit of data. There are three common buses used in the von Neumann architecture known as: address bus, data bus and control bus
Address bus
The address bus carries addresses throughout the computer system. Between the CPU and memory, the address bus is unidirectional (i.e. bits can travel in one direction only); this prevents addresses being carried back to the CPU, which would be an undesirable feature.
The width of a bus is very important. The wider the bus, the more memory locations that can be directly addressed at any given time, e.g. a bus of width 16 bits can address 65 535 (2 to the 16) memory locations whereas a bus width of 32 bits allows 4 294 967 296 memory locations to be simultaneously addressed. However, even this isn’t large enough for modern computers but the technology behind even wider buses is outside the scope of this book
Data bus
The data bus is bidirectional (allowing data to be sent in both directions along the bus). This means data can be carried from CPU to memory (and vice versa) and to and from input/output devices. It is important to point out that data can be an address, an instruction or a numerical value. As with the address bus, the width of the data bus is important; the wider the bus the larger the word length that can be transported. (A word is a group of bits which can be regarded as a single unit e.g. 16-bit, 32-bit or 64-bit word lengths are the most common.) Larger word lengths can improve the computer’s overall performance
Control bus
The control bus is also bidirectional. It carries signals from the control unit (CU) to all the other computer components. It is usually 8-bits wide. There is no real need for it to be any wider since it only carries control signals
Fetch-Decode-Execute cycle: Fetch
Both data and instruction can be stored in MDR. In the Fetch-Decode-Execute cycle, the next instruction is fetched from the memory address currently stored in the MAR and the instruction is stored in the MDR. The contents of the MDR are then copied to the Current Instruction Register (CIR). The PC is then incremented (increased by 1) so that the next instruction can then be processed
Fetch-Decode-Execute cycle: Decode
The instruction is then decoded so that it can be interpreted in the next part of the cycle
Fetch-Decode-Execute cycle: Execute
The CPU passes the decoded instruction as a set of control signals to the appropriate components within the computer system. This allows each instruction to be carried out in its logical sequence.
What factors (apart from clock speed) affect a computer’s overall performance?
- The width of the address bus and data bus can also affect computer performance and needs to be taken into account
- Overclocking. The clock speed can be changed by accessing the BIOS and altering the settings. However, using a clock speed higher than the computer was designed for can lead to problems, e.g.:
i. Execution of instructions outside design limits can lead to seriously unsynchronised operations (i.e. an instruction is unable to complete in time before the next one is due to be executed) - the computer would frequently crash and become unstable
ii. overclocking can lead to serious overheating of the CPU again leading to unreliable performance - The use of cache memories can also improve CPU performance. Unlike RAM, cache memory is located within the CPU itself, which means it has much faster data access times than RAM. Cache memory stores frequently used instructions and data that need to be accessed faster, which improves CPU performance. When a CPU wishes to read memory, it will first check out the cache and then move on to main memory/RAM if the required data isn’t there. The larger the cache memory size the better the CPU performance
- The use of a different number of cores can improve computer performance
How does the number of cores change computer performance?
Doubling the number of cores doesn’t necessarily double the computer’s performance since we have to take into account the need for the CPU to communicate with each core; this will reduce overall performance.
E.g. with a dual core the CPU communicates with both cores using one channel reducing some of the potential increase in its performance, while with a quad core the CPU communicates with all four cores using six channels, considerably reducing potential performance.
How do different factors affect computer performance?
- increasing bus width (data and address buses) increases the performance and speed of a computer system
- increasing clock speed will potentially increase the speed of a computer
- a computer’s performance can be changed by altering bus width, clock speed and use of multi-core CPUs
- use of cache memories can also speed up a CPU’s performance