计算机系统结构的概述

  (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的更多相关文章

  1. [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 ...

  2. Important Abstractions and Data Structures

    For Developers‎ > ‎Coding Style‎ > ‎ Important Abstractions and Data Structures 目录 1 TaskRunne ...

  3. Uniform synchronization between multiple kernels running on single computer systems

    The present invention allocates resources in a multi-operating system computing system, thereby avoi ...

  4. 共享文件夹:The user has not been granted the requested logon type at this computer

    场景重现 今天做一个项目测试,要用到虚拟机,于是在虚拟机(XP 32)上新建了一个共享的文件夹.然后我在Win7 机器上访问它得到如下的error 消息:

  5. Computer assisted surgery

    Computer assisted surgery (CAS) represents a surgical concept and set of methods, that use computer ...

  6. Computer vision labs

    积累记录一些视觉实验室,方便查找 1.  多伦多大学计算机科学系 2.  普林斯顿大学计算机视觉和机器人实验室 3.  牛津大学Torr Vision Group 4.  伯克利视觉和学习中心 Pro ...

  7. 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 ...

  8. 数论 - Vanya and Computer Game

    Vanya and his friend Vova play a computer game where they need to destroy n monsters to pass a level ...

  9. A Taxonomy of Computer Organizations

    COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

随机推荐

  1. ES6常用语法(二)

    arrow functions (箭头函数) 函数的快捷写法.不需要 function 关键字来创建函数,省略 return 关键字,继承当前上下文的 this 关键字 // ES5 var arr1 ...

  2. 【47】迁移学习(Transfer Learning)

    迁移学习(Transfer Learning) 如果你要做一个计算机视觉的应用,相比于从头训练权重,或者说从随机初始化权重开始,如果你下载别人已经训练好网络结构的权重,你通常能够进展的相当快,用这个作 ...

  3. vim 配置 jedi-vim( ubuntu:15.10 )

    确保 vim 支持 python3 或者 python 如果你已经安装了 vim, 可以通过vim --version, 在输出中找到 +python3 或者 +python 字样的话, 就可以跳过该 ...

  4. ArcMap 新建空白图层,并添加元素

    想要添加新的图层,不能从File 里找,那里都是添加数据,貌似ArcGIS的定位是对数据的处理. 比如导入其他格式文件,或者导入对应的数据文件.excel csv cad 等,在此基础上进行分析,而不 ...

  5. Java商城秒杀系统的设计与实战视频教程(SpringBoot版)

    课程目标掌握如何基于Spring Boot构建秒杀系统或者高并发业务系统,以及构建系统时采用的前后端技术栈适用人群Spring Boot实战者,微服务或分布式系统架构实战者,秒杀系统和高并发实战者,中 ...

  6. Byte 一个字节的数据大小范围为什么是-128~127

    一个字节是8位,最高位是符号位,最高位为0则是正数.最高位为1则是负数 如果一个数是正数,最大数则为:01111111,转为十进制为127, 如果一个数是负数,按照一般人都会觉得是11111111,转 ...

  7. 软件分享大会之Bonny使用感想

    近日大一期末临近,处在计算机大类专业的我也即将面临专业分流.在软件工程这个新的开始前,未来的系主任组织了一次软件分享会,通过大二.大三学生向大一的我们的作品展示,提前让我们了解自制软件如现流行软件的不 ...

  8. 【daily】日常所遇 - 页面A嵌套页面B

    因为懒,所以直接在http://www.runoob.com写demo测试了. (1)iframe嵌套 虽然可能到现在这中方式都很常用,但是你baidu/google一下会发现.很多人都并不提倡用if ...

  9. Pycharm控制台乱码问题

    PS:如我般的小白都会遇到中文乱码问题,那么怎么解决呢?其实非常简单,鼠标点点就好,请看下面: 如下乱码: 解决方法: 按如下步骤File→Settings→Editor→File Encodings ...

  10. 怎么解决MySQL密码问题

    mysql 如何设置远程连接 听语音 原创 | 浏览:2726 | 更新:2019-01-22 17:32 1 2 3 4 5 6 7 分步阅读 mysql默认是不允许被远程连接的,只有本地机器才能连 ...