这是一个关于记忆组织的问题,我很难理解,
假设我们有一个容量为import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Window 2.0
Window {
visible: true
width: 200
height: 400
title: qsTr("Hello World")
id: page
SwipeView {
id: swipeView
anchors.fill: parent
currentIndex: 0
Page {
Label {
text: qsTr("First page")
anchors.centerIn: parent
}
}
Page {
Label {
text: qsTr("Second page")
anchors.centerIn: parent
}
}
Page {
Label {
text: qsTr("Third page")
anchors.centerIn: parent
}
}
Page {
Label {
text: qsTr("Fourth page")
anchors.centerIn: parent
}
}
Page {
Label {
text: qsTr("Fifth page")
anchors.centerIn: parent
}
}
}
Rectangle
{
id:minus
width:parent.width/2
height:100
anchors.left:parent.left
anchors.bottom:parent.bottom
color:"red"
MouseArea
{
anchors.fill:parent
onClicked:{
if(swipeView.currentIndex>0)
swipeView.currentIndex--
}
}
}
Rectangle
{
id:plus
width:parent.width/2
height:100
anchors.right:parent.right
anchors.bottom:parent.bottom
color:"green"
MouseArea
{
anchors.fill:parent
onClicked:{
if(swipeView.currentIndex<4)
swipeView.currentIndex++
}
}
}
}
字节的N路组关联缓存。该
设置字段的地址大小为7位,标记字段为21位。如果我们假设
缓存与32位处理器一起使用,然后是块大小(in
bytes),缓存包含多少有效位,以及它的关联性
缓存?
答案 0 :(得分:1)
因此,我们有关于处理器和缓存的以下信息 -
缓存大小= 4096 B
地址位= 32
索引位= 7
标记位= 21
根据以上信息,您可以快速计算偏移字段所需的位数 -
偏移位=地址位 - 标记位 - 索引位
偏移位= 32 - 21 - 7 = 4
偏移位= 4
使用偏移位,可以找到块大小,2 **偏移位
块大小= 16字节
接下来是缓存的关联性 我们知道索引位= 7。 这意味着我们有128个街区。每个块宽16个字节。
因此,缓存中的方式数量为 -
路数=缓存大小/(块数*块大小)
路数= 2 因此,结合性是2.
关于有效位数。每个块都需要一个有效位。因此,有效位的数量将是 -
有效位= 128 * 2
有效位= 256
答案 1 :(得分:1)
为了解决这些类型的问题,这里有一些很好的方程式。
要知道的参数
C = cache capacity
b = block size
B = number of blocks
N = degree of associativity
S = number of set
tag_bits
set_bits (also called index)
byte_offset
v = valid bits
要知道的等式
B = C/b
S = B/N
b = 2^(byte_offset)
S = 2^(set_bits)
内存地址
|___tag________|____set___|___byte offset_|
现在回答问题
已知:
C = 4096 bytes
set_bits = 7
tag_bits = 21
32 bits address field
问:
b?
N?
v?
只需从tag_bits
中减去set_bits
和32 bit field
,即可获得byte_offset
。
byte_offset = 32-21-7 = 4 bits
b = 2^4 = 16 bytes
S = 2^7 = 128 set
B = C/b = 4096/16 = 256
N = B/S = 256/128 = 2
v = B = 256 valid bits