本文目录一览:
计算机中有哪几种常见数据类型
计算机中有哪几种常见数据类型
数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。下面是我带来的计算机中有哪几种常见数据类型介绍,希望对你有帮助。
一、指令系统概述
指令是实现计算机“程序控制”功能的载体,也是“存储程序”操作的对象之一,可见指令在冯诺依曼体系结构计算机中的重要地位!本章立足于计算机系统层次结构中的“机器语言级”,机器语言指令是计算机硬件与软件的界面,也是用户操作和使用计算机硬件的接口。计算机所包含的所有指令的集合成为该机的指令系统。
从系统观的角度看,指令系统是计算机系统性能的集中体现,是计算机软/硬件系统的设计基础,一方面,硬件设计者要根据指令系统进行硬件的逻辑设计;另一方面,软件设计者也要根据指令系统来建立计算机的系统软件。如何表示指令,怎样组成一台计算机的指令系统,直接影响计算机系统的硬件和软件功能。
二、指令格式
指令是计算机中传输控制信息的载体,每条指令代表某个基本的信息处理操作及操作的对象,因此,指令中应该包含表示处理功能的操作码字段和与操作对象有关的地址码字段。指令的一般格式如图5.1所示。
图1 指令的一般格式
1.操作码OP
操作码来表示“程序控制”的具体操作,因此,不同功能的指令其操作码编码必须不同,因此,操作码的长度(即操作码字段所包含的二进制位数)就与机器支持的指令数量有关。通常情况下,长度为n位的操作码,最多可表示1条指令。
2.地址码
地址码字段的作用宏观上看是提供操作码的操作对象,微观上随指令类型和寻址方式的不同而不同,它可能作为一个操作数、也可能是操作数的地址(包括操作数所在的主存地址、寄存器编号或外部设备端口地址)、也可能是一个用于计算地址的偏移量。不论地址码具体上起什么作用,但其长度会影响对象的范围(数据大小、地址范围大小、偏移量的大小)
根据一条指令中所含操作数地址的数量,可将指令分三地址指令,双地址指令,单地址指令和零地址指令等4种。不同数量地址码格式时,指令表示的操作也略有区别。
1)三地址指令
指令中具有三个地址码字段,其格式为:
三、地址指令的操作表达式为:
将地址Ad1所指数据与Ad2所指数据执行OP所指定的操作,结果送Ad3所指地址存放。
2)二地址指令
为压缩指令的长度,在三地址指令的基础上,不另指定地址存放结果,而是存放到第一操作数地址Ad1中,把原来存放的第一操作数覆盖,从而减少一个地址,形成双地址指令。格式如为:
双地址指令的操作表达式为:
将地址Ad1所指数据与Ad2所指数据执行OP所指定的操作,结果送Ad1所指地址存放。
目前,常见的双地址指令主要有RR型(两个地址均为寄存器地址)和RS型(一个地址是存储地址,另一个是寄存器地址)。
3)一地址指令
单地址指令中只有一个地址码字段,其格式为:
两种情况下使用单地址指令 :
(1)单目运算类指令,如逻辑运算中的求反操作,其运算对象只有一个,故只需一个地址码,它既表示该操作数的源地址,又作为操作结果的目的地址。此时,单地址指令的操作表达式为:
(2)为进一步缩短指令长度,将双目运算类指令中的一个操作数和操作结果均约定隐含于CPU中的某个寄存器(通常是累加器A)中,此时,单地址指令的操作表达式为:
4)零地址指令
零地址指令中往往只有操作码而没有显式地给出地址码字段,其格式为:
零地址指令分三种情况:
(1)指令本身不需要任何操作数,如只是为了占位和延时而设置的`空操作指令NOP(空操作指令)、WAIT(等待指令)、HALT(停机指令)等;
(2)指令需要一个操作数,但该操作数隐含于CPU的某个寄存器(通常是累加器A)中;
(3)操作数均由堆栈提供的指令,其操作结果也存入堆栈。
特别说明:指令格式的不同会影响到控制器局部通路和控制结构的不同,在学习控制器设计时,要牢牢把握指令格式与控制器结构的这种紧偶合!体会硬件与软件之间的互动关系!
三、指令长度对指令格式的影响
一条指令中所包含的二进位数即为指令长度。指令越长,能够分配给操作码和地址码字段的位数就越多。在指令长度固定的情况下,所分配的地址字段越多,则每个字段的位数就越少,将影响到地址字段的寻址范围(包括所表示数据、地址范围或偏移量的大小)。
四、指令系统的发展
早期的指令系统以复杂指令为主,对应的计算机称为复杂指令集计算机(Complex Instruction Set Computer: CISC),现代计算机的指令系统以精减指令为主,对应的计算机称为精简指令集计算机(Reduced Instruction Set Computer: RISC),两者具有非常明显不同的特征:
1.复杂指令系统的特征
(1)指令系统复杂庞大,指令数目一般多达二三百条;
(2)寻址方式多;
(3)指令格式多;
(4)指令字长不固定;
(5)访存指令不加限制;
(6)各种指令使用频率相差大;
(7)各种指令执行时间相差大;
(8)大多数采用微程序控制器。
2.精简指令系统的特征
人们进一步分析CISC后发现了80-20规律,即80%程序只用到了20%的指令集,基于这一发现,RISC精简指令集被提出来,这是计算机系统结构的一次深刻革命。
RISC体系结构的基本思路是:针对CISC指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过减少指令种类、规范指令格式和简化寻址方式,方便处理器内部的并行处理,从而大幅度地提高处理器的性能。大部分RISC具有下述一些特点:
(1)优先选取使用频率最高的一些简单指令;
(2)大多数指令在一个机器周期内完成;
(3)采用LOAD/STORE结构。由于访问主存时间长,只保留LOAD(取数)和STORE(存数)两种访存指令,其余指令只对存放在寄存器中的操作数进行处理;
(4)采用简单的指令格式和寻址方式,指令长度固定;
(5)固定的指令格式。指令长度、格式固定,可简化指令的译码逻辑,有利于提高流水线的执行效率;
(6)面向寄存器的结构。为减少访问主存储器,CPU内应设大量的通用寄存器;
(7)采用硬布线控制逻辑;
(8)注重编译的优化,力求有效地支撑高级语言程序。
精简指令系统计算机的着眼点不是简单地放在简化指令系统上,而是通过简化指令使计算机的结构更加简单合理,从而提高处理速度,其主要途径是减少指令的执行周期数。 现在,RISC的硬件结构有很大改进,一个机器周期平均可完成1条以上指令,甚至可达到几条指令。
;
计算机中的数据存在多种形式,有什么不同?
计算机存储信息的最小单位,称之为位(bit),音译比特,二进制的一个“0”或一个“1”叫一位。
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB
1EB=1024PB
1ZB=1024EB
1YB=1024ZB
TB太字节(Terabyte),计算机存储容量单位,也常用TB来表示。1TB=1024GB==2^40字节。
MB,英文简写,计算机中的一种储存单位,全称MByte。MB(全称MByte):计算机中的一种储存单位,读作“兆”。数据单位MB与Mb(注意B字母的大小写)常被误认为是一个意思,其实MByte含义是“兆字节”,Mbit的含义是“兆比特”。MByte是指字节数量,Mbit是指比特位数。MByte中的“Byte”虽然与Mbit中的“bit”翻译一样,都是比特,也都是数据量度单位,但二者是完全不同的。Byte是“字节数”,bit是“位数”,在计算机中每八位为一字节,也就是1Byte=8bit,是1:8的对应关系。因此在书写单位时一定要注意B字母的大小写和含义。
吉字节(GB、Gigabyte,在中国又被称为吉咖字节或京字节或十亿字节或戟),常简写为G,是一种十进制的信息计量单位。吉字节(Gigabyte)常容易和二进位制的信息计量单位Gibibyte混淆。常使用在标示硬盘、存储器等具有较大容量的储存媒介之储存容量。
pb指petabyte,它是较高级的存储单位,其上还有EB,ZB,YB等单位。它等于1,125,899,906,842,624(2的50次方)字节,“大约”是一千个terabyte(实际上,准确地说是1024个terabyte,之所以说成1000个terabyte可能是为了更便于记忆)。
EB位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。
字节 byte:8个二进制位为一个字节(B),最常用的单位。
数据类型有哪几种?
数据类型包括原始类型、多元组、记录单元、代数数据类型、抽象数据类型、参考类型以及函数类型。
数据类型在数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称。变量是用来存储值的所在处,它们有名字和数据类型。
变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。
数据类型分类依据
数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。例如大胖子必须睡双人床,就给他双人床,瘦的人单人床就够了。
根据缺省规定,如果在声明中没有说明数据类型,则令变量的数据类型为Variant。Variant数据类型很像一条变色龙—它可在不同场合代表不同数据类型。当指定变量为Variant变量时,不必在数据类型之间进行转换,会自动完成各种必要的转换。
但是,如果知道变量确实总是存储特定类型的数据,并且还声明了这种特定类型的变量,则会以更高的效率处理这个数据。例如,存储人名的变量最好表示成String数据类型,因为名字总是由字符组成。
除变量外,数据类型也用于其它场合。在给属性赋值时,这个值就有数据类型;函数的参数也有数据类型。事实上,凡是与数据有关的东西就与数据类型有关。