Lecture 8 - Architecture Flashcards
Computer Architecture: What is von-Neumann?
Data and programs are stored in the same memory and share the same data pathways. It uses a single bus system for both instruction fetch and data transfer, this can lead to the a bottleneck known as the von-Neumann bottleneck. REFER TO THE SLIDES
Computer Architecture: What is Harvard?
Data and programs are stored in separate memory and have separate pathways to do this for instructions and data. This allows for simultaneous access to instruction and/or data. REFER TO SLIDES
What is a microprocessor?
A CPU on a single chip
What is a microcontroller?
A CPU as well as timers, I/Os and RAM/ROM
What are the input and outputs and how can they be implemented?
Inputs/outputs for a PC include: keyboard, mouse, USB, HDMI, etc
Inputs/outputs for an embedded system includes: sensors and actuators (motors, valves, etc)
They can be implemented in three ways: Memor-mapped/ing, I/O mapped (using ports) or DMA (direct memory access)
What is memory-mapped?
I/O device looks like a regular memory cell, often uses addresses for control registers and data registers
What is I/O mapped?
System provides special I/O ports with port addresses and port commands
What are the two ways to access memory for multiple memory chips?
Serial Access: Which is extending the address range and only one memory chip being active a a time
Parallel Access: Which is extending data width and have serveral memory chips active at any time
REFER TO SLIDES FOR CPU CONNECTION EXAMPLES
What are the consequences of having two memory chips - Example 16 bits data bus?
Read/Write commands for 16 bit words must use even addresses
All 16 bit data words in memory must start at even addresses ie 0000, 0002, 0004, etc
Consequences of having two memory chips - What would be different of the bits were less or greater than
For an 8 bit system, since the memory corresponds to one byte and each is addressed individually there is no need to align address to multiples and hence it just a multiple of 1 ie 0000, 0001, 0002, etc.
For a 32 bit system, there is more memory corresponding to one byte and hence will become multiples of 4 ie 0000, 0004, 0008, 000C (C is 12 in Hex) etc
Given a traditional chip select how do you define the address spaces?
To find both the RAM and the ROM you need to determine how much kb are given in decimal ie 2^n. Then you need to convert that to hexadecimal by dividing it by 16. For the latch you need to look at the latch (both in and out) and see how many bytes it has 1 byte means one increment ie 60000 to 60001, if it was 5 then it would be 60000 to 60005, if it was 12 then it would have been 6000B (B in hex is 11 accounting that you start at 60000 being the first address). REFER TO SLIDES FOR EXAMPLES
What is memory foldback?
The same memory appears at different memory locations, can be avoided by adding all higher lines ot the chip select gates
How does modern chip select work?
REFER TO SLIDES - External ports
Hardware Design
REFER TO SLIDES
What is a single chip system?
Drastically reduced chip count: CPU, Latches, (flash-) ROM, RAM