[计算机组成原理(唐朔飞 第2版)]第一章 计算机系统概论 第二章 计算机的发展及应用(学习复习笔记)

news2025/7/27 18:25:51

第1章 计算机系统概论

1.1 计算机系统简介

1.1.1 计算机的软硬件概念

  • 计算机系统由“硬件”和“软件”两大部分组成。
    • 硬件
      • 是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成
      • 如主机、外部设备等
    • 软件
      • 软件看不见摸不着,由人们事先编制的具有各类特殊功能的程序组成。
      • 通常把这些程序寄寓于各类媒体(如 RAM ROM、磁带、磁盘、光盘,甚至纸带等),它们通常存放在计算机的主存或辅存内。
  • 计算机性能的好坏取决于“软”、“硬"件功能的总和。
  • 计算机的软件通常又可以分为两大类
    • 系统软件
      • 系统软件又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度,高效运行。
      • 包括:
        • 标准程序库
        • 语言处理程序(如将汇编语言翻译成机器语言的汇编程序或将高级语言翻译成机器语言的编译程序)
        • 操作系统(如批处理系统、分时系统、实时系统)
        • 服务程序(如诊断程序、调试程序、连接程序等)
        • 数据库管理系统
        • 网络软件
        • ……
      • 系统软件运行过程中不需要人为干预,系统软件位于硬件和软件之间,屏蔽了硬件,使硬件有更高层次的抽象,使用户可用方便地使用计算机
    • 应用软件
      • 应用软件又称为应用程序,是用户根据任务需要所编制的各种程序

1.1.2 计算机系统的层次结构

  • 现代计算机的解题过程
    • 由用户用高级语言编写程序(称为源程序),然后将它和数据一起送入计算机内,再由计算机将其翻译成机器能识别的机器语言程序(称为目标程序),机器自动运行该机器语言程序,并将计算结果输出。
    • 在这里插入图片描述
  • 实际机器 M 1 M_1 M1(机器语言机器)
    • 用户使用二进制代码编写的程序(机器语言程序)可以直接运行的机器
    • 在这里插入图片描述
  • 虚拟机器(汇编语言机器)
    • 可以将用户编写的汇编语言程序翻译为机器语言程序的机器
    • 这并不是一台实际的机器,只是可以感到存在的一台具有翻译功能的机器,所以称为虚拟机
    • 在这里插入图片描述
    • 将汇编语言程序翻译为机器语言程序的程序为汇编程序
  • 虚拟机器(高级语言机器)
    • 可以将高级语言程序翻译成汇编语言程序或其他中间语言程序,或可以将高级语言程序直接翻译为机器语言程序的机器
    • 在这里插入图片描述
    • 将高级语言程序翻译为机器语言程序的软件为翻译程序
    • 翻译程序分为两种
      • 编译程序
        • 编译程序是将用户编写的高级语言程序(源程序)的全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序。
        • 只要源程序不变,就无须再次进行翻译。
      • 解释程序
        • 解释程序是将源程序的一条语句翻译成对应于机器语言的一条语句,并且立即执行这条语句,接着翻译源程序的下一条语句,并执行这条语句,如此重复直至完成源程序的全部翻译任务。
        • 它的特点是翻译一次执行一次,即使下一次重复执行该语句时,也必须重新翻译。
  • 微程序机器 M 0 M_0 M0
    • 将机器 M 1 M_1 M1中的每一条机器指令翻译为一组微指令,即构成一个微程序
    • 微程序机器是对实际机器 M 1 M_1 M1的分解,即用 M 0 M_0 M0的微程序解释并执行 M i M_i Mi的每一条机器指令
    • 为了区分实际机器 M 1 M_1 M1 M 0 M_0 M0,将 M 1 M_1 M1称为传统机器, M 0 M_0 M0称为微程序机器
    • 在这里插入图片描述
  • 虚拟机器(操作系统机器)
    • 实际上在实际机器 M 1 M_1 M1与虚拟机器 M 2 M_2 M2之间还有一级虚拟机器,它是由操作系统软件构成的。
    • 操作系统提供了在汇编语言和高级语言的使用和实现过程中所需的某些基本操作,还起到控制并管理计算机系统全部硬件和软件资源的作用,为用户使用计算机系统提供极为方便的条件。
    • 在这里插入图片描述
  • 将硬件研究的主要对象归结为传统机器 M 1 M_1 M1和微程序机器 M 0 M_0 M0
  • 软件的研究对象主要是操作系统级以上的各级虚拟机。
  • 固件:一部分软件功能由硬件来实现,把软件永恒地存于只读存储器中

