107 ustcus@gmail com 2013
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

先进计算机系统结构专题 ( 第二次讨论课: 107 计算机组成原理 ) 李环宇 [email protected] 2013 秋 PowerPoint PPT Presentation


  • 88 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

先进计算机系统结构专题 ( 第二次讨论课: 107 计算机组成原理 ) 李环宇 [email protected] 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


107 ustcus@gmail com 2013

先进计算机系统结构专题(第二次讨论课:107计算机组成原理 )[email protected]

计算机科学与技术学院

科学与社会

An Hong CS USTC


107 ustcus gmail 2013

历史

  • 1956年,夏培肃完成了第一台电子计算机运算器和控制器的设计工作,同时编写了中国第一本电子计算机原理讲义。

  • 1957年,哈尔滨工业大学研制成功中国第一台模拟式电子计算机。

  • 1958年,中国第一台计算机--103型通用数字电子计算机研制成功,运行速度每秒1500次。

  • 1959年,中国研制成功104型电子计算机,运算速度每秒1万次。

  • 1960年,中国第一台大型通用电子计算机--107型通用电子数字计算机研制成功。

An Hong CS USTC


107 ustcus gmail 2013

冯诺依曼体系结构

An Hong CS USTC


107 ustcus gmail 2013

107计算机的组成

  • 体系结构:冯诺依曼体系结构

  • 组成:运算器、控制器、存储器、输入及输出(打印)设备、电源装置

  • 控制器具体构成:

    • 指令控制器

      • 指令地址计数器

      • 指令寄存器

    • 中央操作控制器

    • 局部控制器

    • 中央控制器

    • 控制台

An Hong CS USTC


107 ustcus gmail 2013

107计算机的指令集

  • 指令长度为16bit,操作码为4位,故一共支持16种不同的操作分别是:

    • 数据传输

      • 接收

      • 发送

    • 运算

      • 按位求补/按位加法/逻辑加法/逻辑乘法

      • 加法/溢出不停机的加法/减法/乘法/除法

    • 控制

      • 无条件转移/条件转移/非零转移

      • 打印及停机

  • 所有指令均遵循“操作码”+“地址”的形式

An Hong CS USTC


107 ustcus gmail 2013

107计算机的基本构成单元

  • 运算器及控制器

    • 所采用的主要元件为电子管及晶体二极管。

  • 存储器

    • 是容量为1024的磁心存储器。

  • 输入设备

    • 为五单位发报机。

  • 输出设备

    • 用电传打字机。

  • 电源

    • 用硒整流片及锗二极管整流,用电子管稳压。

An Hong CS USTC


Minecraft

从与或非开始说起(minecraft演示)

  • 与门,或门,非门

  • 选择器

  • 锁存器

  • 触发器(简略)

An Hong CS USTC


107 ustcus gmail 2013

107计算机指令执行流程

  • 第一步:指令地址计数器发送地址到存储器

    问题:107计算机的存储器是一个1024×32bit的磁芯存储器,已知指令是16bit长,那么指令地址计数器需要几位?

在这里我们以加法操作为例(指令码为0010),指令已保存在存储器中

An Hong CS USTC


107 ustcus gmail 2013

107计算机存储器

注:由于存储器设计每次只能读取8bit,所以取指,需访问两次取出一条指令,访问四次取出一个数据。

An Hong CS USTC


107 ustcus gmail 2013

107计算机指令执行流程

  • 第二步:从存储器读指令到指令寄存器(读两次)

An Hong CS USTC


107 ustcus gmail 2013

107计算机指令执行流程

  • 第三步:指令寄存器发送操作码到译码器,进行译码

An Hong CS USTC


107 ustcus gmail 2013

107计算机指令执行流程

  • 第四步:指令寄存器发送地址给存储器,用于读出操作数。

An Hong CS USTC


107 ustcus gmail 2013

107计算机指令执行流程

  • 第五步:存储器发送数据给运算器,进行计算。

An Hong CS USTC


107 ustcus gmail 2013

加法的计算过程

  • 107计算机用的加法器是一位加法器,被加数存储在寄存器A中,加数由存储器读出。通过局部控制器进行控制移位,一位一位的加出结果。

  • 完成两个32位数相加,需要32拍

An Hong CS USTC


107 ustcus gmail 2013

一位加法器的原理

  • 输入:A,B,C0

  • 输出:S,C1

  • 输入的可能性种类是8种,可以枚举列出真值表

  • 最后可以根据这个真值表列出逻辑表达式:

An Hong CS USTC


107 ustcus gmail 2013

107计算机的输入方式

  • 输入设备:38型五单位自动发报机

  • 孔格式:

    • 有孔代表1,没孔代表0。

    • 首位有孔代表是要存入存储器的内容(指令或数据)。

    • 首位无孔表示是用于控制机器运行的指令

      • 如图中最后一行00100代表停止纸带传送。

An Hong CS USTC


C x86

一段简单的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


107 ustcus gmail 2013

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


107 ustcus gmail 2013

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


107 ustcus gmail 2013

107计算机的数据类型

  • 107计算机指令集中有两种数

    • 整数: 用于标识地址位,数值范围是从0~2047,用11位表示

    • 浮点数:用于运算,数值范围是-1~1,包括-1但不包括1,用32位表示

  • 浮点数

    • 首位标志是符号位,采用补码表示法,如:

      0100表示0.5;

      1001表示 -0.875;

    • 问题:107计算机表示数的精度是多少?

An Hong CS USTC


107 ustcus gmail 2013

107计算机汇编程序的指令格式

  • 由于107计算机指令格式均是指令操作码加内存地址的模式,故采取如下表示:

    • 普通运算指令

      ADD #1024 注:地址范围为0~2047,数据地址原则上要求为偶数

    • 跳转指令

      JMP #1024

    • 打印及停机指令

      OUT

      HALT

An Hong CS USTC


107 ustcus gmail 2013

地址:

*1011//二进制

$1024//八进制

#1204//十进制

%1024//十六进制

数值

*0.1101

$0.22

#0.1

%0.fa

#+0.3

#-0.3

数值的范围只能写-1~1的小数,否则报错。

107计算机汇编程序数值的写法

数值的表示:支持二进制,八进制,十进制,十六进制表示,分别添加前缀*,$,#,%即可。

An Hong CS USTC


107 ustcus gmail 2013

107计算机汇编程序的书写规范

程序分为两块,分别为程序段和数据段

.code//标志程序段的开始

XOR #1222//代码部分

.data//标志数据段的开始

#0.1203

支持类似C语言的多行注释和单行注释

//单行注释

/*

多行注释

*/

An Hong CS USTC


107 ustcus gmail 2013

.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


107 ustcus gmail 2013

感兴趣的同学可以尝试如下题目

  • [email protected],并说明使用方法,邮件主题:107计算机

  • 任务列表:

    • 计算π值

    • 计算e值

    • 计算n次幂

    • 计算平方根

    • 计算n次方根

    • 计算sin,cos

    • 炮弹落点计算

  • 鼓励自定义题目,让107数字计标机再次焕发青春!

An Hong CS USTC


  • Login