Exam Questions
You will be asked two questions at the exam, one main (primary)
question and one control (secondary) question. We expect that you
answer the control question first quickly (2-3 min) and then spend
10 min on the main question. If you pick the main question on
computer architecture then the control question will be on
computer network and vice versa. The questions will be picked from
the following
question list. For each question, the
relevant lecture slides will be available for you to use for
your presentation and subsequent discussion. You will not be
allowed to use your own slides.
Computer Architecture
This is a complete list of all topics covered in the lectures, the
book, or the exercises.
- Digital circuits
- Transistors
- Transistors as switches.
- Principle of photo-lithography.
- Gates
- Boolean algebra.
- Truth tables.
- Software vs. hardware
- Replication and parallelism.
- Power consumption
- Data representation
- Binary encoding of numbers
- Signed and unsigned integers encoding.
- Range limits.
- Hexadecimal notation.
- Endianness.
- Principles for encoding of floats.
- Precision limits, number density.
- Application with shifts and masks.
- Processors
- Vol Neumann Architecture
- Stored program.
- Fetch-and-execute cycle.
- Structure of processors
- Computational units - ALU, MMU, FPU.
- Registers.
- Cache.
- Micro-controller.
- Instruction sets
- Opcode, operands, registers.
- Differences RISC/CISC.
- Types of instructions.
- Types of registers.
- Register allocation and spilling.
- Operand addressing
- Explicit/implicit operands.
- Tradeoffs.
- Execution
- Pipelines and superscalar architectures.
- Principle of out-of-order execution.
- Principle of branch prediction.
- Making programs pipeline friendly.
- Modes of execution
- What they define.
- OS and application modes.
- Microcode
- Micro vs. macro-code.
- Advantages and drawbacks.
- Principle of horizontal microcode - parallelism.
Assembly languages
- Differences between
- high and low level languages,
- compilers and assemblers.
- Principles for encoding
- function calls,
- if statements,
- loops.
Physical and virtual memories
- Technology characteristics - density, cost, bandwidth, latency.
- SRAM vs. DRAM.
- Memory hierarchy.
- Temporal and spatial locality of programs.
- Importance of alignment of data.
- Limits of addressing.
- Content addressable memory.
- Virtual memory
- Benefits.
- MMU
- Mapping virtual to physical addresses.
- Memory protection.
- Demand paging
- Segmentation.
- Resident vs. non-resident pages.
- Pages.
- Page tables
- How address translation works.
- Role of OS.
- Necessity for hardware support.
- What a TLB is.
Caches
- Importance of caches.
- Memory mountain.
- Write-through and write-back caches.
- Direct mapping and set associative caches.
- Principle of LRU replacement policy.
Network Architecture
This is a complete list of all topics covered in the lectures, the
book, or the exercises.
- Chapter 1: Introduction
Overview of the Internet, client/server paradigm, circuit
switching, packet switching, physical media, queuing delay
and packet loss, TCP/IP and OSI reference models,
Internet Protocol Stack. Readings: Chapter 1 (Kurose and
Ross) pp 27 - 82 (4th edition: 27 - 78).
- Chapter 2: Application Layer I
Conceptual implementation of application protocols;
Protocols - HTTP, FTP, SMTP/POP3/IMAP. Readings: Chapter 2
(Kurose and Ross) pp 111 - 158 (4th edition: 107 - 156).
- Chapter 2: Application Layer II
DNS; P2P; Socket Programming with TCP/UDP. Readings:
Chapter 2 (Kurose and Ross) pp 158 - 168; 172 - 174; 177 - 204
(4h edition: 156 - 166; 170 - 172; 175 - 203).
- Chapter 3: Transport Layer I
Principles behind transport layer - multiplexing,
demultiplexing, reliable data transfer Readings: Chapter 3
(Kurose and Ross) pp 223 - 268 (4th edition: 221 - 266).
- Chapter 3: Transport Layer II
Connection-Oriented TCP; Principles of congestion
control. Readings: Chapter 3 (Kurose and Ross) pp 268 - 276;
280 - 294; 297 - 314; Ch. 3.7.1. (4th edition: 266 - 274;
278 - 292; 295 - 311; Ch. 3.7.1.
- Chapter 4: The Network Layer I
Forwarding and Routing; Virtual circuits and datagram
networks; Router; The Internet Protocol. Readings: Chapter 4
(Kurose and Ross) pp 341 - 355; 356 - 367; 367 - 397 (4th
edition: 335 - 349; 350 - 358; 361 - 391).
- Chapter 4: The Network Layer II
Routing Algorithms; Routing in the Internet. Readings:
Chapter 4 (Kurose and Ross) pp 400 æ 431. (4th edition: 394 - 426).
- Chapter 5: The Link Layer and LANs I
Link layer Services: Error detection and correction
techniques: Multiple Access Protocols; Link Layer
Addressing. Readings: Chapter 5 (Kurose and Ross) pp 467 -
501 (4th editiont: 461 – 495).
- Chapter 5:The Link Layer and LANs II
Ethernet; Switches; PPP; Link Virtualization. Readings:
Chapter 5 (Kurose and Ross) pp 501 - 530 (4th edition: 495 - 525).
- Chapter 6: Wireless and Mobile Networks
WiFi: 802.11 Wireless LANs. Readings: Chapter 6 (Kurose
and Ross) pp 549 - 557, 562 - 583 (4th edition: 539 - 547;
552 - 573).