4004

article/2025/11/5 3:18:10

image

404这个数字,也许是你在浏览网页的时候会经常碰到的数字,一旦看到它In微处理器是现代计算机的核心。它们是可编程的,意味着它们可以被执行给定的编程指令,并返回执行结果。

image

在它们被发明之前, 完成同样的工作需要许多个电子芯片协同工作才行,这些器件往往被组装在多个机柜中。

你所不知道的是,现在以生产处理器闻名于世的Intel公司最初在它推出4004微处理器之前是一家生产

计算机内存的公司。

在1969年末的时候,当时属于日本一家计算机公司,Busicom,为了生产一款141-PF型数字计算机,与Intel签署商业合同,要求Intel公司为其定制十几种专用芯片。

image

当时Intel公司人员匮乏,居然没有人能够来完成书面合同内容形成文档,这就使得当时Intel公司的Faggin和他的研究团队思考新的解决方案。抛弃了原本需要多个芯片组成完成的方案,转而提出一个基于单个芯片,通过软件编程就能够实现通用计算器所需要的十二项功能的目标。

由此就诞生了世界上第一片半导体微处理芯片4004。它由2250个晶体管组成。与其功能相同的世界上第一台电子管计算机ENIAC,它的组成部件却要占据一间大的机房。相比之下,这片微处理器芯片的诞生的确具有划时代意义。

image

与现在的计算机动辄数千兆赫兹(10的9次方)的运行速度不同,当时的4004处理器运行时钟频率仅仅为740Hz。

当时的4004也只是一片CPU,即中央处理器。真正要完成计算器MCS-4的功能,还需要配备其他辅助芯片,比如需要256字节的ROM芯片4001,40字节的RAM芯片4002,具有IO功能的移位寄存器芯片4003。这些芯片的不同的组合可以形成不同性能的计算机。

image

由此可以看出,原来第一个微处理芯片型号命名为4004,仅仅指它的芯片序列位于这套芯片组件的第四位而已。

当Intel意识到这是当时世界上第一片将可编程计算机功能集成在一片半导体芯片中的时候,它明智的将当时即将破产的Busicom的知识产权购买下,并出售这套功能强大的通用商用芯片。

可以看出第一片半导体微处理器是当时Intel公司为了完成一个商用设计合同,顺便做出的一套新的计算机架构。

image

在1971年11月,距离现在近半个世纪之前,Intel出售4004微处理价格为60美元。实际上在此半年前即3月份,就已经有销售订单了。

1971年的一颗半导体芯片60美元,对比一下现在的微处理器可谓是天价了。

尽管这款Intel的4004四位处理器在计算机历史上占有重要的地位,但论资排辈,它还算不上第一个半导体微处理器芯片。

第一颗微处理器芯片的荣誉应该归功于MP-944,这是当时美国空军飞机F-14向中央处理器芯片。

image

在此之前来自TI公司的TMS1000半导体微处理器也已经完成的实际的设计,这也早于Intel公司的4004的出售时间。只不过TI公司知道1974年才开始向

公众出售它的微处理器产品。在生产了4004微处理器之后,Intel公司相继推出了4040, 8008, 8080以及其他后续的产品,直到8086准16位微处理器横空出世,它终将成就了Intel公司的x86微处理器系列,这成为了后来大多数台式电脑中的核心部件,并将这个传统一直延续至今。image

在2006年,为庆祝4004诞生35周年的期间,Intel公司展出了这款CPU的很多详细的技术细节。包括有芯片的原理图、掩模图以及其他相关设计技术文档。

也许每个人都会对这款首次被大众商用使用的4004型号CPU相关信息感兴趣,可以到Intel官方网站查阅。请注意,当时这款CPU采用了10微米的工艺,而现在Intel处理器的工艺大都已经到达10纳米了。

image

这段历史也许对于现在的学生没有什么感觉,但是对与其同龄的我来说,看到这个短片中的内容,心情是无比的激动的。

image

公众号留言卓大大,你好,我是哈尔滨工程大学自动化学院的一名学生,也是之前您在公众号里演示双车三轮和直立递交接力棒的“车主”我第一年做智能车,同组的学长大三了,是他最后一年做这个比赛了,真心希望十五届能好好办下去,知道您也在尽力去争取,希望让我们

不留遗憾,飞卡不散!

image

image

卓大大,我们已经解决出库入库问题了。

image


http://chatgpt.dhexx.cn/article/fOrQCnsm.shtml

相关文章

uniapp连接蓝牙相关问题

设备蓝牙连接成功, 获取不到设备蓝牙服务列表? 这种情况一般会接收到uniapp的错误码(10004), 我们可以前往uniapp官网API模块查看错误码信息,查看后可以得知错误码10004是没有找到指定服务. 我们可以详细看下获取所有服务的api -----uni.getBLEDeviceServices(OBJECT) 示例…

1002

描述 Description   在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整…

编号10004 dba(p5-p7)

