Lecture 3 - 68HC11 Memory
Download
Report
Transcript Lecture 3 - 68HC11 Memory
ECE265
ECE 265 – LECTURE 3
68HC11 Address Space, Memory, Registers, and
data transfers
3/29/2011
1
Lecture Overview
2
How is the address space broken out in the 68HC11
RAM and ROM memories
Structure and Logical organization memory
Registers
Material from Chapter 2 and a 68HC11 reference
manual
Joanne E. DeGroat, OSU
ECE265
3/29/2011
What is the difference – RAM and ROM
3
RAM = Random Access Memory
Joanne E. DeGroat, OSU
ECE265
3/29/2011
What is the difference – RAM and ROM
4
RAM = Random Access Memory
As the name implies any location of the memory can
be accessed in any order, i.e., randomly.
Given an address, the data is stored at that address, or
the data at that address is retrieved, depending on the
mode of access (read or write).
RAM is the memory where data is stored.
ROM = Read Only Memory
Memory
that can only be read.
Joanne E. DeGroat, OSU
ECE265
3/29/2011
What is the difference – RAM and ROM
5
RAM = Random Access Memory
As the name implies any location of the memory can be
accessed in any order, i.e., randomly.
This is the memory where data is stored.
ROM = Read Only Memory
This is memory that can only be read.
There are different types
One time programmable, UV erasable, EEPROM – electrically
erasable
ROM will maintain the contents even when power is off.
Joanne E. DeGroat, OSU
ECE265
3/29/2011
Different flavors of the 68HC11
6
Different flavors of the chip have different amounts
MC68HC11A8 – 256 bytes of RAM and 8K of ROM
MC68HC11E9 – 512 bytes RAM, 12K ROM
MC68HC11D3 – 192 bytes RAM, 4K ROM
The different amounts allow choice of a chip
tailored to the embedded system.
Note: There is also a 192 byte ROM on board for
use in testing that has a bootstrap loading program.
This ROM is also used for security.
Joanne E. DeGroat, OSU
ECE265
3/29/2011
The RAM
7
The entire memory space – 16 bit address (65,536)
RAM is in the first 256 loactions - $0000 to $00FF
These locations are available using direct addressing mode.
Direct addressing mode assumes the upper byte of the
address is $00
Saves space in program memory – only 8 bits for address and a 1
word instruction versus 2
Saves a cycle of execution as only one fetch to load the
instruction
By using the INIT register, 4-bits, RAM can be moved to
the start of any 4K partition within the memory space as the
INIT register specifies the upper 4-bits when direct
addressing modes is used. INIT starts with 0000
Joanne E. DeGroat, OSU
ECE265
3/29/2011
Power and RAM
8
The contents in RAM are lost if power is lost.
The design is fully static RAM so the data is not
lost if the clocks are halted.
DRAM – Dynamic RAM – clocks are needed to
keep the data refreshed as the contents are not static.
The charge that determines the value of that bit will
bleed off if not refreshed.
In
Joanne E. DeGroat, OSU
ECE265
3/29/2011
The memory map
9
The complete 64K
memory space
Note that EEPROM
is located at $B600 to
$B7FF
The map also
supports add-on
RAM – another chip
in the system.
There is also a
monitor EPROM
Joanne E. DeGroat, OSU
ECE265
3/29/2011
The Registers
10
Within the CPU
The 68HC11 is an accumulator based architecture
What is an accumulator based architecture?
First consider the programmers model of the architecture.
The programmers model is what the programmer see, i.e., what
the programmer has direct access to. Allows the programmer to
visualize how data is transferred between registers.
In may cases there are other registers within a processor
architecture that required for operation but are not directly visible
to the programmer. An example is the Instruction Register.
Joanne E. DeGroat, OSU
ECE265
3/29/2011
The Registers
11
Within the CPU
The 68HC11 is an accumulator based architecture
What is an accumulator based architecture?
An architecture in which all data operations require the data to be
loaded in or interact with the accumulator.
First consider the programmers model of the architecture.
The programmers model is what the programmer see, i.e., what
the programmer has direct access to. Allows the programmer to
visualize how data is transferred between registers.
In most cases, there are other registers within a processor
architecture that are required for operation but are not directly
visible to the programmer. An example is the Instruction
Register.
Joanne E. DeGroat, OSU
ECE265
3/29/2011
The 68HC11 Programmer Model
12
7 registers in total
2 are index registers
Used
in addressing data
A stack pointer register
The PC
A CC register
The accumulator
Joanne E. DeGroat, OSU
ECE265
3/29/2011
The Accumulator
13
Actually have 2–Accumulator A &Accumulator B
Can be combined to form Accumulator D
For the most part they can be used to perform the same
operations.
EXCEPT –
Decimal arithmetic – BDC operation must use A
CC register can only be transferred to A
Certain operations put the result in A
Joanne E. DeGroat, OSU
ECE265
3/29/2011
Example of Accumulator Use
14
The ABA instruction
Add
accumulators
Result is loaded into Accumulator A
Joanne E. DeGroat, OSU
ECE265
3/29/2011
Accumulator D
15
Can perform a Load Double Accumulator
Instruction
Loads
both the A and B accumulators from Memory
Can also perform add and subtract operations on D
Can use the D accumulator in shift operations
The D accumulator is not a separate accumulator
If
you use the D accumulator for an operation it will
replace the contents of the A and B accumulators as it
is the same physical register.
Joanne E. DeGroat, OSU
ECE265
3/29/2011
Lecture summary
16
Have covered
The
pin configuration on the M68HC11
The organization of the pins
The basic interface capabilities of the pins
Joanne E. DeGroat, OSU
ECE265
3/29/2011
Assignment
17
Read Chapter 2
Look at Chapter 2, Problems: 2, 4, 5, 6, 7, 8, 9, 10
Joanne E. DeGroat, OSU
ECE265
3/29/2011