其他分享
首页 > 其他分享> > 计算机系统 学习笔记(0)南京大学(一)第一周

计算机系统 学习笔记(0)南京大学(一)第一周

作者:互联网

课程:计算机系统基础

核心理念:人类世界与计算机世界的异同

我们关注点是差异点!

一样的你就不用关心了,关心差异!差异在哪里呢?

计算机这个工具,最重要的就是将人类思维产物,使用计算机实现

因此说,有很多地方,是直接可以直观地去实现逻辑思维过程的(语义上就能理解),但是也有计算机的一些特点,需要我们专门去把握(从计算机本身处理方式和规则去理解)!

面向机器描述,机器级语言:机器语言和汇编语言

二者都是面向机器结构的语言,与机器有关,不同机器(不同的系统结构)就不一样了,移植性不好。

面向算法描述:高级语言

根据人的逻辑思维方式,产生的产物来编程,越来越接近人类思考方式。机器无关!因为内些部分交给编译器处理了,编译器来完成机器相关性的处理,这也是一种封装

执行hello world程序

在这里插入图片描述

这里值得注意的关键点是缓存技术,我们将存储器进行分层设计,从而 平衡了存储的容量、速度和价格等多方面因素:

我们可以体会到,计算机通过多层次缓存完成了程序的一步步缓冲,通过CPU控制它们,从而有了我们现在看见的计算机系统。

使用高级语言开发程序需要的环境

在这里插入图片描述

早期原始程序开发方式

在这里插入图片描述

早期没有高级语言,也没有那么多的复杂上层环境,我们只需要直接使用汇编语言/机器语言输入到计算机中执行即可,这个过程,对于计算机来说很简单,也不需要有太多复杂的处理,但是对于人类来说,编程是一件非常痛苦的事情啊……

现代高级语言程序开发方式

高级语言的但是,解决了汇编语言开发时代的困难,不过也因此,计算机需要处理的工作复杂起来了,也就是,人类世界通往计算机世界的通道变复杂了

在这里插入图片描述
那么这里都具体包括了什么呢,我们依次说明一下

人类世界:高级语言

我们发明高级语言,其实是一种对计算机的权衡与妥协。

高级语言

  1. 相对来说比较符合人类思维,虽然不是自然语言,但是人类也容易接受
  2. 计算机也容易接受高级语言,如果是自然语言,那计算机是接受不了的

权衡之下,高级语言成了人类与计算机世界沟通的通行语言。就像英语是国际通行语言内样。

任何事务都有实体抽象,人类的是:

桥梁/通道

桥梁和通道,也可以叫翻译官,它负责连接人类世界和计算机世界

它的实体和抽象是

计算机世界:二进制的世界

计算机世界是最终处理二进制指令和数据的地方。

大管家:操作系统

在这里插入图片描述
操作系统负责接收CPU发出的控制信号,负责管理计算机世界以及桥梁的各种控制方式。

操作系统也接收人类世界发出的命令,让计算机执行,也就是人机接口

计算机的发展:抽象层次不断提高

ISA是计算机硬件的抽象。

ISA与微架构

微架构就是指令集架构的实现形式,是硬件实现。同一个ISA,可以有不同的微架构来实现,只要完成了ISA规范即可

在这里插入图片描述

不同指令的组合,实现了通用计算机,否则,如果只能是固定的程序,那就是专用计算机了,就像现在的量子计算机“九章”一样,是专用量子计算机,是不可编程的

先设计,再实现;先抽象,再具象

对于计算机的发展过程来说,是自底向上一层层抽象和封装的。

但是对于程序员来说,通常是先设计,再实现,也就是从人类思维出发,先完成抽象,再进行实现的,是自上而下的。当然这不是绝对是,人类的思维过程更多会受到整体性的、系统思维的影响。

计算机层次结构

ISA是最重要的层次,它向下影响硬件结构,向上影响操作系统等。

指令集架构是计算机硬件结构的抽象,然后,对于抽象出来是指令,我们可以对其进行各种排列组合,根据人类的抽象思维,来编写程序,让硬件运行起来,指令是可以有各种排列组合的,这也就是通用计算机

我们编写的程序,如果直接运行,那就只有3层结构,是最原始的通用计算机。

在这里插入图片描述

后来人类发明了助记符,形成了汇编语言,它与机器语言一一对应,但是需要翻译,因此需要汇编器,人类需要编辑汇编指令,也需要管理,因此就初代的操作系统,此时,一个能够实现汇编语言程序设计的二代计算机就诞生了。

在这里插入图片描述
再后来,操作系统演变更加复杂,同时高级语言和编译器也有了,这是现代经典计算机雏形。

在这里插入图片描述
计算机的发展,实现了一层层的抽象和封装,让人类成了会飞的汤姆猫

这没什么不好的,但是身为计算机专业人士,我们需要足够了解底层机制,如果哪一天帮助飞行的火箭不好用了,我们也能分析原因并处理。

ISA

ISA说白了就是规范,人们都要按照这个规范去设计计算机硬件和软件,从而让所有遵循规范的人能够互通有无,提高沟通效率。编程语言是唯一全球化的通用语言,这非常酷!

微架构

至于微架构,就是ISA的硬件实现,只需要指定,同样的ISA,可以使用各种各样的微架构实现,这很好理解不是吗,就好比单周期CPU和流水线CPU内样,或者一个乘法指令可以有很多具体实现方式。

标签:计算机系统,计算机,第一周,高级,抽象,南京大学,人类,ISA,语言
来源: https://blog.csdn.net/weixin_42929607/article/details/113175536