Advertisement

计算机系统基础第一章笔记整理

阅读量:

第一章计算机系统概述

(参考教材:计算机系统基础-袁春风老师)

在存储程序模式下,必须将预先编写的程序代码与原始数据一并加载到主存后再进行处理.一旦系统启动运行,在无需人工干预的情况下,计算机能够自动依次读取并执行每一条指令.

2. 冯·诺依曼结构基本思想主要包括以下几个方面:

  1. 该系统采用了基于存储程序的方法运行。
  2. 该计算机由运算器、控制器等五个主要组件构成。
  3. 存储器不仅用于保存数据信息还能承载执行指令所需的代码;从外观上看数据与指令并无区别但在处理时需区分两者;控制器负责解码并执行指令;运算器则能执行算术运算以及逻辑判断;操作人员可通过输入/输出设备与系统交互。
  4. 计算机内部采用二进制编码来表示所有数据与指令;每个指令由操作码与地址码组成其中操作码决定了操作类型而地址码指定了操作的数据来源;一系列这样的指令组合起来就构成了一个完整的程序。
  5. 关于具体的指令类型及功能这些细节将在后续章节中进行详细讨论。

操作码字段用于指定执行的具体运算类型。
源操作数部分包含以下几种形式:
包括立即值、寄存器索引以及内存地址。
目的操作数部分则由寄存器索引或内存地址组成。

3. 将要执行的下条指令的地址总是在程序计数器PC中

4. CPU中的控制器对指令操作码进行译码

5. 它们均与computer system architecture密切相关;采用higher-level programming language相比使用assembly language更加便捷;可以直接采用machine instructions的形式来编写programs;computers无法直接运行由higher-level programming languages或assembler-based programs生成的指令序列。

  1. 在汇编语言中采用符号来标识操作码及地址信息;为了精确表达数值信息,则采用十进制或十六进制形式来表达常数值;程序设计时通常采用助记符来标识操作代码并指示数据来源,在内存存储部分则常用标号来进行定位;在计算机内部运行时,则按照预设的规则自动执行这些编码后的命令序列

在开发软件时使用高级编程语言时必须具备程序员与计算机交互的用户界面即GUI或CUI同时必须有一个翻译或转换程序即编译器或解释器以及一套工具软件或是集成开发环境即语言处理系统这些功能都是必不可少的但不需要程序员在应用程序中直接控制外设进而执行输入输出操作这些工作通常是通过相应的软硬件自动完成

整个计算机系统由硬件与软件两个主要部分构成。其中,软件又划分为:系统软件(分类于操作系统的范畴)及其应用软件

9.从源程序到可执行文件:

以下是对原文的同义改写

.

ISA构成了一种抽象概念,它是对指令系统的规格说明或组织架构.ISA的具体实现则被称为微体系结构(微架构).该概念主要应用于软件与硬件交互的层面,它反映了低级语言程序员所接触到的概念架构及其功能特性.

ISA涵盖的内容涉及数据类型及其格式, 指令格式, 寻址方式以及可访问地址空间的规模, 程序可访问的寄存器数量、容量与编号信息, 控制寄存器的作用域, I/O空间组织架构, 中断结构, 机器运行状态的表现形式与转换机制, 输入输出机制及其数据传输途径, 存储保护策略等。由此可见,在软件层面所关注的部分即构成指令集体系结构。

ISA是一种规约(Specification),它规定了如何使用硬件

  • 指令系统
    • 寄存器布局、存储容量和地址编码方案
    • 数据存储方案、数据访问模式
    • 指令调度策略

程序计数器单元(CPU)、数据传输路径、算术逻辑单元属于计算机中的硬件;而指令字则不属于这一类别

计算机系统层次结构:操作系统是对ISA接口和硬件设备的抽象,系统资源可通过操作系统被程序访问;ISA是对硬件设备的抽象,软件通过ISA接口可调用硬件提供的功能;最高层次是为最终用户提供服务的应用程序(软件)层面

(下面的这堆有点印象就行):

计算机最终用户:通过键盘和鼠标等外设进行人机交互,并借助操作系统提供的用户界面来启动并执行应用程序或系统命令以完成用户的各项任务。因此,在整个操作过程中,最终用户的感知仅限于系统提供的简单人机交互界面以及安装在其中的相关应用程序。

系统管理员:具备专业技能的维护者。
他们不仅深入掌握计算机系统的知识,
而且能够设置并优化计算机硬件与软件的能力。
系统管理员负责管理创建并维护用户账号,
并在必要时能够进行硬件及软件的升级操作。
他们还需要完成复制业务数据并进行数据恢复的任务。
即意味着...具备解决问题的专业能力。

因此,在后台管理系统中能够识别的是系统的若干硬件组件、后台管理系统以及相关软件组件与人机交互界面。

软件工程师:大多数软件工程师使用高级编程语言来开发应用程序。他们通常会遇到一系列与计算机相关的组件和技术包括但不限于硬件设备操作系统提供的API接口人机交互界面以及各种实用工具软件之外的部分还包括相应的人工智能支持系统

在语言处理系统内除了具备独立的翻译功能之外通常会整合多种功能模块包括用于编辑功能的模块以及提供链接功能的相关工具这些组件不仅能够独立运行还能协同工作形成一个高效的操作平台同时具备为应用程序提供服务的各种函数库

作为一名系统程序员,在开发操作系统、编译器以及各种实用程序等系统的软件时

15.黄色部分要记牢

16.常用公式:

MIPS表示每秒钟执行指令的条数(以百万条为单位)

*MIPS = 指令数目 / (执行时间 × 10) = 指令数目 × f / (CPU 时钟周总数 × 10⁶) = f / (CPI × 10⁶)【MIPS 表示每秒可执行的指令数量(单位为百万条)

经过优化后的运行效率等于优化组件的执行时间除以优化组件占总执行时间的比例加上非优化组件的执行时间

整体优化效率等于1除以(优化模块运行占比除以优化效能提升倍数加非优化模块运行占比)。

  • 约等于一吉字等于十的九次方以及二的三十次方、约等于一兆字等于十的六次方以及二的二十次方
    • 性价比=执行时间分之一乘以价格
    • 性价比(仅考虑时间因素):计算算术平均时间和几何平均时间
    • 比较两个机器的速度:当指令数量相同时参考执行时间;当指令数量不同时参考MIPS数值

全部评论 (0)

还没有任何评论哟~