|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1) CPU的外部特征就是数量有限的输入输出引脚。
* k! Q, s" q) t: R n2) 数据总线:用于CPU和存储器或I/O接口之间传送数据,双向通信;数据总线的条数决定了CPU和存储器或I/O设备一次最多能交换数据的位数,是微处理器的位数的判据,例如:Intel 386DX、ARM Cortex-M3是32位微处理器;Intel采用了IA-64架构的处理器、PowerPC 970是64位处理器;类似地,还有更加古老的8位、16位处理器等。$ Q* v, o! ~; z2 j! F' `0 k
3) 地址总线:CPU通过地址总线输出地址码用以选择某一存储单元或某一成为I/O端口的寄存器,单向通信;地址总线的条数决定了地址码的位数,进而决定了存储空间的大小,例如:地址总线宽度(条数)为8,则可以标记2^8 = 256个存储单元,若每个存储单元的字长为8 bit,则最大可以接入系统的存储空间为256kB。4 _7 w) U D2 }6 v8 P- z
4) 控制总线:用来传送自CPU发出的控制信息或外设送到CPU的状态信息,双向通信;7 w4 N! Q& \" p. e& t
8 k' Q: Z5 ]! E# T4 O, B4 k: `" u6 x 微处理器系统的程序设计语言:程序设计语言(Programming Language),又称为编程语言,是用来定义计算机程序的,通过代码向处理机发出指令。编程语言让开发者能够准确地提供计算机所使用的数据,并精确地控制在不同情况下所应当采取的行动。最早的编程语言是在计算机发明之后产生的,当时是用来控制提花织布机及自动演奏钢琴的动作。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生。很多编程语言需要用指令方式说明计算的程序,而有些编程语言则属于声明式编程,说明需要的结果,而不说明如何计算。
, [, [7 J+ t+ H* a: Q& V2 ?
/ V0 ^9 i( \) M) e 机器语言:机器语言的每条语句即是处理器可以直接执行的一条指令,这些指令是以二进制0、1序列的形式表示,对应数字集成电路的高低电平。不同的处理器指令的机器代码各不相同,完成的具体功能也将不相同,按着一种计算机的机器指令编写的程序,不能在另一种计算机上执行。
# Q, s, |0 g0 R/ `% c5 P" |
. K" f2 Y( X& I9 C: Z! o 汇编语言:用简洁的英文字母、符号串来替代一个特定的机器语言指令——二进制0、1序列:用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。汇编语言与机器语言一一对应,所以和机器语言一样对计算机硬件的依赖性很大。" D/ i9 A' x2 Z0 X8 q! z, @& i
! N( ]- [" F0 a3 U2 q 优点:汇编语句和机器语言一一对应,助记符与标号往往与实际意义相关,相比于机器语言,更加直观,容易理解,执行效率上类似。
7 ]! e! H0 h; _1 y 缺点:不同的处理器指令集不同,移植性不好;即使完成简单的数据处理(如累加,简单排序等)所需的代码体积很大,处理实际问题所需的工作量夸张,成本高。. n" `1 t8 d2 N( n& z; g
+ o; I Y7 R2 L3 x Q
高级语言:使用接近于数学语言或人类语言的表达描述程序。
9 p7 W7 C* M. t, p
3 o& U% u" D7 ]1 g9 U7 J 特点:相比于面向机器开发的机器语言和汇编语言,高级语言拥有较高的可读性,并且代码量大大减少;高级语言通常远离对硬件的直接操作,安全性较高,也有部分高级语言可以使用调用汇编语言的接口操控硬件;高级语言有很多成熟、易于使用、可移植的数据结构与算法,使开发流程大大简化,节省开发成本,易于维护;发展迅速,社区完备,可以很方便地求助,解决遇到的各种问题;已经有很多各具特色、用以解决不同领域问题且发展相当完备的高级语言供开发者选用,如:适合初学者了解编程思想的Basic;效率颇高,接近于硬件操控,适合系统、硬件驱动编程与嵌入式开发的C/C++;跨平台、可移植特性优良的Java;搭配Visual Studio可以快速开发项目的C#.NET;适合于数据分析、人工智能,越来越被青睐的Python;Microsoft公司为未来的量子计算而开发的Q#,等等。诸如MATLAB、HTML、JavaScript这样的用以在不同领域大显身手的语言亦可以称之为高级语言。1 r3 B6 q7 z6 J* L. ^+ b( u9 C) k
! J" z' u( w- e" Q; { 优点:不依赖于硬件,移植性好;不用场合选用适合的语言,开发效率高。
, _# k5 y3 X/ \' M- n$ b 缺点:不直接使用硬件,需要编译-链接执行或解释执行,没有利用到具体硬件的特点,效率相比于机器语言和汇编语言不高;先天的特点决定了高级语言在底层的设计中无法完全取代机器语言和汇编语言。/ Q' \" V, ] Y- d2 _
可以看出,微处理器系统的核心部件是CPU,使用微处理器系统控制外部的设备工作的实质就是使用编写软件程序的手段来控制外部设备。由于CPU已经是一个完整的、封装好的部件,系统的设计人员只能通过编写软件,再经由编译器或解释器翻译为机器能够理解的代码来执行,CPU并没有专门的硬件电路来实现完全地控制外部设备的运行,这种实现方式是软件实现,是一种通用的实现,控制信号从软件到硬件要经过若干次转化,但有的时候,工程和设计领域往往需要高速高性能的芯片来实现控制与计算,这时候就需要更加强大的CPU或将几个CPU用一些技术并行起来协同工作,成本就会增加。这时候,可以不妨试试设计专门的硬件来满足工作的需求。# m5 G( L$ G# J. a
|
|