Tags & Description
What is another name for the CPU?
The processor.
What are the different components of the CPU?
Control unit, Buses, Arithmetic-Logic Unit (ALU), Dedicated registers
What is the Control unit?
The part of the processor that coordinates the activity of all other components.
What is a bus?
A series of connectors that transfer signals between internal components.
How many lines does a bus typically consist of?
The binary numbers (8, 16, 32, 64).
What is the system bus?
Consists of three separate buses carrying control signals, addresses and data.
Which three busses make up the system bus?
Control bus, data bus, address bus.
What does a control bus do?
Control signals are sent along the bus between the control unit and the other components of a computer.
What are some examples of control signals?
Memory read, memory write, bus request, bus grant, clock
Memory read
Causes data from the addressed location in RAM to be placed on the data bus
Memory write
Causes data on the data bus to be written into the addressed location in RAM
Bus request
Indicates that a device is requesting use of the data bus
Bus grant
Indicates that the CPU has granted access to the data bus
Clock
Used to synchronise operations by "ticking" between 1 and 0
What is an ALU?
Arithmetic-logic unit. The problem solving part of the processor that performs arithmetic, logical and shift operations on data.
What are the arithmetic operations?
Add, Subtract, Multiply and Divide
What are the logical operations?
AND, OR, NOT, XOR
What is a shift operation?
Binary shift- moving bits to the left or right within a register.
The accumulator
A register that is used to temporarily store results from the ALU, so that the processor is able to immediately access and reuse these results in subsequent calculations.
Program counter (PC)
Holds the memory address of the next instruction to be executed.
Current instruction register (CIR)
Holds the current instruction, which is split into opcode and operand
Opcode
The instruction that is executed by the CPU.
Operand
The data or memory location used to execute that instruction.
Memory Address Register (MAR)
Holds the address in memory where the processor is required to fetch or store data from or to
Memory Data Register (MDR)
Temporarily holds data moving between the processor and main memory
What is the role of the processor?
To carry out instructions from programs stored in memory.
What does the control unit coordinate?
Components so that they work together to achieve instructions.
Fetch-execute cycle
Processors operate in defined stages that are used to carry out program instructions. Fetch-> Decode-> Execute-> repeat
Fetch: Step 1
The address of the next instruction is copied from the PC to the MAR
Fetch: Step 2
The instruction held at that address is copied to the MDR
Fetch: Step 3
Simultaneously, the contents of the PC are incremented
Incremented
Where the value of 1 is added to a byte to indicate the next step
Fetch: Step 4
The contents of the MDR are copied to the CIR
Decode: steps 5-7
The instruction held in the CIR is decoded. It is split into operand and opcode to determine the type of instruction it is. Additional data, if required, is fetched from memory and then the instruction is passed into the accumulator.
Execute: step 8
The instruction is executed and result held in the accumulator or stored in memory.
Memory is divided up into equal units called...
Words
Each word has a _________ memory address.
Separate
Address bus
-One directional -The width of it determines the maximum possible memory addresses of the system
With an 8-bit address bus, what is the maximum possible memory addresses?
2 to the power of 8/ 256
What is the average memory capacity of a PC?
4 GiB (gibi bytes)
Data bus
-Bi-directional -Width is defined by the number of wires or lines it contains
What happens if the data bus is the same width as a computer word?
Data can be transferred to and from memory in a single operation
Which factors determine the format of a machine code instruction for a particular type of processor?
The architecture of a computer, including: ā¢ the word size ā¢ and the width of the address bus
How is assembly language very closely related to machine code?
Generally, there is a one-to-one correspondence between a machine code instruction and its assembly language equivalent
The maximum size of the operand will depend on...
the width of the address bus
What are the main factors affecting processor performance?
ā¢ Clock speed ā¢ The number of cores in the processor ā¢ The amount and type of cache memory
How does the clock speed affect a computers performance?
The Fetch-Execute cycle is triggered by the clock pulses of the system clock therefore the faster the clock speed, the faster a computer can fetch, decode and execute instructions.
How does the number of cores affect a computers performance?
Each core is theoretically able to process a different instruction at the same time with its own fetch execute cycle however, the software may not always be able to take full advantage of all of the processors.
What is parallel processing?
In systems designed for parallel processing, each core can work concurrently on different parts of the same task.
What is cache memory?
A small amount of superfast (but expensive) memory that stores data and instructions that have recently been used by the processor.
Differences between level 1 and level 2 cache.
Level 2 cache is larger but not as fast as Level 1 cache
Similarity between level 1 and level 2 cache.
Both types are held on the processor chip.
What is level 1 cache split into? why?
Instruction cache and data cache, so that data and instructions can be fetched simultaneously.
How does the amount of cache affect processing performance?
The more cache memory a computer has, the more likely it is that it will not have to fetch the next instruction or data from RAM, as it will already have been loaded into the superfast cache memory from which it can be retrieved much more quickly.
What is pipelining?
This is a technique used to improve efficiency, for example by overlapping stages in the fetch-execute cycle, or by breaking down the stages in an arithmetic instruction. Starts another step before the first one finishes, like a tunnel (you don't wait for the first car to exit before you enter).
Software
All programs that run on a computer
The two types of software
Applications software and systems software
What are the stages of software development?
Analysis Design Implementation (programming, testing and installation) Evaluation Maintenance
What does the life cycle model look like?
A circle
In the analysis stage, what does a systems analyst gather information about?
What the current system does, if there is one What the new system needs to do
How might a systems analyst gather information?
Interview people who will use the software Use questionnaires to get information from large groups of people Observe how the current system works Look at existing documentation
What document might a systems analyst produce? and what does it entail?
A "system specification" that is a vital document, used to create the design, and to evaluate the finished product, that defines what the system will do, but not how it will do it.
What will the software design include?
A description of the data: data type, format, and validations Database design if appropriate Input screens Output screens and reports How the data will be processed How the software will be tested
What does the implementation stage include?
Coding and testing the software Writing user and technical documentation Installing the software for the user
What is black box testing?
Testing that is carried out independently of the code used in the program. It looks at the program specification and creates a set of test data that covers all the inputs, outputs and program functions.
What is white box testing?
Testing that depends on the code logic. Tests are devised which test each path through the code at least once.
What is alpha testing?
This is carried out by the software developerās in-house team and by the user It can reveal errors or omissions in the definition of the system requirements.
What is beta testing?
The software is given to a number of potential users, who agree to use the software and report any faults.
When is beta testing used?
When commercial software is being developed (e.g. MS Windows, MS Word, Sage Accounts, etc.)
Why is beta testing useful?
Real users may try and do things the developer didnāt anticipate.
What happens in the evaluation stage?
The user now needs to test every aspect of the software to make sure it does what it is supposed to do It will be evaluated against the original specification document
What is another name for the evaluation stage?
Acceptance testing.
What are the three types of maintenance?
Corrective maintenance Adaptive maintenance Perfective maintenance
What is corrective maintenance?
Bugs will usually be found when the software is put into action, no matter how thoroughly it was tested
What is adaptive maintenance?
Over time, user requirements will change and the software will have to be adapted to meet new needs
What is perfective maintenance?
Even if the software works well, there may be ways of making it even better ā faster, easier to use, more functionality
Similarity between the lifecycle model and the waterfall model
In both, each stage is completed and documented before the next is begun.
Differences between the lifecycle model and the waterfall model
Unlike in the lifecycle model, in the waterfall model the customer does not see the end product until it is completed, any change to be made often means the project has to be started again and the process doesn't repeat
What does the waterfall model look like.
If the lifecycle model didn't repeat and wasn't a circle.
Advantages of the waterfall model
The model is simple to understand and use Each stage is separate and self-contained with well defined outcomes and written documentation This makes the project relatively straightforward to manage The model works well for smaller projects where requirements are very well understood
Disadvantages of the waterfall model
There is not much user involvement after the Analysis stage, when the Specification document is agreed No working software is produced until late in the cycle The user is presented with the finished product and if it is not quite what was required, it is generally too late to make changes
When is the waterfall model suitable?
The requirements are very clear and fixed There are no ambiguous requirements The technology is well understood The project is short
What does the spiral model look like
A spiral, where there are several prototypes, which each include the stages
Which stage is missing from the spiral model?
Maintenance
What does each successive loop round the spiral generate?
A new, more refined prototype.
When does the spiral end?
The software meets all the requirements
Advantages of the spiral model
The well-defined steps make the project easy to manage Software is produced at an early stage so problems and issues can be identified early The user gives feedback on each prototype and any required changes can be made early in the process Added functionality can be added during the process The end result is more likely to be what the user wants
Disadvantages of the spiral model
The process of developing prototypes, getting feedback and refining the prototypes is time-consuming so the finished product takes longer to develop A system is more costly to develop because of the time involved Not suitable for smaller projects
When should you use the spiral model?
For medium to high-risk projects When users are unsure of their needs and what the possibilities are When the requirements are complex For large projects which may take years to develop, during which time new technologies may develop and significant changes occur
What does the agile model look like?
What are the stages of the agile model
Plan Develop Test Install (optional) Demonstrate
What is the agile model?
Software is developed in rapid incremental cycles Each version builds on previous functionality Each version is thoroughly tested before release Good for small, time-critical projects Limited planning is needed to get started
What are the advantages of the agile model?
Rapid, continuous delivery of useful software leads to customer satisfaction Customers, developers and testers constantly interact with one another Working software is delivered frequently, within weeks rather than months Software is easily adapted to changing circumstances Even late changes in requirements can be implemented
What are the disadvantages of the agile model?
There is a lack of emphasis on necessary design and documentation The project can fail to deliver if the customer is not clear about the desired final outcome Not suitable for novice programmers ā experienced programmers capable of making good decisions are required
When should you use the agile model?
When new changes need to be implemented ā small incremental changes can be made frequently and for little cost In an expanding or developing business where usersā needs are continuously changing and developing
What is extreme programming?
This is a type of agile software development Frequent releases of the software are made in short development cycles It is intended to improve productivity and responsiveness to changing customer requirements
What can happen when you have a large project?
Personnel change Requirements change Technology advances Costs spiral upwards Project gets cancelled
What is rapid application development?
Workshops and focus groups instead of a document. Prototyping is used to continually refine user feedback Each part of the system is produced within a strict time limit ā maybe not perfect, but good enough Software components are reused whenever possible