
计算机系统结构 第5讲) ( 主讲人: 郑纬民教授 清华大学计算机系
计算机系统结构 (第5讲) 主讲人: 郑纬民 教授 清华大学计算机系

计算机系统结构 第一章基本概念 第六章 向量处理机 第二章指令系统 第七章互连网络 第三章存储系统 第八章并行处理机和 第四章输入输出系统 多处理机 第五章标量处理机
计算机系统结构 第一章 基本概念 第二章 指令系统 第三章 存储系统 第四章 输入输出系统 第五章 标量处理机 第六章 向量处理机 第七章 互连网络 第八章 并行处理机和 多处理机

第二章指令系统 指令系统是计算机系统结构的主要组 成部分 指令系统是软件与硬件分界面的一个 主要标志 指令系统是软件与硬件之间互相沟通 的桥梁 指令系统与软件之间的语义差距越来 越大
第二章 指令系统 指令系统是计算机系统结构的主要组 成部分 指令系统是软件与硬件分界面的一个 主要标志 指令系统是软件与硬件之间互相沟通 的桥梁 指令系统与软件之间的语义差距越来 越大

第二章指令系统 2.1数据表示 2.2寻址技术 2.3指令格式的优化设计 2.4指令系统的功能设计 2.5RISC指令系统
第二章 指令系统 2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计 2.5 RISC指令系统

2.1数据表示 新的研究成果,如浮点数基值的选择方法 新的数据表示方法,如自定义数据表示 2.1.1数据表示与数据类型 2.1.2浮点数的设计方法 2.1.3自定义数据表示
2.1 数据表示 新的研究成果,如浮点数基值的选择方法 新的数据表示方法,如自定义数据表示 2.1.1 数据表示与数据类型 2.1.2 浮点数的设计方法 2.1.3 自定义数据表示

2.1.1数据表示与数据类型 数据表示的定义:数据表示是指计算机 硬件能够直接识别,可以被指令系统 直接调用的那些数据类型。 定点、逻辑、浮点、十进制、字符 字符串、堆栈和向量 数据类型:文件、图、表、树、阵列、 队列、链表、栈、向量、串、实数、 整数、布尔数、字符等。 确定哪些数据类型用数据表示实现,是 软件与硬件的取舍问题
2.1.1 数据表示与数据类型 数据表示的定义:数据表示是指计算机 硬件能够直接识别,可以被指令系统 直接调用的那些数据类型。 定点、逻辑、浮点、十进制、字符、 字符串、堆栈和向量 数据类型:文件、图、表、树、阵列、 队列、链表、栈、向量、串、实数、 整数、布尔数、字符等。 确定哪些数据类型用数据表示实现,是 软件与硬件的取舍问题

确定数据表示的原则: 1.缩短程序的运行时间 2.减少CPU与主存储器之间的通信量 3.这种数据表示的通用性和利用率 数据表示在不断发展 如:矩阵、树、图、表及自定义数据 表示等
确定数据表示的原则: 1.缩短程序的运行时间 2.减少CPU与主存储器之间的通信量 3.这种数据表示的通用性和利用率 数据表示在不断发展 如:矩阵、树、图、表及自定义数据 表示等

2.1.2浮点数的设计方法 1、浮点数的表示方式 一个浮点数N可以用如下方式表示: N=m-ro 其中e=r 需要有6个参数来定义。 两个数值: :尾数的值,包括尾数的码制(原码或补 码)和数制(小数或整数) e:阶码的值,移码(偏码、增码、译码、 余码等)或补码,整数
2.1.2 浮点数的设计方法 1、浮点数的表示方式 一个浮点数N可以用如下方式表示: 需要有6个参数来定义。 两个数值: m:尾数的值,包括尾数的码制(原码或补 码)和数制(小数或整数) e:阶码的值,移码(偏码、增码、译码、 余码等)或补码,整数 r r q e e m N = m 其中e =

1.原码、反码、补码 (1)X=+10101 (2)×=-10101 [x]原=010101 [x]原=110101 [x]反=010101 [x]发=101010 [x]补=010101 [x]孙=101011 结论1:对于正数来说,[x]原=[x]反=[x]补 即符号位为零,后面加上x的真值。 结论2:对于负数来说, [x]原=1+x的真值 [x]反=1+×的真值的每一位求反 [X]补=1+x的真值的每一位求反,最后一位加1
1.原码、反码、补码 (1) x=+10101 (2) x=-10101 [x]原=010101 [x]原=110101 [x]反=010101 [x]反=101010 [x]补=010101 [x]补=101011 结论1: 对于正数来说,[x]原= [x]反=[x]补 即符号位为零,后面加上x的真值。 结论2: 对于负数来说, [x]原=1+x的真值 [x]反=1+ x的真值的每一位求反 [x]补=1+ x的真值的每一位求反,最后一位加1

2.移码 十进制值补码移码 十进制值 补码移码 +7 01111111 -1 11110111 +6 01101110 -2 11100110 +5 01011101 3 11010101 +4 01001100 -4 11000100 +3 00111011 -5 10110011 +2 00101010 -6 10100010 +1 00011001 -7 1001 0001 0 00001000 -8 10000000 由[x]补得到[x]移的方法是变[x]补的符号位为其反码。 最高一位为符号位,1代表正号,0代表负号
2. 移码 十进制值 补码 移码 十进制值 补码 移码 +7 0111 1111 -1 1111 0111 +6 0110 1110 -2 1110 0110 +5 0101 1101 -3 1101 0101 +4 0100 1100 -4 1100 0100 +3 0011 1011 -5 1011 0011 +2 0010 1010 -6 1010 0010 +1 0001 1001 -7 1001 0001 0 0000 1000 -8 1000 0000 由[x]补得到[x]移的方法是变[x]补的符号位为其反码。 最高一位为符号位,1代表正号,0代表负号