一,全相联映射
需要考虑的因素:①,cache每个块的大小,即能存放多少个字节,根据这个容量的大小判断需要多少位来表示这个容量,比如如果cache的每个块的大小为16B,那么就需要使用四位字节内地址来表示这个数,全相联映射需要的数据格式为主存字块标记和字块内地址,然后再通过将主存的地址二进制化,分割不同的两部分,后面的高地址位为cache的字块内地址,至于需要多少位取决于cache每个块的块容量大小,需要用多少位来表示,然后剩余的位充当主存字块标记,而放在块内的地址便是主存字块标记+000(0个字块内地址位)~主存字块标记+111(1个字块内地址位)
(这是表示全相联映射的情况)
二,直接映射
需要考虑的因素:主存字块标记+cache字块地址+字块内地址。
判断方法:首先字块内地址的确定方式需要取决于cache每块能存放在字节大小,然后在判断需要用多少二进制位可以去判断这个容量大小,比如说当容量大小为16B时,可以用四位去表示这个容量大小。其次,cache字块地址需要看cache有多少个块,然后需要用多少个二进制位去表示这些块,比如说有8个cache块,那么就需要使用3位二进制位去表示这个cache字块地址,剩下的主存字块标记就是总的主存地址二进制位数减去用来表示cache字块地址和字块内地址的二进制位数,假如说总的主存二进制位数有1