课程内容笔记,自用,不涉及任何 assignment,exam 答案

Notes for self-use, do not include any assignments or exams

H/W & S/W

H/W : 即 Hardware (硬件),指计算机的有形部件

S/W : 即 Software (软件),指计算机程序

Abstraction

  • 抽象 (Abstraction) 是指通过 接口 (Well-defined interface) 将实现细节 (low-level details) 进行 封装 (encapsulated)
  • 只需通过接口就能使用模块,无需了解实现细节

Decomposition of Computer System

  • 自顶向下 (top-down approach):将系统 Decompose 成若干个子系统 (sub-system)
  • 自底向上 (bottom-up approach): 用若干个子系统 Compose 复杂系统
  • 子系统组织成一个 hierarchy

Abstraction of Computer System

  • 每个子系统可被一个 block 表示:因此系统之间的关系形成了一个 block diagram
  • 子系统之间的边界较模糊 (arbitrary)
  • 子系统与外界交互有一个清晰并且 well-defined 的接口 (interface)

Computer/Electronic System

  • 所有的电脑系统最终都会与外界互动 (interacting with the physical worlds)
  • System Component —— 输入 input:外界的物理性质 (physical quantities)转化为易于处理的电信号 (electrical signals),例如电压,电流...
  • System Component —— 输出 output:将电信号或内部性质 (internal quantity) 转化为物理性质
  • System Component —— 处理 process:执行特定的功能

Computer organization 计算机组成

  • Input devices

    从外界获取数据/信息并传入计算机进行处理

    Interact with human:键鼠,触摸屏...

    Interact with other computers:硬盘 (hard disk),无线路由器 (wireless network router)...

  • Output devices

    将信息传向 (proceed)外界

    Interact with human:屏幕 (monitor),打印机,扬声器...

    Interact with other computer:硬盘,无线路由器...

  • Central Processing Unit (CPU) 中央处理器

    Control the operations of all parts of the computer system

    包括 arithmetic operations, decision making

    实体 CPU 包含一部分 memory system 与 I/O

  • CPU - Arithmetic and Logic Unit (ALU) 算术逻辑单元

    CPU 中的 ALU 负责执行实际的算术运算

    例如:四则运算 (\(+,-,\times, \div\)),位运算 (\(\&, \|, <<, >>\)),比较运算 (\(<, >, \neq, \leq, \geq\))

  • Memory

    储存 指令 (instruction)数据 (data) (注意,在同一 memory storage 同时储存指令与数据是 Von Neumann Architecture 的特性!)

    指令 (instruction):

    • 指导 CPU 的工作
    • 指令由用户的软件程序经过 编译 (compilation) 后产生

    数据 (data)

    • User input
    • Temporary Data
    • Computed output

    Memory Storage Capability:

    任何 Memory Device 都有对应的 Memory Storage Capability,表示其能存储的字节数 (Bytes, \(1\ Byte=8 \ bits\))

  • Memory —— Main Memory 主存

    主存包括 RAM (Random Access Memory)ROM (Read-Only Memory),其中的数据一般可直接访问

    其中,RAM 存储 user programs,其可与 CPU 直接交换数据,且是 volatile 的 (断电后存储的信息消失)

    ROM 存储几乎不会更改的数据:例如操作系统 (operating systems)

  • Memory —— Cache Memory 缓存

    现代处理系统常拥有多级缓存 (layers of Cache memory): Level 1(L1), Level 2(L2), Level(L3);多级缓存形成了 memory hierarchy

    缓存拥有较高的性能:



    缓存的作用:临时储存重复使用的数据,从而提高 fast access

    当CPU处理数据时,它会先到Cache中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从 RAM(Main memory)中读取数据

Stored-Program Computers

冯诺依曼 (Von Neumann) 提出 存储程序 (store programe) 设想

不同于传统的数据与程序分离,存储程序计算机将数据与程序一起进行存储;在执行计算时,遵循 memory 中存储的指令

  • Pros of Von Neumanns architecture

    控制单元 (Control Unit,例如 CPU) 能以同样的方式由主存中获取数据和指令

    类似的,由 memory 或 外部装置中获取的数据可以同样的方式进行处理

  • Cons of Von Neumann

    The memory unit is the performance bottleneck of the stored-program architecture since both data and instruction are stored

    in the same place

    CPU 与存储器之间的流量与存储器的容量相比起来相当小,这是限制冯诺伊曼结构效率的重要瓶颈 (performance bottleneck)

    The CPU is idle for a certain amount of time while memory is being accessed

    同样,CPU 与存储器之间的流量 (或 CPU 的读写效率) 与 CPU 的数据处理性能相比起来相当小,因此 CPU 将会在资料输入或输出存储器时闲置 (idle)

3 Classes of Computers

三种电脑类型:

