Other parts of Hardware
- Memory
- We have already discussed registers.
- This a small amount of memory related to a processor.
- This memory runs at processor speed.
- This memory is mostly controlled by the programmer.
- This memory can not be upgraded or changed.
- Cache
- This is memory between two items.
- Generally a smaller memory item is faster.
- A bigger memory item is slower
- Cache helps to "fix" or mitigate this.
- Hardware wise generally you will have cache between the CPU and memory.
- Memory is usually slower than the processor.
- And there is a delay due to the bus.
- So cache will help to fix this.
- You also probably have a cache between the disk and other items.
- Cache can have several layers
- They get bigger as you go down the layers.
- They get slower as you go down the layers.
- Cache usually is part of the CPU "chip" and can not be upgraded.
- Cache is managed by algorithms in the cache controller.
- RAM - random access memory
- This is usually connected to the CPU (cache/registers) via a bus.
- This is generally slower than the CPU.
- There are multiple different types of memory that operate at different speeds.
- Sorry I have not kept up with this.
- The bus will add some latency.
- More memory will usually mean better performance.
- Memory is controlled by the program, and by the OS.
- All of the above memory is temporary.
- When the power goes off, memory is cleared.
- ROM - Read Only Memory
- This stores the "start up" program for the computer.
- This is "firmware"
- There are many versions. EEPROM
- You really don't need to worry about this.
- Secondary Storage
- You can think of this as an extension to memory.
- Related to the previous memory, it is generally:
- "Disks"
- Some of them have actual spinning disks.
- New Solid State Disks are actually memory.
- SSDs are
- Faster, MUCH FASTER (10x)
- More expensive, but less than memory.
- Very durable wrt dropping.
- Have a large, but limited number of writes
- EEPROM "fades" as you perform more writes to the same space.
- Drives have logic that helps to mitigate this.
- "Tape"
- They still exist.
- Very long term storage.
- BACKUPS
- The idea is keep a copy of your data off site.
- Network and the cloud
- This has become a major part of computing.
- Essentially on demand computing of all types available over the network
- Storage
- Computation resources (cpu cycles)
- Specialized computing and setups
- Software.
- Parallel computing