Professional Documents
Culture Documents
Architecture
Data
(i) data memory for special function registers (SFR),
registers, internal RAM.
(ii) data memory EEPROM, and
(iii) separate address spaces for program memory,
interrupt vectors.
Separate internal buses
Address of 13-bit A0-A12 for the program address in
16F877.
Program code-bus of 14-bit
Data D0-D7 of 8-bit
Program Memory
Program memory 8 k 14. Program address fetch bus is of 13bit. There are thus 8192 program instruction addresses.
Program counter is thus of 13-bit word pointing to one of the
8 k (8192) addresses in program memory (flash).
Instruction
Instruction length 14-bit
Program-code bus 14-bit.
Flash saves 14-bits at each address
Register File/RAM
4 banks
Each bank has 128 addresses and it can be accessed by the
RP1:RP0 bits in STATUS register.
B0: 00-7F (7 bit address),
B1: 80-FF , B2:100-17F,
B3: 180-1FF(9-bit address)
4 banks form 2 pairs of bank (lower:B0&B1, upper:B2&B3)
STATUS REGISTER
-
Ports:
There are five Ports 6 bit PORT A,
8-bit PORT B,
8-bit PORT C,
8 bit PORT D,
3 bit PORT E.
Each port has a data-direct register TRIS. TRIS (Transmit Receive
Input Select) bit controls the direction of a port pin, whether it will be
for input or for output.
Parallel Slave Port(Port D & E): PSP is handshake mode port in which
Port D pins are used for PSP input/output and Port E pins are used for
control signals RD,WR and CS.
PORT D can either function as general purpose port or PSP.
Pipeline
Two instructions In and In+1 execute parallel at
separate execution units.
Superscalar Execution
Example of Superscalar
Organization
decode
fetch
Superscalar:
fetch
decode
fetch
fetch
ld
decode
fetch
ld
decode
decode
fetch
time
add
decode
fetch
add
sub
decode
sub
decode
bne
bne
Superscalar v Superpipelined
Limitations of Superscalar
-
Data dependency
- Procedural dependency
- Resource conflicts
Data Dependency
LOAD
MOVE
r1, X
x (memory) r1
r3, r1
r1 r3
ADD
R4, R3, 1
R3 + 1 R4
ADD
R3, R5, 1
R5 + 1 R3
Procedural Dependency
Cant execute instructions after a branch in parallel
with instructions before a branch.
Also, if instruction length is not fixed, instructions
have to be decoded to find out how many fetches are
needed
Resource Conflict
Two or more instructions requiring access to the
same resource at the same time
- e.g. two arithmetic instructions need the ALU
Solution - Can possibly duplicate resources
- e.g. have two arithmetic units
Address Translation
page 1
page 2
segment 1
memory
segment 2
Pages:
- describe small, equally sized regions
- uniform size & simplifies the hardware required for
address translation
logical address
range
check
physical address
range
error
offset
page i base
concatenate
page
offset
page
descriptor
page descriptor
flat
2008 Wayne Wolf
tree
Overheads for Computers as
Components 2nd ed.