Desktop Computer (桌上电脑)Server(服务器)Embedded System(嵌入式系统)

  • Desktop Computer

    我们最常见的电脑类型

    PC,笔记本电脑,智能手机均属该类型

  • Embedded System

    嵌入式系统指:某个 Computer system 是组成更大系统的一小部分,那么这个 Computer system 被称为嵌入式系统

    一般来说,其为整个系统执行简单或专门 (simple or dedicated)的功能;所以,其处理能力,存储能力均受限

    例:汽车上的测速系统 (测速系统为嵌入到整个汽车系统中的一个电脑系统)

    现代嵌入式系统的功能更加多样,且拥有更多的资源

ENGG1310 P2.1 Intro to CE Computer Systems, Programming & Networking的更多相关文章

  1. Uniform synchronization between multiple kernels running on single computer systems

    The present invention allocates resources in a multi-operating system computing system, thereby avoi ...

  2. Types of Computer Systems

    Types of Computer Systems Para 1 You should be familiar with the differences among computer systems ...

  3. Computer Go Programming 学习

    https://senseis.xmp.net/?ComputerGoProgramming https://www.worldscientific.com/doi/pdf/10.1142/S0218 ...

  4. General protection fault Exceptions in Linux/IA32 Systems

    Computer Systems A Programmer's Perspective Second Edition Exception number Description Exception cl ...

  5. 【FSFA 读书笔记】Ch 2 Computer Foundatinons(2)

    Hard Disk Technology 1. 机械硬盘内部构造 几个重要概念:Sector(扇区),Head(读写头),Track(磁道),Cylinder(柱面). 如果一个文件比较大,磁盘的写入 ...

  6. The Master of Science degree in Computer Scienc

    Computer Science MS Degree MS Degree or Depth       45.00 Hours Required   http://scpd.stanford.edu/ ...

  7. System and method to prioritize large memory page allocation in virtualized systems

    The prioritization of large memory page mapping is a function of the access bits in the L1 page tabl ...

  8. 2012年Elsevier旗下Computer Science期刊最新SCI影响因子排名

    Latest Impact Factor figures from Elsevier's Computer Science Journals Medical Image Analysis Impact ...

  9. Computer Science: the Big Picture

    1.课程PPTMIT OpenCourseWarehttp://ocw.mit.edu/courses/; Courses  Stanfordhttp://cs.stanford.edu/course ...

  10. Computer form factor

    http://en.wikipedia.org/wiki/Motherboard_form_factor Computer form factor From Wikipedia, the free e ...

随机推荐

  1. 学习python的编程语言

    前言 那么多编程语言,为什么学python 易于学习,是所有编程语言当中最容易学习的 没有最好的语言,只有最合适的语言 第一章 python基础 1. 课程整体介绍 课程整体介绍 python编程基础 ...

  2. ClickHouse(12)ClickHouse合并树MergeTree家族表引擎之AggregatingMergeTree详细解析

    目录 建表语法 查询和插入数据 数据处理逻辑 ClickHouse相关资料分享 AggregatingMergeTree引擎继承自 MergeTree,并改变了数据片段的合并逻辑.ClickHouse ...

  3. chatGPT vscode 体验

    体验秘钥 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 多人用可能有点卡,重在体验. 自己(中国)想注册账号如下 步骤一:找到入口 搜索Ope ...

  4. java helloworld demo

    大二的时候写过 web 仅限于 idea 配合 springboot, 学习的时候需要写个 java demo 或者算法, 居然不知道怎么写了 首先创建一个文件夹, 写上你的代码, 因为是demo, ...

  5. 周末折腾了两天,踩了无数个坑,终于把win7装成了centos7

    上周五的时候,突发奇想,想把自己的Thinkpad E430C的操作系统装成linux. 熟悉电脑的都知道Thinkpad E430C很古老了,现在算来从2012年买来,到现在已经经历了10个年头了. ...

  6. VS 管理控制台提示ScriptHalted

    一.结论 出现该问题是因为PowerShell 版本低的原因,按以下步骤操作即可 二.解决方案 1.下载最新PowerShell 安装程序包,根据系统找对应版本x86还是x64 https://www ...

  7. vant ui rem配置流程

    参考地址  https://www.cnblogs.com/WQLong/p/7798822.html 1.下载lib-flexible 使用的是vue-cli+webpack,通过npm来安装的 n ...

  8. 【KAWAKO】MNN-1.2.0版本交叉编译遇到的错误与解决方法

    目录 在使用gcc-linaro-7.5.0-aarch64-linux-gnu.gcc-linaro-6.3.1-aarch64-linux-gnu交叉编译链对MNN1.2.0进行交叉编译的过程中, ...

  9. 抛砖系列之k8s HorizontalPodAutoscaler(HPA)

    前言 "大伙得眼里有活,看见同事忙的时候要互相帮助,这样我们团队才能快速成长,出成绩,多干点活没坏处的,领导都看在眼里记在心里,不会亏待大伙." 看到这也许你还有点懵,不是要讲k8 ...

  10. 【NOI2014】随机数生成器

    代码 #include<cstdio> using namespace std; typedef long long LL; const int N = 5000; int n , m , ...