Report on Chapter 4 Bus-Based Computer Systems
-
Upload
hossam-fadeel -
Category
Documents
-
view
213 -
download
0
Transcript of Report on Chapter 4 Bus-Based Computer Systems
-
7/31/2019 Report on Chapter 4 Bus-Based Computer Systems
1/2
Report on "Chapter 4: Bus-Based Computer Systems"
INTRODUCTION:
The microprocessor is an important element of the embedded computing system, but it cannot do its job
without memories and I/O devices. We need to understand how to interconnect microprocessors and devicesusing the CPU bus.
What is the Bus?
Mechanism by which the CPU communicates with memory and devices.
Collection of wires that defines a protocol by which the CPU, memory, and
devices communicate.
Protocols controls the communications between devices
Examples: SPI, I 2 C, USB, UART, etc
Timing diagrams:
Specify the behavior of the bus and the system. Shows how the signals on the bus vary over the time.
Timing Constraints: Make sure that signals go to their proper values at proper time.
Bus multiplexing: Multiplexed address/ data Reduces # of wires (share the same lines).
Direct memory access (DMA): Direct memory access (DMA) is a bus operation that allows reads and writes
not controlled by the CPU. A DMA transfer is controlled by a DMA
controller, which requests control of the bus from the CPU. After
gaining control, the DMA controller performs read and write
operations directly between devices and memory.
System Bus Configurations: A microprocessor system often has more
than one bus.
High-speed devices >> connected to a high-performance bus
Lower-speed devices >> connected to a different bus
Bridge: Allows the buses to connect to each other, Serves as a protocol translator between the two bridges as
well.
ARM AMBA bus: Advanced Microcontroller/or Microprocessor Bus Architecture
is an open standard, on-chip interconnect specification for the connection and management of functional
blocks in a (SoC).
AHB supports pipelining, burst transfers, split transactions, multiple bus masters.
All devices are slaves on APB. (To be able to control the operations)
Memory Device Organization
Several different types of memory: DRAM, SRAM, Flash, ROM.
Each type of memory comes in varying: Capacities, Widths.
Random-access memory: Dynamic RAM is dense, requires refresh.
Synchronous DRAM is dominant type.
SDRAM uses clock to improve performance, pipeline memory accesses.
Static RAM is faster, less dense, consumes more power.
-
7/31/2019 Report on Chapter 4 Bus-Based Computer Systems
2/2
I/O DEVICES
Timers and Counters: Commonly used in embedded computing systems
A timer is incremented by a periodic signal;
A counter is incremented by an asynchronous, occasional signal.
Watchdog timer: Watchdog timer is periodically reset by system timer, If watchdog is not reset, it generatesan interrupt to reset the CPU.
ADC and DAC conversion: Often used to interface non-digital devices to embedded systems.
COMPONENT INTERFACING: Building the logic to interface a device to a bus is not too difficult. Determine
your components, Read datasheets, Study Application notes,
make a sample board for testing.
System architectures: Architectures and components:
Software: (Compiler, assembler, Instruction sets, etc.)
Hardware: (CPU, bus, memory, I/O devices, etc.)
Some software is very hardware-dependent. Hardware and software architectures:
Hardware design: we can do this in two levels with different
methods: Board level, I/O devices level.
The PC as a platform: For low-volume applications and environments such as factories and offices
where size and power are not critical, we use a PC to build an embedded system.
Typical busses: - PCI: standard for high-speed interfacing 33 or 66 MHz,
- USB (Universal Serial Bus), Fire-wire (IEEE 1394): relatively low-cost serial interface with high speed.Development Environments:The Embedded System software development on a PC known as a host-Use
a host system to prepare software for target system.The host and target are connected by a USB link (or
other links)
Cross compiler: compiles code on host for target system.
Cross debugger: displays target state, allows target system to be controlled.Debugging Techniques: Debugging by software is a monitor program residing on the target provides
basic debugger functions. A common debugging tool is the breakpoint technique; it can be achieved by
modifying some instructions with an instruction that calls the monitoring program, so user can stop
execution of the program, examine system state, and/or change states before continuing execution.
In-circuit emulators: A microprocessor in-circuit emulator is a specially-instrumented microprocessor, Allows
you to stop execution, examine CPU state, modify registers. It is a specialized hardware tool that can help
debug software in a working embedded system.Debugging Techniques Challenges:
target system may be hard to observe; target may be hard to control; may be hard to generate realistic inputs; Setup sequence may be complex.System- Level performance analysis: we must take in account the effect of all system elements on the
performance like CPU, buses, Memory and I/O devices.