iew_impl.hh (5215:68f719ce5496) iew_impl.hh (5529:9ae69b9cd7fd)
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 23 unchanged lines hidden (view full) ---

32// iew. There's a clear delay between issue and execute, yet backwards
33// communication happens simultaneously.
34
35#include <queue>
36
37#include "base/timebuf.hh"
38#include "cpu/o3/fu_pool.hh"
39#include "cpu/o3/iew.hh"
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 23 unchanged lines hidden (view full) ---

32// iew. There's a clear delay between issue and execute, yet backwards
33// communication happens simultaneously.
34
35#include <queue>
36
37#include "base/timebuf.hh"
38#include "cpu/o3/fu_pool.hh"
39#include "cpu/o3/iew.hh"
40#include "params/DerivO3CPU.hh"
40
41template<class Impl>
41
42template<class Impl>
42DefaultIEW::DefaultIEW(O3CPU *_cpu, Params *params)
43DefaultIEW<Impl>::DefaultIEW(O3CPU *_cpu, DerivO3CPUParams *params)
43 : issueToExecQueue(params->backComSize, params->forwardComSize),
44 cpu(_cpu),
45 instQueue(_cpu, this, params),
46 ldstQueue(_cpu, this, params),
47 fuPool(params->fuPool),
48 commitToIEWDelay(params->commitToIEWDelay),
49 renameToIEWDelay(params->renameToIEWDelay),
50 issueToExecuteDelay(params->issueToExecuteDelay),
51 dispatchWidth(params->dispatchWidth),
52 issueWidth(params->issueWidth),
53 wbOutstanding(0),
54 wbWidth(params->wbWidth),
44 : issueToExecQueue(params->backComSize, params->forwardComSize),
45 cpu(_cpu),
46 instQueue(_cpu, this, params),
47 ldstQueue(_cpu, this, params),
48 fuPool(params->fuPool),
49 commitToIEWDelay(params->commitToIEWDelay),
50 renameToIEWDelay(params->renameToIEWDelay),
51 issueToExecuteDelay(params->issueToExecuteDelay),
52 dispatchWidth(params->dispatchWidth),
53 issueWidth(params->issueWidth),
54 wbOutstanding(0),
55 wbWidth(params->wbWidth),
55 numThreads(params->numberOfThreads),
56 numThreads(params->numThreads),
56 switchedOut(false)
57{
58 _status = Active;
59 exeStatus = Running;
60 wbStatus = Idle;
61
62 // Setup wire to read instructions coming from issue.
63 fromIssue = issueToExecQueue.getWire(-issueToExecuteDelay);

--- 1521 unchanged lines hidden ---
57 switchedOut(false)
58{
59 _status = Active;
60 exeStatus = Running;
61 wbStatus = Idle;
62
63 // Setup wire to read instructions coming from issue.
64 fromIssue = issueToExecQueue.getWire(-issueToExecuteDelay);

--- 1521 unchanged lines hidden ---