Review Board 2.0.15


cpu: Added interface for vector reg file

Review Request #3758 - Created Dec. 9, 2016 and updated

Information
Rekai Gonzalez Alberquilla
gem5
default
Reviewers
Default
Changeset 11838:6e566ea8b092
---------------------------
cpu: Added interface for vector reg file

This patch adds some more functionality to the cpu model and the arch to
interface with the vector register file.

This change consist mainly in augmenting ThreadContexts and
ExecContexts with calls to get/set full vectors, underlying
microarchitectural elements  or lanes. Those are meant to interface with
the vector register file. All classes that implement this interface also
get an appropriate implementation.

This requires implementing the vector register file for the different
models using the VecRegContainer class.

This change set also updates the Result abstraction to contemplate the
possibility of having a vector as result.

The changes also affect how the remote_gdb connection works.

There are some (nasty) side effects, as the need to define dummy values
for architectures that do not implement vector extensions.
Initialisation of numPysVecRegs in the test configurations,

Nathanael Premillieu's work with an increasing number of fixes and
improvements of mine.

Change-Id: Iee65f4e8b03abfe1e94e6940a51b68d0977fd5bb
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>

Builtin regressions

Review request changed
Updated (Feb. 14, 2017, 8:26 a.m.)

Summary:

-arch: ISA parser additions of vector registers
+cpu: Added interface for vector reg file

Description:

~  

Changeset 11839:2ccbe7a4d89d

  ~

Changeset 11838:6e566ea8b092

   
~  

arch: ISA parser additions of vector registers

  ~

cpu: Added interface for vector reg file

   
~  

Reiley's update :) of the isa parser definitions. My addition of the

~   vector element operand concept for the ISA parser. Nathanael's modification
  ~

This patch adds some more functionality to the cpu model and the arch to

  ~ interface with the vector register file.

-   creating a hierarchy between vector registers and its constituencies to the
-   isa parser.

   
~  

Some fixes/updates on top to consider instructions as vectors instead of

~   floating when they use the VectorRF. Some counters added to all the
~   models to keep faithful counts.

  ~

This change consist mainly in augmenting ThreadContexts and

  ~ ExecContexts with calls to get/set full vectors, underlying
  ~ microarchitectural elements or lanes. Those are meant to interface with
  + the vector register file. All classes that implement this interface also
  + get an appropriate implementation.

   
~  

Change-Id: Id8f162a525240dfd7ba884c5a4d9fa69f4050101

  ~

This requires implementing the vector register file for the different

  + models using the VecRegContainer class.

  +
  +

This change set also updates the Result abstraction to contemplate the

  + possibility of having a vector as result.

  +
  +

The changes also affect how the remote_gdb connection works.

  +
  +

There are some (nasty) side effects, as the need to define dummy values

  + for architectures that do not implement vector extensions.
  + Initialisation of numPysVecRegs in the test configurations,

  +
  +

Nathanael Premillieu's work with an increasing number of fixes and

  + improvements of mine.

  +
  +

Change-Id: Iee65f4e8b03abfe1e94e6940a51b68d0977fd5bb

    Reviewed-by: Andreas Sandberg andreas.sandberg@arm.com

Diff:

Revision 5 (+2507 -79)

Show changes