Re: Fwd: Information regarding scheduler description

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On 01/05/2012 08:01 AM, ganesh gopalasubramanian wrote:
Hi Makarov,

I posted a mail couple of days back.
Could you throw some light on this?

Thanks
Ganesh


---------- Forwarded message ----------
From: ganesh gopalasubramanian<gganeshgcc@xxxxxxxxx>
Date: Mon, Jan 2, 2012 at 12:22 PM
Subject: Information regarding scheduler description
To: gcc-help@xxxxxxxxxxx


Hi,

I am trying to describe my processor pipeline.

Consider that I am having 5 instructions (instruction1,
instruction2... instruction5).
For four of those instructions, I have described the instruction
reservations along with the functional units and their alternatives
available for each cycle.
For the fifth instruction, I haven't described the instruction reservation.
What will happen now? Will the instruction be stalling my pipeline.

Consider that five instruction instruction are generated as below.

instruction1,
instruction2,
instruction3,
instruction4,
instruction5

My scheduler description supports the following

1. instruction1&  instruction2 can be issued as a single bundle.
2. instruction3&  instruction4 can be issued as a single bundle.

Now, I don't have description about instruction5, will it stall my
pipeline and get issued as a separation instruction bundle (assuming
issue rate as 1)?
As I remember that absence of description means no reservation at all and if all input data for such insn are ready and there is no constraint from the issue rate, the scheduler will consider that there is no pipeline stall at all and will issue the insn at any time.

The issue rate is upper bound for number of real insns (which excludes USE/CLOBBER and debug insns) can be issued on the cycle. So if you set it to 1, the scheduler believes that each insn starts on a new simulated cycle. In this case, insns #1, #2, #3, and #4 will be considered to be issued on new cycle too. I guess that is not what you want as I understand the bundle means issuing insns in the bundle on the same cycle.

You should always describe each insn reservation unless setting the issue rate is not enough for describing issue rules for specific insn.
Or should I describe the instruction reservation (for instruction5)
separately along with stall information?

Regards
Ganesh



[Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

Add to Google