1.1.3 计算机组成和计算机体系结构

  • 计算机体系结构
    • 是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。
    • 计算机系统的属性通常是指程序员所看到的传统机器的属性,站在不同层次上编程的程序员所看到的计算机属性是各不相同的
      • 包括指令集数据类型、存储器寻址技术、I/O机理等,大都属于抽象的属性。
  • 计算机组成
    • 是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。
  • 计算机体系结构指出计算机系统具有哪些属性,如具有哪些指令;计算机组成实现计算机体系结构指出的计算机系统具有的属性,如每条指令如何实现。

1.2 计算机的基本组成

1.2.1 冯·诺依曼计算机的特点

  • ENIAC:电子数字积分计算机,世界上第一台计算机
  • 冯·诺依曼在研究EDVAC 机时提出了“存储程序”的概念。
  • 以“存储程序”概念为基础的各类计算机通称为冯·诺依曼机。
  • 冯·诺依曼计算机的特点:
    • 计算机由运算器、存储器、控制器、输人设备和输出设备五大部件组成。
    • 指令和数据以同等地位存放于存储器内,并可按地址寻访。
    • 指令和数据均用二进制数表示。
    • 指令由操作码和地址码组成
      • 操作码用来表示操作的性质,即执行该指令需要完成什么操作;
      • 地址码用来表示操作数在存储器中的位置,即参加运算的数在存储器内的位置。
      • 机器指令的操作码和地址码采用0、1代码的组合表示
    • 存储程序,程序存储在存储器中,指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
    • 机器以运算器为中心,输人输出设备与存储器间的数据传送通过运算器完成。

1.2.2 计算机的硬件框图

  • 典型的冯·诺依曼计算机是以运算器为中心的
    • 在这里插入图片描述
  • 现代的计算机以存储器为中心
    • 在这里插入图片描述
  • 各部件的功能
    • 运算器:
      • 用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内。
      • 运算器的核心为ALU(算术逻辑单元),能够完成算术运算和逻辑运算
    • 存储器
      • 用来存放数据和程序。
      • 存储器分为主存储器和辅助存储器
        • 主存储器:用来存放程序和数据,可以直接于CPU交换信息
        • 辅助存储器,简称辅存,又称外存
    • 控制器
      • 用来控制、指挥程序和数据的输人、运行以及处理运算结果。
      • 控制器的核心为CU(控制单元)
        • 用于解释存储器中的指令,并发出各种操作命令来执行指令
    • 输人设备
      • 用来将人们熟悉的信息形式转换为机器能识别的信息形式
    • 输出设备
      • 可将机器运算结果转换为人们熟悉的信息形式
    • 计算机的五大部件(又称五大子系统)在控制器的统一指挥下,有条不紊地自动工作
  • 由于运算器和控制器在逻辑关系和电路结构上联系寸分紧密,这两大部件往往集成在同一芯片上,通常将它们合起来统称为中央处理器(CPU)。
    • ALU和CU是CPU的核心部件
  • 把输入设备与输出设备简称为I/O设备
    • I/O设备受CU控制,完成相应的输入输出操作
  • 现代计算机可认为由三大部分组成:CPU、I/O设备及主存储器
  • CPU与主存储器合起来又可称为主机,I/O设备又可称为外部设备。
  • 在这里插入图片描述

