运算器芯片Am2901组成
Am2901芯片是一个4位的位片结构的运算器器件,其内部组成框图如下图
![77c2d91b21e47207bb56db244ecba495.png](https://i-blog.csdnimg.cn/blog_migrate/bbcb6d3163751f03704605ad0d9aeaab.jpeg)
该芯片的第一个组成部分是一个4位的算术逻辑运算部件ALU,它的输出为F,两路输入分别用R和S标记,还有送入ALU最低位的进位信号Cn,能实现R+S、S-R、R-S三种算术运算功能,和R∨S、R∧S、R∧S、R⊕S、R⊕S五种逻辑运算功能。在给出运算结果的同时,还送出向高位的进位输出信号Cn+4,溢出标志信号OVR,最高位的状态信号F3(可能用作符号位),以及运算结果为零的标志信号F=0000。
![98736f25e11f6d717d9f0f48f249fe86.png](https://i-blog.csdnimg.cn/blog_migrate/d85448321365cebd029f9949c9c0349c.jpeg)
该芯片的第二个组成部分是由16个4位的通用寄存器组成的寄存器组。它是一个用双端口(A口和B口)控制读出,单端口(B口)控制写入的部件。为了对其进行读写,需通过A地址、B地址指定被读写的寄存器。两路读出数据分别用A口、B口标记,经锁存器线路可以送到ALU的R、S输入端的多路选择器,A口读出数据还可以用作该芯片的可选输出数据之一。寄存器组的写入数据由一组多路选择器给出,并由B地址选择写入的寄存器。
![8af10a2a67d7df7432a9d88a0bae9ffe.png](https://i-blog.csdnimg.cn/blog_migrate/07c964ad7485440227cc10d87eb7c39f.jpeg)
![acca2b7df5a51fa0883da55fc64eb2db.png](https://i-blog.csdnimg.cn/blog_migrate/a0d3b086aa6bfa1a4591dd816157330d.jpeg)
该芯片的第三个组部成分是一个4位的Q寄存器,主要用于实现硬件的乘法、除法指令,能对本身的内容完成左、右移位功能,能接收ALU的输出,输出送到ALU 的S 输入端。
![20c4054e188320497ee6885c62d8533e.png](https://i-blog.csdnimg.cn/blog_migrate/994965593f95ec6639e4703463b544c4.jpeg)
该芯片的其余组成部分是5组多路数据选择器,每组都由4套电路组成,一套电路对应一个数据位,通过它们实现芯片内部的三个组成成分之间的连接,实现芯片内部与外部信息的输入输出操作,包括:经D输入接收外部送来的4位输入数据,经Y输出端输出4位数据到芯片外部。
![f3f7141f48915dda9a7edc44daf69849.png](https://i-blog.csdnimg.cn/blog_migrate/53cad1c7ca34ec07d4d8fbed2647cbc7.jpeg)