计算机组成原理:绪论与数据表示

1、体系结构与组成

● 计算机体系结构是指对成员可见的系统属性 ,直接影响程序的逻辑执行。

体系结构的属性包括指令集输入输出机制内存寻址技术等。

● 计算机组成是指对体系结构所体现属性的实现方法,是实现结构规范的操作单元及其相互连接。

组成的属性包括对程序员可见的硬件细节,如控制信号、计算机和塞舌的接口以及存储器使用的技术

2、结构与功能

计算机是一个复杂的系统,包含数百万个电子元件,复杂系统的关键是分层性质。层次系统是一系列相互关联的子系统,每个子系统又在结构上分层,直到分成我们所能达到的一些基本子系统的最低级。

● 结构:部件相互关联的方法。

● 功能:作为结构组成部分的各个独立部件的操作。

● 基本功能:数据处理数据存储数据传输控制

数据的处理、存储和传输都必须经过控制。控制是由计算机提供指令施加的。

3、结构组件

计算机中有四种主要的结构组件:中央处理器(CPU)、主存储器(主存或内存)、输入/输出(I/O)和总线系统

● 中央处理器:控制计算机的操作(控制器)并执行数据处理功能(算术逻辑单元ALU)。

● 主存储器:存储程序和数据。

● 输入/输出:在计算机与外部之间传输数据。

● 总线系统:为CPU、主存和I/O之间提供通信机制。

4、冯氏结构

美籍匈牙利数学家冯•诺依曼在1945年提出了存储程序控制的概念。概括内容如下:

● 计算机硬件由运算器、控制器、存储器、输入设备和输出设备这五个基本设备组成。

● 计算机内部采用二进制来表示指令和数据。

● 把编好的程序和原始数据事先存入存储器中。

● 把编好的程序和原始数据预先存入计算机的主存储器中,使计算机在工作时能连续、自动、高速地从存储器中取出一条条指令并加以执行,从而自动完成预定的任务。

5、计算机层次结构

计算机的层次结构可分为0~6共七个层次。

● 第零级是硬联逻辑级,是计算机的内核,由门、触发器等逻辑电路组成。

● 第一层微程序级。这级的机器语言是微指令集,用微指令编写的微程序一般是直接由硬件执行的。

● 第二层是传统机器级。这级的机器语言是指机器的指令集,用机器指令编写的程序由微程序进行解释。

● 第三层是操作系统级。从操作系统的基本功能来看,直接管理传统机器的软硬件资源。

● 第四层是汇编语言层。语言是汇编语言,完成汇编语言翻译的程序叫汇编程序。

● 第五层是高级语言层。这级的语言是各种高级语言,面向用户的,由各种高级语言程序支持和执行。通常用编译程序来完成各种高级语言的翻译工作。

● 第六级是应用语言级,这一级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。

6、 主要性能指标

计算机的性能可由如下技术指标表示:机器字长数据通路宽度主存容量运算速度表示。运算速度又有如下指标:

● 吞吐量:计算机系统在单位时间内处理请求的数量。

● 响应时间:计算机系统对请求做出响应的时间,包括CPU时间和等待时间的总和。

● 主频(时钟频率):CPU内数字脉冲信号振荡的速度。

● 时钟周期:主频的倒数,CPU中最小的时间元素。每个动作至少需要一个时钟周期。

● CPI:每条指令所用的时钟周期数。

● IPC:CPI的倒数;由于指令高度并行化,现代计算机一个时钟周期内可以处理多条指令。IPC表示一个时钟周期内处理的指令个数。

● CPU执行时间 = CPU时钟周期数 / 时钟频率 = 指令数 * CPI / 时钟频率

● MIPS:每秒执行多少百万条指令。MIPS = 指令条数 * 10-6 / 执行时间 = 主频 / CPI = 主频 * IPC

● MFLOPS:每秒执行多少百万次浮点运算。MFLOPS = 浮点运算次数 * 10-6 / 执行时间