1.2.3 计算机的工作步骤

  • 用计算机解决一个实际问题通常包含两大步骤
    • 上机前的准备
      • 建立数学模型,根据问题确定数学模型
      • 确定计算方法,计算机并不一定完全支持数学方程中的运算,需要将其转为适合计算机的加减乘除等运算
      • 编制解题程序
    • 上机运行
  • 细化的计算机组成框图
    • 在这里插入图片描述
  • 主存储器
    • 在这里插入图片描述
    • 主存储器(简称主存或内存)包括存储体M、各种逻辑部件及控制电路等。
      • 存储体由许多存储单元组成,每个存储单元又包含若干个存储元件(或称存储基元、存储元),每个存储元件能寄存一位二进制代码“0”或“1”。
    • 一个存储单元可存储一串二进制代码,称这串二进制代码为一个存储字,这串二进制代码的位数称为存储字长。
    • 一个存储字可代表一个二进制数,也可代表一串字符
    • 赋予每个存储单元一个编号,称为存储单元的地址号
    • 主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写人)取(读出)。这种存取方式称为按地址存取方式,即按地址访问存储器(简称访存)。
    • 为了能实现按地址访问的方式,主存中还必须配置两个寄存器MAR和MDR。
      • MAR是存储器地址寄存器
        • 用来存放欲访问的存储单元的地址,其位数对应存储单元的个数
      • MDR是存储器数据寄存器
        • 用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码,其位数与存储字长相等。
    • 存储字长、指令字长、数据字长三者可各不相同,但它们必须是字节的整数倍。
  • 运算器
    • 在这里插入图片描述
    • 运算器最少包括3个寄存器(现代计算机内部往往设有通用寄存器组)和一个算术逻辑单元(ALU)。
      • ACC为累加器
      • MQ为乘商寄存器
      • X为操作数寄存器
      • 这3个寄存器在完成不同运算时,所存放的操作数类别也各不相同。
    • 不同机器的运算器结构是不同的
    • M表示存储器的任一地址号,[M]表示对应M地址号单元中的内容;X表示X寄存器,[X]表示X寄存器中的内容;ACC表示累加器,[ACC]表示累加器中的内容;MQ表示乘商寄存器,[MQ]表示乘商寄存器中的内容
  • 控制器
    • 在这里插入图片描述
    • 控制器是计算机的神经中枢,由它指挥各部件自动、协调地工作。
    • 完成一条指令操作的具体过程
      • 控制器首先要命令存储器读出一条指令,称为取指过程(也称取指阶段)。
      • 对这条指令进行分析,指出该指令要完成什么样的操作,并按寻址特征指明操作数的地址,称为分析过程(也称分析阶段)。
      • 根据操作数所在的地址以及指令的操作码完成某种操作,称为执行过程(也称执行阶段)。
      • 通常,完成一条指令操作需要取指、分析和执行3个阶段。
    • 控制器由程序计数器(PC)、指令寄存器(IR)以及控制单元(CU)组成。
      • PC用来存放当前欲执行指令的地址,它与主存的MAR之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址。
      • IR用来存放当前的指令,IR的内容来自主存的MDR。
        • IR中的操作码(OP(IR))送至CU,记作 OP(IR)→CU,用来分析指令;
        • 其地址码(Ad(IR))作为操作数的地址送至存储器的MAR,记作Ad(IR)→MAR。
      • CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象。
  • I/O
    • I/O子系统包括各种I/O设备及其相应的接口。
    • 每一种I/O设备都由I/O接口与主机联系,它接收CU发出的各种控制命令,并完成相应的操作。

1.3 计算机硬件的主要技术指标

1.3.1 机器字长

  • 机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。
  • 字长越长,数的表示范围越大,精度也越高。
  • 机器的字长直接影响加法器(或ALU)、数据总线以及存储字长的位数。

1.3.2 存储容量

  • 存储器的容量包括
    • 主存容量
      • 主存容量是指主存中存放二进制代码的总位数
      • 主存容量 = 存储单元个数 x 存储字长
      • MAR的位数反映了存储单元的个数,MDR的位数反映了存储字长。
      • 现代计算机中常以字节数来描述容量的大小,因一个字节已被定义为8位二进制代码,故用字节数便能反映主存容量。
    • 辅存容量
      • 辅存容量通常用字节数来表示

