计算机组成原理(一)计算机系统概述

本文概要

文章主要为记录《计算机组成原理》的学习过程,侧重于对书中难点的理解
以简单的逻辑关系描述整本书,不陷于书中繁杂的知识点中,关键在于对计算机的系统性理解

  • 参考书籍 - 计算机组成原理

本文目录

  1. 计算机系统概述
  2. 计算机系统组成概念图
  3. 指令集体系结构

计算机系统概述

  1. 计算机由冯诺依曼结构发展演变而来,在计算机的发展过程中,计算机的性能大幅提升,计算机系统的复杂性也越加复杂
  2. 这个时候,计算机的 设计,制造,维修,使用等等环节,需要大量的人员参与,也就是分工协作,现如今,计算机的芯片,主板,内存等硬件生产都诞生了许多大型企业,维修诞生了曾经大街小巷里维修电脑的小店,使用诞生了代表秃头界的程序员们。
  3. 关于计算机的东西很多且大部分技术含量很高,关于计算机的学习,从计算机原型出发,主要理解一些重要概念,掌握计算机系统的整体性概念,能够从大的角度分析和考虑问题

计算机系统组成概念图

March 06:00 12:00 06:00 Mar 02 06:00 12:00 06:00 Mon 03 应用(问题) 算法 编程(编程语言) 操作系统(虚拟机) 指令集体系结构 微体系结构 功能部件/RTL 电路 器件 主要层次 计算机系统组成概念图

计算机组成原理主要内容是关于 指令集体系结构和微体系结构层次

  1. 上图的整体代表了计算机在本书中的层次划分,计算机的网络部分作为现如今计算机的重要部分,对于计算机网络的部分将不会作为重要内容出现在在计算机组成原理中
  2. 从一个简单的需求开始,计算圆周率 π \pi π,这个属于应用(需求,问题)
  3. 采用一个算法,解决这个需求
    1 1 2 + 1 2 2 + 1 3 2 . . . + 1 n 2 = π 2 6 \frac{1}{1^2} + \frac{1}{2^2} + \frac{1}{3^2}... +\frac{1}{n^2} = \frac{\pi^2}{6} 121+221+321...+n21=6π2
  4. 编程,将算法实现,这里的n越大, π \pi π 的值越接近,因为逼近无穷
    	import math
    	a = [1/i**2 for i in range(100000000) if i]
    	b = sum(a)
    	pi = round(math.sqrt(b*6), 20)
    
  5. 操作系统(虚拟机),经过一系列的编译与翻译后,操作系统及软件帮助完成这一步骤,为了运行该程序,操作系统还负责为这段程序分配计算资源和存储资源
  6. 到了指令集体系结构,处于计算机软硬件的交界处,负责将程序进一步翻译,转化为计算机能够理解的机器语言
  7. 微体系结构,作为硬件部分,是真实处理该程序的部分
  8. 以下层次就不再进行了解

指令集体系结构

指令集体系结构,我的理解就是一本中英词典,里面规定了中英文对照的规则,例如 mother 对应 母亲

  • 对于大多数人来说,指令集体系结构是很难接触到的,我觉得两类程序员可能会接触到,一类是操作系统开发者,一类是嵌入式开发者
  • 更多细节关注后续文章

指令执行与计算机性能评价

冯诺依曼结构模型机

  1. 该模型机是对计算机功能模块的一种划分,也是现代计算机的结构雏形
  2. 从某种程度上,模型机分为存储器,控制器,寄存器,算术部件
  3. 各部件围绕着数据进行协作,因为计算机就是为了处理数据而诞生的
  4. 寄存器,暂时性的存储器件,就像开商场一样,商场从供货商进货,把货放在仓库,展览区的货物卖完了,售货员就去仓库取,仓库的功能就与寄存器很相似
  5. 而控制器就像一个总经理一样,管理着整个商场,维持商场的正常运作

指令的执行流程

  1. 一条指令从点击运行到返回结果经历了哪些过程
  2. 应用程序创建进程,交给操作系统进行操控
  3. 操作系统将所有任务进行排队处理,
  4. 当排到该任务时,CPU 运行该指令,处理后返回
  5. 操作系统接受到CPU的处理结果后,再将结果返回应用程序

操作系统也是一个软件,同样需要占用CPU计算资源

  1. 这里将时间划分为两部分,一部分是CPU时间,包含(用户CPU时间)CPU执行该指令的时间,和(系统CPU)CPU运行操作系统的时间
  2. 另一部分是其他时间,是该指令加入排队的时间,以及进行排队的时间(其他指令的运行时间)

你可能感兴趣的:(学习笔记)