第六十八章 总控制芯片(2/3)
这让学生怎么办?几年含辛茹苦的学习,最后却告诉这些学生,你们这些年辛苦学的东西全都是没有用的东西。这不是误人子弟嘛,英国教育机构岂能答应。
最后没有办法,acorn只能花取300万美金从y公司买来全套的6502技术授权,自己来设计能够完全兼容6502处理器的全新16位处理器。
而这个时候,全世界首款真正意义上的riips诞生震撼了整个半导体业界,很多业界专家认为ri复杂指令集处理器。其实我们都知道ci取代,而且还活得很滋润。
于是,acorn公司开始转变设计思路,设计一款能够完全兼容6502的精简指令集c处理器的前身。
其实从这里就能看得出ari,它带有很多ci才有的功能拓展性特质,而且功能拓展能力还很强,这也是为什么后来的ar构架设计这么多种不同使用功能的ar处理器更是多的数不清。
这些处理器发展史上的秘闻李逸轩是不会对郭英年说的,而且现在都还没有发生呢,有了李逸轩这个闯入者,这件事还会不会发生他都无法确定,现在他只要把郭英年说服就行了。
arm处理器起步是32位,我们最熟知的是64位结构的arm,现在才79年,是不能直接照抄的。
李逸轩对它进行了改变,16位arm处理器,由指令寄存器模块、算术运算单元、微处理器的控制器模块、程序计数器、子程序计数器模块、数据存储器模块、数据总线处理器模块组成该处理器的核心。
在图纸的右下角还对这些器件分别做了说明。
1:指令寄存器模块主要完成从只读存储器(rom)中接受指令字,同时将指令字分送到控制部件和内部数据总线或者地址总线上。由于目前设计的是16位处理器,所以他接收16位的指令字后,通过微处理器控制器发出的控制信号把高8位操作码送给控制模块用于指令的译码,而低8位的数据和地址送到地址总线或数据总线。
2:程序计数器模块设计一位16位的程序计数器同时还必须能直接接受跳转地址。
3:子程序计数器模块本身也相当于一个程序计数器,它是通过处理器里的控制器产生的控制信号来置数,一经置数,即是子程序的开始地址。另外子程序计数器还是可屏蔽中断和不可屏蔽中断程序执行过程的程序计数器,减少程序计数器设计的复杂。
4:算术逻辑单元模块是处理器运行算术和逻辑运算的不见,同时还有与这个模块相关联的寄存器模块,寄存器的大量使用是ri架构的一大鲜明特点,他主要是用来存放算术逻辑运算的两个操作数的模块,也是算术逻辑单元运算结果的存储部件。
5:数据存储器模块是为了能从数据存储器中读取数据和写入数据,就要有存储地址寄存器和存储数据寄存器对于要存储的地址和数据进行暂存。
6:微处理器控制模块通过对指令的译码给出不同工作状态各个模块的操作脉冲信号,是整个微处理器的大脑,由译码器、环形计数器和控制矩阵组成。其中环形计数器产生控制矩阵所需要的控制状态,指令译码和控制矩阵由控制模块来实现。
7:数据总线处理器模块主要解决内部数据总线冲突问题,对不同的模块的总线请求给予回应。
这就基本完成了处理器的大致框架的构造和各功能模块功用的定义。李逸轩不需要过高的技术领先,所以决定不采用多址指令格式,对于用在硬盘上的总控制芯片,多址指令完全没用,还会增加指令的寻址时间。
李逸轩为芯片设计一个二级缓存系统,一级4k,二级8k,这能大大增加硬盘的读写速度。
缓存的设计不能过大,也不能过低,必须根据芯片的实际用途合适才行。大了,没用不说还浪费成本,小了又不够用,总之这款控制芯片只要硬盘容量不超过2gb,就不会被淘汰。
这款控制cpu李逸轩还采用了流水线设计,分为用户模式和专用模式2种工作模式,而寄存器也分为2种,通用寄存器和特殊寄存器,为此而专门设计了16个寄存器,在用户模式下,指令只能访问12个通用寄存器,而专用模式可以多全部的16个寄存器自愿进行访问,从用户模式近入专用模式的钥匙就是中断和例外。
中断对于流水线的数据通道而言,只有两种情况,一类是执行的指令代码不合法,需要转入中断服务程序,另外一类是例外或者中断指令,例如系统启动、硬件中断和中断返回等。
在李逸轩的设计中,指令的执行过程被划分为3个步骤:取指令、译码和执行,为什么这样设计?
首先,让大家看下比如有3条指令输入计算机是123,123,123,那么采用了流水线后,执行的情况首先取值1然后译码到2的位置,这个时候第二条指令正好进入取值环节,当指令1进入到执行阶段的时候,那么第二条指令正好是译码阶段,而第三条指令处于取值阶段,这样处理器内部将全速运行,这个时候处理器的执行效率最高,这也是在不增加计算机频率上就可以增加计算机性能的一项技术。
李逸轩采用的是3级流水线设计,完全能满足现状和未来10年的硬盘容量增长需求了,对于一款面向硬盘总控制的cpu,完全没有必要设计什么4级5级甚至8级9级流水线,君不见未来的4tb容量硬盘,其总控制芯片的流水总线也不过才10级。
相反在总线设计上,李逸轩
第2页完,继续看下一页