1.3.3 运算速度

  • 吉普森(Gibson)法
    • 它综合考虑每条指令的执行时间以及它们在全部操作中所占的百分比
    • 在这里插入图片描述
    • T m T_m Tm为机器运行速度; f i f_i fi为第i种指令占全部操作的百分比数; t i t_i ti为第i种指令的执行时间。
    • 吉普森法计算出来的机器运行速度为各种指令执行时间的加权平均值
  • MIPS( Million Instruction Per Second,百万条指令每秒 )
    • 单位时间内执行指令的平均条数
  • CPI( Cycle Per Instruction )
    • 执行一条指令所需的时钟周期(机器主频的倒数)
  • FLOPS( Floating Point Operation Per Second,浮点运算次数每秒)
    • 单位时间内执行浮点运算的次数

1.4 本书结构

第2章 计算机的发展及应用

  • 第一代计算机:电子管计算机
    • 第一台计算机:电子数字积分计算机 ENIAC
    • EDVAC:首次采用存储程序概念的计算机
  • 第二代计算机:晶体管计算机
  • 第三代计算机:集成电路计算机
  • 第四代计算机:超大规模集成电路计算机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/394642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【protoc自定义插件】「go语言」实现rpc的服务映射成http的服务,protoc生成gin的插件,(详解实现原理及过程)

文章目录前言一、工程实践中如何更好的使用proto文件?二、protoc命令如何查询依赖的proto文件以及执行原理1. protoc命令如何查询依赖的proto文件2. protoc执行的插件加载原理是什么?3. proto文件中的package和go_package的作用三、protoc插件开发原理体…

春招冲刺(十): Vue2 技术复盘

