微处理器:50岁了!

编排 | strongerHuang

微信公众号 | 嵌入式专栏

50年前(1971年),英特尔推出了第一款商用的通用型微处理器 4004,4004拥有2300多个晶体管,与当今芯片中的几十上百亿个晶体管相比,这个数字相形见绌,但 4004 相比之前处理器实现了跨越式发展,它将房间大,基于真空管的第一台计算机的计算能力,在一个指甲盖大小的芯片中实现了。在过去的 50 年里,微处理器以难以想象的方式改变了我们的文化和经济。

 

1969:项目任务

1969年,日本的Nippon Calculating Machine公司让Intel给他们设计12款芯片用于它们自己的141-PF打印计算器,Intel却建议只用4款芯片来完成来完成这个项目,其中用一个可编程芯片来完成不同的项目功能,这一方案确定了电子行业发展的新航向。(Intel方案设计者肯定想,给你一个产品定做一款芯片,还不如我做个芯片可以用于很多产品,多省事。当时Intel是开发存储器的厂家,所以这四个芯片中ROM和RAM可以很快开发出来)。

Intel的解决方案

4个芯片组成的这一方案命名MCS-4,它包含一个中央处理器(CPU)芯片-4004,一个只读存储器(ROM)芯片用于存储应用程序-4002,一个随机存储器(RAM)用于存储临时数据-4001,一个移位寄存器芯片用于输入输出IO口-4003。

1971:集成电路的时代

Intel从Nippon Calculating Machine购买了MCS-4的版权,并且在1971年11月15日上市了4004和它的周围芯片组,这意味着4004变成了全世界第一款上市的商用处理器,人们可以用它开发各种各样功能的电子设备。

在1971年,它已经非常小了,小到跟一个小指甲那么大,运算能力却跟1946年的第一台计算机相当(体积跟一个房子那么大)。相比于现在常用的12英寸晶圆,4004采用的是2英寸晶圆,它拥有2300多个晶体管,采用10微米工艺,它是一个独立的微处理器,体积小,它很快进入了商用产品之中。

Intel 4004是Intel制造的一款微处理器,片内集成了2000多个晶体管,晶体管之间的距离是10um(现在工艺已经是5nm及以下了),能够处理4bit的数据,虽然只有45条指令,每秒也只能执行5万条指令,频率为108KHZ,前端总线为0.74MHz (4bit)。但它的集成度却要高很多,这一突破性的发明最先应用于Busicom计算器,为生命体和个人计算机的智能嵌入铺平了道路。

4004计划和编号

Busicom最初计划是需要12个定制芯片,而英特尔工程师霍夫提出了通用逻辑设备的概念,它可能是一个更出色、更高效的解决方案。正是由于他的提议才使得微处理器得以开发。起初,Busicom向英特尔支付了60000美元,获得了微处理器所有权。在认识到“大脑”芯片的无限潜力之后,英特尔提出用60000美元换回微处理器设计的所有权。Busicom同意了英特尔的请求。1971年11月15日,英特尔面向全球市场推出了4004微处理器,每个售价为200美元。

编号为4004,第一个“4”代表此芯片是客户订购的产品编号,后一个“4”代表此芯片是英特尔公司制作的第四个订制芯片。这种数字代号却延用至今。霍夫终于如愿以偿,他在世界第一个微处理器上,集成了2000多个晶体管,发明了世界第一块大规模集成电路4004,在电子计算机历史上,写下了光辉的一页。4004芯片基本具备了微处理器的特点,用它来做计算器,改变了传统计算器的形象。采用4004芯片后,再配用一块程序存储器,数据存储器,移位寄存器,再加上键盘和数码管,就构成了一台完整的微型计算机。

后续发展:

我们今天个人PC能有如此高的性能,都是一步一步发展才实现的。像后面的8008、8080、8086、80286、80386。。。等

免责声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

------------ END ------------

