Processors, Parallel Processing & Virtual Machines (Cambridge (CIE) A Level Computer Science): Flashcards

Exam code: 9618

1/100

0Still learning

Know0

  • Define RISC.

Cards in this collection (100)

  • Define RISC.

    Reduced Instruction Set Computer: a processor with a smaller instruction set made up of simpler instructions.

  • Define CISC.

    Complex Instruction Set Computer: a processor with a larger instruction set that includes more complex instructions.

  • How many clock cycles does a RISC instruction take?

    One clock cycle, which is what makes RISC more suitable for pipelining.

  • How many clock cycles does a CISC instruction take?

    More than one clock cycle, because the instructions are more complex.

  • RISC is better suited to                      because each instruction takes one clock cycle.

    RISC is better suited to pipelining because each instruction takes one clock cycle.

  • Why might a RISC program require more instructions?

    Because each instruction performs a simpler operation.

  • Which has more general-purpose registers, RISC or CISC?

    RISC has more general-purpose registers. CISC has fewer.

  • Which has more addressing modes, RISC or CISC?

    CISC has more addressing modes. RISC has fewer.

  • Which uses more memory, and why?

    RISC uses more memory, because it needs more instructions. CISC instructions take up less space in memory.

  • Which has the more complex compiler?

    RISC has a more complex compiler. CISC's compiler is less complex.

  • Compare RISC and CISC on power usage and cost.

    RISC has lower power usage and lower cost. CISC is higher on both.

  • Which devices typically use RISC, and which use CISC?

    RISC is usually used in smartphones and tablets. CISC is usually used in laptops and desktop computers.

  • Which processor type uses both a hardwired and a micro-coded control unit?

    CISC

  • Which processor type splits cache between data and instructions?

    RISC

  • True or False?

    A program written for a RISC processor will run on a CISC processor.

    False.

    It will not work. It will not necessarily work on another RISC processor either, because they may have different instruction sets.

  • How does CISC handle interrupts?

    Using microcode and dedicated hardware instructions, which manages interrupts efficiently.

  • How does RISC handle interrupts?

    Using software-based interrupt handlers, managed through general-purpose registers and simple instructions.

  • How does context switching differ between RISC and CISC?

    CISC may have hardware support to save and restore the processor state automatically. RISC typically handles it in software, giving more control but requiring more instructions.

  • CISC can handle multiple tasks in a single instruction, including context             .

    CISC can handle multiple tasks in a single instruction, including context saving.

  • Which responds to interrupts faster, and why?

    CISC, because of its built-in support. RISC is slower, but more flexible and consistent across all instructions.

  • True or False?

    RISC handles interrupts faster than CISC.

    False.

    CISC is generally faster due to built-in support. RISC is slower but more flexible.

  • What is the trade-off in CISC interrupt handling?

    It is more efficient but less flexible.

  • What is the advantage of RISC interrupt handling?

    It is simpler and more predictable, and gives the operating system greater control.

  • What do both architectures aim to do with interrupts?

    Respond to interrupts quickly and resume execution correctly, using different design philosophies.

  • Define pipelining.

    Pipelining is the process of carrying out multiple instructions concurrently, with each instruction at a different stage of the fetch-decode-execute cycle.

  • True or False?

    In pipelining, all instructions are at the same stage at the same time.

    False.

    Each instruction is at a different stage of the fetch-decode-execute cycle.

  • Give an example of what happens at once during pipelining.

    One instruction can be fetched while the previous one is being decoded and the one before that is being executed.

  • What happens to the pipeline in the case of a branch?

    The pipeline is flushed.

  • At step 3 of a pipeline, which instructions are at which stage?

    Instruction C is being fetched, instruction B is being decoded, and instruction A is being executed.

  • Name the five stages of the pipeline in a RISC processor.

    Instruction fetch (IF), instruction decode (ID), operand fetch (OF), instruction execute (IE), and write back result (WB).

  • How long does each pipeline subtask take?

    One clock cycle.

  • Can two instructions execute the same stage in the same clock cycle?

    No. No two instructions can execute their same stage at the same clock cycle.

  • When does the second instruction begin?

    In the second clock cycle, while the first instruction has moved on to its second subtask.

  • Why are RISC processors designed for pipelining efficiency?

    Each instruction takes one clock cycle, instructions are fixed-length, the instruction set is limited, and there are many general-purpose registers.

  • How do fixed-length instructions help pipelining?

    They make decoding easier.

  • How does a limited instruction set help pipelining?

    It reduces complexity and stage duration.

  • Define register in the context of pipelining.

    Registers are fast, temporary storage inside the CPU.

  • RISC processors rely heavily on registers for                storage rather than accessing RAM.

    RISC processors rely heavily on registers for operand storage rather than accessing RAM.

  • Why do RISC processors rely on registers rather than RAM?

    Register usage reduces memory bottlenecks, allowing pipelining to run smoothly.

  • Where are intermediate values stored during pipelining?

    In registers between stages.

  • Name four benefits of pipelining.

    Increased throughput, better use of CPU components, reduced idle time, and faster execution of the instruction stream.

  • Pipelining means the fetch, decode and execute units are all in use                             .

    Pipelining means the fetch, decode and execute units are all in use simultaneously.

  • True or False?

    Pipelining makes each individual instruction execute faster.

    False.

    Individual instructions do not run faster. It is the instruction stream as a whole that executes faster.

  • Define computer architecture.

    A computer architecture is the design and structure of a computer system, describing how it fetches, processes and stores data and instructions.

  • What does a computer architecture define?

    How components like the CPU, memory and input/output devices work together to execute programs.

  • What two things is each architecture categorised by?

    Whether it has a single or multiple instruction stream, and a single or multiple data stream.

  • Define SISD.

    Single Instruction, Single Data: one processor executes one instruction on one data stream at a time.

  • SISD is a traditional             , non-parallel architecture.

    SISD is a traditional serial, non-parallel architecture.

  • Where is SISD used?

    In basic, single-core processors, for example a classic desktop CPU running one task at a time.

  • Define SIMD.

    Single Instruction, Multiple Data: one instruction is applied to multiple pieces of data at once.

  • What do all processing units do in SIMD?

    They perform the same operation in parallel.

  • True or False?

    In SIMD, each processing unit performs a different operation.

    False.

    All processing units perform the same operation in parallel.

  • SIMD is ideal for graphics or                      computation.

    SIMD is ideal for graphics or scientific computation.

  • Where is SIMD used?

    In GPU operations and image processing, where it is useful for parallel processing.

  • Define MISD.

    Multiple Instruction, Single Data: multiple processors execute different instructions on the same data.

  • How common is MISD in practice?

    Very uncommon.

  • What is MISD used for?

    Specialised systems for fault tolerance, where each unit checks the same input differently, such as redundant systems in safety-critical environments.

  • Define MIMD.

    Multiple Instruction, Multiple Data: multiple processors execute different instructions on different data sets.

  • What does MIMD allow?

    Full concurrent processing of independent tasks, making it flexible and scalable for parallel programs.

  • Where is MIMD used?

    In most modern multi-core processors, distributed systems and cloud computing.

  • True or False?

    MISD is the architecture used by most modern multi-core processors.

    False.

    MIMD is used by most modern multi-core processors. MISD is very uncommon in practice.

  • What is the difference between SIMD and MIMD?

    SIMD applies one instruction to many data items at once. MIMD runs different instructions on different data, fully independently.

  • Which architecture is used for vector processing?

    SIMD, for example in GPUs.

  • Define massively parallel computer.

    A system made up of thousands of processors working simultaneously to solve a single large problem.

  • How does a massively parallel system work?

    Each processor executes part of a program, and the results are combined to produce the final output.

  • True or False?

    Each processor in a massively parallel system solves a separate problem.

    False.

    They work simultaneously to solve a single large problem, each executing part of a program.

  • Name three fields that use massively parallel computers.

    Scientific research, weather simulation, cryptography and AI.

  • How is memory arranged in a massively parallel system?

    Each processor may have its own memory, or access shared memory resources.

  • Processors in a massively parallel system are linked by high-speed                           .

    Processors in a massively parallel system are linked by high-speed interconnects.

  • What links the processors together?

    High-speed interconnects, which are fast communication pathways used to share results.

  • Define data parallelism.

    Data parallelism is where many data items are processed at once, often using SIMD or MIMD.

  • Define task parallelism.

    Task parallelism is where different processors perform different tasks on different data sets.

  • What kind of software does a massively parallel system need?

    Specialised software, written to distribute the work efficiently across the processors.

  • Massively parallel systems are                coupled, so the processors depend on one another.

    Massively parallel systems are tightly coupled, so the processors depend on one another.

  • What does 'tightly coupled' mean for a massively parallel system?

    Processors depend on one another and work collaboratively as a single system.

  • How do massively parallel computers differ from clusters in structure?

    Massively parallel systems are thousands of processors forming a single tightly integrated system. Clusters are multiple independent systems networked together.

  • True or False?

    A cluster computer is a single tightly integrated system.

    False.

    A cluster is multiple independent systems networked together, often loosely coupled. It is the massively parallel computer that is tightly integrated.

  • How does communication differ between a massively parallel system and a cluster?

    Massively parallel processors communicate continuously via shared architecture. Clusters communicate via a network, often loosely coupled.

  • How do a massively parallel system and a cluster differ in behaviour?

    A massively parallel system acts like one machine with distributed processing. A cluster is a group of co-operating systems.

  • How do a massively parallel system and a cluster differ in use?

    Massively parallel systems give higher performance and are used for supercomputing tasks. Clusters are more general-purpose or batch processing systems.

  • Which two architectures do massively parallel systems often use?

    SIMD, applying one instruction to many data points at once, and MIMD, running different instructions on different data.

  • Define virtual machine (VM).

    A virtual machine is an entire operating system running inside another operating system.

  • What can a user do with a virtual machine of another operating system?

    Navigate its GUI and install software on it.

  • Why is running a virtual machine useful?

    It helps access software that is only designed to run on specific operating systems.

  • Define hypervisor.

    A hypervisor is VM management software that monitors all activity happening inside the virtual machine.

  • Why might a Windows user run a MacOS virtual machine?

    Because some software is written to run only on MacOS, so the virtual machine lets them install and use it.

  • What is forwards compatibility in the context of virtual machines?

    Most software needs updating to work on the latest operating system versions, so a user on the newest release may run a VM of a previous release to use an application that has not had a forwards-compatibility update.

  • How are virtual machines used in software testing?

    They create isolated test environments that leave the host operating system unaffected.

  • True or False?

    Testing inside a virtual machine affects the host operating system.

    False.

    Virtual machines create isolated test environments that leave the host operating system unaffected.

  • Name two things an isolated test environment lets a developer do.

    Monitor how their software affects system performance, and test on a clean-slate system with no other applications running.

  • How can virtual machines help software reach more users?

    VM software can create machines that act like they have older hardware, so developers can build software that runs on older hardware too.

  • How do virtual machines help with cross-platform compatibility?

    A developer can test against various operating systems, such as MacOS, Linux and Windows, for greater compatibility.

  • What allows programs to run across different operating systems?

    Intermediate code, which is generated through compilation.

  • What hardware do virtual machines use?

    VMs share the same system hardware as the host operating system.

  • True or False?

    A virtual machine has its own dedicated hardware, separate from the host.

    False.

    Virtual machines share the same system hardware as the host operating system.

  • What is the risk of over-using virtual machines?

    It can exhaust the host system of CPU, hard disk and memory.

  • How can the resource risk of virtual machines be managed?

    VM software can set maximum limits on system resources.

  • How might a low-specification machine be configured to run a VM?

    To allocate only 1GB of memory and 20% of the CPU.

  • How might a high-specification machine be configured to run a VM?

    Up to 8GB of memory and 50% of the CPU.

  • Operating systems are commonly free to download, but require an                      payment to access all features.

    Operating systems are commonly free to download, but require an activation payment to access all features.

Sign up to unlock flashcards

or