cpu-o3: Add Matrix OpDesc to the O3 Default FU (#1640)

There was a bug exposed by a recent PR [1] where until recently the O3
CPU was executing an instruction even if it did not have the required
functional unit in the FU pool.

We are adding the matrix descriptors to the Default FU pool in the O3
cpu so that no panic is encountered upon executing of a matrix
instruction

[1]: https://github.com/gem5/gem5/pull/1516

Change-Id: I04250255a2cbb2ee6f3ef204b62bc2c1ee2d4d2c

Reviewed-by: Richard Cooper <richard.cooper@arm.com>

Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
This commit is contained in:
Giacomo Travaglini
2024-10-08 11:23:14 +02:00
committed by GitHub
parent 440999e447
commit 4a3e2633d2
2 changed files with 11 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2017 ARM Limited
# Copyright (c) 2017, 2024 Arm Limited
# All rights reserved
#
# The license below extends only to copyright in the software and shall
@@ -57,6 +57,7 @@ class DefaultFUPool(FUPool):
FP_MultDiv(),
ReadPort(),
SIMD_Unit(),
Matrix_Unit(),
PredALU(),
WritePort(),
RdWrPort(),

View File

@@ -121,6 +121,15 @@ class SIMD_Unit(FUDesc):
count = 4
class Matrix_Unit(FUDesc):
opList = [
OpDesc(opClass="Matrix"),
OpDesc(opClass="MatrixMov"),
OpDesc(opClass="MatrixOP"),
]
count = 1
class PredALU(FUDesc):
opList = [OpDesc(opClass="SimdPredAlu")]
count = 1