计算机系统基础

  • 计算机系统基本组成和基本功能
  • 现代计算机系统的层次结构

计算机系统基本组成和基本功能

存储器:不仅能存放数据,而且也能存放指令,形式两者没有区别,但计算机应能区分数据还是指令。存储阵列、地址译码器、读写控制电路
控制器:应自动取出指令。对指令译码生成控制信号。
运算器:进行加/减/乘/除四种基本算术运算,并且也能进行一些逻辑运算和附加运算。ALU、GPRs、标志寄存器等
输入设备/输出设备:

现代计算机结构模型

CPU:中央处理器;PC:程序计数器;MAR(memory address register):存储器地址寄存器
ALU:算术逻辑部件;IR:指令寄存器;MDR(memory data register):存储器数据寄存器
GPRs:通用寄存器组(由若干通用寄存器组成)

总线(数据传送):数据(MDR)、地址(MAR)和控制线

计算机是如何工作的?
程序在执行前
数据和指令事先存放在存储器中,每条指令和每个数据都有地址,指令按序存放,指令由OP、ADDR字段组成,程序起始地址置PC。

开始执行程序
第一步:根据PC取指令(从5号架上取菜谱)
第二步:指令译码(看菜谱)
第三步:取操作数(从架上或盘中取原材料)
第四步:执行操作数(洗、切、炒等具体操作)
第五步:回写结果(装盘或直接送桌)
第六步:修改PC的值(算出下一菜谱所在架子号)
继续执行下一条指令(继续做下一道菜)

指令和数据

程序启动前
指令和数据都存放在存储器中,形式上没有差别,都是0/1序列
采用存储程序工作方式:
程序由指令组成,程序被启动后,计算机能自动取出一条一条指令执行,在执行过程中无需人的干预。
指令执行过程中
指令和数据被从存储器取到CPU,存放在CPU内的寄存器中,指令在IR中,数据在GPR中。

