今天,当我们坐在电脑前沉浸在游戏中,和远在他乡的女友、朋友、家人聊天和语音,在互联网上冲浪、查找资料,通过网络购买自己喜欢的图书和零食,这一切目前都觉得如此地惬意和自得。但是今天的一切,也许大部分都想不到,为了这一些是多少人前赴后继,付出了可歌可泣的贡献才得到地。
最近,hw harmonyos又冲上热搜,大家都希望中国又一款自主可控的国产系统,实现操作系统的“弯道超车”,回顾中国历史上的操作系统有很多不堪回首的事件,但是曾经发生的事情和有过的经历,却可以让我们更加珍惜这来之不易的幸福。而了解成功人/事的历史,更可让我们受益菲浅。 现在就让我带大家去回顾一下,这有趣而又激励人心的辉煌历史。
古老cpu启示录-intel 4004
news watch
如今8位单片机的用途越来越少了,32位单片机越来越常见,但是你见过4-bit的cpu吗?
1969年,日本计算机公司与英特尔合作,为其新的busicom 141-pf *打印计算器设计12种定制芯片。英特尔工程师提出了一个只有四个芯片的家族,其中一个可以编程用于多种产品,从而激发了工程学的壮举,极大地改变了电子学的发展方向。 当时intel给出的解决方案是一套四块芯片组成的微型计算机,称为mcs-4。
它包括一个中央处理单元(cpu)芯片-4004,以及一个用于定制应用程序的支持的只读存储器(rom)芯片,一个用于处理数据的随机存取存储器(ram)芯片以及一个移位存储-输入/输出(i / o)端口的寄存器芯片。从上面看出和目前商用计算机组成基本没什么变化,可是那时候是1971年,感叹其伟大!
英特尔生产了三种主要的源代码变体:c4004,d4004和p4004。在英特尔c4004是待制造的第一芯片; 它具有白色陶瓷包装本身上可见的灰色痕迹。c4004的生产一直持续到1976年中,开始生产intel d4004。d4004具有塑料黑色陶瓷包装。在英特尔p4004是塑料包装的版本。
自1975年中以来,美国国家半导体公司和日立公司已经开发了一些辅助资源。美国国家半导体生产了两个版本:ins4004j和ins4004d。所述ins4004j是16针黑,陶瓷dip,而ins4004d版本是16引脚侧面钎焊,陶瓷dip。另一个来源是hd35404所作日立。第三个来源是国际微系统公司(microsystems international),该公司实际上是从1970年中期开始制造该芯片的增强版本的(也于1971年推出)。 几种“变形体”的区别:
manufacturer model package
intel c4004 16-pin ceramic dip
intel d4004 16-pin ceramic dip
intel p4004 16-pin plastic dip
national semiconductor ins4004d 16-pin ceramic dip
national semiconductor ins4004j 16-pin side-brazed ceramic dip
hitachi hd35404 16-pin dip
microsystems international mf7114 ?
4004具有16个引脚,用于i / o,存储控制器,时钟相位,电源和复位。
引脚和说明
别针 # 引脚名称 目的 解释
1个 d0 双向数据总线引脚 与rom和ram的地址和数据通信发生在d0-d3上。
2个 d1
3 d2
4 d3
5 v ss 主要供应
6 时钟阶段1 时钟输入
7 时钟阶段2
8 同步 rom和ram同步 通过发信号通知时钟在上升沿来同步rom和ram。
9 重启 重置标志 逻辑1清除所有处理器状态寄存器,并强制程序计数器跳到地址0x0。reset信号必须至少打开64个时钟周期才能生效。
10 测试 测试逻辑状态 信号可以通过jcn指令进行测试。
11 光盘 cm-rom输出 rom选择信号,用于从内存中检索数据。
12 v dd v ss -15±5%
13 cm-ram 3 cm-rom输出 系统中4002 ram芯片的存储体选择信号。
14 cm-ram 2
15 cm-ram 1
16 cm-ram 0
内部结构
news watch
寄存器组
news watch
名称 大小(bits)
– accumulator 4
– carry/link 1
索引寄存器 index registers ( ir ) (4+4)*8
程序寄存器 program counter ( pc ) 12
程序寄存器 program counter ( pc ) 12
堆栈指针 stack pointer ( stack ) 12*3
临时寄存器 temp.reg 4
– instruction register 8
指令集
news watch
(带 * 号的是双字指令,需要两个指令周期(1指令周期 = 8时钟周期))
基础指令
hex 助记符 指令字1 指令字2 功能
00 nop 0000 0000 – 无
1 *jcn 0001 cccc aaaa aaaa 当条件c成立,跳转到当前rom页的a地址
2 *fim 0010 rrr0 dddd dddd 取当前页d地址处的数据,送至ir的r号寄存器对内
3 fin 0011 rrr0 – 取ir中第0寄存器对数据作为rom页内地址,将数据送至ir寄存器的r号寄存器对内
3 jin 0011 rrr1 – 将ir中r号寄存器对内数据作为间接跳转地址进行跳转
4 *jun 0100 aaaa aaaa aaaa 无条件跳转至地址a
5 *jms 0101 aaaa aaaa aaaa 无条件跳转至地址a,将原地址保存在堆栈sp中
6 inc 0110 rrrr – rrrr寄存器+1
7 *isz 0111 rrrr aaaa aaaa rrrr寄存器+1,如果结果不为0,跳转至页内地址a
8 add 1000 rrrr – ac=ac+rrrr+c
9 sub 1001 rrrr – ac=ac-rrrr-c
a ld 1010 rrrr – ac=rrrr
b xch 1011 rrrr – ac与rrrr交换
c bbl 1100 dddd – 借助堆栈地址返回,ac=dddd
d ldm 1101 dddd – ac=dddd
f0 clb 1111 0000 – ac=0,c=0
f1 clc 1111 0001 – c=0
f2 iac 1111 0010 – ac=ac+1
f3 cmc 1111 0011 – c=~c
f4 cma 1111 0100 – ac=~ac
f5 ral 1111 0101 – {c,ac}向左循环平移一位
f6 rar 1111 0110 – {c,ac}向右循环平移一位
f7 tcc 1111 0111 – ac=c, c=0
f8 dac 1111 1000 – ac=ac-1
f9 tcs 1111 1001 – 当c=0,ac=1001当c=1,ac=1010
fa stc 1111 1010 – c=1
fb daa 1111 1011 – 对ac执行bcd修正
fc kbp 1111 1100 – 对ac进行独热码到二进制转换若输入非法值,ac=1111
fd dcl 1111 1101 – 使用ac的低3位进行转换页ac=000时选择cm0其他情况以三位分别控制
i/o与ram指令
2 src 0010 rrr1 – 分别在指令周期的x2与x3处将r寄存器保存的页内地址送至rom和ram
e0 wrm 1110 0000 – 将ac写入选中的ram主字符( 4位 )中
e1 wmp 1110 0001 – 将ac写入选中的ram端口中( 注:mcs-4中,ram/rom亦用作io端口 )
e2 wrr 1110 0010 – 将ac写入选中的rom端口中
e3 wpm 1110 0011 – 将ac写入选中的可读写程序存储器中( 搭配4008/4009/4289使用 )
e4 wr0 1110 0100 – 将ac写入选中的ram的0号状态字符中
e5 wr1 1110 0101 – 将ac写入选中的ram的1号状态字符中
e6 wr2 1110 0110 – 将ac写入选中的ram的2号状态字符中
e7 wr3 1110 0111 – 将ac写入选中的ram的3号状态字符中
e8 sbm 1110 1000 – {c,ac}=ac-c-选中的ram主字符
e9 rdm 1110 1001 – 将选中的ram主字符写入ac
ea rdr 1110 1010 – 将选中的rom输入端口数据写入ac
eb adm 1110 1011 – {c,ac}=ac+c+选中的ram主字符
ec rd0 1110 1100 – 将选中的ram的0号状态字符写入ac
ed rd1 1110 1101 – 将选中的ram的1号状态字符写入ac
ee rd2 1110 1110 – 将选中的ram的2号状态字符写入ac
ef rd3 1110 1111 – 将选中的ram的3号状态字符写入ac
以上就是intel公司首款商用处理器,intel原本只是造存储器的一家小公司,因为日本busicom公司(造计算器)的小看,从此intel慢慢转型进入微处理器的市场,一发不可收拾成。4004是intel历史性的标志。
mcs-4就是4004处理器+4001rom+4002ram+4003sr的组合,微型计算机就是多块芯片的集合,中央处理器用来负责控制和管理,下一讲我们将讲解mcs-4微型计算机,看看这一牛逼的微型计算机。
总结
news watch
总结一下,intel 4004有什么先进性值得学习?
1、英特尔4004成为市场上第一个通用可编程处理器—工程师可以购买并使用软件进行定制以在各种电子设备中执行不同功能的“基石”; 2、体积小巧,尽管在1971年,这款革命性的微处理器只有一个指甲大小,具有与1946年制造的第一台电子计算机相同的计算能力,该电子计算机占据了整个房间。
3、与当今产品通常使用的12英寸晶圆相比,第一个intel4004微处理器是在2英寸晶圆上生产的。英特尔4004微处理器的独特之处在于,它是有史以来投入商业生产的最小的微处理器设计之一。
4、1971年,英特尔4004处理器装有2,300个晶体管。到2010年,具有32纳米处理管芯和第二代高k金属栅极硅技术的英特尔酷睿处理器可容纳5.6亿个晶体管。
5、英特尔4004微处理器电路的线宽为10微米或10,000纳米。如今,英特尔微处理器的电路功能范围在45至10纳米之间。相比之下,人的平均头发宽度为100,000纳米。
位数/频率:4bit/6万次
频率/前端总线:108khz/0.74mhz (4bit)
封装/针脚数量:陶瓷dip,塑封dip / 16针
核心技术/晶体管数量:10微米 / 225
参考链接:https://www.4004.com/busicom-replica.html
http://www.intel4004.com/
http://e4004.szyc.org/
https://en.wikichip.org/wiki/intel/mcs-4
2010年将影响电子产业的电子技术
反向运算放大器讲解
风电机组的预测性维护应该如何进行?
兼容I2C速率860SPS低功耗16位ADC模数转换器
常程“五杀”小米之后为雷军庆生,一句“多有得罪”暗藏几层深意?
Intel的第一款CPU长啥样?
如何阻止Windows Live Messenger在启动时弹出
华为正与印度运营商洽谈 推动5G网络全球化
中国工业互联网平台推进模式
百度和赛灵思加码FPGA 云加速人工智能应用大比拼
四层交换机是干什么用的?
从这几方面判断一个区块链项目的优劣
中性白光与冷白光LED在街道照明应用的差异
一加6性能实测 完美诠释了什么是西装暴徒
超五类非屏蔽双绞线简介_超五类非屏蔽双绞线主要参数及电气特性
MB89163单片机及其在遥控器中的应用
微电子所低功耗传感器网络核心芯片及片上系统研发获突破
紧跟苹果脚步!小米6将取消耳机接口 支持IP67级别防水
液体涡街流量计的安装注意事项
多功能食品安全快速检测仪是什么