Podcast
Questions and Answers
Which of the following best describes the primary distinction between personal and server computers?
Which of the following best describes the primary distinction between personal and server computers?
- Personal computers are exclusively network-based, while server computers operate independently.
- Server computers generally offer a broader variety of software applications than personal computers.
- Server computers are subject to stricter cost/performance trade-offs compared to personal computers.
- Personal computers prioritize general-purpose tasks and software variety, while server computers emphasize network capabilities, high capacity, and reliability. (correct)
In the context of computer systems, what is the defining characteristic of an embedded computer?
In the context of computer systems, what is the defining characteristic of an embedded computer?
- It operates with a wide variety of software and general-purpose applications.
- It is integrated within another device to execute a specific, predetermined set of tasks. (correct)
- It features high-end scientific and engineering calculation abilities.
- It's designed for network-based tasks requiring high capacity and reliability.
Which of the following is NOT one of the five classic components of a computer?
Which of the following is NOT one of the five classic components of a computer?
- Memory
- Control
- Datapath
- Interface (correct)
How did the Analytical Engine contribute to the field of computer science?
How did the Analytical Engine contribute to the field of computer science?
What key concept is attributed to Ada Lovelace's work with the Analytical Engine?
What key concept is attributed to Ada Lovelace's work with the Analytical Engine?
What is the significance of 'Turing completeness' in the context of computer science?
What is the significance of 'Turing completeness' in the context of computer science?
What was a major limitation of the ENIAC, which the EDVAC was designed to overcome?
What was a major limitation of the ENIAC, which the EDVAC was designed to overcome?
Which key concept did the EDVAC introduce to computer architecture?
Which key concept did the EDVAC introduce to computer architecture?
What is the primary function of the program counter (PC) in a stored-program computer?
What is the primary function of the program counter (PC) in a stored-program computer?
In early processors, why was ROM preferred over RAM for the control unit?
In early processors, why was ROM preferred over RAM for the control unit?
What is the main advantage of microcoding in the design of a control unit?
What is the main advantage of microcoding in the design of a control unit?
Which of the following is a primary characteristic of Complex Instruction Set Computers (CISC)?
Which of the following is a primary characteristic of Complex Instruction Set Computers (CISC)?
What is the key difference between Von Neumann (Princeton) and Harvard architectures?
What is the key difference between Von Neumann (Princeton) and Harvard architectures?
What is a limitation of the Von Neumann architecture that the Harvard architecture addresses?
What is a limitation of the Von Neumann architecture that the Harvard architecture addresses?
Which of the following Instruction Set Architectures (ISAs) dominates the embedded computing domain?
Which of the following Instruction Set Architectures (ISAs) dominates the embedded computing domain?
Flashcards
Embedded Computer
Embedded Computer
A computer inside another device, used for running one predetermined application or collection of software.
Five classic components of a computer
Five classic components of a computer
Input, Output, Memory, Datapath, Control.
Analytical Engine
Analytical Engine
First concept of a programmable, general-purpose computer that could perform any calculation.
Turing Machine
Turing Machine
Signup and view all the flashcards
Turing completeness
Turing completeness
Signup and view all the flashcards
ENIAC
ENIAC
Signup and view all the flashcards
Stored-Program Computer
Stored-Program Computer
Signup and view all the flashcards
Microcoding
Microcoding
Signup and view all the flashcards
CISC
CISC
Signup and view all the flashcards
RISC
RISC
Signup and view all the flashcards
Von Neumann/Princeton Architecture
Von Neumann/Princeton Architecture
Signup and view all the flashcards
Harvard Architecture
Harvard Architecture
Signup and view all the flashcards
Intel x86 (AMD64)
Intel x86 (AMD64)
Signup and view all the flashcards
ARM
ARM
Signup and view all the flashcards
RISC-V
RISC-V
Signup and view all the flashcards
Study Notes
- These are study notes for Dr. Haroon Waris' "System on Chip Lecture-3"
Traditional Classes of Computers
- Personal: General purpose, variety of software. Subject to cost/performance tradeoff.
- Server: Network based, high capacity, performance, reliability.
- Supercomputers: High-end scientific and engineering calculations; have the highest capability.
- Embedded: Hidden as components of systems with crucial power/performance/cost restrictions.
Embedded Computer
- A computer found inside another device.
- It runs a predetermined application or software collection.
Computer Components
- The five components include: input, output, memory, datapath, and control.
- These components are consistent across desktops, servers, and embedded systems.
- Input/output (I/O) includes user-interface devices, like displays, keyboards, and mice.
- Storage devices, like hard disks, CDs/DVDs, and flash memory are also components.
- Network adapters are used for communication with other computers.
"Analytical Engine"
- Created in (1837-1871)
- It was the first concept of a programmable general-purpose computer.
- Invented by Charles Babbage, known as the "Father of Computing".
- It could do calculations before being set to do so.
- Its components included the main components of a modern computer.
- The Mill represents the CPU and ALU. It had conditional branching.
- The Store represents the Memory. It had (1K 50-digit numbers).
- The Reader represents Input via Jacquard Punch Cards.
- The Printer represents Output in mathematical tables.
- Ada Lovelace wrote its first program, an algorithm to calculate Bernoulli numbers.
Turing Machine
- Described in 1936 by Alan Turing.
- The machine is capable of computing all computable problems.
- Made up of finite states, and an infinite tape (memory) of symbols
- It has a scanner that can read and write to the current position
- Turing completeness is the ability for a system of instructions to simulate a Turing machine.
Early Computers
- The ENIAC is often considered "the first computer," also called Electronically Programmable General Purpose Computer".
- It was the first electronic Turing Machine, but programming required rewiring hundreds of cables.
- It took days or weeks to program.
- With the EDVAC, Mauchly and Eckert came up with using instructions as another piece of data.
- Von Neumann wrote the nominal paper about the "stored-program".
Stored-Program Computers
- A Von Neumann Machine runs in a stored-program computer.
- Instructions are in binary, like data.
- Programs stored in memory, like data.
- The memory can be read and written when given an address.
- The program counter (PC) saves the current instruction address.
- Program flow is achieved by incrementing the PC or branching.
- Programs can operate on programs like compilers and linkers.
- Programs ship as files of binary numbers called "binaries".
- "Binary compatibility" allows compiled programs to work on different computers.
Microcoded Computers
- In early processor, ROM was cheaper and faster than RAM.
- Logic was expensive compared to ROM, and getting the control unit was hard.
- In 1958, Maurice Wilkes came up with microcoding.
- It implements the "microcoded” control unit with ROM to make it programmable.
- Microcode turns complex instructions into datapath control signals.
- It is part of the micro-architecture and not programmer-visible.
- It enables easier design, bug fixes, and support for new instructions (without changing datapath).
- Microcoded Computers do not benefit from µarch innovations, better compilers, reprogramming.
- First used to design the control unit of EDSAC-II.
CISC
- CISC stands for complex instruction set computers
- These commonly have a large variety of instructions.
- Instructions may perform complex tasks like string searching.
- They are very common for early computer architectures.
RISC
- RISC stands for reduced instruction set computers.
- They use fewer and simpler instructions.
- Most compiled code only used a few of the available CISC instructions.
- They use Load/Store instruction sets.
- Operations cannot be performed directly on memory locations, just registers.
- They're relatively straightforward to pipeline.
- Virtually all ISAs invented since the eighties are RISC.
Princeton/Harvard Architecture
- Von Neumann, also called Princeton Architecture shares a single memory space for instructions and data.
- This can either read an instruction or read/write data from/to memory which limits operating bandwidth.
- Harvard Architecture will use two different memory spaces for instructions and data.
- The CPU can concurrently read one instruction and access memory.
- RISC designs are common in this architecture to improve operating throughput.
The Computer Architecture Monopoly
- Thousands of architectures have been invented and used; the majority died off.
- The general purpose ISAs are Intel x86, ARM, and RISC-V.
- Intel x86 (a.k.a., AMD64) is a CISC architecture.
- It still dominates the laptop, desktop, and server markets.
- ARM is a formerly RISC architecture and dominates the embedded computing market.
- RISC-V is an open-source RISC architecture.
- Other ISAs survive as legacy or for application-specific reasons.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.