评估虚拟化硬件的资源使用情况

时间:2013-11-06 02:58:14

标签: hardware vhdl virtualization cpu-architecture computer-architecture

想象一下,您运行的程序可以运行许多不同类型的虚拟计算机(或其他电子产品),仅基于其硬件。 该程序模拟从最基本的组合和顺序芯片到具有输入/输出的运行计算机的整个过程(也由程序模拟,但让我们忽略这一部分)。

例如,在真实计算机内运行随机的旧16位计算机或旧的视频游戏控制台。

如何评估任何这些模拟的“成本”?也就是说,在运行模拟的真实计算机上,运行模拟硬件的一个完整周期需要多少实际处理器周期?

该程序可以运行任何硬件(例如用HDL编写),因此我正在寻找能够根据硬件规格计算/估算运行虚拟计算机的成本的通用解决方案。

编辑 - 只是为了一个开始的想法: 考虑到我们知道HDL文件中使用的确切部分,例如CPU可以分解为ALU,一些寄存器和东西,它们本身可以分解为一定数量的原始门和触发器(比如说) ,XXXX与非门和XXXX触发器。)

如果我们有一块硬件在原始部件的集合中分解,请考虑以下算法:

hardwarePartsSimulationTime = { // Time to simulate each primordial type of hardware in MS
    partOne : 0.01,
    partTwo : 0.1,
    partThree : 0.02
    // ...
}
totalSimulationTime = 0;

foreach (primordialPart in hardwareToSimulate.parts) 
{
    partTime = primordialPart.quantity * hardwarePartsSimulationTime[primordialPart.type];
    totalSimulationTime += partTime;
}

它能否正确计算整个作品的模拟时间,作为每个部件所用时间的总和?

0 个答案:

没有答案