CPU架构详解
微处理器分为三类的划分
微处理器主要可以分为三类:
- 通用高性能微处理器(通用CPU)
通用处理器追求高性能,它们用于运行通用软件,配备完备、复杂的操作系统。
通用微处理器一般指的是服务器用和桌面计算用的CPU芯片。目前,Intel 的CPU和其兼容产品统治着微型计算机的大半江山,这类微处理器主要采用x86构架的CISC(Complex Instruction Set Comouter)指令系统,同时,IBM、HP (COMPAO)等公司也有使用RISC指令系统的微处理器。
传统上,实现高性能的方法主要是开发指令级并行性(ILP)。以Intel x86为代表的CISC体系结构以超流水结构为提高性能的主要手段,这种结构将指令流水线划分成更简单的流水级以提高时钟速率。而RISC芯片则采用超标量结构为提高处理器性能的主要手段,这种结构在指令界面上保持与RISC结构兼容,但在内部由硬件做动态调度,实现多个操作的并行执行。目前,CISC与 RISC微处理器在发展的过程中都从对方借鉴了很多东西来进一步提高性能,两者在体系结构上的界限已越来越模糊。
- 嵌入式微处理器和DSP处理器
嵌入式微处理器和DSP处理器强调处理特定应用问题的高性能,主要用于运行面向特定领域的专用程序,配备轻量级操作系统,用于蜂窝电话、CD播放机等消费类家电;
嵌入式微处理器(EMPU)由通用计算机中的CPU演变而来的,主要特点是具有32位以上的处理器,具有比较高的性能,价格也较高。与计算机CPU不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其它的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求,和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。通常嵌入式微处理器把CPU、ROM、RAM及I/O等元件做到同一个芯片上,也称为单板计算机。
- 嵌入式微控制器
嵌入式微控制器价位相对较低,在微处理器市场需求量最大,主要用于汽车、空调、自动机械等领域的自控设备。此外,为了满足嵌入式应用的特殊要求,嵌入式CPU在工作温度、抗电磁干扰、可靠性等方面相对通用CPU都做了各种增强。
注:其中2,3统称嵌入式CPU。
单片机,英文名Microcontrollers。
单片机诞生于1971年,经历了SCM(Single Chip Microcomputer,SCM)、MCU(Micro Controller Unit,MCU)、SoC(System on Chip)三大阶段,早期的SCM(Single Chip Microcomputer,SCM)单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列MCU系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。高端的32位Soc单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。
计算机发展五代
1946年2月15日,世界上第一台电子数字计算机在美国宾夕法尼亚大学问世,这台电子计算机叫“ENIAC
计算机的五代变化。其内存:水银延迟线(Mercury Delay Line)存储装置——二战期间为军用雷达开发的一种存储装置作为内存,脉冲信号从管子一端进入,转换成超声波,960ms后超声波到达管子的另一端,然后再转换成电信号输出。
- 第一代为1946—1958年,电子管计算机:数据处理
这一时期,美籍匈牙利科学家冯·诺伊曼提出了“程序存储”的概念,基本思想是把一些常用的基本操作都制成电路,每一个这样的操作都采用一个特定的数表示,这个数就可以指令计算机执行某项操作。“程序存储”使得全部计算成为真正的自动过程,它的出现被誉为电子计算机史上的里程碑,这种类型的计算机也被后人称为“冯·诺伊曼机”。
冯·诺依曼体系的两个重要设想:存储程序和采用二进制
- 第二代为1958—1964年,晶体管计算机:工业控制
在此期间,工业控制机开始得到应用。
- 第三代为1965—1970年,中小规模集成电路计算机:小型计算机
以中、小规模集成电路为主要电路元器件的电子计算机,它以1964年美国 IBM360 系列机为标志,其主存储器为磁芯或磁膜存储器,外存储器为磁鼓存储器、磁带存储器或磁盘存储器。操作系统得到进一步普及与发展。小型计算机开始出现。
- 第四代为1971—1990年,大规模和超大规模集成电路计算机:微型计算机
以大规模或超大规模集成电路为主要电路元器件的电子计算机。它以1970年美国IBM370系列机为标志。其主存储器是半导体集成电路存储器,外存储器是磁带存储器、磁盘存储器以及电荷耦合器件等。第四代计算机使电子计算机向两个方向发展:1.巨型计算机,2.微处理机以及以微处理机为核心的微型计算机。
- 第五代为1991年开始,第五代计算机又称“知识信息处理系统”(KIPS)巨大规模集成电路计算机:单片机
第五代计算机又称“知识信息处理系统”(KIPS),同时由一片巨大规模集成电路实现的单片计算机开始出现
Intel CPU发展史
CPU的定义:中央处理器(Central Processing Unit,CPU)是指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU 可以集成在一个半导体芯片上,这种有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。
X86架构:
x86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,x86架构于1978年推出的Intel 8086中央处理器中首度出现。x86架构是可变指令长度的CISC体系结构。字组(word, 4字节)长度的存储器访问允许不对齐存储器地址,字组是以低位字节在前的顺序储存在存储器中。向前兼容性一直都是在x86架构的发展背后一股驱动力量。但在较新的微架构中,x86处理器会把x86指令转换为更像RISC的微指令再予执行,从而获得可与RISC比拟的超标量性能,而仍然保持向前兼容。
x86架构的处理器一共有四种执行模式,分别是实时模式,保护模式,系统管理模式以及虚拟V86模式。
AMD主动把32位x86(或称为IA-32)扩充为64位, x86-64出现了,即AMD64架构,且以这个技术为基础的第一个产品是单内核的Opteron和Athlon 64处理器家族。由于AMD的64位处理器产品线首先进入市场,且微软也不愿意为Intel和AMD开发两套不同的64位操作系统,Intel也被迫采纳AMD64指令集且增加某些新的扩充到他们自己的产品,命名为EM64T架构,后被Intel正式更名为Intel 64。
第一代:
Intel 4004:
1971年11月15日,Intel公司工程师霍夫和费金发明了世界第一个商用微处理器—Intel 4004,集成度高,集成晶体管2300只,而且是第一个将CPU的所有元件都放入同一块芯片内的产品,于是微处理器诞生了。
Intel C8008:
Intel C8008为世界上第一款八位微处理器。8008共推出两种速度,0.5 Mhz以及0.8 Mhz,虽然比4004的工作时脉慢,不过因为是八位元处理器(比起4004的四位元),整体效能要比4004好上许多。8008可以支援到16KB的内存。
X86构架开始(第二代微处理器):
1974年,8008发展成8080,成为第二代微处理器。1978年英特尔公司生产的8086是第一个16位的微处理器。这就是第三代微处理器的起点。1979年,英特尔公司又开发出了8088而且英特尔在后续CPU的命名上沿用了原先的x86序列,直到后来因商标注册问题,才放弃了继续用阿拉伯数字命名。1981年,美国IBM公司将8088芯片用于其研制的PC机中,从而开创了全新的微机时代。也正是从8088开始,个人电脑(PC)的概念开始在全世界范围内发展起来。
Intel 80286:
1982年,英特尔公司在8086的基础上,研制出了80286微处理器, 8086~80286这个时代是个人电脑起步的时代,Intel 80286也是Intel最后一块16位CPU。
Intel 80386:
1985年秋,Intel再度推出了Intel 80386处理器。它是Intel第一款32位处理器,集成275000只晶体管,超过4004芯片的一百倍,每秒处理500万条指令,它是具有“多任务”功能的处理器,可以同时处理多个程序程序的指令,这对微软的操作系统发展有着重要的影响。80386最经典的产品为80386DX-33MHz,一般我们说的80386就是指它。80386使32位CPU成为了PC工业的标准。笔记本电脑设计的移动处理器:1989年,Intel的80386SL/80386DL才算首批专为笔记本电脑设计的移动处理器(主频16MHz起、工作电压3.3V)。
Intel 80486:1989年,推出Intel 80486,这是intel最后一代以数字编号的CPU。
Intel 486DX:1995年,33MHz的486SL和250MHz的486DX因为性价比高,成为了市场低价机型的首选。
Pentium,传说中的586:
1993年3月22日:全面超越486的新一代586 CPU问世,为了摆脱486时代微处理器名称混乱的困扰,英特尔公司把自己的新一代产品命名为Pentium(奔腾)以区别AMD和Cyrix的产品,此外还推出了Pentium Pro,Pentium MMX等。
PentiumII处理器:
1997年5月7日,英特尔发布Pentium II 233MHz、Pentium II 266MHz、Pentium II 300MHz三款PII处理器,采用0.35微米工艺技术,核心提升到750万晶体管组成。采用SLOT1架构,引入了S.E.C封装(Single Edge Contact)技术,将高速缓存与处理器整合在一块PCB板上 ,二级高速缓存的工作速度是处理器内核工作速度的一半;处理器采用与Pentium PRO相同的动态执行技术,通过双重独立总线与系统总线相连,进行多重数据交换,提高系统性能;PentiumII也包含MMX指令集。Intel此举希望用SLOT1构架的专利将AMD等一棍打死,可没想到Socket 7平台在以AMD的K6-2为首的处理器的支持下,走入了另一个春天。而从此开始,Intel也开始走上了一条前途不明的道路,开始频繁的强行制定自己的标准,企图借此迅速挤垮竞争对手,但市场与用户的需要使得Intel开始不断的陷入被动和不利的局面。
Celeron 300A:
1998年8月24日,热爱硬件的人们都会无法忘记的日子,Intel推出了装有二级高速缓存的赛扬A处理器,这就是日后被众多DIYer捧上神坛的赛扬300A,一个让经典不能再经典的型号。赛扬300A,从某种意义上已经是Intel的第二代赛扬处理器。第一代的赛扬处理器仅仅拥有266MHz、300MHz两种版本,第一代的Celeron处理器由于不拥有任何的二级缓存,虽然有效的降低了成本,但是性能也无法让人满意。为了弥补性能上的不足,Intel终于首次推出带有二级缓存的赛扬处理器——采用Mendocino核心的Celeron300A、333、366。经典,从此诞生。赛扬300A的经典,并不仅仅是因为它的超频(多数赛扬300A可以轻松超频至550MHZ),还在于赛扬300A的超频性几乎造就了一条专门为它而生的产业链,主板、转接卡......有多少这样的产品就为了赛扬300A而生。一时间,报纸杂志网络媒体都在讨论这款Celeron300A的超频方式、技巧、配合主板、内存等等。DIY的超频时代正式到临。
Pentium III:1999年2月26日,英特尔发布Pentium III 450MHz、Pentium III 500MHz处理器,同时采用了0.25微米工艺技术,核心由950万个晶体管组成,从此INTEL开始踏上了PIII旅程。
AMD K6-III:1999年2月22日:AMD 发布K6-III 400MHz 版本,在一些测试中,它的性能超越了后来发布的Intel Pentium III 。
Pentium III tualatin/coppermine Socket 370:
Pentium III光是桌上型就拥有Katmai Slot 1 、Coppermine Slot 1以及Coppermine Socket 370等三种不同的系列。后期,英特尔放弃插卡式界面而又回归到插槽界面(Socket 370)
Pentium 4:
2000年11月21日,Intel 全球同步发布了新一代的微处理器Pentium4(奔腾4)。Pentium 4处理器, Socket 423接口,原始代号为 Willamette,采用0.18微米铝导线工艺,配合低温半导体介质(Low-Kdiclcctric)技术制成,是一颗具有超级深层次管线化架构的处理器。Pentium 4处理器最主要的特点就是抛弃了Intel沿用了多年的P6结构,采用了新的 NetBurst CPU结构 。NetBurst结构具有不少明显的优点:20段的超级流水线、高效的乱序执行功能、2倍速的ALU、新型的片上缓存、SSE2指令扩展集和400MHz的前端总线等。从P4开始,Intel已不再每一两年就推出全新命名的中央处理器芯片(CPU),反而一再使用 Pentium 4这个名字,这个作法,导致 Pentium 4这个家族有一堆兄弟姊妹,而且这个P4家族延续了五年。
但是Pentium 4(Willamette)致命弱点:耗电惊人、它的发热量很大、频率提升困难、它的二级缓存只有256KB,超深的处理流水线使得总体性能并不理想。Socket 423不兼容的封装,升级困难且只能使用Rambus这个怪物内存,双通道的Rambus内存达到了前所未有的2.5GB/S的内存数据带宽,但是由于Rambus内存价格昂贵所以使得早期P4平台相当昂贵。
Northwood核心的Celeron全部都是400MHz FSB,Prescott核心的Celeron D,Smithfield核心的Pentium EE 840是800MHz FSB,而Presler核心的Pentium EE 955和965都是1066MHz FSB。
2002年11月,Intel推出了超线程(HT)技术,采用130nm制造工艺。2003年11月,Intel推出了支持HT技术,具有512KB的L2高速缓存,2MB 的L3高速缓存和800MHz系统总线的P4处理器至强版(XEON)。
Core 2 Duo:
Core 2 Duo改变了以Pentium命名处理器的传统,不在有奔腾5、6的叫法了。英文名是Core,服务器版开发代号为Woodcrest,桌面版开发代号为Conroe,移动版开发代号为Merom,分双核、四核、八核三种。 桌面平台的Core 2 Duo E4x00系列800MHz FSB,E6x00系列大部分都是1066MHz, E8x00系列则是1333MHz。
Core i3/i5/i7:
2010年6月份,Intel发布革命性的处理器——第二代Core i3/i5/i7。第二代Corei3/i5/i7隶属于第二代智能酷睿家族,全部基于全新的Sandy Bridge微架构,相比第一代产品主要带来五点重要革新: 1、采用全新32nm的Sandy Bridge微架构,更低功耗、更强性能。 2、内置高性能GPU(核芯显卡),视频编码、图形性能更强。 3、睿频加速技术2.0,更智能、更高效能。 4、引入全新环形架构,带来更高带宽与更低延迟。 5、全新的AVX、AES指令集,加强浮点运算与加密解密运算。
冯·诺依曼结构 哈佛结构(改进型哈佛结构)
计算机的体系结构称为冯诺依曼结构,可以把计算机演变为五大结构。冯诺依曼体系结构认为,计算机是存储程序和程序控制的电子设备,那么根据这一体系结构,可以清楚的看到计算机分为五大部件,分别是存储器,控制器,运算器,外加输入设备和输出设备。
计算机系统的组成结构:
计算机系统的硬件构成:
典型计算机系统的硬件构成,如图所示。其中包括由微处理器芯片构成的中央处理机(CPU)、存储器(memory)和输入输出(IO)子系统三个主要组成部分,用系统总线把它们连接在一起。
CPU硬件设计结构:
冯·诺依曼结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。冯诺依曼结构框图如下:
冯·诺依曼体系结构:
冯·诺依曼体系结构由以下几个关键概念:
1)计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成!!!
2)数据与指令存储在单一的读写存储器中!!!
3)存储器的内容通过位置寻址,而不考虑它容纳的数据是什么;
4)以顺序的形式从一条指令到下一条指令来执行(跳转指令除外)。
在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。对冯·诺依曼结构处理器由于取指令和存取数据需要从同一存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个,这种指令和数据共享同一总线的结构,使得信息流的传输成为限制计算机性能的瓶颈,影响了数据处理速度的提高。
CPU硬件设计结构(哈佛结构):
- 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。与两个存储器相对应的是系统的四条总线,即程序的数据总线与地址总线,数据的数据总线与地址总线,
- 改进型哈佛结构仍然使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理。改进型哈佛结构具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输,两条总线由程序存储器和数据存储器分时共用。
硬件体系结构·总结:
考题:那些CPU采用的是哪些结构?
体系结构与采用的独立与否的总线无关,与指令空间和数据空间的分开独立与否有关。51单片机虽然数据指令存储区是分开的,但总线是分时复用得,所以属于改进型的哈佛结构。ARM9虽然是哈佛结构,但是之前的版本(ARM7)也还是冯·诺依曼结构。早期的x86能迅速占有市场,一条很重要的原因,正是靠了冯·诺依曼这种实现简单,成本低的总线结构。现在的处理器虽然外部总线上看是冯·诺依曼结构,但是由于内部cache的存在,因此实际上内部来看已经很类似于改进型哈佛结构了。由于哈佛结构复杂,对外围设备的连接与处理要求高,不适合外围存储器的扩展,所以早期通用CPU难以采用这种结构。而嵌入式CPU内部集成了所需存储器,所以便于采用哈佛结构,现在的处理器依托cache的存在,已经很好的将二者统一起来了。
存储器(memory)
存储器是计算机的记忆部件。人们编写的程序(由指令序列组成)就存放在这里。它也可以存放程序中所用的数据、信息及中间结果。存储器的主要功能是用来保存各类程序的数据信息。
存储器分为主存储器和辅助存储器两类:
- 主存储器(也称为内存储器),属于主机的一部分。用于存放系统当前正在执行的数据和程序,属于临时存储器;
- 辅助存储器(也称外存储器),它属于外部设备。用于存放暂不用的数据和程序,属于永久存储器。
输入输出(I/O)子系统
输入输出子系统一般包括输入输出设备及大容量存储器两类外部设备。
输入输出设备是指负责与计算机的外部世界通信用的输入、输出设备,如显示终端、键盘输入、打印输出等多种类型的外部设备。
大容量存储器则是指可存储大量信息的外部存储器,如磁盘、磁带、光盘等。机器内部的存储器则称为内存储器,简称内存,由于内存的容量有限,所以计算机用外存储器作为内存的后援设备,它的容量可以比内存大很多,但存取信息的速度要比内存慢得多。所以,除必要的系统程序外,一般程序(包括数据)是存放在外存中得。只有当运行时,才把它从外存传送到内存的某个区域,再由中央处理机控制执行。
系统总线
系统总线把中央处理器、存储器和输入输出设备连接在起来,用来传送各部分之间的信息。系统总线包括数据线、地址线和控制线三组。
- 数据线传送信息
- 地址线指出信息的来源和目的地
- 控制线则规定总线的动作,如方向等。系统总线的工作由总线控制逻辑负责指挥。
计算机软件层次图
计算机软件层次
- 系统软件的核心称为操作系统(operating system)。操作系统是系统程序的集合,它的主要作用是对系统的硬、软件资源进行合理的管理,为用户创造方便、有效和可靠的计算机工作环境。
- 操作系统的主要部分是常驻监督程序(resident monitor),只要一开机它就存在于内存中,它可以从用户接受命令,并使操作系统执行相应的动作。
- 文件管理程序(file management)用来处理存储在外存储器中的大量信息,它可以和外存储器的设备驱动程序相连接,对存储在其中的信息以文件(file)的形式进行存取、复制及其他管理操作。
- I/O驱动程序(I/O driver)用来对I/O设备进行控制或管理。当系统程序或用户程序需要使用I/O设备时,就调用I/O驱动程序来对设备发出命令,完成CPU和I/O设备之间的信息传送。
- 调试程序(debug)是系统提供给用户的能监督和控制用户程序的一种工具。它可以装入、修改、显示或逐条执行一个程序。微机的汇编语言程序可以通过DEBUG来调试,完成建立、修改和执行等工作。
- 文本编辑程序(text editor)用来建立、输入或修改文本,并使它存入内存储器或大容量存储器中。文本是由字母、数字、符号等组成的信息,它可以是一个用汇编语言或高级语言编写的程序,也可以是一组数据或一份报告。
- 系统程序中的翻译程序(translator)包括汇编程序、解释程序和编译程序。计算机是通过逐条地执行组成程序的指令来完成人们所给予任务的,所以指令就是计算机所能识别并能直接加以执行的语句,当然它是由二进制代码组成的。这种语言称为机器语言,它对于人们显然是不方便的。既然计算机能识别的唯一语言是机器语言,而用这种语言编写程序又很不方便,所以在计算机语言的发展过程中就出现了汇编语言和高级语言。汇编语言是一种符号语言,它和机器语言几乎一一对应,但在书写时却使用由字符串组成的助记符。例如,加法在汇编语言中一般时用助记符ADD表示的,而机器语言则用二进制代码来表示。显然,相对机器语言来说,汇编语言是易于为人们所理解的,但计算机却不能直接识别汇编语言。汇编程序就是用来把由用户编制的汇编语言程序翻译成机器语言程序的一种系统程序。微机的汇编程序有多种版本,如MASM、TASM等。MASM为Microsoft公司开发的汇编程序,TASM(Turbo Assembler)则为Borland公司开发的汇编程序,它们都具有较强的功能和宏汇编能力。
- 高级语言脱离开机器指令用人们更加易于理解的方式来编写程序,当然它们也要翻译成机器语言才能在机器上执行。高级语言的翻译程序有两种方式:一种是先把高级语言程序翻译成机器语言程序,然后再在机器上执行,这种翻译程序称为编译程序(compiler),多数高级编程语言如PASCAL、FORTRAN、C、C++、Java、C#等通过编译程序把编写的程序转换为汇编指令(assembly instruction),然后再转换为可执行的机器语言。另一种是直接在机器上运行高级语言程序,一边解释一边执行,这种翻译程序称为解释程序(interpreter),如BASIC、dBASE就经常采用这种方式。
- 连接程序(linker)用来把要执行的程序与库文件或其他已经翻译好的子程序(能完成一种独立功能的程序模块)连接在一起,形成机器能执行的程序。
- 装入程序(loader)用来把程序从外存储器传送到内存储器,以便机器执行。例如,计算机开机后就需要立即启动装入程序把常驻监督程序装入存储器,使机器运转起来。又如,用户程序经翻译和连接后,由连接程序直接调用装入程序,把可执行的用户程序装入内存以便执行。
- 系统程序库(system library)和用户程序库(user library),各种标准程序、子程序和一些文件的集合称为程序库,它可以被系统程序或用户程序调用。操作系统还允许用户建立程序库,以提高不同类型用户的工作效率。
计算机的系统层次结构
- 第1级是微程序设计或逻辑电路级。这是一个实在的硬件级,由硬件直接执行。如果某一个应用程序直接用微指令来编写,那么可在这一级上运行应用程序。
- 第2级是一般机器级,也称为机器语言级,它由微程序 解释机器指令系统。这一级也是硬件级。
- 第3级是操作系统级,它由操作系统程序实现。这些操作系统由机器指令和广义指令组成,广义指令是 操作系统定义和解释 的软件指令,所以这一级也称为混合级。
- 第4级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性。这一级由汇编程序支持和执行。如果应用程序采用汇编语言编写时,则机器必须要有这一级的功能;如果应用程序不采用汇编语言编写,则这一级可以不要。
- 第5级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的。这一级由各种高级语言编译程序支持和执行。
第一章思考与习题
1、根据微处理器的应用领域,微处理器大致可分为哪三类?分别说说他们的用途?
微处理器主要分为三类,分别是通用高性能处理器,嵌入式微处理器和DSP处理器和嵌入式微控制器。微处理器用于软件,配备完备,复杂的操作系统。嵌入式微处理器和DS处理器只保留了和嵌入式应用相关的硬件,去除了其他冗余功能的部分,面向专用程序和轻量级操作系统,蜂窝电话等等。嵌入式微控制器主要用于汽车、空调自动化领域的自控设备上。
2、计算机系统的硬件构成和软件构成?
硬件构成主要由冯诺依曼结构的CPU、存储器、出入设备和输出设备组成。
软件主要由系统软件和应用软件构成。
3、冯·诺依曼体系结构的几个关键概念是什么?它的主要设计思想是什么?
冯诺依曼体系的关键概念是:计算机的硬件组成五大部分,数据和指令存储在单一的读写存储器中,存储器的内容通过位置寻址,以顺序的形式执行指令。
主要设计思想:
计算机采用二进制的逻辑,程序存储执行,计算机由五个部分组成。
4、哈佛结构和改进型哈佛结构是体系结构分别是什么?各自的特点是什么?
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,是一种并行体系结构,每个存储器独立编址,独立访问,一共有四条总线,程序的地址总线与数据总线,数据的数据总线和地址总线。
改进型哈佛结构,仍然是分开存储,但是具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块,两条总线由程序存储器和数据存储器分时公用。
5、为什么软件能够转化为硬件?硬件能够转化为软件?实现这种转化的媒介是什么?
软件与硬件的逻辑等价性。任何操作可以由软件来实现,也可以用硬件来实现;任何指令的执行可以由硬件完成,也可以由软件来完成。
媒介:
ROM:容量大、价格低、体积小、可以改写的ROM提供了软件固化的良好的物质手段.现在已经可以把许多复杂的常用的程序制作成固件。功能上是软件,形态是硬件。
硅单晶芯片:在其上可以其上可以做复杂的逻辑电路,这为扩大指令的功能提供了物质基础,因此可以用硬件直接来解释执行通过软件手段来实现的某种功能。
因为硬件和软件在逻辑中逻辑上等价,媒介是固件(将程序固定在ROM中组成的部件)。固件是一种软件特性的硬件,它既具有硬件的快速性特点,又有软件的灵活性特点。这是软件和硬件相互转化的典型实例。
6、计算机的分类方式有哪些?
①、按信息的形式和处理方式可分类:1、电子数字计算机:所有信息以二进制数表示。2、电子模拟计算机:内部形式为连续变化的模拟电压,基本运算部件为运算放大器。3、混合式电子计算机:既有数字量又能表示模拟量,设计比较困难。②、按用途可分类为:1、通用机:适用于各种应用场合,功能齐全、通用性好的计算机。2、专用机:为解决某种特定问题专门设计的计算机,如工业控制机、银行专用机、超级市场收银机(POS)等。③、按计算机系统的规模分类为:所谓计算机系统规模主要指计算机的速度、容量和功能。一般可分巨型机、大型机、中小型机,微型机和工作站等。
7、浅谈计算机的应用领域?
科学计算、过程检测和控制、信息管理、计算机辅助系统:设计、制造、测试、教学、自动化、统计分析、自动控制、模式识别。
8、浅谈计算机的发展方向和趋势是什么?
计算机体积上的微型化、计算机的网络化、计算机的人工智能化、计算机巨型化、计算机技术与其他技术结合。计算机的发展趋势:量子计算机、光计算机、化学计算机,生物计算机。