Processor Architectures and Boolean Algebra: Question 6

Syllabus 15.1

Multiple choice A2 1 mark

A small company runs three separate physical servers in its server room. One server continuously runs email software and processes incoming email messages. A second server independently runs database software and processes queries against its own stored records. A third server runs web server software and processes visitors' page requests. Each server executes its own distinct program on its own separate data, entirely independently of the other two, all at the same time.

Which of the four basic computer architectures does this describe?

Choose an answer to check it, then compare with the worked solution below.

Show worked solution Hide worked solution

Worked solution

The four basic computer architectures

Every computer architecture can be classified by asking two separate questions: how many instruction streams are being carried out, and how many data streams are being operated on, at the same time.

  • SISD (Single Instruction, Single Data): one processor executes one instruction stream on one item of data at a time.
  • SIMD (Single Instruction, Multiple Data): one instruction stream is broadcast to many processing units, each applying that same instruction to its own item of data at the same time.
  • MISD (Multiple Instruction, Single Data): several processing units each execute a different instruction stream, but all of them operate on the same single shared item of data. This category is rare in practice.
  • MIMD (Multiple Instruction, Multiple Data): several independent processors each execute their own instruction stream on their own independent data, working concurrently but entirely independently of one another.

Applying this to the scenario

The server-room scenario has two key features:

  1. Multiple instruction streams: the email server, the database server and the web server each run a different program, so three separate instruction streams are being carried out.
  2. Multiple data streams: each server also processes its own separate data (email messages, database records, and page requests respectively). None of them are working on a shared, single item of data.

Multiple independent instruction streams, each paired with its own independent data stream, is exactly the definition of MIMD.

Why the other options are wrong

  • A (SISD): SISD requires a single instruction stream and a single data stream overall. Here there are clearly three separate programs and three separate sets of data.
  • B (SIMD): SIMD requires all processing units to execute the same instruction stream. Here every server runs a different program (email, database, web), so the instruction stream is not single.
  • C (MISD): MISD requires multiple instruction streams acting on a single shared data item. Here each server has its own separate data, not one shared item that all three act upon.

Final answer

D. MIMD: three independent instruction streams (the three different server programs), each operating on its own independent data stream, running concurrently, exactly the defining feature of a MIMD architecture. This holds regardless of scale: a small system of just a few independent processors is still classified as MIMD, in the same way a massively parallel computer with thousands of processors would be.