Memory management 微程序控制电路及一个问题

Memory management 微程序控制电路及一个问题,memory-management,computer-architecture,microprocessors,digital-logic,vlsi,Memory Management,Computer Architecture,Microprocessors,Digital Logic,Vlsi,我遇到了一个问题: 在带有微程序控制电路的数字系统中,32信号的不同操作模式的总数为450。如果微程序存储器包含1K微指令,通过使用纳米存储器,微程序存储器减少了多少位 1) 22 Kbits 2) 23 Kbits 3) 450 Kbits 4) 450*32 Kbits 我在笔记中读到,(1)是真的,但我不明白我们是怎么做到的 编辑:微指令存储在微存储器(控制存储器)中。一组微指令有可能在一个微程序中出现多次。因此,需要更多的内存空间。通过使用纳米内存,当一个微程序中多次发生一组微操

我遇到了一个问题:

在带有微程序控制电路的数字系统中,
32信号
的不同操作模式的总数为
450
。如果
微程序存储器
包含
1K
微指令,通过使用
纳米存储器
,微程序存储器减少了多少位

1) 22 Kbits

2) 23 Kbits

3) 450 Kbits

4) 450*32 Kbits
我在笔记中读到,
(1)
是真的,但我不明白我们是怎么做到的


编辑:微指令存储在微存储器(控制存储器)中。一组微指令有可能在一个微程序中出现多次。因此,需要更多的内存空间。通过使用纳米内存,当一个微程序中多次发生一组微操作时,我们可以显著节省内存。有关纳米技术,请参见:

控制单元

回到那天,在.NET之前,当你真正需要知道计算机是什么的时候,在你能让它做事情之前。这个问题会有很多答案

但是,在当时,互联网并不是一个真正的东西,堆栈溢出也不是一个真正的问题,因为堆栈和堆的概念并不是一个真正的标准

所以为了确保我们实际上谈论的是同一件事,我只想解释一下

数字计算机中的控制单元启动微操作序列。在面向总线的系统中,指定微操作的控制信号是 选择多路复用器、解码器和ALU中路径的位组

因此,我们正在研究控制单元,以及使其能够实际工作的指令集。 我们正在处理编译的程序集请求位移位、清除寄存器或类似的“低级”内容时应该执行的步骤

有些指令可能是硬接线的,但通常不是全部

微程序

引用:“微程序设计是设计控制单元的一种有序方法 “一台传统的计算机” ()

控制单元的控制变量可由称为“控制字”的1和0字符串表示。微程序控制单元是一种控制单元,其二进制控制变量不是硬接线的,而是存储在存储器中。在我们优化东西之前,我们称之为微存储器;)

通常我们实际上会看到两个“内存”,一个是控制内存,一个是主内存

控制存储器用于微程序, 主存储器用于存储指令和数据

控制内存的代码生成过程称为 微程序设计

。。。好吗

处理器中寄存器之间的信息传输是通过MUX而不是 与总线相比,我们通常有几个寄存器,有些是程序员熟悉的,有些不是。在这里,最应该引起注意的是处理器寄存器。最常见的4个处理器寄存器为:

  • 程序计数器–PC
  • 地址寄存器–AR
  • 数据寄存器–DR
  • 累加器寄存器-AC
微码使用处理器寄存器执行操作的示例

Assembly instruction "ADD"
pseudo micro code: " AC ← AC + M[EA] " where M[EA] is data from main memory register
control word: 0000


Assembly instruction "BRANCH"
pseudo micro code "If (AC < 0) then (PC ← EA) "
control word: 0001
但是,由于只有280条唯一指令需要填充所有70位,我们可以将纳米内存技术应用于其余指令,并获得:

8 < log_2(640-280) < 9 = 9
640*9 bit micro control store, and 280x70 bit nano memory store
total of 25360 bits
在现实生活中保持不变

注意,微存储器通常是垂直设计的(Hm大,Wm小),而nano程序通常与Hn小,Wn大相反

回到问题

我在理解问题的措辞时遇到了一些问题,-这可能是因为我的第一语言是丹麦语,但我仍然试图理解它,并得出以下结论:

proposition 1:
1000 instructions
32 bits
450 uniques

µCode:
1000 * 32 = 32.000 bits

bit width required for nano memory:
log2(1000-450) > 9 => 10

450 * 32 = 14400
(1000-450) * 10 = 5500
32000 - (14400 + 5500) = 12.100 bits saved
这不是你的答案。 请澄清

更新:

"the control word is 32 bit. we can code the 450 pattern with 9 bit and we use these 9 bits instead of 32 bit control word. reduce memory from 1000*(32+x) to 1000*(9+x) is equal to 23kbits. –  Ali Movagher"

这是您的问题,我们无法用9位编码450模式,据我所知,我们需要10位。

您能详细说明问题的背景吗?你把“纳米存储器”和“32信号的dstinct操作模式”命名为什么?这是计算机架构学家的问题。我编辑我的问题并添加细节。请看。我们有控制信号。所有不同的图案都是450@VAndrei@VAndrei,在这个答案中解释更多。控制字是32位的。我们可以用9位编码450模式,我们用这9位代替32位控制字。将内存从1000*(32+x)减少到1000*(9+x)等于23kbits。请快速更正它,以设置赏金且不过期。您输入我的答案:)我会说更新您的答案,在微编程中,除了使用控制字(32位)外,我们还需要一些其他位来确定下一个地址。2^9=512. 所以我们需要9位。将内存从1000*(32+x)减少到1000*(9+x)。我们怎么能得到1000?我把你的问题读成1000字!您需要日志2(1000)位才能在nano内存中表示它。。log_2(1000)>9.9位,因此。。。10位
proposition 1:
1000 instructions
32 bits
450 uniques

µCode:
1000 * 32 = 32.000 bits

bit width required for nano memory:
log2(1000-450) > 9 => 10

450 * 32 = 14400
(1000-450) * 10 = 5500
32000 - (14400 + 5500) = 12.100 bits saved
"the control word is 32 bit. we can code the 450 pattern with 9 bit and we use these 9 bits instead of 32 bit control word. reduce memory from 1000*(32+x) to 1000*(9+x) is equal to 23kbits. –  Ali Movagher"