美文网首页
《计算机科学导论》- 读书笔记 - 绪论

《计算机科学导论》- 读书笔记 - 绪论

作者: 大兄弟 | 来源:发表于2020-11-02 12:38 被阅读0次

    一、图灵模型

    • Alan Turing 设想所有的计算都可能在一个特殊的机器上执行。
    1. 数据处理器
    • 首先计算机是一个数据处理器,可以认为计算机是一个接收输入数据、处理数据并产生输出数据的黑盒。


      image.png
    1. 图灵模型(可编程数据处理器)
    • 相对于数据处理器,该模型添加了一个额外的元素——程序(用来告诉计算机对数据进行处理的指令集合)


      image.png
    • 输入数据→计算机→输出数据

    • 这种模型中输出数据依赖于输入数据和程序。

    1. 通用图灵机
    • 对现代计算机的首次描述,该机器只要提供了合适的程序就能做任何运算。

    二、冯诺依曼模型

    四个子系统

    基于冯诺依曼模型建造的计算机分为,存储器;算术逻辑单元;控制单元;输入输出单元

    image.png
    存储器
    • 用来存储的区域,在计算机的处理过程中存储器用来存储数据和程序。
    算术逻辑单元ALU
    • 用来进行计算和逻辑运算的地方
    控制单元
    • 对存储器、算术逻辑单元、输入/输出等子系统进行控制操作的单元。
    输入/输出单元
    • 输入子系统负责从计算机外部接收输入数据和程序;
    • 输出子系统负责将计算机的处理结果输出到计算机外部。也包括辅助存储设备。

    存储的程序概念

    • 冯诺依曼模型要求程序必须存储在内存中。
    • 现代计算机的存储单元主要是用来存储程序以及响应数据,这意味着数据和程序应该具有相同的格式。实际上它们都是以位模式存储在内存中的,

    指令的顺序执行

    • 冯诺依曼模型中的一段程序是由一组数量有限的指令组成。控制单元从内存中提取一条指令,解释指令,执行指令。

    三 计算机组成

    • 计算机硬件、数据、计算机软件

    数据

    • 冯诺依曼,将一台计算机定义为一台数据处理器。
    存储数据
    • 如果一台计算机是一台电子设备,最好的数据存储方式应该是电子信号。
    • 后续笔记中会详细描述不同类型的数据是怎样以0和1序列的二进制的形势存储在计算机内部;和计算机内部由二进制组成的数据是怎样被处理的。
    计算机软件
    必须存储数据
    • 在冯诺依曼模型中这些程序被存储在计算机的存储器中,内存中不仅要存储数据,还有存储程序。
    指定的序列
    • 这个模型要求程序必须是有序的指令集。
    • 为什么程序必须是不同的指定集组成?为了重用性。
    算法
    • 程序员首先应该以循序渐进的方式来解决问题,接着尽量找到合适的指令(指令序列)来解决问题。
    语言
    • 计算机早期只有称为”机器语言“的计算机语言。
    • 计算机科学家研究出利用符号代表二进制模式。
    软件工程
    • 指结构化程序的设计和编写。
    操作系统
    • 科学家发现有一系列指令对所有程序来说是公用的。如果这些指令只编写一次就可以用于所有程序,效率将会大大提高,这样就出现了操作系统的概念。

    四 历史

    机械计算器

    • 17世纪:Pascsline、Pascal语言(结构化的程序设计语言)。
    • 17世纪后期:莱布尼兹计算机器。
    • 1823年,差分机、后来--分析机。

    电子计算机

    • 早期电子计算机:存储单元仅仅用来存放数据,利用配线或开关进行外部编程 ENIAC
    • 基于冯诺依曼模型的计算机:EDVAC

    几代计算机

    • 第一代计算机:商用计算机,真空管作为电子开关
    • 第二代计算机:晶体管代替真空管,Fortran、Cobol语言
    • 第三代计算机:集成电路,小型计算机
    • 第四代计算机:微型计算机,桌面处理器出现,Altair 8800
    • 第五代计算机:掌上电脑与台式电脑

    五 问题

    • 社会问题:依赖、社会公正、数字化分裂
    • 道德问题:隐私、版权、计算机犯罪

    六 计算机科学

    系统领域

    • 计算机体系结构、计算机网络、安全问题、操作系统、算法、程序设计语言、软件工程

    应用领域

    • 数据库和人工智能

    七 后续笔记会介绍

    • 数据表示与运算
    • 计算机硬件
    • 计算机软件
    • 数据组织与抽象
    • 高级论题

    八 哈佛结构

    棕生看后抛出来一个问题“除了冯诺依曼结构还有别的结构吗?”

    • 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,如下图所示。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。


      image.png
    • 哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。
    • 哈佛结构是指程序和数据空间独立的体系结构, 目的是为了减轻程序运行时的访存瓶颈。
    • 哈佛结构能基本上解决取指和取数的冲突问题。
    冯·诺依曼体系和哈佛总线体系的区别
    • 二者的区别就是程序空间和数据空间是否是一体的。冯·诺依曼结构数据空间和地址空间不分开,哈佛结构数据空间和地址空间是分开的。
    • 哈佛总线技术应用是以DSP和ARM为代表的。采用哈佛总线体系结构的芯片内部程序空间和数据空间是分开的,这就允许同时取指和取操作数,从而大大提高了运算能力。
    • DSP芯片硬件结构有冯·诺依曼结构和哈佛结构,两者区别是地址空间和数据空间分开与否。一般DSP都是采用改进型哈佛结构,就是分开的数据空间和地址空间都不只是一条,而是有多条,这根据不同的生产厂商的DSP芯片有所不同。在对外寻址方面从逻辑上来说也是一样,因为外部引脚的原因,一般来说都是通过相应的空间选取来实现的。本质上是同样的道理。
    改进型的哈佛结构与哈佛体系结构差别

    与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:

    (1).使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;

    (2).使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。

    后来,又提出了改进的哈佛结构,其结构特点为:

    (1).使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;

    (2).具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;

    (3).两条总线由程序存储器和数据存储器分时共用。


    image.png

    摘自哈佛结构和冯诺依曼结构

    相关文章

      网友评论

          本文标题:《计算机科学导论》- 读书笔记 - 绪论

          本文链接:https://www.haomeiwen.com/subject/xrfmvktx.html