首页 > 其他分享 >计算机组成原理笔记(1)

计算机组成原理笔记(1)

时间:2023-09-22 18:24:04浏览次数:42  
标签:计算机 存储器 笔记 指令 存储单元 原理 运算器 体系结构

教材:

  • 《计算机组成原理(第2版)》 唐朔飞
  • 《计算机组织与设计:硬软件接口技术》 A.Patterson John.L.Hennessy (以MIPS为实例)
  • 《数字设计和计算机体系结构》 Morgan Kaufmann

1.1 计算机系统简介

现代计算机的多态性:sensor, Info. appliance, laptop, PC, server, mainframe, HPC(高性能计算机), 物联网(感应器嵌入各种物体,并普遍连接)。

一、 计算机的软硬件概念

硬件:计算机的实体;

软件:具有各类功能的信息(程序)组成。

  1. 系统软件:管理整个计算机系统(语言处理程序、操作系统、服务性程序、数据库管理系统、网络软件);
  2. 应用软件:按任务需要编制的各种软件。

image

二、 计算机的层次结构

1. 底层架构

系统复杂性管理的方法1:抽象 (隐藏系统中不重要的细节)。

image

本课主要研究逻辑层和微体系结构层。

2. 程序员视角

image

虚拟机器用软件实现,实际机器和微程序机器用硬件实现,之间是软硬件的接口。

三、 计算机体系结构和计算机组成的区别

计算机体系结构:程序员所见到的计算机系统的属性(指令系统、数据类型、寻址技术,I/O机理) “有无乘法指令”

计算机组成:实现具体的指令 “如何实现乘法指令”

1.2 计算机的基本组成

一、 冯·诺依曼计算机的特点

  1. 计算机由五大部件组成;
  2. 指令和数据以同等地位存于存储器,可按地址寻访;
  3. 指令和数据用二进制表示;
  4. 指令由操作码和地址码组成;
  5. 存储程序;
  6. 以运算器为中心。

二、冯·诺依曼计算机硬件框图

image

实线表示数据通路,虚线表示控制线路。

  1. 运算器:数学运算,逻辑运算;
  2. 存储器:存储数据和程序;
  3. 控制器:指挥程序运行;
  4. 输入设备:将信息转化为机器能识别的形式;
  5. 输出设备:将结果转化为人们熟悉的形式。

问题:

  1. 运算器过于繁忙,成为系统的瓶颈;
  2. 框图不具有层次化的特征。

如何改进?

1. 以存储器为核心

image

2. 现代计算机硬件框图

image

系统复杂性管理的方法2:3'Y

  1. 层次化 Hierachy :划分为多个模块或子模块;
  2. 模块化 Modularity :有明确定义的功能和接口;
  3. 规则性 regularity :模块更加容易被重用。

三、 计算机的工作步骤

1. 上机前的准备

  1. 建立数学模型;
  2. 确定计算方法;
  3. 编制解题程序(程序——完整步骤/指令——单个步骤)。

image

ACC 为累加器。

2. 计算机的解题过程

  1. 存储器的基本组成
    image

存储体: 存储体(大楼)——存储单元(房间)——存储元件(床位,0/1表示无人/有人)
存储器地址寄存器 MAR: 保存存储单元的地址或编号,反映存储单元的个数。
存储器数据寄存器 MDR: 保存要送入送出存储体的数据(比如送入CPU的),反映存储字长。

存储单元: 存放一串二进制代码;存储字: 存储单元中的二进制代码;存储字长: 存储字的长度。

每个存储单元赋予一个地址,存储单元按照地址寻址。

  1. 运算器的基本组成及操作过程
    image

ALU算逻运算单元是一个组合电路。组合电路如果撤销输入,也会撤销输出,所以必须在ALU的输入端加上寄存器,保存输入数据(ACC和X);ACC也用于保存结果,因为运算结果长度可能增加,增加乘商寄存器MQ保存多出来的部分。不同机型对应的运算器结构可能不同。

image
操作有顺序,由控制器控制先后或同时进行。

  1. 控制器的功能及基本组成

控制器解释指令、保障指令的有序执行。

image

取指令:从程序计数器PC中取出当前欲执行指令的地址;
分析指令:IR存放当前欲执行的指令,控制单元取出操作数进行分析。

运算器、控制器和存储器构成了计算机的主机

  1. 主机完成一条指令的过程
    image

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

1. 机器字长:CPU一次能处理数据的位数

与CPU中的寄存器位数有关。

2. 运算速度

主频、核数、每个核支持的线程数……

吉普森法:指令执行速度的加权平均(静态使用频率、动态使用频率) \(T_M=\sum\limits_{i=1}^n f_i t_i\)

CPI:执行一条指令所需时钟周期数

MIPS:每秒执行百万条指令

FLOPS:每秒浮点运算次数(更科学)

3. 存储容量:存放二进制信息的总位数

主存容量表示方式:存储单元个数*存储字长(如MAR=10,MDR=8,容量1K*8位),字节数;辅存容量表示方式:字节数

2.1 计算机的发展史

image

一、 计算机的产生和发展

现代计算机产生的驱动力:需求+技术发展(电子技术、体系结构技术);以硬件技术为计算机划代的标准:电子管——晶体管——中小规模集电——大规模集电——超大规模集电

1946年美国ENIAC:能十进制运算;由大量电子管构成,功耗大,占地面积大;用手工搬动开关进行编程。

IAS:以运算器为中心的冯诺依曼结构计算机

IBM System/360大中小型一系列产品:提出了计算机系统结构,给出了软硬件系统的交界面(软硬件设计可以同时进行);相同体系结构允许软件移植,形成了系列机和兼容机(同一公司,相同体系结构:系列机 / 不同公司,相同体系结构:兼容机)。

