计算机系统基础第一章·CPI、MIPS

源程序到可执行文件

#include <stdio.h>
int main()
{
printf(“Hello world! Have a good term!”)
}

hello.c源程序到可执行文件hello的转化过程

在这里插入图片描述

  1. .c 经过预处理变成 .i 文件(仍然是源程序文本,长得和 .c一样)
  2. .i 经过编译得到 .s 文件(就是做实验经常看得那个汇编代码)
  3. .s 经过汇编(因为是汇编代码所以要进行汇编操作)变成 .o 文件(打不开的那种)
  4. 最后链接

执行过程

在这里插入图片描述
Hello程序被启动后,计算机的动作过程如下:

  1. shell程序读取字符串“./hello”中各字符到寄存器,然后存放到主存;
  2. “Enter”键输入后,操作系统内核(载入程序)根据主存中的字符串“hello”到磁盘上找到特定的hello目标文件,将其包含的指令代码和数据(“hello, world\n”)从磁盘读到主存,并将控制权转交给hello程序,即将hello程序的第一条指令的地址送到PC中;
  3. 处理器从hello主程序的指令代码开始执行;
  4. Hello程序将“hello, world\n”串中的字节从主存读到寄存器,再从寄存器输出到显示器上。

大概看看就行了🍙🍙🍙

课堂测试

选择题

4、以下有关高级编程语言的叙述中,错误的是
A. 高级编程语言与具体的计算机结构没有关系
B. 一条高级语言中的语句会对应很多条机器指令
C. 高级语言程序必须被翻译成机器语言才能被执行
D. 高级语言程序只要被转换成机器级目标代码就能被执行

选择D
A是对的,就是与具体计算机结构无关,因为高级编程语言会经过预处理、编译、汇编等操作最终转换成机器代码
D暂时未知原因(但毕竟这么绝对,所以选它)

6、以下有关指令以及指令执行过程的叙述中,错误的是
A、 指令由操作码和操作数或操作数的地址码构成
B、 指令操作码通过CPU中的控制器进行译码
C、 ALU运算时的操作数不可能是通用寄存器中的数据
D、 将要执行的下条指令的地址总是在程序计数器PC中
答案是C

一些摘取

指令和数据都放在存储器中,两者在形式上有差别(无差别,都以二进制存储,但 CPU 可以根据指令周期的不同阶段来区分是指令还是数据,通常在取指阶段取出的是指令,在执行阶段取出的是数据)

机器指令和汇编指令一一对应,功能相同(√)

须程序员在应用程序中直接控制外设进行输入/输出(非直接控制)

以下有关指令集体系结构的叙述中,错误的是( C )
A.指令集体系结构的英文缩写是ISA
B.指令集体系结构位于计算机软件和硬件的交界面上
C.通用寄存器的长度、功能与编号不属于指令集体系结构的内容
D.指令集体系结构是指低级语言程序员所看到的概念结构和功能特性

以下有关计算机系统层次结构的叙述中,错误的是( D )
A.最上层是提供给最终用户使用的应用程序(软件)层
B.OS是对ISA和硬件的抽象,程序员通过OS使用系统资源
C.ISA是对硬件的抽象,软件通过ISA使用硬件提供的功能
D.应用程序员工作在指令集体系结构层,需要对底层很熟悉 (应是ISA)

以下术语中,不属于计算机中硬件(即物理上实际存在的部件)的是( B )
A.算术逻辑部件
B.指令字
C.程序计数器(PC)
D.数据通路

假设8位模型机M:8位定长指令字,4个GPR,16个主存单元;如何在M上实现“z=x+y”?

在这里插入图片描述
在这里插入图片描述

计算机性能的基本评价指标

在这里插入图片描述

计算CPI

在这里插入图片描述
CPU(执行)时间 可以看作一个时钟需要的时间(一个程序运行的时间)
时钟频率(主频) 可以看作有多少个时钟数、倒数为 时钟周期
时钟周期数 —— 总需要时长(不同于 时钟周期
CPI —— 执行一条指令的时间


不然真的不好理解🥰

在这里插入图片描述
程序需要10s运行时间——CPU时间
如果时钟频率是GHz,换算——103MHz

MIPS

在这里插入图片描述
MIPS —— 指令条数/总执行时间(单位:秒)算出来的数,我个人觉得像平均CPI

课后习题

(6)

在这里插入图片描述

  • 程序的编写
  • 计算机的架构
  • ISA指令集

6

在这里插入图片描述
2. MIPS这个单位——需要指令数量为M(106),时间为s
3. 问的平均周期数就是上文的CPI,所以是CPU时间*时钟频率/指令数量(同样注意单位)
4. 这个第4问有点离谱,看看就行了
5. 第5问也是,看看就行了

在这里插入图片描述

在这里插入图片描述

7

在这里插入图片描述

  1. 这个第1问,CPU=时钟周期 * CPI * 指令条数:计算得指令条数这里CPU=1,CPI=1
  2. 看看就行了,稍微简单一些
    在这里插入图片描述

8

在这里插入图片描述
在这里插入图片描述

10

在这里插入图片描述
写这些题的时候,先把公式写出来吧,不然绕不过来😥
问CPI,那就是平均CPI
在这里插入图片描述

11

在这里插入图片描述
在这里插入图片描述
利用公式比较简单

一些复习链接:

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值