3.4 Computer Systems Flashcards

1
Q

Computer

A

An electronic device that takes an input, processes data, and delivers an output.

In order to do this a computer follows a set of instructions known as a computer program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Fetch execute cycle

A

• Fetch stage - Fetch the next instruction from main memory (RAM), bring it back to the CPU.
• Decode stage - Inspect the instruction and work out what is is that it needs to do.
• Execute stage - Carry out the instruction. This could cover many things such as: going back to main memory and grabbing some data, performing a calculation, storing information back into main memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Von Neumann Architecture

A

Describes a system where the CPU runs programs stored in memory.
Programs consist of instructions and data which are stored in memory addresses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

CPU:
Arithmetic logic unit

A

• Responsible for carrying out arithmetic calculations and making logical decisions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

CPU:
Control unit

A

• Sends signals to control how data moves around the CPU.
• Decodes the current instruction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

CPU:
CACHE

A

• Small amount of very fast memory.
• Provides fast access to frequently used instructions and data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

CPU:
Clock

A

• Electronic unit that synchronises related components by generating pulses at a constant rate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

CPU:
Registers

A

• Tiny, super fast pieces of onboard memory inside the CPU.
• Each has a very specific purpose.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

CPU:
Busses

A

Collection of wires through which data and instructions are transmitted from one component to another.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Factors that affect the performance of CPU’s

A

• Clock speed
• CPU cores
• CACHE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Clock speed

A

• Measured in Hz
• Number of cycles per second.
• Modern processors operate at billions of cycles per second, Gigahertz (GHz)
• 3.2 GHz clock speed = 3.2 billion instructions can be fetched per second.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cache size

A

• Temporary storage of data and instructions being read to and written from.
• Located on board or very near to the CPU.
• Stores copies of recent data and instructions.
• Much quicker getting items from the cache than from main memory (RAM).
• Trying to avoid going and getting instructions and data from memory if we don’t need to as it costs time.
• A larger CPU cache gives the CPU faster access to more data it needs to process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Levels of CACHE

A

L1 cache - Part of the CPU. Fastest to access. Smallest size. Each core of a multi-core processor as its own L1 Cache. Stores the most frequently used instructions/data.
L2 cache - Can also be built into the CPU but will be slower. Further away from the processor. Larger so more memory available. After L1 is full, the most frequently used instructions/data are stored in L2.
L3 cache - Larger but slower. Not part of the processor and will be shared by multi-core processors. After L2 CACHE is full, the next most frequently used instructions/data are stored in L3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Number of cores

A

• A core is a complete copy of a CPU.
• CPUs with more than one core have more power to run multiple programs at the same time.
• Doubling the number of cores doesn’t simply double the overall speed.
• CPU codes have to communicate with each other, this takes time.
• Many programs are not designed to make use of multiple cores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Embedded systems

A

A computer system with a dedicated function within a larger mechanical and electrical system.

• Traffic lights
• Domestic appliances
• Factory equipment
• Engine management systems
• Hospital equipment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Properties of embedded systems

A

Properties of embedded systems compared to general purpose computers include:
• Low power consumption
• Small size
• Rugged operating systems
• Low cost per unit
• More efficient at doing their task
• Easier to design
This of course comes at the cost of limited processing resources which makes them more difficult to program and interact with.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Different types of memory

A

• RAM
• ROM
• Registers
• CACHE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Primary storage compared to secondary storage

A

• All types of primary storage with exception of ROM are volatile.
• ROM is considered read only.
• Primary storage devices have a relatively small capacity compared to secondary storage.
• Very fast access times compared to secondary storage.

• Secondary storage is non-volatile.
• Much larger storage capacity compared to primary storage.
• Very slow access times compared to primary storage.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Volatile

A

Temporary memory. It requires power to retain its data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Non-volatile

A

Permanent memory - it keeps its contents when it has no power.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

ROM

A

• Small piece of read only memory located on the motherboard.
• Non volatile
• Holds the first instructions for when the computer is first turned on known as bootstrap.
• Programs may be stored in ROM in embedded systems.
• Read only.
• Small in comparison to RAM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

RAM

A

• Holds the operating system, programs and data in use by the CPU when the computer is running.
• Volatile
• Much faster than the hard disk.
• Read and write.
• Large in comparison to ROM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Why is secondary storage needed

A

• Because ROM is read only and RAM is volatile.
• Secondary storage is needed for:
- Storage of programs and data when the power is off.
- Semi-permanent storage of data that can change.
- Backup of data files.
- Archive of data files.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Common types of storage

A

