Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
90
Добавлен:
01.03.2016
Размер:
921.07 Кб
Скачать

PM0044

Pipelined execution

 

 

Figure 6. Pipelined execution stages

 

0#

 

 

 

7" ADD

 

7RITE "ACKK

 

 

 

!DDRESSR

 

 

-%-/29

 

 

COMPUTATION

 

 

#/.42/,

 

 

 

 

 

&LASH

 

 

 

 

-RD

 

!,5

INSTRUCTION

BIT

 

)4#

 

 

 

 

MEMORY

 

 

 

 

 

 

 

 

 

 

 

 

0ERIPHERALS

 

BITB

 

 

CODE/P )MM

%XECUTION

 

 

 

 

 

 

2!-

BIT

 

 

 

 

 

0REFETCHBUFFER

 

!LIGN

$ECODE

2EGISTER

&ETCH C H

 

$ECODE -EM 2EAD-

 

%XECUTE 7RITETBACK

 

 

 

 

 

 

 

-3 6

5.1.1Fetch stage

The first pipeline stage includes a 64-bit fetch buffer and a 32-bit prefetch buffer, totalling 3 words named F1, F2 and F3. This buffer structure allows any instruction code (up to 5 bytes) to be available for decoding immediately after F1 (and F2 when needed) is/are loaded.

The instruction access from Flash Program memory is 32-bit wide and it is performed from an aligned address i.e. 0xXXX0, 0xXXX4, 0xXXX8, or 0xXXXC.

Unlike the decode and execute stages that are performed at every cycle, the fetch stage accesses the program memory only when needed, and stops memory access when the buffer is full. This allows reducing the core power consumption,

Reading program from RAM is similar to reading program from ROM. However, since the RAM data bus is 8-bit wide, 4 consecutive read operations have to be performed to load one FX word, thus resulting in RAM execution being slower than Flash execution.

5.1.2Decoding and addressing stage

The decoding stage includes an instruction alignment unit. The alignment unit uses the 64bit input from the fetch unit and feeds an instruction (from 1 to 5 bytes depending on the instruction) to the decoding unit.

The instruction code consists of 2 parts (see examples in Table 2):

The op-code itself (1 or 2 bytes)

and a data/address part (0 to 3 bytes).

Doc ID 13590 Rev 3

21/162

Соседние файлы в папке Минимум документации STM8