计算机系统构成及硬件基础知识

2022-07-23 16:41:49 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

目录

数值转换

R进制转十进制使用按权展开法。

十进制转R进制使用短除法。

二进制转八进制。

二进制转十六进制。

数的表示

原码/反码/补码/移码

浮点数运算

计算机的基本组成

计算机体系结构

计算机体系软硬件的层次结构

计算机的一些基本概念


本章主要包括以下部分:

  • 数值转换
  • 数的表示
  • 计算机体系结构
  • 计算机的组成
  • 寻址方式
  • 校验码

数值转换

R进制转十进制使用按权展开法。

其具体操作方式为:将R进制数的每一位数值用Rk形式表示,即幂的底数是R,指数是k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1。

例如:

二进制 10100.01=1*24 0*23 1*22 0*21 0*20 0*2-1 0*2-2=20

七进制 604.01=6*72 0*71 1*70 0*7-1 1*7-2=273

十进制转R进制使用短除法。

例如:将94转换为二进制,结果为1011110

二进制转八进制。

八进制的基数是0,1,2,3,4,5,6,7。二进制转八进制就是以二进制的每3位进行划分(注意是从右边开始划分,不满3位的,在最左边用0补充)。例如二进制010 001 110转为八进制后是216。具体演算过程如下:

二进制转十六进制。

十六进制的基数是0,1,2,3,4,5,6,7,8,9,a,b,c,d,e。二进制转十六进制就是以二进制的每4位进行划分(注意是从右边开始划分,不满4位的,在最左边用0补充)。例如二进制1000 1110转为十六进制后是8E。具体演算过程如下:

小秘诀:二进制只有0和1两个数字。所以在假设二进制是1111,那么转成十六制就是1*23 1*22 1*21 1*20,,结果是8 4 2 1。如果为0的,则做对应位数为0。所以1001的十六进制就是9。

另外有一个很笨的办法,就是如果需要将二进制转换成十六进制不知道计算的话,可以将二进制转换成十进制,十进制再转换成十六进制也是可以的。

数的表示

原码/反码/补码/移码

原码:符号位(SF):为0表示正,为1表示负。

反码:符号位:为0表示正,为1表示负。正数的反码等于原码,负数的反码等于原码除符号位按位取反。

补码:符号位:为0表示正,为1表示负。正数的补码等于原码,负数的补码等于反码末尾 1。

移码:补码的符号位取反。

注意:第一位数字为符号位。

原码反码补码移码的取值范围:

浮点数运算

浮点数是相对定点数而言的。所谓定点数就是小数点的位置固定不变的数。小数点在计算机中通常有两种表示方法,一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数;一种是约定的所有数值数据的小数点在某一位置浮动,成为浮点数。

定点数表示的数值范围较小,在实际计算过程中,容易溢出,因此引进浮点数。浮点数能够计算更大范围的数。

在十进制中,一个数可以写成多种表示形式。例如83.125可以写成0.083125 * 103,也可以写成0.083125 * 104。

因此我们可以说,浮点数表示:N=M*Re,其中M称为尾数,e是指数,R为基数。

用阶码和尾数表示的数,我们通常称为浮点数。这种表示数的方法,就是浮点数的表示方法。在浮点数的表示中,阶码通常是带符号的纯整数,尾数是带符号的纯小数。

浮点数的表示格式看下图:

在浮点数进行运算时,我们往往要通过这样一个阶段:

2个浮点数相乘时,阶码=2个乘数的阶码相加;尾数=2个乘数的尾数相乘。

2个浮点相除时,商的阶码=被除数的阶码-除数的阶码;商的尾数=被除数的尾数/除数的尾数。

注意:乘除运算的结果都需要进行规格化处理,并判断阶码是否溢出。

计算机的基本组成

自1946年,第一台计算机面世以来,计算机硬件结构和软件都发生了惊人的变化。但就其基本组成而言,仍然沿用了冯诺依曼的设计思想。一套完整的计算机硬件系统由运算器,控制器,存储器,输入设置和输出设置五大部件组成。其中运算器与控制器合称中央处理器(CPU);内存储器和中央处理器(CPU)合称为主机。(注意:这里讲的主机概念和我们生活中讲的不一样,我们生活中的主机是指机箱所包括的内容。)

输出和输入设备属于外存储器,简称外设。

运算器是进行算术和逻辑运算的部件。运算数据以二进制格式给出。它可以从存储器取出,也可以来自输入设备。运算结果可以写入存储器,也可以通过输出设备输出。运算器通常由算术逻辑单元(ALU),累加寄存器,数据缓冲寄存器,状态条件寄存器组成。寄存器主要用来存放操作数,结果及操作数地址。累加寄存器除了存放参加运算的操作数外,在连续运算中,还用于存放中间结果和最后结果。寄存器的数据一般是从存储器中取得,累加寄存器的最后结果应该存到存储器中。