7、非数值类数据

● ASCII码

在计算机中通常使用美国国家信息交换标准字符码即ASCII码表示字符。ASCII码的编码特点:
1、用7位二进制表示1个字符,最高位用作奇偶校验。
2、可表示128个字符(包括数字字符、英文大小写字母、专用字符和控制字符)
3、数字0-9的ASCII码对应30H-39H
4、同一英文字母的大写和小写的ASCII码相差20H
字符串字符串可用两种不同的存放方法 向量法串表法

● 汉字编码

汉字的编码涉及4种编码:
1.、汉字交换码:国标码GB-2312
2.、输入码:主要用于从键盘输入汉字。常见的有区位码拼音码等。:国标码=区位码(十六进制)+2020H。
3.、机内码:计算机系统内部用来标识汉字的编码。机内码=国标码+8080H;机内码=区位码+A0A0H
4.、字形码:汉字字形码是指确定一个汉字字形点阵的代码,又叫汉字字模码汉字输出码

● Unicode编码

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。
1、编码方式
用一个16位的二进制数(两个字节)来表示Unicode的每一个符号。
2、实现方式
Unicode的实现方式称为Unicode的转换格式(unicodeTranslation Format, UTF)。

8、数值类数据

计算机中参与运算的数值有两大类:无符号数有符号数。无符号数相当于数的绝对值;有符号数在最高位设置符号位。
常见的有符号机器数如下:

● 原码

原码的编码规则:在数值前加一位符号位。正号用0表示,符号用1表示,数值部分保持不变。
整数原码定义:正数不变,负数[x]原=2n - x = 2n + |x| 例如:[+1011]原 = 01011;[-1011]原 = 11011
小数原码定义:正数不变,负数[x]原=1 - x = 1 + |x| 例如:[+0.1011]原 = 1.1011;[-0.1011]原 = 1.1011
原码时,0有两种表示方式,两位二进制数为例,[+0]原 = 00 ;[-0]原 = 10 ;8位能表示 -(27 -1) ~ 27 -1 (去掉最高符号位)

● 反码

反码的编码规则:在数值前加一位符号位。正号用0表示,符号用1表示;正数的数值部分保持不变,负数的数值部分按位取反。
整数反码定义:正数不变,负数[x]反=2n+1-1 + x 例如:[+1011]反 = 01011;[-1011]反 = 10100
小数反码定义:正数不变,负数[x]反=(2 - 2-n) + x 例如:[+0.1011]反 = 1.1011;[-0.1011]反 = 1.0100
反码时,0有两种表示方式,两位二进制数为例,[+0]反 = 00 ;[-0]反 = 11 ;8位能表示 -(27 -1) ~ 27 -1 (去掉最高符号位)

● 补码

补码的编码规则:在数值前加一位符号位。正号用0表示,符号用1表示;对于正数,数值部分保持不变;对于负数,数值部分按位取反末尾加1。
整数补码定义:正数不变,负数[x]补=2n+1 + x 例如:[+1011]补 = 01011;[-1011]补 = 10101
小数补码定义:正数不变,负数[x]补=2 + x 例如:[+0.1011]补 = 1.1011;[-0.1011]补 = 1.0101
补码时,0仅有一种表示形式。两位二进制为例,[+0]补=[-0]补=00;8位能表示 -27 ~ 27 -1 (去掉最高符号位)

● 常用求补码方法

1、 由定义求补码
由真值求补码,直接利用补码的定义。反过来,由补码求真值,只需将公式左右进行交换就可以了
2、由原码求补码
正数的补码和原码相同;负数的补码,将原码除符号位以外的其余各位求反,末位加1。
3、求负数补码的简便原则
可以将原码除符号位以外,其余各位按位取反,从最低位开始遇到的第一个1以前的各位保持不变。

发布了39 篇原创文章 · 获赞 4 · 访问量 2054

猜你喜欢

转载自blog.csdn.net/weixin_44712386/article/details/105008473