感谢完成阅读,我是喜欢打篮球的写代码的篮球球痴,这个是我的公众号,感谢你关注并支持。我从大学开始接触电子和嵌入式软件知识,至今,已经毕业工作了9年,我喜欢嵌入式,也愿意从事这个行业。不管是从技术还是职场经验,都积累了足够多的经验,目前在一个非常优秀的团队中做开发工作。

很高兴认识每一个对技术努力,对人用心的朋友。

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465714.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python3 —— 列表

Python3 —— 列表 目录 Python3 —— 列表 1.访问列表元素(索引) 2.修改列表元素 3.添加列表元素 4.删除列表元素 5.组织列表 6.遍历整个列表(for循环,缩进部分都在for范围之内) 7.创建数值列表 8.列表简单…

当卷烟厂也那么卷后……

过年回家,跟几个同学一起吃饭,聊到当时班上读书厉害的一个同学。同学嘴巴瞪得很大,说了一句,他在烟厂企业上班,现在开的什么什么车,待遇好得不得了。中学时候,那个同学读书真的厉害,…

Python3 —— if/while/input

Python3 —— if/while/input 目录 Python3 —— if/while/input 1.条件测试 2.if语句 3.input()函数 4.while循环 5.break与continue 1.条件测试 等于 ! 不等于 < 小于 < 小于等于 > 大于 > 大于等于 and 与 or 或 not in 不在 2…

python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)...

昨日内容回顾 外键的变种三种关系&#xff1a;多对一&#xff1a;左表的多 对右表一 成立左边的一 对右表多 不成立foreign key(从表的id) refreences 主表的&#xff08;id&#xff09;多对多建立第三张表&#xff08;foreign key&#xff09;一对一foreign keyunique单表查询…

我偶尔会用到的调试方法 | Linux 内核

文章转自我朋友的公众号&#xff0c;以下为内容正文大家好&#xff0c;我是你们的工具人老吴。今天,和大家分享一下几个 Linux 内核的调试小技巧。当你遇到一个 bug&#xff0c;你调试了 1 年半载都解决不了&#xff0c;这其实一件好事。因为它会时刻提醒你平时写代码时要谨慎、…

Linux应用编程之共享内存实例

1共享内存实例01主要内容 上一小节小哥跟大家介绍了一下共享内存的知识&#xff0c;今天主要是做一个实战的演示&#xff0c;从而更好的理解共享内存的原理和实际应用。02程序示例 1#include <stdlib.h>2#include <stdio.h>3#include <string.h>4#inclu…

洛谷P1279 字串距离 (动态规划)

题目描述 设有字符串X&#xff0c;我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串&#xff0c;如字符串X为”abcbcd”&#xff0c;则字符串“abcb□cd”&#xff0c;“□a□bcbcd□”和“abcb□cd□”都是X的扩展串&#xff0c;这里“□”代表空格字符。 如…

Python3——函数

Python3——函数 目录 Python3——函数 定义函数 实参和形参 返回值 将函数存储在模块中 定义函数 关键字def告知Python要定义一个函数。 最后一行是调用此函数&#xff0c;此函数不带参数和返回值。 实参和形参 函数参数可以有一个或者多个&#xff0c;可以是简单数据…

ASP.NET MVC 整合 Spring.net(1)- Controller进容器

