> I'm not sure I all the way understand why the register file shouldnt be
> defined in the ISA...
>
> I could see maybe there being one standard integer and floating point
> register file thats totally generic however, the system/miscellaneous
> registers are pretty ISA dependent so those register
I'm not sure I all the way understand why the register file shouldnt be
defined in the ISA...
I could see maybe there being one standard integer and floating point
register file thats totally generic however, the system/miscellaneous
registers are pretty ISA dependent so those register probably ne
nathan binkert wrote:
>> If #2 didnt exist, then that would make more sense to me. That would make an
>> instruction HAVE to use the threadContext interface to access any CPU
>> facilities. That would also remove the CPU pointer from the instruction
>> object as well.
>>
>> If that were the solutio
> If #2 didnt exist, then that would make more sense to me. That would make an
> instruction HAVE to use the threadContext interface to access any CPU
> facilities. That would also remove the CPU pointer from the instruction
> object as well.
>
> If that were the solution, I would be OK with it, be
If #2 didnt exist, then that would make more sense to me. That would make an
instruction HAVE to use the threadContext interface to access any CPU
facilities. That would also remove the CPU pointer from the instruction
object as well.
If that were the solution, I would be OK with it, because then
> My "toy" example of this is say I want to read a integer register from an
> instruction. I could either go:
> (1) inst->threadContext->readIntReg()
> or
> (2) inst->cpu->readIntReg()
>
> In the threadContext object, there is just some redundant call to
> cpu->readIntReg() anyway. So you end up ca
>
> I haven't looked at this particular issue closely, but aren't you answering
> your own question? The thing you gain by accessing the CPU via the
> ThreadContext interface is that all of the CPU models present a consistent
> and compatible interface to the instruction objects...
>
Hey Steve,
I
2009/2/13 Korey Sewell
> Instead of this, couldn't you do the cross thread thing by looking up
>> the appropriate thread context in the cpu object and then calling the
>> register access function for that thread context? This would work
>> more in line with the other CPU models.
>>
> I've been l
>
> Instead of this, couldn't you do the cross thread thing by looking up
> the appropriate thread context in the cpu object and then calling the
> register access function for that thread context? This would work
> more in line with the other CPU models.
>
I've been looking into this and it seems
Gabe,
I plan to work on developing WIKI documentation for the in-order model on
m5sim.org next week.
The short story is that the in-order model functions on three main concepts:
PipelineStage, Resource, and an Instruction Schedule.
- The Pipeline stage is a generic version of the pipeline stages
nathan binkert wrote:
>> changeset 09ab46bfa914 in /z/repo/m5
>> details: http://repo.m5sim.org/m5?cmd=changeset;node=09ab46bfa914
>> description:
>>InOrder: Import new inorder CPU model from MIPS.
>>This model currently only works in MIPS_SE mode, so it will take some
>> effort
>>
> I'll give the short version here: MIPS was implemented ot use the MT ISA
> extension
> which requires the ability to read/write registers from other threads. I
> designed the register file
> to be on size fits all. It can be instantiated multiple times as a
> per-thread register file (Simple-CPU)
Thanks for the helping in pushing this out Nate.
There is a short and long version of the thread support in MIPS and why it
varies.
I'll give the short version here: MIPS was implemented ot use the MT ISA
extension
which requires the ability to read/write registers from other threads. I
designed
> changeset 09ab46bfa914 in /z/repo/m5
> details: http://repo.m5sim.org/m5?cmd=changeset;node=09ab46bfa914
> description:
>InOrder: Import new inorder CPU model from MIPS.
>This model currently only works in MIPS_SE mode, so it will take some
> effort
>to clean it up and ma
changeset 09ab46bfa914 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=09ab46bfa914
description:
InOrder: Import new inorder CPU model from MIPS.
This model currently only works in MIPS_SE mode, so it will take some
effort
to clean it up and make it gener
15 matches
Mail list logo