首页 > 其他分享 >计算机科学速成课听课随笔4

计算机科学速成课听课随笔4

时间:2023-04-30 16:00:10浏览次数:40  
标签:线板 汇编语言 计算机科学 编程 程序 速成 程序员 内存 听课

早期编程方式

在执行程序之前,你是否想过程序是如何到内存中的呢

雅卡尔织布机 可能是最早的编程哦,一个可编程的织布机

为了执行不同的计算,程序员需要一个控制面板,面板有很多小插孔,程序员可以插电线让机器不同的部分相互传数据和信号 也叫 插线板 ,之后控制面板变成了可插拔,让编程变得更加容易,通过更换控制面板给机器插入不同的程序

但是这样的插线板的编程需要程序员现在纸上写好程序,再给插线板插上一根根线,再将写有程序的纸交付给计算机读取,不仅费时间,而且很费程序员,

幸运的是,不久之后 内存 变得可行,可以使和CPU便于读取,易于修改,更省价格和程序员的生命,容量也变多了,这种机器叫做 存储程序计算机(stored—program computer)

程序和数据都在存放在一个地方叫做 冯诺依曼结构
冯诺依曼结构的标志是 一个处理器(有算数逻辑单元)+一个数据寄存器+一个指令寄存器+指令地址寄存器+内存(负责存数据和指令)
image

1980年代,几乎所有程序都是用穿孔卡纸来将程序写入内存,计算机再通过打孔将程序输出在穿孔卡纸上,穿孔卡纸的亲戚是纸带

当时还有面板编程可以与插线板相抗争,应用一大堆开关来代替插线板上繁琐的线

编程语言

计算机只能识别二进制,用二进制组成的语言这叫做机器语言或者机械码

早期编程,人们只能用机械码经行编程,一般会现在纸上用人类的语言写一个“高层次版”,这个高层次版就是伪代码,之后用“操作码表”将伪代码转换为二进制机械码,之后输入计算机进行运行

由于此种方法太过于麻烦,后开发出一种新语言,每一个操作码有一个助记符,其后紧跟数据,形成完整的指令这个语言叫做汇编语言(一个低级语言)并开发出一种程序叫做汇编器配合汇编语言使用,汇编器将汇编语言写的程序转会成机械码,供给计算机读取

不断升级的汇编器,可以是程序员专心编程,不用管底层的细节,隐藏不必要的细节来做更复杂的工作
但是汇编语言和机械码几乎是一一对应的,书写他们时还是需要去和寄存器,内存打交道,麻烦至极,编写程序很慢之后人们发明了高级语言和可以将高级语言转成低级语言的编译器。渐渐的发展出了现在多种的高级编程语言和人人都可以去编写程序的盛世

标签:线板,汇编语言,计算机科学,编程,程序,速成,程序员,内存,听课
From: https://www.cnblogs.com/naoziinicu/p/17365369.html

相关文章

  • 计算机速成课听课随笔3
    #高级CPU设计(简随着科技技术的增加,人们不断提高CPU的时钟速度,以此来适应越来越多的指令,此时CPU的处理速度就会超过数据的供应速度RAM需要时间去找出地址,取数据,配置,通过总线(BUS)输出数据给CPU,CPU空等数据就产生了“延迟”解决延迟的方法之一就是给CPU加一点RAM,叫做“缓存”由于C......
  • 五一 NOI 数学听课笔记
    注:本文不写证明。一、剩余类环\(\mathbb{Z}/n\mathbb{Z}\)记号:\(\overline{x}\)在\(\modn\)意义下代表一个集合:\(\{\dots,x-2n,x-n,x,x+n,x+2n,\dots\}\)加法逆元:\(a:\overline{-a}\text{or}\overline{n-a}\)乘法逆元:\(\overline{a}\times\overline{b}=1\)费马小......
  • 计算机科学速成课随笔2
    中央处理器(CPU)计算机的心脏就是“中央处理单元”,简称“CPU”CPU负责执行程序,而程序由一步步的操作完成,这些操作就叫做“指令”但是对于俺们小白来说,详细的理解CPU的各个组件和各个线的分布是不太可能的我们需要一个高层次的视角叫做“微体系架构”(应该就是抽象的理解一下的意......
  • 计算机科学速成课随笔1
    # ALU(算数逻辑单元)计算机数学的大脑负责运算的单元第一个ALU英特尔74181(4位输入)ALU有两个单元,一个是算术单元,另一个就是逻辑单元 算术单元,负责计算操作(增量运算。。。)运用逻辑门计算机中1代表true,0代表falseXOR(异或)的逻辑门刚刚好可以满足大部分的0,1相加但是计算的......
  • 4.12考试听课笔记
    2023-04-16T1seq:一.:首先注意,子集不是子区间,可不连续;序列权值与min和max有关。先进行排序,就可以找到这样的规律:   2      |4     23    |4+3*(2*1+3*1)=19     234  |19+(2*2+3*1+4*1)=63     2345|63+(2*4+3*2+4*1+5......
  • 大神之路-起始篇 | 第4章.计算机科学导论之【数据运算】学习笔记
    [点击......
  • 计算机科学与技术应该如何系统地自学?
    计算机科学的首要主题探索计算领域的广度,能帮助我们记住与计算机科学相结合的主要主题。虽然“计算机科学的七大思想”(SevenBigIdeasofComputerScience)的编纂晚于本书......
  • 大学考试速成法
    问题描述如何在有限的时间内,尽可能提高自己上岸几率。原则一切以上岸为目的,其他别管那么多。4个方面1.牢记目的,对提分没有用的题目、方法不要去看;2.找学长或学姐要往......
  • Linux60个小时速成
    Linux60个小时速成[toc]1前言1.1课程介绍1.2学习方向1.3应用领域个人桌面领域 此领域是传统linux应用最薄弱的环节,传统linux由于界面简单、操作复杂、应用软件少的......
  • 无线网络技术考试速成
    无线网络技术考试速成目录无线网络技术考试速成第一章从计算机网络到无线网络第二章无线通信和网络防真技术基础第三章无线局域网第四章无线城域网和蜂窝移动通信第五......