Magnetic
Optical
Solid state

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Drive
The device that reads and writes data from secondary storage.
26
Media
What the data is actually stored on.
27
Optical storage devices
• CDs, DVDs and Blu-Ray discs. • Optical drives use lasers to burn pits into the surface of discs • It reads pits and lands ( where there is no pit) on discs • When writing, a laser beam can be used to burn pits into discs • The change from a pit to a land represents a 1 • Whereas no change represents 0 • Come in three forms: - Read only (e.g. CD-ROM/DVD-ROM/BD-ROM) - Write once (e.g. CD-R/DVD-R/BD-R) - Rewritable (e.g. CD-RW/DVD-RW/BD-RW) + Low capacity compared to other types of storage. + Thin, lightweight and portable. - Slow to access data.
28
Magnetic
• Hard disk drive, tape. • Magnetic storage uses a series of platters (disks) which have been coated in a magnetic material. • Each one has data encoded in them as a series of changes of direction of magnetisation. • As the discs spin, the read head is then able to recognise these changes as a string of data. + High storage capacity + Quick to access data. - Has moving parts, which eventually fail. - Hard disks perform better if they are defragmented.
29
Solid state
• SSD, Memory sticks, Flash memory cards. • SSDs use electrical circuits to store data in millions of transistors (tiny switches) which can be either on or off. + Medium storage capacity. + Very quick to access data. + No moving parts, very reliable. + No noise. + No need to defragment + Low power - Limited number of read/write cycles. - Expensive compared to other types of storage.
30
Which storage device to use is based on:
• Capacity - how much data needs to be stored? • Speed - how quickly can data be read and transferred? • Portability - if data needs to be transported are size, shape and weight important? • Durability - How robust is the media? Will it be damaged by shocks, and extreme conditions? • Reliability - does it need to be used over and over again without failing? • Cost: how expensive is the media per byte of storage?
31
Cloud storage
Remote servers that store data that can be accessed over the internet. • Typically uses magnetic hard drives. • Use do soli state drives is increasingly popular.
32
Advantages of cloud storage
+ Access your files anywhere, anytime, from any device. + Automatic backup is possible. + Files no longer take up any space on your own device. + Collaborate on files easily.
33
Disadvantages of cloud storage
- Must have a working, active internet connection to gain access to your files. - Can be costly, typically a monthly of yearly subscription cost.
34
Hardware
Physical stuff that makes up your computer. • Motherboards • Hard drives • RAM • Monitors • Keyboards • Printers
35
Software
Manages the computer system resources and acts as a platform to run application software. • System software • Application software
36
System software
• Operating systems - Windows, IOS, android - provides a platform on which users can run programs. • Utility software - Anti-virus, defragmentation, backup, compression, firewalls. - used to maintain the computer system
37
Application software
Software that persons end-user tasks. • Presentation, word processor, spreadsheet, web browsers, communication, games, apps.
38
Relationship between hardware and software
Application software runs on operating system software. The operating system software talks to your hardware and applications.
39
Types of user interfaces: Graphical user interface (GUI)
• Windows, icons, menus, pointers (WIMP) • Visual • Interactive • Intuitive • Optimised for mouse and touch gesture input.
40
Types of user interfaces: Command line
• Text based. • Less resource heavy compared to GUI. • More commands than a GUI. • Efficient • For advanced users. • Useful for automating processes with scripts.
41
Types of user interfaces: Natural language
• Responds to questions in spoke language. • Not always reliable. • Getting better all the time.
42
What does the OS handle management of?
• Providing a platform for software to run on. • Providing a user interface • Managing processes • Managing the computer’s memory • Managing input and output devices • Managing applications • Managing security
43
Applications: Multitasking
• Running multiple applications at the same time by giving each application a small time-slice of processor time. • This allows more than one program to be held in memory at a time, and data shared between them such as copy and paste.
44
Memory management
• When programs are loaded, the operating system decides where they are held in memory. • Over time the memory becomes fragmented as programs are loaded and closed because they use different amounts of memory. • The operating system must keep track of different program fragments. • When the memory is full, the operating system uses virtual memory.
45
Input/output: Device drivers
Input/output devices allow computers to take inputs and give outputs. It does this using device drivers. • Translates operating system instructions into commands that the hardware will understand. • Each peripheral needs a device driver. • Many are already built into the operating system
46
User management
• Providing for different users to log into a computer. • The operating system will retain settings for each user, such as icons, desktop backgrounds. • Each user may have different access rights to files and programs. • A client server network may impose a fixed or roaming profile for a user, and manage login requests to the network.
47
File management
• Data is stored in files. • The operating system may present a logical structure of files into folders, and allow the user to rename, delete, copy and move files.
48
Utility system software
Software designed to: • Keep your computer safe. • Keep it running efficiently. • Provide you with useful tools for management of your files and applications.
49
Utilities program examples
• Disk defragmentation • Auto backup and restore • Anti-virus • Firewall • Compiler
50
Auto backup and restore
Ability to automatically back-up files on the computer, either using cloud storage or another form of secondary storage.
51
Disk Defragmentation
• Organises files on a disk to be located contiguously. • Often after defragmentation performance is improved because a file can be accessed from one location on a disk. • Files can become fragmented when the original file increases in size and no longer fit into a contiguous location and has to be split over multiple locations.
52
Anti virus
Scans the computer to identify malicious code.
53
Compiler
Converts high level computing code into low level.
54
Firewall
Scans input and output packets and prevent malicious packets entering the computer.
55
High level languages
• High level languages are those that are relatively easy for programmers to use, as they involve a large amount of English language. • One command in a high level language will relate to several in a low level one. • Using high level languages, allows programmers to write applications that are portable across devices and different platforms. • Computers can only understand Machine Code, so all higher-level programming languages must be translated before the computer can understand them. • Uses mnemonics to help understand it better.
56
Low level languages
• Machine code is instructions written in binary, where one instruction relates to one thing that the computer needs to do. • Low level languages are those extremely close to machine languages. • This means that the syntax are quite far away from human language but the instructions have a 1-1 correspondence to machine code.
57
Examples of low level language
• Machine code • Assembly code
58
Machine code
• Computers use machine code. • Machine code uses 0s and 1s (binary). • It is almost impossible for humans to understand programs written in machine code. • Every processor has its own specific machine code instruction set.
59
Assembly language
• Assembly language must be translated by an assembler for the computer to understand it, but has a 1:1 correspondence with machine code - one instruction in assembly language corresponds to one instruction in machine code. • This means that assembly language is also specific to a processor or family of processors, and can’t be used across different pieces of hardware. • Assembly language is often used to develop software for embedded systems and for controlling specific hardware components.
60
Advantages and disadvantages of LLL
+ Since they are nearer to machine code, they are faster to process. + Low level languages are appropriate for developing new operating systems, embedded systems and hardware device drivers - They are specific to the piece of hardware they are written for, and cannot be run on any other hardware. - Very challenging and requires a great deal of knowledge and experience.
61
Advantages and disadvantages of HLL
+ These can be easily moved across devices and platforms. + Relatively straightforward + Can be debugged in a much easier manner than in low-level languages. - Slower processes as they have to be translated through several layers of code before reaching the hardware. - Needs a translator.
62
Program translators
Program translators allow programs to be translated into machine code so the than programs can be run on a computer. • Interpreter • Compiler • Assembler
63
Interpreter
Interpreter converts high level languages into machine code one instruction at a time on-the-fly while the program is running. Each instruction is converted to machine code once the previous instruction has been executed. • Interpreters are good for debugging code because the program stops as soon as the error has been found. • However running code this way is much slower running compiled code. The machine code is not saved.
64
Compiler
A program that converts high level languages into machine code before the program is run. • A compiler saves the machine code, so the source code is no longer needed. • A compiler allows a program to be run faster that interpreted code. • Software is normally distributed as compiled machine code. For proprietary software this is good because other people cannot copy the code and use it for their own applications.
65
Assembler
Assembler converts assembly language instructions into machine code.
66
Why cloud storage has grown?
• Bandwidth of mobile networks has increased, including the introduction of 4G, making fast internet more readily available. • Increased use of mobile devices which have less space for local storage. • Great improvements in network security giving people more confidence to store their data out of sight. • There is a broader range of services available, including ones with better interfaces and integration with current systems. • Storage is getting increasingly cheap, so cloud computing companies are able to offer much better rates than before. • Many companies have now developed models which make use of cloud computing in day-to-day work.
67
Internet of things
• Embedded systems exist in many devices that are connected to networks and the Internet • This is known as he Internet of Things (IoTs) • This could include smart switches that turn on controlled by your smart phone • Centrally heating turning on automatically when you arrive home • Gas meters sending automatic readings to the gas provider
68
Advantages of cloud storage
• Data can be accessed from any device anywhere in the world (as long as there is an internet connection). • Can allow for automatic back-ups of data. • Can share data with other users easily without having to wait for it to be transferred. • Increases the amount of storage that is available on a device quickly and easily without the need for additional weight or bulk. • Reduced cost as users don’t need to invest in local storage.
69
Disadvantages of cloud storage
• Increased security risks with a centralised system that is outside your control. • It relies on having a high-bandwidth internet connection to be able to access the material. • Whilst it avoids an initial outlay of cost for hardware it could cost more in the long-term due to monthly subscription payments. • You are relying on the service who is providing the cloud storage. If they go down, your data could be lost. • Potential for data privacy issues, with other people able to access your data.