二、 微型计算机的出现和发展

微型计算机是使用微处理器的,集成度相对高的,面向个人的计算机。微处理器芯片和存储器芯片为微型计算机发展奠定基础。目前,芯片可集成超过30万个晶体管。

Moore(Intel公司创始人)定律:微芯片上集成的晶体管数目每三年翻两番。

三、 软件技术的兴起和发展

1. 各种语言

机器语言——面向机器(每设计一台新机器,都有不同的指令集,程序难以移植;01代码难以编写),汇编语言——面向机器,高级语言——面向问题(FORTRAN 科学与工程计算 PASCAL 结构化编程 C++ JAVA)

2. 系统软件

语言处理程序(汇编程序、编译程序、解释程序),操作系统,服务性程序(装配、调试、诊断、报错),数据库管理系统,网络软件

3. 软件发展的特点

软件是程序+ 文档(开发、使用、维护)

开发周期长,制作成本昂贵,检测软件产品质量的特殊性(很难把作用域完全测试,代码运行成功也不一定正确,程序分支复杂)

2.2 计算机的应用

科学计算和数据处理,工业控制和实时控制,网络技术,虚拟现实,办公自动化和管理信息系统,CAD/CAM/CIMS, 多媒体技术,人工智能

2.3 计算机的展望

替代传统的硅芯片?——光计算机(利用光子取代电子进行运算和存储),DNA生物计算机,量子计算机

标签:计算机,存储器,笔记,指令,存储单元,原理,运算器,体系结构
From: https://www.cnblogs.com/th19/p/17723094.html

相关文章

  • k8s 自动扩缩容HPA原理及adapter配置详解
    大家好,我是蓝胖子,都知道,k8s拥有自动扩缩容机制HPA,我们能够通过配置针对不同的扩缩容场景进行自动扩缩容,往往初学者在面对其中繁多配置的时候会学了又忘记,今天我将会以一种不同的视角,结合apiserver请求来探索这部分的配置,看完本篇,应该会对扩缩容这部分配置会有更深的理解。自......
  • 结构化剪枝 之 L1 剪卷积核 笔记
    论文:https://arxiv.org/pdf/1608.08710.pdf摘要CNN在各种应用中的成功伴随着计算和参数存储成本的显著增加。最近减少这些开销的努力包括在不损害原始精度的情况下修剪和压缩各个层的权重。然而,基于大小的权值修剪减少了完全连接层的大量参数,并且由于修剪后的网络中的不规则稀......
  • Linux系统文件管理读书笔记
        在我初学Linux系统的过程中,我学到了一些基础知识,包括了解Linux系统的目录结构、掌握处理文件的基本命令,以及掌握vim编辑器的使用。这些知识对于理解和使用Linux系统非常重要,下面是我学到的一些关键点:Linux系统目录结构:Linux系统的目录结构是层级化的,它包括了许多不同......
  • 【转载】人人都能看懂的大模型原理(四)
     四、AIGC可控生成原理       本章我们将揭露AIGC的神秘面纱,解答AIGC和大模型的区别和关系。我们也将讨论openAI和其他大模型公司的关键区别点,为什么他们能够遥遥领先。本章试图从机器学习理论出发,对图像生成和文本生成建立统一的理论。本章诸多理论和观点均为作者......
  • stm32笔记[9]-串口控制云台
    摘要基于stm32的云台控制程序,使用串口接收云台移动指令对云台进行控制.使用软件实现的PWM波发生方式.平台信息ArduinoIDEstm32f103c8t6接口S3:servo_bottom_pin:PA2S4:servo_top_pin:PA3S5:laser_pin:PB4S21:sl_in_pin:PA8S22:sr_out_pin:PB14S23:sl_out_pin:PB1......
  • 【Vue】由0到1深究计算和侦听属性的原理
    hello,我是小索奇,精心制作的Vue系列教程持续更新哈,涵盖大量的经验和示例,由浅入深进行讲解,想要学习&巩固&避坑就一起学习吧~计算和侦听属性计算属性重点概要定义:要用的属性不存在,需要通过已有属性计算得来原理:底层借助了Objcet.defineproperty()方法提供的getter和setter来计算属性计......
  • 多数据源切换和部分原理解说
    MybatisPlus作为mybatis的增强工具,提供了配置多数据源的扩展,通过简单的3步配置,即可使用注解轻松切换数据源。1. 引入坐标<!--     dynamic-datasource多数据源坐标--><dependency>    <groupId>com.baomidou</groupId>    <artifactId>dynamic-datasource-sprin......
  • 基于Java web的动力租车管理系统的设计与实现-计算机毕业设计源码+LW文档
    DESIGNANDIMPLEMENTATIONOFPOWERCARRENTALMANAGEMENTSYSTEMBASEDONJAVAWEB ABSTRACTWiththerapiddevelopmentofInternettechnology,thecurrentlifestyleofpeoplehasundergonetremendouschanges.Especiallyundertheinfluenceofthesharing......
  • 学习笔记1
    python使用opencv获取图像尺寸(高宽深)importcv2ascvimg=cv.imread("D:\\test.jpg")size=img.shapeh=size[0]#高度w=size[1]#宽度chan=size[2]#通道数img.size#像素数目print(size)结果(512,512,2)imread返回的是numpy.ndarray对象,[高,宽,通道......
  • 标记永久化学习笔记
    标记永久化是线段树的另一种写法,顾名思义,就是让懒标记永久作用于结点上不下传。回顾一下下传标记的写法。对于一个结点,懒标记作用于其管辖的范围。换句话说,其所有子孙结点都会被懒标记作用恰好一次。在进入下一层时,我们先将懒标记作用于其儿子,然后再将懒标记和其儿子的懒标记合并......