hardware fundamentals. instructor: g. rudolph, summer 20062 key hardware components microprocessor...
TRANSCRIPT
Hardware FundamentalsHardware Fundamentals
Instructor: G. Rudolph, Summer 2006 2
Key Hardware Components Microprocessor Memory Peripherals (I/O) Bus “Glue Logic”
Instructor: G. Rudolph, Summer 2006 3
JCX Major Hardware Components JStamp controller SRAM Flash JSimmBoard
2 RS232 Serial COM ports 1 JTAG port 1 IrDAport 1 Battery Pack Connector
Instructor: G. Rudolph, Summer 2006 4
JCX Major Hardware Components
Motor Board Control up to 4 motors through 1 port
Sensor Board Connect up to 8 sensors through 2 ports
4X Lego Boards JSimm Backplane (Bus)
Instructor: G. Rudolph, Summer 2006 5
RCX Major Hardware Components H8379 processor 32 KB RAM IR Port Battery Pack Holder Motor Board
Control up to 3 motors Sensor Board
3 sensors LCD Screen 4 Buttons
Instructor: G. Rudolph, Summer 2006 6
Bus? A “Bus” is just a wire
connects components together allows them to communicate
The JCX Backplane is just a bus (30-pin bus)
The Internet is just a bus Serial and printer cables are
“busses”
Instructor: G. Rudolph, Summer 2006 7
Watchdog Timer Usually implemented in hardware The Aj-80 has one, don’t know about
the H8379 If the timer expires, the systems resets Critical for many embedded systems If system goes haywire, reset to known
good state Not part of desktop systems
Instructor: G. Rudolph, Summer 2006 8
Other Hardware PiecesOther Hardware Pieces
Be aware that they are there Be able to answer basic questions
about what they are and their role in the system Wait states Jumper switches DMA channels PALs, FPGAs
Instructor: G. Rudolph, Summer 2006 9
Programming is…An increasingly-high level abstraction
for Driving the correct signals In the correct sequence At the correct time On one or more wires To enable meaningful
communication
Instructor: G. Rudolph, Summer 2006 10
Software is… An increasingly high-level abstraction
of hardware More Flexible Cheaper to reproduce and distribute
once built
Instructor: G. Rudolph, Summer 2006 11
Interrupts Stop the CPU and tell it to do
something else Programming interrupt handlers is
just like any other kind of programming, with restrictions
Fundamental enabler of conditional behavior/execution
Instructor: G. Rudolph, Summer 2006 12
Interrupts Shared data/memory problems
discussed in the text are a common source of problems in multitasking systems
How easy it is to solve them often depends on what software libraries you have to help
Languages such as C and Java differ in how interrupts are handled
Instructor: G. Rudolph, Summer 2006 13
Interrupts At Application LevelAbstract upward to An Event Handler A callback Method
Synchronization and mutual exclusion are “easy” to write in Java
Easy is not always appropriate