Computer Abstractions
计算机系统结构的概述
(MOOC:计算机系统设计)
组成:
硬件:CPU +MM(主存)+I/O(输入/输出)
软件:系统软件+应用软件
层次结构:
发展简史:
第一代:真空管
·ENIAC
·冯诺依曼机:
存储程序、程序控制
存储程序:将事先编号的程序、原始数据送入主存中,启动执行。计算机能自动逐条取出并且执行指令。
冯诺依曼:存储程序通用电子计算机方案(电子离散自动计算机)
构想: 计算机应由:运算器、控制器、存储器、输入设备、输出设备 五基本部件构成。
·各部件功能: 存(数据、指令,形式上无区别,但机器能区分)
控制器:自动执行指令
运算器: 能进行基本算术运算,也能进行一些逻辑运算、附加运算。
操作人员通过I/O 和主机进行通讯
·内部以二进制表示指令和数据
·采用“存储程序”工作方式
存储程序通用电子计算机方案(电子离散自动计算机)
第二代:晶体管
元器件:逻辑元件采用晶体管,内存由磁芯构成,外存为磁鼓与磁带),
软件(使用高级语言)
三代:SSI/MSI
元器件:
四代:
计算机系统概述:
计算机:分而治之
分界——
晶体管
兼容机
总线结构
好处:可扩充性等
四代——特点
70年代开始计算机小型化
基本组成与基本功能:
计算机实现所有任务都是通过执行一条一条指令完成的。
解剖一台计算机(分而治之)
芯片功能模块:
处理器内部布局
Cache:指令
普林斯顿高等研究院——>IOS :ias计算机
EDSAC
你认为冯诺依曼结构式怎样的?
GPRs:是什么
MDR 、IR
Cache:高速缓冲器。快于储存。
GP:
General packet:压缩包
perpose : GP
指令集合:ISA
计算机是如何工作的?
程序执行前:
执行程序:
第一步:根据PC取指令 ————>IR计算器
第二部
第三步
第四步
第五步:送回计算器或者主存里
第六步:修改下一个指令的值(根据PC取指令)(连接第一步)
指令数据
启动前:存储程序
指令执行过程: DIS ->MM(主存) -(PC计算器)> CPU(IR、GPR)
操作性质(操作码):二哥
源操作数1 或/和 源操作数2
目的操作数地址 (只能是:。。。)
Compiler :编译
Hardware/Software Interface
右侧: 高级语言程序->汇编语言程序(Linux指令) (架构<体系结构>:MIPS)【lw(load word)从内存装载】 ->机器语言指令(前八个:操作符,后面操作数: 1111:15,0100:$)->控制信号
机器语言:指令代码构成,能被硬件直接地执行(产生控制信号)
Software:
系统软件:
翻译程序:
汇编程序:汇编语言源程序 ->机器目标指令(程序)
编译程序(先编译,生成目标文件,额外占用内存):
解释程序:将高级语句逐条翻译成机器指令并执行,不生成目标文件。
其他程序:磁盘整理程序、备份程序等。
应用软件:解决具体应用问题
体系结构
计算机系统层次
ISA(指令集)是软/硬件的交界面 :最核心部分!
不同用户不一样:虚拟
典型系统硬件组成
I/O bridge:芯片组
chipset
南桥(I/O -I/O bus)(慢一些)、北桥(作用大一些)(I/O Memory bus、system bus):
CPU:
MIPS :运算器用的数来源于计算器
LW、ld :访问主存
计算器访问速度快,
典型程序转换过程:
例:hello.c:
功能:输出:hello,world
hello.c 的ASCII :文本表示 十进制数
例 : ‘#’ :35 = 32+2 +1 : 100000 + 10 +01 = 00100011(二进制) = 23H(16进制)
老师,16进制H咋化出来的
pre(预编译)->compiler(编译器 )->assem(汇编)->linker(链接):最后得到可执行文件(二进制机器指令)
Red:shell命令行处理
cache:缓存
1级缓存.cpu内部
2级缓存.l1 :cpu、主存之间
Course Outline
·性能评价方法
·计算机算术
·数据的表示、运算
存储器层次结构
指令集体系结构
CPU设计
·数据通路(Data path)和控制器(Control Unit)
流水线技术
系统总线
输入/输出系统
不同层次语言之间的等价变换
·下是对上的实现,上是对下的虚拟。
ALUop = add
IorD =1 (指令D、数I能区分开)
汇编语言:Linux,指令集?
违
开发和运行程序需要什么支撑:
·最早:直接输入指令、数据
·高级语言:编辑器、编译器 (java:jre)
·执行程序界面(环境):GUI方式(图形用户界面)、CUI方式(命令行用户界面)
目的操作数地址(只能是内存地址等)不能是立即数:立即数:直接拿过来运算、内存中的。
早期计算机系统层次
最早的计算机用机器语言编程
机器语言:第一发i程序设计语言 :1GL
后来:汇编语言(符号语言)编程
第二代程序设计语言 : 2GL
现代~~
第三代:过程式:3GL(代码需要描述实现过程)
第四代:非过程式:4GL(代码只需说明做什么)
计算机语言发展:不断“抽象”的过程,因为,相应的计算机系统也不断有新的层次出现
系统抽象层的转换:
指令集体系结构ISA:将软硬件分割开来 -------
功能转换:上层是对下层的抽象,下层是对上层的是实现
ISA:对硬件的抽象,所有的软件功能都建立在ISA之上
ISA:
ISA指:指令集体系结构
是一种规约,规定了如何使用硬件
·可执行的指令集和,包括指令格式、操作种类、每种操作对应的操作数的相应规定。
·指令可接受的操作数的类型。
·操作数能存放的寄存器组的结构:包含每个寄存器的名称、编号、长度、和用途。
·操作数所能存放的存储空间的大小和编址方式。
·操作数
· 作业:查存储器的组织形式:大端、小端。
·指令执行过程的控制方式:程序计数器、条件码定义等。
ISA是在计算机系统中必不可少的一个抽象层,WHy?:对上、对下,承上启下。
计算机体系结构:
计算机体系结构(有没有该属性):程序员(机器指令程序员)所能看到的计算机系统的属性:
概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)
计算机组成(有该属性,如何去实现): 实现计算机体系结构所体现的属性,即逻辑实现(具体指令的实现)
计算机实现: 计算机组成的物理实现,着眼于器件技术(如CPU的物理结构)
computer architecture
computer organization
computer implemention
ISA和计算机组成(微机构)关系:
ISA 是计算机组成的抽像
MIPS
ARM :手机处理器 (华为:ARM 8)
IA-32(64) :intel的32位(64位)的架构
计算机体系结构的简述:
·第一台通用电子计算机诞生于1946
·计算机技术飞速发展得益:
·制造技术发展、系统结构创新
发展过程(4个):
计算机系统结构的经典定义:程序员(机器语言)所看到的计算机属性,即概念性结构与功能特性
Amdahl提出的系统结构
传统机器语言级程序员索卡到的计算机属性
广义系统体系结构
指令集结构、组成、硬件(计算机设计的3个方面)
对于GPRs(通用寄存器型的)机器,属性是指:
指令系统(机器指令的操作类型和格式、指令间的排序和控制机构等)、数据表示(硬件能直接识别和处理的数据类型)、寻址规则(最小寻址单元、寻址方式及其表示)、寄存器定义、终端系统(中断的类型和中断相应硬件的功能等)、机器工作状态的定义和切换(管态和目态)、存储系统(主存容量、可用最大存储容量等)、信息保护(信息保护方式、硬件对信息保护的支持)、I/O结构(I/O连接方式、处理机/存储器等)
计算机系统结构概念的实质:
确定计算机系统中软、硬件的界面(ISA),界面之上时软件实现的功能,界面之下是硬件和固件实现的功能。
常见计算机系统结构分类方法:
FLynn分类法、冯氏分类法(系统最大并行度对计算机进行分类)
FLynn:指令流、数据流、多倍性
第一章节:
计算机系统结构的概念
定量分析技术
计算机系统结构的发展
计算机系统结构中并行性的发展
理解计算机系统的层次结构、计算机组成、计算机系统结构、计算机实现的含义以及之间的关系,理解定量分析技术,计算机系统结构的并行性,了解计算机结构的发展以及其中的并行性发展。
重点: 计算机系统的层次结构,定量分析技术,计算机系统结构的并行性。
难点:计算机层次的概念和计算机体系结构的内涵,定量分析技术的方法。
思考: ·计算机系统层次结构的具体结构。
·计算机性能提高的计算。
·掌握冯诺依曼计算机的结构和工作原理。
Computer Abstractions的更多相关文章
- [CSAPP] Chapter 1 Overview of Computer
1.1 information is bits + context All computer programs are just a sequence of bits, each with a val ...
- Important Abstractions and Data Structures
For Developers > Coding Style > Important Abstractions and Data Structures 目录 1 TaskRunne ...
- Uniform synchronization between multiple kernels running on single computer systems
The present invention allocates resources in a multi-operating system computing system, thereby avoi ...
- 共享文件夹:The user has not been granted the requested logon type at this computer
场景重现 今天做一个项目测试,要用到虚拟机,于是在虚拟机(XP 32)上新建了一个共享的文件夹.然后我在Win7 机器上访问它得到如下的error 消息:
- Computer assisted surgery
Computer assisted surgery (CAS) represents a surgical concept and set of methods, that use computer ...
- Computer vision labs
积累记录一些视觉实验室,方便查找 1. 多伦多大学计算机科学系 2. 普林斯顿大学计算机视觉和机器人实验室 3. 牛津大学Torr Vision Group 4. 伯克利视觉和学习中心 Pro ...
- Computer Vision: OpenCV, Feature Tracking, and Beyond--From <<Make Things See>> by Greg
In the 1960s, the legendary Stanford artificial intelligence pioneer, John McCarthy, famously gave a ...
- 数论 - Vanya and Computer Game
Vanya and his friend Vova play a computer game where they need to destroy n monsters to pass a level ...
- A Taxonomy of Computer Organizations
COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION
随机推荐
- ES6常用语法(二)
arrow functions (箭头函数) 函数的快捷写法.不需要 function 关键字来创建函数,省略 return 关键字,继承当前上下文的 this 关键字 // ES5 var arr1 ...
- 【47】迁移学习(Transfer Learning)
迁移学习(Transfer Learning) 如果你要做一个计算机视觉的应用,相比于从头训练权重,或者说从随机初始化权重开始,如果你下载别人已经训练好网络结构的权重,你通常能够进展的相当快,用这个作 ...
- vim 配置 jedi-vim( ubuntu:15.10 )
确保 vim 支持 python3 或者 python 如果你已经安装了 vim, 可以通过vim --version, 在输出中找到 +python3 或者 +python 字样的话, 就可以跳过该 ...
- ArcMap 新建空白图层,并添加元素
想要添加新的图层,不能从File 里找,那里都是添加数据,貌似ArcGIS的定位是对数据的处理. 比如导入其他格式文件,或者导入对应的数据文件.excel csv cad 等,在此基础上进行分析,而不 ...
- Java商城秒杀系统的设计与实战视频教程(SpringBoot版)
课程目标掌握如何基于Spring Boot构建秒杀系统或者高并发业务系统,以及构建系统时采用的前后端技术栈适用人群Spring Boot实战者,微服务或分布式系统架构实战者,秒杀系统和高并发实战者,中 ...
- Byte 一个字节的数据大小范围为什么是-128~127
一个字节是8位,最高位是符号位,最高位为0则是正数.最高位为1则是负数 如果一个数是正数,最大数则为:01111111,转为十进制为127, 如果一个数是负数,按照一般人都会觉得是11111111,转 ...
- 软件分享大会之Bonny使用感想
近日大一期末临近,处在计算机大类专业的我也即将面临专业分流.在软件工程这个新的开始前,未来的系主任组织了一次软件分享会,通过大二.大三学生向大一的我们的作品展示,提前让我们了解自制软件如现流行软件的不 ...
- 【daily】日常所遇 - 页面A嵌套页面B
因为懒,所以直接在http://www.runoob.com写demo测试了. (1)iframe嵌套 虽然可能到现在这中方式都很常用,但是你baidu/google一下会发现.很多人都并不提倡用if ...
- Pycharm控制台乱码问题
PS:如我般的小白都会遇到中文乱码问题,那么怎么解决呢?其实非常简单,鼠标点点就好,请看下面: 如下乱码: 解决方法: 按如下步骤File→Settings→Editor→File Encodings ...
- 怎么解决MySQL密码问题
mysql 如何设置远程连接 听语音 原创 | 浏览:2726 | 更新:2019-01-22 17:32 1 2 3 4 5 6 7 分步阅读 mysql默认是不允许被远程连接的,只有本地机器才能连 ...