工作职责: 1、对数据库进行容量规划、架构设计,提高业务高可用性和容灾能力; 2、负责数据库相关工作的整体规划,提供决策建议; 3、维护数据库稳定运行,持续发现和解决潜在的问题; 4、负责数据库的性能优化,使用新技术和新架构满足…

UVa 10004 - Bicoloring

10004 - Bicoloring32340 42.67% 8939 86.93% 题目链接: http://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&category105 题目类型:搜索 题目: In 1976 the Four Color Map Theorem" was proven with the…

SemanticException [Error 10004]: line 14:13 Invalid table alias or column reference ‘a‘: .....

原查询如下: with table1 as (SELECT a.mid, a.summary_time as summary_time FROM hst_dwd.dwd_member_consume_info a, hst_dwd.dwd_business_info b WHERE a.business_id b.business_id AND a.market_id 218 AND b.type_id 4 ) select…

SemanticException [Error 10004]: Line 1:30 Invalid table alias or column reference ‘customers_state‘

项目场景: hive sql 语句 执行报错 问题描述: SemanticException [Error 10004]: Line 1:30 Invalid table alias or column reference ‘customers_state’: (possible column names are: customer_id, customer_fname, customer_lname, customer_em…

hive sql报错:SQL 错误 [10004] [42000]: Error while compiling statement: FAILED: SemanticException [Error

SQL 错误 [10004] [42000]: Error while compiling statement: FAILED: SemanticException [Error 10004]: Line 64:0 Invalid table alias or column reference ‘T4’: (possible column names are: order_id, order_status, update_time, charge_id, charge_status, station…

【JavaScript】清空数组的三种方式

方式1,splice var ary [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的&#xff…

js-清空array数组

三种实现方式 1.splice:删除元素并添加新元素,直接对数组进行修改,返回含有被删除元素的数组。 arrayObject.splice(index,howmany,element1,…,elementX) index:必选,规定从何处添加/删除元素。 howmany:…

Vue中实现清空数组和清空el-table

场景 要实现的效果是 那么就要用到怎样将这个el-table清空,即在vue中怎样将数组清空。 注: 博客:https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 首先将这个el-tab…

JavaScript清空数组的三种方法

1、用“length”清除 用length方法可以很轻松地清空数组,代码示例: var arr [1,2,3]; console.log(arr); arr.length 0; console.log(arr); 结果如下: 2、用“splice”清除 splice() 方法向/从数组中添加/删除项目,然后返回…

JavaScript中清空数组最有效的三种方法

文章目录 1、用“length”清除2、用“splice”清除3、用“[]”清除 1、用“length”清除 用length方法可以很轻松地清空数组,代码示例: var arr [1,2,3]; 1 console.log(arr); arr.length 0; console.log(arr); 123结果如下: 2、用“spli…

MVEL快速入门—MVEL属性和文字讲解(二)

相关文章 🔥 MVEL快速入门—MVEL基础语法讲解(一) 以下为今日内容: 属性信息 MVEL的属性信息保持了其他bean一般通常使用的形式,略有区别的是,MVEL为访问属性、静态信息、Map等提供了统一的访问形式 Bea…

MVEL快速入门—MVEL基础语法讲解(一)

概述 MVEL是从英文翻译而来的,MVFLEX表达式语言是Java平台的动态/静态混合类型的运行时可嵌入表达式语言。该项目最初是作为应用程序框架的实用语言开始的,现在已完全独立开发。MVEL通常用于通过XML文件或注释等配置将基本逻辑公开给最终用户和程序员。它…

MVEL快速入门—MVEL流程控制和高级功能(三)

之前文章 MVEL快速入门—MVEL基础语法讲解(一) MVEL快速入门—MVEL属性和文字讲解(二) 流程控制 实际上MVEL的表达形式不仅仅局限于简单的表达式,他还支持流程控制。使我们能够执行高级的脚本。 if - then - else M…

int 类型和double类型数值转换

类型自动转换规则: 参与运算(算数运算和赋值运算)操作数和结果类型必须一致, 不一致时启动隐式转换: 两种类型兼容:int 和double兼容(都是数字类型) 目标类型大于原类型 Int 类型取值…

double转int精度丢失问题

先来看一下精度丢失的现象&#xff1a; #include <iostream> #include <cmath> using namespace std;int main() {double a 74.46;int b a * 100;cout << "a: " << a << " b: " << b <<endl;return 0; }结果…

double转换成int java,Java将double转换为int

本文概述 我们可以使用类型转换在Java中将double转换为int。要将double数据类型转换为int, 我们需要执行类型转换。 Java中的类型转换通过类型转换运算符(数据类型)执行。 在这里, 我们将学习如何将double基本类型转换为int以及将Double对象转换为int。 Java double to int示例…

int 转 double 的一个坑

int 转 double 的一个坑 首先&#xff0c;看这样这个语句 int max (int) Math.pow(2, 31);输出的应该是 2 32 2^{32} 232 的值&#xff0c;我们看运行结果 我们再看看科学计算器算出来的 这个时候问题就出来了&#xff0c;我们对比发现&#xff0c;结果相差1。 这里就是一个…