小编use*_*175的帖子

为指令集模拟器设计高效内存

我正在用C++设计一个指令集模拟器,它由CPU,内存和指令集本身组成.我目前正在尝试设计我的内存类,它将包含uint32_t数据类型.

基本上,内存类必须执行以下操作:

  1. 接受值和地址,并将该值分配给内存的特定地址.
  2. 获取某个地址的值.如果之前已经分配了某些东西,那就获得该值.否则,返回0.

我想到的是,我需要一个搜索算法来查找我感兴趣的地址.

我已经实现了最简单的可用版本,它将是一个线性内存搜索,其中所讨论的内存块只是一个简单的结构,*block其值和地址存储在一个vector<block*>.但是,正如您可能猜到的那样,对于大型案例来说这是非常昂贵的.

总而言之,我想实现一个可以轻松找到内存的情况(我正在考虑二进制搜索,但我愿意接受更多建议),而且我也希望有关安排内存块的建议*block.我目前正在使用矢量,因为我不知道我需要的内存大小.

c c++ memory instruction-set computer-architecture

2
推荐指数
1
解决办法
201
查看次数

标签 统计

c ×1

c++ ×1

computer-architecture ×1

instruction-set ×1

memory ×1