控制器主要是协调整个计算机的正常工作。它主要包括程序计数器(PC),指令寄存器(IR),指令译码器,时序部件。程序计数器又称指令计算器或者指令指针。在某些类型的计算中,用来存放正在执行的指令地址;在大多数计算机中,则存放下一指令的地址。指令地址显示有2种可能:一种是顺序的情况,每执行一条指令,程序计算器加1,以形成下一条指令的地址。该加1计算器功能,有的机器是PC机本身具有,有的是用运算器来完成的。指令寄存器用以存放正在执行的指令,以便在整个指令执行过程中实现一条指令的全部功能控制。指令译码器又称为操作码译码器,它是在指令寄存器中操作码部分进行分析解释产生相应的控制信号,提供给操作信号控制部件。时序部件,时序信号产生部件,以时针脉冲为基础产生不同指令相对应的周期迭代,工作脉冲等持续信号以实现机器指令执行过程的时序控制。

计算机体系结构

计算机体系软硬件的层次结构

计算机由硬件和软件组成。硬件是所有软件运行的物质基础,软件能充分发挥硬件潜能和扩充硬件功能,完成各种系统及应用任务,两者互相促进、相辅相成、缺一不可。

在上图中,展示了计算机体系软硬件的层次结构。其中每一层具有一种功能并提供相应的接口。接口对层内掩饰了实现细节,对层外提供了使用约定。

硬件层提供了基本的可计算性资源,包括处理器、寄存器、存储器,以及各种I/O设施和设备,是操作系统和上层软件赖以工作的基础。系统软件开发人员就工作在计算机硬件和操作系统这2个层次。操作系统层通常是最靠近硬件的软件层,对计算机硬件作首次扩充和改造,主要完成资源的调度和分配、信息的存取和保护、并发活动的协调和控制等许多工作。操作系统是上层其他软件运行的基础,为编译程序和数据库管理系统等系统程序的设计者提供了有力支撑。系统程序层的工作基础建立在操作系统改造和扩充过的机器上,利用操作系统提供的扩展指令集,可以较为容易地实现各种各样的语言处理程序、数据库管理系统和其他系统程序。应用软件开发人员主要工作在操作系统和其他系统软件2个层次。此外,还提供种类繁多的实用程序,如连接装配程序、库管理程序、诊断排错程序、分类/合并程序等供用户使用。应用程序层解决用户特定的或不同应用需要的问题,应用程序开发者借助于程序设计语言来表达应用问题,开发各种应用程序,既快捷又方便。而最终用户则通过应用程序与计算机系统交互来解决他的应用问题。

计算机的一些基本概念

总线的性能指标:

  • 总线的带宽,即单位时间内总线上可传输的数据量,单位是MB/s
  • 总线的位宽,即总线能同时传输的数据位数,有32位,64位
  • 总线的工作频率,即总线的时钟频率,它是协调总线上各种操作的时钟频率

总线的分类:

  • 数据总线:传输数据信息,CPU一次传输的数据与数据总线带宽相等
  • 控制总线:传输控制信号和时序信号,如读/写,片选,中断响应信号等
  • 地址总线:传输地址,它决定了系统的寻址空间

CPU的性能指标:

  • 主频,即CPU的工作频率,单位是Hz(赫兹)
  • 字长,即CPU的数据总线一次能同时处理数据的位数
  • CPU缓存(Cache Memory),是位于CPU与内存之间的临时存储器
  • 核心数量,是指在一枚处理器中集成两个或多个完成的计算引擎(内核)

CMOS:

  • 是指保存计算机基本启动信息(如日期,时间,启动设置等)的芯片
  • 由主板的电池供电,即使系统掉电,信息也不会丢失

指令:一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如下:操作码字段 地址码字段。

操作码部分指出了计算机要执行什么性质的操作,如加法,减法,取数,存数等。

地址码字段需要包含各操作数的地址以及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令,二地址指令,一地址指令和零地址指令。

指令流:指计算机执行的指令序列。

数据流:指指令流调用的数据序列。

多重性:指计算机同时处理的指令或数据的个数。

根据计算机指令流和数据流的多重性,可以将计算机分为四类:

CISC(ComplexInstruction Set Computer)复杂指令计算机。CISC是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。CISC是一种执行整套计算机指令的微处理器,起源于80 年代的MIPS主机(即RISC 机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。

并行/多处理机。

并行处理机:阵列式计算机,由多台处理机组成,每台计算机执行相同的程序,是操作并行的SIMD计算机。

多处理机:由若干台独立的计算机组成,每台计算机能够独立执行自己的程序,是MIMD计算机。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126851.html原文链接:https://javaforall.cn

0 人点赞