3.3. Register Windowing

Register windowing is a key ISA feature that allowed the Xtensa architects to achieve the small instruction sizes needed to minimize the application code’s footprint while allowing for a large general-purpose register file that boosts compiler efficiency and improves the performance of compiled code.

Xtensa function calls and call returns slide the register window up and down the physical register file. The window can slide by 4, 8, or 12 register entries on each call, as determined by the call instruction’s opcode. Because window movement is restricted to a maximum of 12 register entries per call, there are always some register entries in the physical general-purpose register file that are shared between the current register ...

Get Designing SOCs with Configured Cores now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.