指令中需给出的信息:
操作性质(操作码)
源操作数 或/和 源操作数2 (立即数、寄存器编号、存储地址
目的操作数地址(寄存器编号、存储地址
存储地址的描述与操作数的数据结构有关

现代计算机系统的层次结构

程序执行结果不仅取决于算法、程序编写而且取决于语言处理系统、操作系统、ISA、微体系结构
功能转换:上层是下层的抽象,下层是上层的实现

上层:程序员所关注的算法、编程和系统软件等层次
中层:计算机架构师所关注的ISA和微架构等层次
下层:电子工程师所关注的器件和逻辑电路等层次

ISA处于软件和硬件的交界面(接口)。
ISA是对硬件的抽象。所有软件都建立在ISA之上。
ISA是最重要的层次,那么什么是ISA呢?

ISA(指令集体系结构)
ISA指Instruction Set Architecture,即指令集体系结构,有时简称为指令系统。
ISA是一种规约(Specification),它规定了如何使用硬件

  • 可执行的指令集合
  • 指令可以接受的操作数的类型
  • 操作数所能存放的寄存器的结构
  • 操作数所能存放的存储空间的大小和编址方式;
  • 操作数在存储空间存放时按照大端还是小端方式存放;
  • 指令获取操作数的方式,即寻址方式
  • 指令执行过程的控制方式,包括程序计数器(PC)、条件码定义等。

ISA在通用计算机系统中是必不可少的一个抽象层,Why?
没有它,软件无法使用计算机硬件
没有它,一台计算机不能称为通用计算机

ISA和计算机组成是何关系?微体系关系

有没有乘法指令属于指令集体系结构(ISA)需考虑的问题,而如何实现乘法指令是微体系结构需要考虑的问题。

课程的三个主题:
表示(Representation)

  • 不同数据类型(包括带符号整数、无符号整数、浮点数、数组、结构等)在寄存器或存储器中如何表示和存储?
  • 指令如何表示和编码(译码)?
  • 存储地址(指针)如何表示?如何生成复杂数据结构中数据元素的地址?

转换(Translation)

  • 高级语言程序对应的机器代码是怎样的?如何转换并链接生成可执行文件

执行控制流(Control flow)

  • 计算机能理解的“程序”是如何组织和控制的?
  • 如何在计算机中组织多个程序的并发执行?
  • 逻辑控制流中的异常事件及其处理
  • I/O操作的执行控制流(用户态-内核态)

计算机系统基础(一)相关推荐

  1. 在线教学生计算机,计算机系统基础—廖浩德老师—在线教学的先行者

    为响应学校关于"延期不延教.停课不停学"的号召,学院教学部门提前部署,统筹安排前4周有课的任课老师提前做好在线教学准备,软件工程教研室廖浩德老师则是在线教学的探路者.先行者之一. ...

  2. 计算机AL教程笔记,计算机系统基础学习笔记(2)-数据的位运算操作

    C语言的位运算操作包括两类,逻辑运算操作和逻辑移位操作. 逻辑运算操作 C语言提供了四种按位逻辑操作符,分别是按位取反,按位与,按位或,按位异或.在编译时,编译器会根据操作数的宽度分别转换为不同的指令 ...

  3. 计算机系统基础 南京大学,计算机系统基础(一):程序的表示、转换与链接

    本课程是"计算机系统基础"系列课程中的第一门,主要介绍高级语言程序中的数据类型及其运算.语句和过程调用等是如何在计算机系统中实现的.主要包含三个主题:(1)表示.不同数据类型(如带 ...

  4. 计算机系统基础期中考试,计算机系统基础第二次作业.docx

    文档介绍: 计算机系统基础第二次作业3.对于以下AT&T格式汇编指令,根据操作数的长度确定对应指令助记符中的长度后缀,并说明每个操作数的寻址方式.(1)mov8(%ebp,%ebx,4),%a ...

  5. 华中科技大学计算机系统基础实验3报告,华中科技大学计算机系统基础实验报告.doc...

    文档介绍: 课程实验报告课程名称:计算机系统基础专业班级:学号:姓名:指导教师:报告日期:2016年5月24日计算机科学与技术学院目录实验1: 2实验2: 9实验3: 22实验总结 30 实验1:数据 ...

  6. 学习资料收集:计算机系统基础

    [1] 计算机系统基础.复旦大学 http://ics.fudan.edu.cn/jpkc/main.html 这本书为教材 (其中有些PPT课件可供下载) [2] 转载于:https://www.c ...

  7. 冯·诺依曼结构及其主要思想【计算机系统基础01】

    冯·诺依曼结构,让每一位学习计算机系统基础的学生印象深刻,因为它是现代计算机的基础,是计算机系统知识架构中所绕不开的重要组成部分.计算机系统基础的学习,也从冯诺依曼结构开始. 世界上第一台通用电子计算 ...

  8. 【计算机系统基础4】程序的机器级表示

    [计算机系统基础4]程序的机器级表示 4.程序的机器级表示 4.1(:school: CMU补充 )x86-64 Linux 寄存器使用 4.2传送指令 4.2.1`mov` 指令 4.2.2 `mo ...

  9. 计算机系统基础书籍读后感,计算机系统基础试题.doc

    文档介绍: 第一部分计算机系统基础一.选择题[1]计算机最主要的工作特点是 A)高速度B)高精度C)存记忆能力★D)存储程序与自动控制[2]目前微型计算机中采用的逻辑元件是 A)小规模集成电路 B)中 ...

  10. 袁春风老师:计算机系统基础(一) 第一章

    南京大学 计算机系统基础(一)主讲:袁春风老师 基础好的读目录回顾一下即可 本课程是以csapp为教材进行讲解的 程序执行结果,不仅取决于算法.程序编写.编程语言的语法语义 ,而且取决于语言处理系统. ...

最新文章

  1. 如何完全卸载Java
  2. 电脑qq文件服务器地址,在电脑上接收QQ地理位置打不开,提示获取不到详细地址...
  3. macOS 如何正确安装 Xcode 合适版本
  4. 直播回顾丨拆解 LTV:增长焦虑,企业如何诊断黄金流量?
  5. Bit-Z如何注册?【新手操作指南】
  6. ubuntu安装可加速播放打视频播放器vlc
  7. 我是大道至简山寨版~
  8. excel删除重复数据保留一条_Excel一键删除重复数据,你居然还用逐条排查?
  9. 【原创】.NET读写Excel工具Spire.Xls使用(5)重量级的Excel图表功能
  10. 使用 SpiritManager 类管理在 XNA 游戏中的精灵(十四)
  11. 在线表格制作html代码,html之简单网页表格制作示例介绍
  12. FPGA控制ADF4351实现2MS的扫频操作
  13. nRF51822 DTM 测试 不能连续发送数据
  14. 【软件工程】工程思维的价值
  15. 大学计算机考试满分多少分,自主招生考试多少分 最多降多少分
  16. Intel vPro
  17. 有效的数独-位运算(详细解释)-只需遍历一遍数组
  18. ORA-12516错误的处理
  19. 未来已来?走进元宇宙入口 - 虚拟数字人
  20. Axie 所有技能名称及描述

热门文章

  1. R语言实践--科比投篮数据作图
  2. JS|使用原生js实现拦截器
  3. Stata15安装包下载及安装教程
  4. 【读书笔记->统计学】11-03 总体和样本的估计-样本均值的概率、中心极限定理概念简介
  5. linux svn web管理,CentOS 6.x 部署Subversion 集成 SvnAdmin Web管理界面
  6. 基于Android Studio的Android app开发环境搭建
  7. 代码统计---使用SourceCounter
  8. redis启动报错解决
  9. 服务器的文件夹每次都输密码怎么设置,如何设置每次登陆共享文件夹都要输密码...
  10. unity 文字BlingBling闪烁效果