1 / 25

先进计算机系统结构专题 ( 第二次讨论课: 107 计算机组成原理 ) 李环宇 ustcus@gmail 2013 秋

先进计算机系统结构专题 ( 第二次讨论课: 107 计算机组成原理 ) 李环宇 ustcus@gmail.com 2013 秋. 计算机科学与技术学院. 科学与社会. 历史. 1956 年,夏培肃完成了第一台电子计算机运算器和控制器的设计工作,同时编写了中国第一本电子计算机原理讲义。 1957 年,哈尔滨工业大学研制成功中国第一台模拟式电子计算机。 1958 年,中国第一台计算机 --103 型通用数字电子计算机研制成功,运行速度每秒 1500 次。 1959 年,中国研制成功 104 型电子计算机,运算速度每秒 1 万次。

chana
Download Presentation

先进计算机系统结构专题 ( 第二次讨论课: 107 计算机组成原理 ) 李环宇 ustcus@gmail 2013 秋

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 先进计算机系统结构专题(第二次讨论课:107计算机组成原理 )李环宇ustcus@gmail.com2013秋 计算机科学与技术学院 科学与社会 An Hong CS USTC

  2. 历史 • 1956年,夏培肃完成了第一台电子计算机运算器和控制器的设计工作,同时编写了中国第一本电子计算机原理讲义。 • 1957年,哈尔滨工业大学研制成功中国第一台模拟式电子计算机。 • 1958年,中国第一台计算机--103型通用数字电子计算机研制成功,运行速度每秒1500次。 • 1959年,中国研制成功104型电子计算机,运算速度每秒1万次。 • 1960年,中国第一台大型通用电子计算机--107型通用电子数字计算机研制成功。 An Hong CS USTC

  3. 冯诺依曼体系结构 An Hong CS USTC

  4. 107计算机的组成 • 体系结构:冯诺依曼体系结构 • 组成:运算器、控制器、存储器、输入及输出(打印)设备、电源装置 • 控制器具体构成: • 指令控制器 • 指令地址计数器 • 指令寄存器 • 中央操作控制器 • 局部控制器 • 中央控制器 • 控制台 An Hong CS USTC

  5. 107计算机的指令集 • 指令长度为16bit,操作码为4位,故一共支持16种不同的操作分别是: • 数据传输 • 接收 • 发送 • 运算 • 按位求补/按位加法/逻辑加法/逻辑乘法 • 加法/溢出不停机的加法/减法/乘法/除法 • 控制 • 无条件转移/条件转移/非零转移 • 打印及停机 • 所有指令均遵循“操作码”+“地址”的形式 An Hong CS USTC

  6. 107计算机的基本构成单元 • 运算器及控制器 • 所采用的主要元件为电子管及晶体二极管。 • 存储器 • 是容量为1024的磁心存储器。 • 输入设备 • 为五单位发报机。 • 输出设备 • 用电传打字机。 • 电源 • 用硒整流片及锗二极管整流,用电子管稳压。 An Hong CS USTC

  7. 从与或非开始说起(minecraft演示) • 与门,或门,非门 • 选择器 • 锁存器 • 触发器(简略) An Hong CS USTC

  8. 107计算机指令执行流程 • 第一步:指令地址计数器发送地址到存储器 问题:107计算机的存储器是一个1024×32bit的磁芯存储器,已知指令是16bit长,那么指令地址计数器需要几位? 在这里我们以加法操作为例(指令码为0010),指令已保存在存储器中 An Hong CS USTC

  9. 107计算机存储器 注:由于存储器设计每次只能读取8bit,所以取指,需访问两次取出一条指令,访问四次取出一个数据。 An Hong CS USTC

  10. 107计算机指令执行流程 • 第二步:从存储器读指令到指令寄存器(读两次) An Hong CS USTC

  11. 107计算机指令执行流程 • 第三步:指令寄存器发送操作码到译码器,进行译码 An Hong CS USTC

  12. 107计算机指令执行流程 • 第四步:指令寄存器发送地址给存储器,用于读出操作数。 An Hong CS USTC

  13. 107计算机指令执行流程 • 第五步:存储器发送数据给运算器,进行计算。 An Hong CS USTC

  14. 加法的计算过程 • 107计算机用的加法器是一位加法器,被加数存储在寄存器A中,加数由存储器读出。通过局部控制器进行控制移位,一位一位的加出结果。 • 完成两个32位数相加,需要32拍 An Hong CS USTC

  15. 一位加法器的原理 • 输入:A,B,C0 • 输出:S,C1 • 输入的可能性种类是8种,可以枚举列出真值表 • 最后可以根据这个真值表列出逻辑表达式: An Hong CS USTC

  16. 107计算机的输入方式 • 输入设备:38型五单位自动发报机 • 孔格式: • 有孔代表1,没孔代表0。 • 首位有孔代表是要存入存储器的内容(指令或数据)。 • 首位无孔表示是用于控制机器运行的指令 • 如图中最后一行00100代表停止纸带传送。 An Hong CS USTC

  17. 一段简单的C程序代码 val=0; for(i=0; i<10; i++) val=val+1; 对应的X86汇编码 MOV a,0 MOV b,0 LOOP: TEST b,10 JGE END ADD a,1 ADD b,1 JMP LOOP END: C程序与X86汇编程序 An Hong CS USTC

  18. 107计算机的汇编码定义(一) • 0000 接收 REV rev • 0001 与(逻辑乘) AND and • 0010 加法 ADD add • 0011 减法 SUB sub • 0100 乘法 MUL mul • 0101 除法 DIV div • 0110 可溢出加法 ADDD addd • 0111 或(逻辑加) OR or An Hong CS USTC

  19. 107计算机的汇编码定义(二) • 1000 取反 NOT not • 1001 发送 SEND send • 1010 无条件转移 JMP jmp • 1011 条件转移 JLZ jlz • 1100 非零转移 JNZ jnz • 1101 打印 OUT out • 1110 停机 HALT halt • 1111 异或 XOR xor An Hong CS USTC

  20. 107计算机的数据类型 • 107计算机指令集中有两种数 • 整数: 用于标识地址位,数值范围是从0~2047,用11位表示 • 浮点数:用于运算,数值范围是-1~1,包括-1但不包括1,用32位表示 • 浮点数 • 首位标志是符号位,采用补码表示法,如: 0100 表示 0.5; 1001 表示 - 0.875; • 问题:107计算机表示数的精度是多少? An Hong CS USTC

  21. 107计算机汇编程序的指令格式 • 由于107计算机指令格式均是指令操作码加内存地址的模式,故采取如下表示: • 普通运算指令 ADD #1024 注:地址范围为0~2047,数据地址原则上要求为偶数 • 跳转指令 JMP #1024 • 打印及停机指令 OUT HALT An Hong CS USTC

  22. 地址: *1011 //二进制 $1024 //八进制 #1204 //十进制 %1024 //十六进制 数值 *0.1101 $0.22 #0.1 %0.fa #+0.3 #-0.3 数值的范围只能写-1~1的小数,否则报错。 107计算机汇编程序数值的写法 数值的表示:支持二进制,八进制,十进制,十六进制表示,分别添加前缀*,$,#,%即可。 An Hong CS USTC

  23. 107计算机汇编程序的书写规范 程序分为两块,分别为程序段和数据段 .code //标志程序段的开始 XOR #1222 //代码部分 .data //标志数据段的开始 #0.1203 支持类似C语言的多行注释和单行注释 //单行注释 /* 多行注释 */ An Hong CS USTC

  24. .code //1000 rev #1014 //1000 sub #1016 jlz #1013 rev #1014 out mul #1018 //1005 out sub #1020 out div #1022 out //1010 send #1014 jmp #1000 halt .data #0.5 //1014 #0.0009765625 //1016 #0.25 //1018 #0.0009765625 //1020 #0.5 //1022 程序实例演示&模拟器使用方法 An Hong CS USTC

  25. 感兴趣的同学可以尝试如下题目 • 将程序源码或截图发至han@ustc.edu.cn,并说明使用方法,邮件主题:107计算机 • 任务列表: • 计算π值 • 计算e值 • 计算n次幂 • 计算平方根 • 计算n次方根 • 计算sin,cos • 炮弹落点计算 • 鼓励自定义题目,让107数字计标机再次焕发青春! An Hong CS USTC

More Related