下一章 上一章 目录 设置
4、第 3 章(11~17) ...
-
------
以下为2020.11.25更新
11~12 时序逻辑设计A—B
PS:忙吐,尽量,抱歉。果然暑期学校还好,这个实在是太累了。能更新到什么程度真的就造化。
马上就要考试了,立个flag暴更
------
在到达若风谷之前,是要经过许多可供戎一练习数字电路的靶场的。那靶场上有许多clk发出灵光,一令一动,许多同级的数字电路弟子正在做同步时序电路的功法。
都说修真能让人达到神的状态,是一种人类的唯心主义文学。戎一这次才体验到,原来修真的最终结果,是变成一个应用软件造福广大人类。
......
原来那些程序员只不过是些引路人罢了,说到底,还是得靠这个世界里的几百个软件级的神仙,支持人类世界的各种业务需求。
“时序逻辑和组合逻辑,”戎一回忆了一下自己的记忆,“之前我还是模拟电路级别的时候,好像是不会处理这种环路和竞争关系的吧?”
“嗷,”小左回忆了一下,“是的,时序逻辑电路,如果是同步时序电路,那么所有的clk由一颗灵力果所驱动,比较耗能,这个也叫做阻塞。一般异步会比较好一些,可以多用几颗灵力果进行脉冲驱动,这个时候就不会搞always_ff这种。”
“那现在,他们在练的是同步时序电路的功法?”
“嗯,我看的确如此。”小左点点头,“同步时序电路的有限状态机呢。那边那几个师弟在练习Moore初级,而旁边几个就是Mealy高级了。”
“他们好像在搞ATSC?准备使用智能的系统来搞定一个十字路口的交通。”小左看了看四周,“好像很有趣,咱们下去康康。”
等到戎一一行人走到那靶场,只见上面苍遒有力的四个大字:
安午靶场
“这是安先生的地方。”小左正想着,安午师兄便从靶场里出来了。
“参见戎少爷。”
“啊这是什么话......”戎一一句话还没说出口,就被左零堵住了嘴,并向安先生示好地点头,“师兄,咱们俩现在也恰好是数字电路级,您能否给我们介绍一下现在的情况?”
“啊,好的好的。现在他们做的就是一个two-dementional crossing,环境将自动给出车流量,两个交路AB分别设置车流量监控器Ta和Tb。状态S0为A绿B红,状态S1为A红B绿,如果不考虑黄灯的话。”
“啊,这个比较适合弄成moore型的有限状态机吧,我看他们也都在做。”
“是的,不过其实mealy也没有难到哪里去。”安先生笑了,“然后就是布置灵力果周围的Sin和Sout。由于这个非常简单,所以直接编码,0为S0状态,1为S1状态。”
“嗯嗯。”
“输出的话,咱们规定输出1为绿灯,输出0为红灯。”
“然后我们可以绘制具体表格:”
——————
S....YA....YB
0.....1.......0
1.....0.......0
——————
布尔表达式:
YA=非S
YB=S
“然后我们来设定规则。这个规则就是Ta为1则说明A路车多。如果同为1或0则状态不变。这样我们可以画出整个表格:”
——————
S....Ta....Tb.....S’
0.....X......0......0
0.....0......1......1
0.....1......1......0
1.....0......X......1
1.....1......0......0
1.....1......1......1
——————
“这些东西,其实可以直接弄成布尔表达式,如果殿下您得心应手的话。”
完了完了,小左捏了一把汗,这是要让戎一现场来弄布尔表达式?
“我可以。”戎一想了想,
“S`=Tb非(S异或Ta)+S非Ta。”
“殿下英明,然后咱们按照这个布尔表达式把他们拆出来放好就可以了。你看这些小兔崽子现在还不会弄,实在不行你用个卡诺图不也就搞定了嘛,接下来我还得去教他们那个啥,可以分解的有限状态机,你说今天的学习任务怎么完成!”安午嘟哝着告辞,
“戎少爷若有事,尽管吩咐。”
......
从靶场退出来后,小左看戎一的眼神明显不一样了,“你不都还记着的吗!还在那边叭叭叭说自己垃圾会露馅。”
“我是真的垃圾,刚才那个只不过是我在现实世界的时候,刚好考完这个数电的月考而已......”
戎一看着灵力果发出的一个个clk信号,荧光四溅,弟子们拿着剑,正要把一个个元件融合成有限状态机。
拔剑。
------
以下为2020.12.4更新
13—14 RLC电路A—B
PS:忙吐,尽量,抱歉。果然暑期学校还好,这个实在是太累了。能更新到什么程度真的就造化。
------
当戎一走出靶场的时候,顿时感觉整个世界清净了。
“然后咱们就直接去若风谷叭......”
“不行不行我得去看一下那个绿帽电感现在的情况。”
“宁是说怀二?他是怀堂主唯一的儿子,你过去就嘲笑他这个?”
“啊,我没这个意思。”戎一慌忙解释,“我,只是想去多见一些有趣的灵魂罢了。”
“噫......”小左无话可说,“你若是以以前的性子,人家只会觉得你是来找茬的。”
“从某种意义上说,还的确是这样......”戎同学想了半天,居然挑不出一点毛病。
“但是吧,我觉得这样不是还挺符合我之前的人设嘛,再说了,我过去后人设他自然就会崩掉的。”
小左也没有什么什么好回应的,想着我就是个空气就行,到时候戎一死了伤了与我无关。
......
然而事实总是非常有趣。
“戎一哥哥,你总算来了!”远远地见到戎一,只见怀小二带着他那顶绿色穗边的帽子欢腾地跑过来。
???
“我做错了什么你是不是马上就要把我砍了?”戎一显然忽略了它脸上的表情,一脸惶恐地把左零拉在前面挡着。
左同学鄙视了一阵子。
“戎一少爷请上座。”
只见远处的怀叙穿越归来向戎一躬了躬身。
诶?!这个事好像有点奇怪。戎一求救一般地望向左零。
“天上的云真白呀,真白,白得不像话,太白了,白死了,白啊......”小左表示空气非常清新,直到被小一摔了一下脑袋。
“嗷嗷嗷我错了,”小左开始翻找剧本,“好像是你小时候无意间救过怀小二的命,所以他们家对你都特别好。”
“啊这,谁说我过来会被活剥生吞?”戎一想了想,“那就承蒙各位好意了。”
怀叙心里惊讶,戎少爷每次来的时候都是嚣张跋扈的,咋现在有了礼数?
“话说以前的事,每每想起,就难以忘却大人的大恩大德。”怀叙斟满一杯酒,“下午犬子需要找电阻partner了,我们可能要先行一步,不麻烦戎少爷的时间。”
“啊?选partner啊,”戎一回忆起之前在河边看到的景象,用眼神和小左交流,“好好玩,想去。”
“喂,人家好好选partner你也得参一本?”
“咋了,我虽然微机课学得一塌糊涂,但是电路我可以。”
“......”小左算是认命了,“其实不麻烦的怀大人,我们也能帮您孩子选选搭档。”
“这怎么好意思,”话还没说完,戎一用刚刚在玩有限状态机学会的瞬移拽着怀小二逃走了。
......
这不是拐|卖儿童?!
“好了好了,今天电感电阻双选会开始前,允许我和大家讲几句。”
看到这位曾经一发脾气就血流成河的死神,大家非常识趣地闭了嘴,但是小左想着气氛还是热烈些比较好。
“咱们选了partner之后,就可以和电容电阻组的人进行组合修炼。”
“如果情况是r<2√L/C因为这个电阻的还能很小,因此有很大一部分能量转成了电容的能量,因此反向又放电。大家千万不要烦,这个功法就是需要静心训练。”
“嘛,这种东西是需要大家好好理解。r与2√L/C看似随意,实则是元件级的一条非常完美而基本的准则。因为我们可以把两个东西换成1/2rC 与 L/0.5R。大家可以看到,左右两边都变成了RC的时间常数和RL的时间常数。也就是在RLC串联电路中,就直接把电阻劈成两半,分别和电容和电感进行作用。然后我们在进行之后的一系列操作。”
“当RC响应大于RL响应时,则非振荡,当小于,则振荡,等于是修真界几乎不可能做到的,也不影响你们晋级,是个临界阻尼。刚刚讲的就是串联的情况。”实际上,戎一也不太清楚自己有没有描述好,只不过按照脑子里想的过了一遍而已。
“所以敢问师兄,那么并联的情况是什么样的呢?”怀小二问道。
“不用算,先来零输入响应。你就看着这个电路,如果R大,电容放电的电压比较容易从电感的方向走,因此磁能就被存储起来。之后再进行反向充电。”
“嗷,我明白了,那R小的话电感能量就会很小了,形不成振荡,衰减,结束。”
“是的,因此大家在进行所谓组合练习时,除了判断自身和partner的时间常数外,也必须和另外一组协商好,使用串联功法还是并联功法,以保证振荡炼功的效果。”
“受教了!”怀小二想了一下,很快填好了意向表单。
“所以,师兄您要不要在我家住几天再走?”
“不了不了,”戎一想了想,“我觉得您还是好好待在家里,我还要去若风谷找那边的师兄取经。”
“师兄您是要晋升了嘛?”
“不......怎么说呢,被迫晋升?”
------
以下为2020.12.16更新
15—17 微体系结构A—C
PS:忙吐,尽量,抱歉。果然暑期学校还好,这个实在是太累了。能更新到什么程度真的就造化。
------
“小一哥哥,我想和你一起去......”
“害,总之小二你还是呆在怀叙堂比较好,你的partner不也还没定下来嘛。”
“......我觉得我应该自己出去走走了,基本每天都是赖在家里,小时候你就告诉我要到世界的远方看看,看看那里的风土人情,令人怀念。”
“那是,但是我希望你在路上能有一个能够终身和你做伴的道侣,懂我的意思吧?等到这次你的partner选完了,我相信时机也会成熟一些。”
“......好吧。”他不情愿地点点头,“等我找到了适合的电阻就来找你。”
戎一看似微不可查地点点头,缄口不语。
......
“话说啊,若风谷的那个师兄他最近好像在运转周天,周围能看到大量mips指令符咒,你别被吓到了。”小左打开他的系统导航,观察了一下若风谷周围的形势。
“啊这,MIPS是啥。”
“......”小左发现这个人难以沟通,观察了一下四周,从空气中抓了一个addi。
“你认识这个东西不?”
“不认识。”
“你是啥时候魂穿过来的,MIPS不知道?那你怎么晋升?”
“我是搞UBUNTU的时候传过来的,那个时候我数电都没学完呢。”
“害,简直了。我跟你说一下,这个MIPS就是汇编语言的一种。”
“然后这些add啊sub啊,我就不管了~实际上MIPS也是属于CISC的。他对操作数有很多精简,寄存器的访问一般都比存储器访问越快,所以规模就要小一些。寄存器的编号对应的用途都是不一样的。有$的实际上都是API的名字。函数参数会通过固定的a0—a3位输出。这个是32位的。”
“那你说的16位是在哪里?”
“当正常情况下我们只需要这些寄存位来解决这些问题。绝大多数的寄存器变量都很小,如果你要搞大的,还不如去弄存储器。这样你还可以去弄字可寻址存储器单元。”
“load word $s0,5($t1),这个其实弄的是$t6的5个字扔进$s0。这样不是就可以完成这种赋值了么。”
“嗷嗷。”
“然后汇编语言之后就是机器语言,寄存器操作数,立即数操作数和跳转指令。一条寄存器指令一般包括了OP(6) RS(5) RT(5) RD(5) SHAMT(5) FUNCT(6)。像add $S0,$S1,$S2,他的机器语言都是可以一一对应的。”
“然后就是立即数,16位数需要带符号拓展成32位的,像0xA000->0xFFFFA000如果是逻辑操作可以零扩展。其中OP6位,RS和RD
5位,imm16位。”
“跳转指令的OP6位,addr26位。你看这个paper就是用机器语言写的,你看这种东西其实写下去都很耗内力的。”
“......”戎一看了一下从旁边飘过来的一张paper:
00000111100000000000
00000101000000000011
00001000101000000000
00110110000100000000
00001100100000000001
00110101100100000000
00011110001100000000
00100000000000000100
00000000000000000000
00111010000100000000
00010000100000000001
00111001100100000000
......
“这个好像源码是X86,但是机器码都是一样的,估计不是MIPS师兄写的。”
“啊我看着就头大......”
戎一继续向若风谷的方向走,前方已经能看到一些灵力涌动,周围似乎还有一些末端的弧光正在耗散。
“在MIPS系统也就是咱们宗门的系统中,程序指令一般从0x00400000开始存储,MIPS存储器地址是字节寻址,下一指令存放程序计数器寄存器PC中。如果没有足够的空间,他就会删除文字的,所以,你得好好提升自己的修为懂嘛。”
“你还真是站着说话不腰疼,你自己不看看自己适不适合我半斤半两。”
......
“话说微处理器除了MIPS意外是不是还分三阶段啊?”戎一仔细分辨周围的灵力,觉得境界是有区别的。
“是的,同一个体系结构可以有不同的微体系结构实现方案。比如单周期、多周期和流水线。标准的MIPS是单周期,其电路是最容易设计的。流水线是一种并行。”
说着说着,戎一看到前面有一枚石子,想也不想直接踢了过去。
“砰!”
石头碰到了什么结界,直接化为灰烬。
“access violation!”
“啊这,一个石头就堆栈溢出成这样,这是什么垃圾结界。”戎一想着又拾起一块石头。
然后励师兄一脸黑线地走出来。
“是谁把我的jal指令给弄没的?”这一声吼的几里外的戎一停住了脚步。
......
“小左你走在前面。”
“自己做的事自己......”小左还没说完就被推到了前面。
接下来一刹那,师兄便闪现在他们面前。
“行,我干的。”小左看着戎一没出息的样子,想着戎父的嘱托还是硬着头皮回应。
“哎呀原来是小左师弟呀,真的是太感谢你了,刚才jal把$ra给刷掉了,差点就把我灵力给吸走了!”
小左:“......”
......
“总之,事情就是这样,父亲希望您能带着我尽快升级到逻辑级,与师兄靠拢。”
这个世界的修为等级,从凡人,到元件,到模拟电路,到数字电路,到逻辑,到微体系结构,到体系结构,到操作系统,最后升天至软件。
“所以,微体系结构中间我们最需要理解的是微体系结构建立的过程。作为一个微处理器来讲,其核心的元件是PC(CLK是时间基准),当前的PC一定是指向下一条指令。之后进入指令存储器。若为MIPS,其只需要读取一个字节即可。”
“寄存器组有三个地址,每一个一共有五位。因此可以决定某一个寄存器进行访问。RD1和RD2,WD是数据存储器的读写。”
“单周期处理器是微体系结构里最简单的了。逆向工程就是从机器码到汇编语言,汇编和反汇编而已。”
“汇编是一个工程,我们把程序设计成能工作的。为啥最近不讲工匠精神的?因为他们是做逆向工程。”
“说实在,就是剽窃嘛,reversely。”
“我们现在看到了MIPS,我们也有了很好的实际方式,能够实现单周期处理器,但是,我看不懂。工匠照着同样的东西能做出来,还是工程师能做出一个东西,是很不一样。”
“数据存储器和指令存储器是分开的。MIPS存储空间,大容量的数据存储,都会按照一个个单元进行存放。通常来讲,按照处理器的设计要求,它和处理器的字长是有关系的。align 2/3/4,V1 space 133,如果说,正常情况下这个占了133个字节,大概是1067。此后,他就按照1067开始排。”
“多周期处理器可以解决时间的问题。对于单周期,启动了一系列的逻辑操作。最慢的指令lw,指定了时钟周期。”
“这个运转一个周天等到你操行够了之后,自然就会嫌慢了。”
“此外,他还能把指令的执行过程改为多个短周期,时间片,时间脉冲来执行不同的时间操作。这样我们就可以分解lw、ALU运算等等。其处理器只需要一个加法器,也只需要一个存储器来存储指令和数据。”
“设计CPU时,我们将体系结构状态器件和存储器,与组合逻辑电路连接起来,设计一条数据路径,再增加非体系结构状态器件,用于保存中间的结果;再涉及控制器环节,在指令执行期间对不同的周期产生不用的命令,从控制器到时序逻辑电路。”
“然后就是解决冲突的方法,主要是插入足够多的nop指令。然后是重定向,在数据选择器之间通过另外一种选择器来选择它,增加相应的控制信号。在SrcA的重定向主要是因为forwardAD。阻塞的话,通过禁止流水线寄存器来阻塞某个阶段。流水线一定是顺序执行的,正常情况下就是PC+4,但是你通过早期的分支识别,也可以解决冲突。这个看起来很容易的技术啊。”
“哇,这个也太容易了吧。”小左腹诽,转头看了看戎一,已经趴在桌子上睡着了。
......
“我觉得这样不太行。”小左戳了戳励师兄,“你看着戎一他都学不进去。”
“啊,我可以量子波动速读,在睡眠中我就已经学会了。”戎一揉了揉眼睛站起来。
嗯,算是维持了人设。
毕竟师兄常常看到他们,也得表现得有一定的过渡期。
“行吧,”励七想了想,“我带你们去中断和异常区看一下情况,可能你可以更懂这个东西,啊,但这个可能是体系结构的东西了。”
......
“好的,这边就是异常区。这边可能有软件运行中的错误、错误的指令,也可能是硬件。之前咱们宗派只有中断,但是现在由于中断更适合处理身外之事,而自身修养后来便自立门派,由微体系结构期的弟子组成,叫做异常。”
“他们通过自身能力合成了一个异常的寄存器,通过调节体内灵力运行。MIPS类的师兄甚至都把中断也纳入异常的范围之内。”
“最常见的中断认为是异常就是system call,此外还有断点、溢出等等,并且有两种单独的状态。”
戎一眨了眨眼。
“那么,现在高级的微体系结构,呵呵,已经完全不一样了呀。”
【END】