微处理器及微型计算机的发展概况 第一代微处理器是以Intel公司1971年推出的4004,4040为代表的四位微处理机。 第二代微处理机(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。 第三代微处理机 第三代微机是以16位机为代表,基本上是在第二代微机的基础上发展起来的。其中Intel公司的8088。8086是在8085的基础发展起来的;M68000是Motorola公司在M6800 的基础发展起来的; 第四代微处理机 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU为代表, 第五代微处理机的发展更加迅猛,1993年3月被命名为PENTIUM的微处理机面世,98年PENTIUM 2又被推向市场。 INTEL CPU 发展历史Intel第一块CPU 4004,4位主理器,主频108kHz,运算速度0.06MIPs(Million Instructions Per Second, 每秒百万条指令),集成晶体管2,300个,10微米制造工艺,最大寻址内存640 bytes,生产曰期1971年11月. 8085,8位主理器,主频5M,运算速度0.37MIPs,集成晶体管6,500个,3微米制造工艺,最大寻址内存64KB,生产曰期1976年 8086,16位主理器,主频4.77/8/10MHZ,运算速度0.75MIPs,集成晶体管29,000个,3微米制造工艺,最大寻址内存1MB,生产曰期1978年6月. 80486DX,DX2,DX4,32位主理器,主频25/33/50/66/75/100MHZ,总线频率33/50/66MHZ,运算速度20~60MIPs,集成晶体管1.2M个,1微米制造工艺,168针PGA,最大寻址内存4GB,缓存8/16/32/64KB,生产曰期1989年4月 Celeron一代, 主频266/300MHZ(266/300MHz w/o L2 cache, Covington芯心 (Klamath based),300A/333/366/400/433/466/500/533MHz w/128kB L2 cache, Mendocino核心 (Deschutes-based), 总线频率66MHz,0.25微米制造工艺,生产曰期1998年4月) Pentium 4 (478针),至今分为三种核心:Willamette核心(主频1.5G起,FSB400MHZ,0.18微米制造工艺),Northwood核心(主频1.6G~3.0G,FSB533MHZ,0.13微米制造工艺, 二级缓存512K),Prescott核心(主频2.8G起,FSB800MHZ,0.09微米制造工艺,1M二级缓存,13条全新指令集SSE3),生产曰期2001年7月. 更大的缓存、更高的频率、 超级流水线、分支预测、乱序执行超线程技术 微型计算机组成结构单片机简介单片机即单片机微型计算机,是将计算机主机(CPU、 内存和I/O接口)集成在一小块硅片上的微型机。 三、计算机编程语言的发展概况 机器语言 机器语言就是0,1码语言,是计算机唯一能理解并直接执行的语言。汇编语言 用一些助记符号代替用0,1码描述的某种机器的指令系统,汇编语言就是在此基础上完善起来的。高级语言 BASIC,PASCAL,C语言等等。用高级语言编写的程序称源程序,它们必须通过编译或解释,连接等步骤才能被计算机处理。 面向对象语言 C++,Java等编程语言是面向对象的语言。 1.3 微型计算机中信息的表示及运算基础(一) 十进制ND有十个数码:0~9,逢十进一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加权展开式以10称为基数,各位系数为0~9,10i为权。 一般表达式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二进制NB两个数码:0、1, 逢二进一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加权展开式以2为基数,各位系数为0、1, 2i为权。 一般表达式: NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六进制NH十六个数码0~9、A~F,逢十六进一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展开式以十六为基数,各位系数为0~9,A~F,16i为权。 一般表达式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同进位计数制之间的转换 (二)二进制与十六进制数之间的转换 24=16 ,四位二进制数对应一位十六进制数。举例:(三)十进制数转换成二、十六进制数整数、小数分别转换 1.整数转换法“除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。举例: 2. 小数转换法“乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。举例: 三、带符号数的表示方法 机器数:机器中数的表示形式。真值: 机器数所代表的实际数值。举例:一个8位机器数与它的真值对应关系如下: 真值: X1=+84=+1010100B X2=-84= -1010100B 机器数:[X1]机= 01010100 [X2]机= 11010100(二)原码、反码、补码最高位为符号位,0表示 “+”,1表示“-”。 数值位与真值数值位相同。 例 8位原码机器数: 真值: x1 = +1010100B x2 =- 1010100B 机器数: [x1]原 = 01010100 [x2]原 = 11010100原码表示简单直观,但0的表示不唯一,加减运算复杂。 正数的反码与原码表示相同。 负数反码符号位为 1,数值位为原码数值各位取反。 例 8位反码机器数: x= +4: [x]原= 00000100 [x]反= 00000100 x= -4: [x]原= 10000100 [x]反= 111110113、补码(Two’s Complement)正数的补码表示与原码相同。 负数补码等于2n-abs(x)8位机器数表示的真值四、 二进制编码例:求十进制数876的BCD码 876= 1000 0111 0110 BCD 876= 36CH = 1101101100B 2、字符编码 美国标准信息交换码ASCII码,用于计算 机与计算机、计算机与外设之间传递信息。 3、汉字编码 “国家标准信息交换用汉字编码”(GB2312-80标准),简称国标码。 用两个七位二进制数编码表示一个汉字 例如“巧”字的代码是39H、41H汉字内码例如“巧”字的代码是0B9H、0C1H1·4 运算基础 一、二进制数的运算加法规则:“逢2进1” 减法规则:“借1当2” 乘法规则:“逢0出0,全1出1”二、二—十进制数的加、减运算 BCD数的运算规则 循十进制数的运算规则“逢10进1”。但计算机在进行这种运算时会出现潜在的错误。为了解决BCD数的运算问题,采取调整运算结果的措施:即“加六修正”和“减六修正”例:10001000(BCD)+01101001(BCD) =000101010111(BCD) 1 0 0 0 1 0 0 0 + 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1 + 0 1 1 0 0 1 1 0 ……调整 1 0 1 0 1 0 1 1 1 进位 例: 10001000(BCD)- 01101001(BCD)= 00011001(BCD) 1 0 0 0 1 0 0 0 - 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 - 0 1 1 0 ……调整 0 0 0 1 1 0 0 1 三、 带符号二进制数的运算 1.5 几个重要的数字逻辑电路编码器译码器计数器微机自动工作的条件程序指令顺序存放自动跟踪指令执行1.6 微机基本结构微机结构各部分组成连接方式1、以CPU为中心的双总线结构;2、以内存为中心的双总线结构;3、单总线结构CPU结构管脚特点 1、多功能;2、分时复用内部结构 1、控制; 2、运算; 3、寄存器; 4、地址程序计数器堆栈定义 1、定义;2、管理;3、堆栈形式
上传时间: 2013-10-17
上传用户:erkuizhang
随着HDL Hardware Description Language 硬件描述语言语言综合工具及其它相关工具的推广使广大设计工程师从以往烦琐的画原理图连线等工作解脱开来能够将工作重心转移到功能实现上极大地提高了工作效率任何事务都是一分为二的有利就有弊我们发现现在越来越多的工程师不关心自己的电路实现形式以为我只要将功能描述正确其它事情交给工具就行了在这种思想影响下工程师在用HDL语言描述电路时脑袋里没有任何电路概念或者非常模糊也不清楚自己写的代码综合出来之后是什么样子映射到芯片中又会是什么样子有没有充分利用到FPGA的一些特殊资源遇到问题立刻想到的是换速度更快容量更大的FPGA器件导致物料成本上升更为要命的是由于不了解器件结构更不了解与器件结构紧密相关的设计技巧过分依赖综合等工具工具不行自己也就束手无策导致问题迟迟不能解决从而严重影响开发周期导致开发成本急剧上升 目前我们的设计规模越来越庞大动辄上百万门几百万门的电路屡见不鲜同时我们所采用的器件工艺越来越先进已经步入深亚微米时代而在对待深亚微米的器件上我们的设计方法将不可避免地发生变化要更多地关注以前很少关注的线延时我相信ASIC设计以后也会如此此时如果我们不在设计方法设计技巧上有所提高是无法面对这些庞大的基于深亚微米技术的电路设计而且现在的竞争越来越激励从节约公司成本角度出 也要求我们尽可能在比较小的器件里完成比较多的功能 本文从澄清一些错误认识开始从FPGA器件结构出发以速度路径延时大小和面积资源占用率为主题描述在FPGA设计过程中应当注意的问题和可以采用的设计技巧本文对读者的技能基本要求是熟悉数字电路基本知识如加法器计数器RAM等熟悉基本的同步电路设计方法熟悉HDL语言对FPGA的结构有所了解对FPGA设计流程比较了解
上传时间: 2013-11-06
上传用户:asdfasdfd
随着HDL Hardware Description Language 硬件描述语言语言综合工具及其它相关工具的推广使广大设计工程师从以往烦琐的画原理图连线等工作解脱开来能够将工作重心转移到功能实现上极大地提高了工作效率任何事务都是一分为二的有利就有弊我们发现现在越来越多的工程师不关心自己的电路实现形式以为我只要将功能描述正确其它事情交给工具就行了在这种思想影响下工程师在用HDL语言描述电路时脑袋里没有任何电路概念或者非常模糊也不清楚自己写的代码综合出来之后是什么样子映射到芯片中又会是什么样子有没有充分利用到FPGA的一些特殊资源遇到问题立刻想到的是换速度更快容量更大的FPGA器件导致物料成本上升更为要命的是由于不了解器件结构更不了解与器件结构紧密相关的设计技巧过分依赖综合等工具工具不行自己也就束手无策导致问题迟迟不能解决从而严重影响开发周期导致开发成本急剧上升 目前我们的设计规模越来越庞大动辄上百万门几百万门的电路屡见不鲜同时我们所采用的器件工艺越来越先进已经步入深亚微米时代而在对待深亚微米的器件上我们的设计方法将不可避免地发生变化要更多地关注以前很少关注的线延时我相信ASIC设计以后也会如此此时如果我们不在设计方法设计技巧上有所提高是无法面对这些庞大的基于深亚微米技术的电路设计而且现在的竞争越来越激励从节约公司成本角度出 也要求我们尽可能在比较小的器件里完成比较多的功能 本文从澄清一些错误认识开始从FPGA器件结构出发以速度路径延时大小和面积资源占用率为主题描述在FPGA设计过程中应当注意的问题和可以采用的设计技巧本文对读者的技能基本要求是熟悉数字电路基本知识如加法器计数器RAM等熟悉基本的同步电路设计方法熟悉HDL语言对FPGA的结构有所了解对FPGA设计流程比较了解
上传时间: 2015-01-02
上传用户:refent
一个很好的微工作流内核,将工作流思想应用于应用系统级别上,提高代码服用率。
标签: 内核
上传时间: 2013-12-17
上传用户:ccclll
编译原理的一部分,语义分析代码,请大家
上传时间: 2014-01-09
上传用户:蠢蠢66
编译原理课程设计,语法分析代码,可实现文件读入和输出,并显示在窗口中.
标签: 编译原理
上传时间: 2016-06-26
上传用户:zhengzg
用OV7720制作摄像头的详细电路原理图 ,以及初始化代码,使用范例。
上传时间: 2014-01-04
上传用户:海陆空653
linux内核完全注释,包括了 LINUX 工作原理的精髓,通过阅读其源代码能快速地完全理解内核的运作机制。 依据内核源代码的组织结构对所有内核程序和文件进行 了注释和详细说明。
上传时间: 2016-12-28
上传用户:sevenbestfei
软件学院学生编译原理课程实验,中间器代码生成器设计,输入算术表达式,输出语法分析结果及相应的四元式序列
上传时间: 2017-02-17
上传用户:qiao8960
在内核运行之前需要系统引导程序(Bootloader)完成加载内核和一些辅助性的工作,然后跳转到内核代码的起始地址并执行。ARM.Linux启动分析v1.doc
标签: Bootloader 内核 运行 系统引导
上传时间: 2013-12-19
上传用户:familiarsmile