vue2 技术复盘 Q1:MVVM框架的理解? MVVM模型: M:模型(Model),data中的数据V:视图(View),模板代码VM:视图模型(ViewModel…

Me-and-My-Girlfriend-1靶场通关

Me-and-My-Girlfriend-1靶场通关 靶机ip:192.168.112.135 信息收集 端口:22、80 还是从80WEB服务器端口入手 对服务器目录进行扫描,扫出以下目录 访问80端口WEB服务,显示一段文字只允许本地用户访问。 一眼伪造ip,查看页面…

基于土壤数据与机器学习算法的农作物推荐算法代码实现

1.摘要 近年来,机器学习方法在农业领域的应用取得巨大成功,广泛应用于科 学施肥、产量预测和经济效益预估等领域。根据土壤信息进行数据挖掘,并在此基础上提出区域性作物的种植建议,不仅可以促进农作物生长从而带来经济效益&#…

为什么想到微前端,是巨石应用?

为什么想到微前端,是巨石应用? 现代的前端应用的发展趋势正在变得越来越富功能化,富交互化,也就是传说中的SPA(单页面应用);这样越来越复杂的单体前端应用,背后的后端应用则是数量庞大的微服务集群。被一个…

STM32和emWin必须知道的那些事

emWin 是由德国 SEGGER 公司开发,可为图形 LCD 设计提供高级支持,极大简化了 LCD 设计。 为恩智浦ARM 微控制器用户免费提供的 emWin 图形库。在国内做嵌入式系统的大部分都使用 emwin, 其简单来说就是一套图形库。STemWin是SEGGER公司授权给…

HTML DOM 事件监听器

通过JavaScript,我们可以给页面的某些元素添加事件的监听器,当元素触发相应事件的时候监听器就会捕捉到这个事件并执行相应的代码。addEventListener() 方法实例当用户点击按钮时触发监听事件:document.getElementById("myBtn").ad…

Balsamiq Wireframes 安装配置

文章目录Balsamiq Wireframes 安装配置一、简介二、软件特色1、零学习曲线,随时随地提供强大功能2. 专为协作而设计3. 每个人的第一个 UX工具三、Balsamiq Wireframes功能介绍1、工具列2、快速添加工具3、UI库4、帆布5、导航器面板6、键盘快捷键:四、安装…

经纬恒润再传佳讯,斩获大奖

阳春二月,经纬恒润屡传佳讯,凭借产品、研发等多方面的出色表现,再次斩获东风柳汽“优秀供应商”和广汽传祺“科技创新奖”,以实力印证良好口碑,不忘初心,载誉而行! 东风柳汽:优秀供…

【信号量机制及应用】

水善利万物而不争,处众人之所恶,故几于道💦 目录 一、信号量机制 二、信号量的应用 >利用信号量实现进程互斥   >利用信号量实现前驱关系   >利用记录型信号量实现同步 三、例题 四、参考 一、信号量机制 信号量是操作系统提…

现在招个会自动化测试的人是真难呀~你会个锤子的自动化测试

现在招个会自动化测试的人是真难呀~ 前一段时间公司计划要招2个自动化测试到岗,同事面试了十几个来应聘的人,发现一个很奇怪的现象,在面试的时候,如果问的是框架API、脚本编写这些问题,基本上所有人都能对答如流&…

centos6下为Rstudio安装多版本R

之前的R版本太旧,不少包装不上,需要安装新版本的R: R --version R version 3.6.0 (2019-04-26) -- "Planting of a Tree"于是下载最新版R: 因为没有证书,需要加上最后面的参数. wget https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-4/R-4.2.2.tar.gz --no…

MySQL OCP888题解042-审计日志格式

文章目录1、原题1.1、英文原题1.2、中文翻译1.3、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3.1、知识点1:审计日志3.1.1、审计日志是什么3.1.2、审计日志格式4、总结1、原题 1.1、英文原题 Consider the MySQL Enterprise Audit plugin. You are check…

好使!NAS中傻瓜式配置反向代理及SSL证书,提升网络安全性!

对于有NAS或者有个人主机的朋友来说,将机器映射到外网是基本操作。 但是一般来说,能直接从外网访问的往往仅有80和443端口。事实上,运营商一般把家庭宽带的这两个端口都封了,所以如果我们想要从外网访问自己家中机器部署的服务&a…

【Ajax】异步通信

一.概述 概念:AJAX(Asynchronous JavaScript And XML):异步的 JavaScript 和 XML 作用: 与服务器进行数据交换:通过AJAX可以给服务器发送请求,并获取服务器响应的数据 使用了AJAX和服务器进行通信,就可以使…

设计模式-第11章(观察者模式)

观察者模式观察者模式观察者模式的特点老板回来了观察者模式 观察者模式又叫发布订阅模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能…

nextcloud挂载阿里云oss 过程

1. 情景 : 已经使用docke-compsoe 搭建起来nextcloud 并投入使用 ,现在内存不够需要挂一个oss nextcloud挂载阿里云oss大概思路 : 使用阿里官方提供的 ossfs , 将oss挂载到服务器目录中 , 在docker-compose中的 做容…

ArcGIS10.6“License许可启动无响应”解决方法

以下是我尝试过的方法关闭防火墙(很必要)替换 “Service.txt” 及 "ARCGIS.exe"文件(感觉没什么用)修改服务设置(很必要)更改注册表(可有)更改端口号(好像没什…

My RuoYi 微服务

一 快速了解 文档(特别详细):介绍 | RuoYi 介绍 技术架构(图):介绍 | RuoYi快速了解 技术选型 系统环境主框架持久层视图层内置功能 用户管理:用户是系统操作者,该功能主要完成系…

HBase---HBase基础语法

HBase基础语法 文章目录HBase基础语法基本操作进入 HBase 客户端命令行查看命名空间查看命名空间下的表创建命名空间创建表查看表描述禁用/启用删除表新增列族删除列族更改列族存储版本的限制put 增加数据get 查看数据get条件查询删除指定列族下的指定列删除指定行全表扫描全表…