Contemporary Architectures Flashcards
Do all components in the computer affect performance?
Yes
What are the measurements of the following: CPU, memory and cache and buses?
- CPU - speed, number of registers
- Memory & Cache - access time and bandwidth
- Buses - transfer speed
What’s Amdahl’s Law?
Potential speed up of a program using multiple processors compared to a single processor
What’s the equation for speedup?
Time to execute program on a single processor / time to execute program on N parallel processors
What’s the latency?
Time to solution for 1 instruction (response time)
What’s the throughput?
Tasks per unit of time (bandwidth)
Give an in-real-life example of latency:
Airplane takes one hour and has 1000 boxes - clock speed
Give an in-real-life example of throughput:
Transport shiploads 100,000 boxes - pipelining
How do you calculate performance?
1 / CPU time
How do you calculate CPU time?
time / cycle, x cycles / instruction, x instructions / task
What’s MIPS?
Million Instructions Per Second
How do you calculate IPS?
sockets * (cores/socket) * clock * (instructions/cycle)
What do IPS measure?
Non-numerical performance
What’s a FLOPS?
Floating Point Operations Per Second
How do you calculate FLOPS?
sockets * (cores/socket) * (cycles/second) * (FLOPS/cycle)
How do you calculate availability in server metrics?
(total elapsed time - a sum of downtime) / total elapsed time
How do you calculate reliability in server metrics?
(total elapsed time - a sum of downtime) / number of failures
How badly power consumption matters? Explain
Larger and larger databases are taking far more power to run including embedded devices and their battery lives
What is the benchmark?
Designed to mimic a particular type of workload on a component or system
What are the two types of benchmark?
Synthetic benchmarks responsible for the workload and real-world which give better measurements
What’s Goodhart’s Law of 1975?
When a measure becomes a target it ceases to be a good measure
What’s quantitative RISC design?
Count frequencies of actual instruction use then reduce instruction set to optimise most common needs
Which architecture is the most successful so far?
x86 that is part of CISC family, backward compatibility
In 2018, what was the percentage of CPUs that made using RISC?
99%
How many bit versions and what are they in RISC?
32, 64 and 128bit versions
What are RISC style instructions?
- Separate memory access from ALU
- Specify output register
- Improves pipelines
What does X0 - X32 integer registers have?
Standard names for their uses e.g. argument passing
What does 32 optional floating-point have?
Registers, control, status registers, stack pointer and no ALU exceptions but you can extend it by having multiplications or division
What’s the model of the 1980s operating system?
Everyone has the same CPU, differentiated by computer design very useful for programmers
What’s the model of the 1990s - onwards operating system?
Defines the platform, it’s for commercial use
What’s CPU privileged mode?
Access to all memory and real addresses and uses stacks to save and restore user program contexts
What’s CPU restricted mode?
Only for user programs, it prevents all access
What’s an IRQ timer?
Switches to privileged mode than jumps back to the kernel code
What’s a UEFI?
Unified Extended Firmware Interface which replaces old BIOS and it executes subroutines
Explain what was a meltdown of CPU’s (2018)
One of two exploits discovered on a CPU bug in 2018, people could initially expose the security measures like steal customer’s data, but the vulnerability existed before we knew and to resolve the issue numerous patches were introduced