南大袁春风计算机系统基础(一)笔记
南大袁春风计算机系统基础(一)笔记
- 一、计算机系统基本组成与基本功能
- 冯.诺依曼结构计算机模型
- 冯.诺依曼计算机结构的特点
- 计算机的指令和数据
- 二、程序开发和执行过程简介
- 程序开发的发展过程
- 典型程序转换处理过程
- Hello程序的数据流动过程
- 不同层次语言之间的等价转换
一、计算机系统基本组成与基本功能
1946年,第1台通用电子计算机 ENIAC(Electronic Numerical Integrator And Computer电子数字积分计算机)诞生。
冯.诺依曼结构计算机模型
1.计算机包含五大部件:输入/输出设备,存储器,控制器,运算器。
2.各基本部件的功能是:
• 存储器不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令;
• 控制器应能自动取出指令来执行;
• 运算器应能进行加/减/乘/除四种基本算术运算,并且也 能进行一些逻辑运算和附加运算;
• 操作人员可以通过输入设备、输出设备和主机进行通信;
3.内部以二进制表示指令和数据。每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作
数的地址。由一串指令组成程序。
4.采用“存储程序”工作方式。
冯.诺依曼计算机结构的特点
CPU:中央处理器;PC:程序计数器;MAR:存储器地址寄存器 ALU:算术逻辑部件;IR:指令寄存器;
MDR:存储器数据寄存器 GPRs:通用寄存器组(由若干通用寄存器组成,早期就是累加器)
计算机工作的步骤:
将数据和指令按序放在存储器的存储单元当中–>–>根据PC取指令–>将指令译码–>去操作数–>指令执行–>回写
结果–>修改PC的值–>执行下一条指令
计算机的指令和数据
程序启动前,指令和数据都存放在存储器中,形式上没有差别, 都是0/1序列
采用”存储程序“工作方式:
- 程序由指令组成,程序被启动后,计算机能自动取出一条一条 指令执行,在执行过程中无需人的干预。
指令执行过程中,指令和数据被从存储器取到CPU,存放在CPU 内的寄存器中,指令在IR中,数据在GPR中。
指令中需给出的信息:
- 操作性质(操作码)
- 源操作数1 或/和 源操作数2 (立即数、寄存器编号、存储地址)
- 目的操作数地址 (寄存器编号、存储地址)
总结: 计算机的基本部件及功能:
–运算器(数据运算):ALU、GPRs、标志寄存器等
–存储器(数据存储):存储阵列、地址译码器、读写控制电 路
–总线(数据传送):数据(MDR)、地址(MAR)和控制线
–控制器(控制):对指令译码生成控制信号
二、程序开发和执行过程简介
程序开发的发展过程
最早的程序开发过程:使用打孔机,在纸带上打孔,打孔处表示0,未打孔处表示1。所有的信息都是0/1序列,如果程序需要修改,则需要重新打孔,效率不高。
使用汇编语言开发程序:使用符号表示跳转位置和变量位置,这样提高了代码的可读性,也不会因为增减指令而去修改其他指令。但是需要将汇编语言通过汇编程序转换成机器语言。
- 汇编语言(源)程序由汇编指令构成。
- 汇编指令是用助记符和标号来表示的指令(与机器指令一一对应)
- 指令是包含操作码和操作数或其地址码 (机器指令用二进制表示,汇编指令用符号表示,只能描述:取(或存一个数) 两个数加(或减、乘、除、与、或等) 根据运算结果判断是否转移执行。
高级语言开发程序:
- 它们与具体机器结构无关
- 面向算法描述,比机器级语言描述能力强得多
- 高级语言中一条语句对应几条、几十条甚至几百条指令
- 有“面向过程”和“面向对象”的语言之分
- 处理逻辑分为三种结构 : 顺序结构、选择结构、循环结构
- 有两种转换方式:“编译”和“解释” :1. 编译程序(Complier):将高级语言源程序转换为机器级目 标程序,执行时只要启动目标程序即可 2.解释程序(Interpreter ):将高级语言语句逐条翻译成机器 指令并立即执行,不生成目标文件。
典型程序转换处理过程
将每个符号或者是字符转换成对应的ASCII码值,但是计算机需要编译器才能够正确运行.c文件
通过上图的处理过程,将hello.c文件编译汇编链接成二进制的可执行程序。
Hello程序的数据流动过程
不同层次语言之间的等价转换
高级语言的源程序通过编译程序转换成汇编语言的源程序,也就是各种符号表示的语言,再通过汇编程序,将汇编语言转换成只有0/1的机器语言,最后通过指令译码器转换成计算机硬件接受的控制信号。故:任何高级语言的程序最终都会通过若干条指令来完成。
**总结:**最早的程序开发都比较简单,只需要直接输入指令和数据,启动后把第一条指令地址送到PC执行。
高级语言开发需要编译器编写源程序,需要一套翻译转换专拣处理各种源程序,还需要一个可执行程序的界面(GUI:图形界面,CUI:命令行界面)。支撑程序开发和运行的环境由系统软件提供 最重要的系统软件是操作系统和语言处理系统 语言处理系统运行在操作系统之上,操作系统利用指令管理硬件。
南大袁春风计算机系统基础(一)笔记相关推荐
- 【计算机专业漫谈】【计算机系统基础学习笔记】W1-计算机系统概述
利用空档期时间学习一下计算机系统基础,以前对这些知识只停留在应试层面,今天终于能详细理解一下了.参考课程为南京大学袁春风老师的计算机系统基础MOOC,参考书籍也是袁老师的教材,这是我的听课+自查资料整 ...
- 计算机AL教程笔记,计算机系统基础学习笔记(2)-数据的位运算操作
C语言的位运算操作包括两类,逻辑运算操作和逻辑移位操作. 逻辑运算操作 C语言提供了四种按位逻辑操作符,分别是按位取反,按位与,按位或,按位异或.在编译时,编译器会根据操作数的宽度分别转换为不同的指令 ...
- 大三Java SE基础学习笔记
Java及Java SE学习笔记 前言 主要用于记录学习过程中的一些笔记. 了解 JavaEE是指Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等, ...
- 计算机系统基础学习笔记(3)-浮点数的精度问题
C语言中的浮点数,满足IEEE754标准,可表示带有小数的数值,C语言中的浮点数有精度限制,并不能表示所有的数. IEEE754单精度浮点数: 表示的数的10进制的有效位数只有7位,其中一位是符号位, ...
- 计算机系统基础学习笔记(7)-缓冲区溢出攻击实验
缓冲区溢出攻击实验 实验介绍 实验任务 实验数据 目标程序 bufbomb 说明 bufbomb 程序接受下列命令行参数 目标程序bufbomb中函数之间的调用关系 缓冲区溢出理解 目标程序调用的ge ...
- 南大软件分析 前5节笔记
IR Intermediate Representation 中间表示 3AC 三地址码 3-Address Code 每条3AC至多有三个地址,地址可以是名称,常量,编译器生成的临时变量 其实3AC ...
- 袁春风老师:计算机系统基础(一) 第一章
南京大学 计算机系统基础(一)主讲:袁春风老师 基础好的读目录回顾一下即可 本课程是以csapp为教材进行讲解的 程序执行结果,不仅取决于算法.程序编写.编程语言的语法语义 ,而且取决于语言处理系统. ...
- 大数据-平台-解决方案-基础架构一览
1.talkingdata (数据平台) 2.明略数据(解决方案) 3.百融金服(金融大数据) 4.国双科技(营销大数据) 5.国信优易(媒体大数据) 6.百分点(营销大数据) 7.华院集团(解决方 ...
- 近日,南大通用合作伙伴大会隆重召开……
近日天津南大通用数据技术股份有限公司(简称"南大通用")在京落地了主题为"凤凰涅槃.全新启航"的2019年度合作伙伴大会.会上,南大通用公司所阐述的广泛合作市场 ...
最新文章
- 三张图读懂机器学习 :基本概念、五大流派与九种常见算法
- 4.6 前向和反向传播-深度学习-Stanford吴恩达教授
- 算法工程师和算法框架开发,谁会代表未来?
- mac mysql
- 用计算器计算“异或CRC”
- P4047-[JSOI2010]部落划分【最小生成树】
- linux运维、架构之路-Zabbix监控
- 漫步数学分析四——集合内部
- infopath视图切换
- Linux学习总结(4)——Centos6.5使用yum安装mysql——快速上手必备
- sql2019更改了表的部分字段设计出现不允许保存更改解决方案
- setup factory mysql_(一)setupFactory零基础制作零配置安装程序实例(打包JDK Tomcat Mysql mypm)...
- python matplotlib 矢量图svg emf
- 百度劫持有哪些特征,百度快照劫持处理方法及流程?
- HEXO+ICARUS主题配置安装经验分享
- 解决: The server encountered an internal error that prevented it from fulfilling this request.
- 转:西部数据NAS设备hack
- sql:函数:开窗函数简介
- 模拟器客户端自动化测试实践
- web前端的网页优化
热门文章
- 创建jira sprint_如何在Excel中创建高级sprint燃尽图
- “低代码”革了谁的命?
- 2021 强网杯 pwn notebook
- mysql 别名_MySQL 字段别名(列别名)
- Elasticsearch基础11——索引之别名使用
- PHP的eregi函数:检查字符串的有效性
- 各纬度气候分布图_气候气压带图_世界气候气压带风带分布图要图(需要表识纬度)-4d影院专题信息栏目...
- Python实现图像的全景拼接,这不比ps牛逼
- PAT 乙级 1033 旧键盘打字 python
- 记腾讯的暑期实习面试