我们都知道Asp.net MVC自有一套执行机制。通过分析MVC的MvcHandler关键代码ProcessRequest protectedinternalvirtualvoidProcessRequest(HttpContextBase httpContext) { AddVersionHeader(httpContext); //Get the controller typestringcontrollerNam…

再读王垠的《编程的智慧》,有怎样的感想?

王垠老师的《编程的智慧》这篇文章已经读了最起码5遍了&#xff0c;最近的项目做完一个阶段&#xff0c;到了把他做干净的时候&#xff0c;也就是优化代码&#xff0c;全面整理的阶段&#xff0c;这个时候我又想起了这篇编程的智慧&#xff0c;有一些启发与大家分享。王垠老师的…

国外流行的五款免费在线图片编辑器评测

也许当你在度假的时候&#xff0c;不喜欢携带着你的笔记本电脑&#xff0c;但你在度假的时候一定会拍照。现在&#xff0c;你可以打理这些照片&#xff0c;甚至还可以在“网络咖啡屋”中进行一些高级的图像编辑。一些基于网络的照片编辑程序在去年逐渐兴起&#xff0c;大多是基…

void 型指针的高阶用法,你掌握了吗?

[导读] 要比较灵活的使用C语言实现一些高层级的框架时&#xff0c;需要掌握一些进阶编程技巧&#xff0c;这篇来谈谈void指针的一些妙用。测试环境采用 IAR for ARM 8.40.1推荐一首中文歌曲<<后来>>&#xff0c;英文翻唱<<life>>来自瑞典歌手Sofia Kal…

电子美图更新36张!

电子美图更新36张&#xff0c;下面请欣赏&#xff01;如果喜欢&#xff0c;请帮忙点“赞”和"在看"哦&#xff01;推荐阅读&#xff1a;专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈关注公众号&#xff0c;后台回复「1024」获取学习资料网盘链接。欢迎点…

C#多线程JOIN方法初探

[说明&#xff1a;刚接触多线程时&#xff0c;弄不明白Join()的作用&#xff0c;查阅了三本书&#xff0c;都不明不白。后来经过自己的一番试验&#xff0c;终于弄清了Join()的本质。大家看看我这种写法是否易懂&#xff0c;是否真的写出了Join()的本质&#xff0c;多提宝贵意见…

STM32F0单片机快速入门八 聊聊 Coolie DMA

1.苦力 DMA世上本没有路&#xff0c;走的人多了&#xff0c;便成了路。世上本没有 DMA&#xff0c;需要搬运的数据多了&#xff0c;便有了 DMA。大多数同学应该没有在项目中用过这个东西&#xff0c;因为一般情况下也真不需要这个东西。在早期的单片机中也不存在DMA模块。再加上…

Python学习之==第三方模块的安装、模块导入

一、模块&包 1、模块 模块实质上就是一个Python文件&#xff0c;它是用来组织代码的。意思就是把Python代码写在里面&#xff0c;文件名就是模块的名称。例如&#xff1a;random.py&#xff0c;random就是模块的名称。 2、包 包又叫pageage&#xff0c;本质就是一个文件夹&…

操作系统中抢占式和非抢占式内核的区别

编排 | strongerHuang微信公众号 | 嵌入式专栏操作系统分为抢占式内核和非抢占式内核&#xff0c;通常RTOS都是抢占式内核。下面就来讲讲抢占式内核和非抢占式内核的内容。非抢占式内核非抢占式内核要求每个任务&#xff08;线程&#xff09;都做一些事情来明确放弃对 CPU 的控…

Python3——简单的TCP实例

Python3网络编程——简单的TCP实例 服务器&#xff1a;创建套接字——绑定服务器地址——监听连接——接受连接——数据接收/发送 客户端&#xff1a;创建套接字——连接服务器地址——数据接收/发送 """ server.py encode()/decode() """ fro…

UDP协议 sendto 和 recvfrom 浅析与示例

图片/在思考的樱木花道UDP&#xff08;user datagram protocol&#xff09;用户数据报协议&#xff0c;属于传输层。UDP是面向非连接的协议&#xff0c;它不与对方建立连接&#xff0c;而是直接把数据报发给对方。UDP无需建立类如三次握手的连接&#xff0c;使得通信效率很高。…

劝你要看一些有门槛的机会

最近发了很多招聘信息&#xff0c;招聘的岗位算不错的&#xff0c;但是投简历的人不多。我想起来刚开始工作那几年&#xff0c;工资虽然很低&#xff0c;但是也不怎么想鞠躬投简历&#xff0c;毕竟那个时候把面子这个事情看的比什么都重要。自己觉得自己有才&#xff0c;不过后…