资源预览内容
第1页 / 共49页
第2页 / 共49页
第3页 / 共49页
第4页 / 共49页
第5页 / 共49页
第6页 / 共49页
第7页 / 共49页
第8页 / 共49页
第9页 / 共49页
第10页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机学科导论倪维健课程目标 专业选择 软件、硬件、网络、理论 职业规划 软件、硬件、网络、理论研究 根本目标 了解计算机基本原理(软件、硬件) 了解计算机研究方向 了解IT行业 2关于教材 没有教材 只有参考书3授课内容4计算机系统漫游人工智能的历史与现状信息检索的历史与现状云计算概述物联网概述计算机软件公司的历史与发展计算机硬件公司的历史与发展互联网公司的历史与发展国内IT公司的历史与发展计算机原理综述计算机研究概述计算机行业概述计算机系统漫游 Hello World! Hello程序很简单 系统的每个主要组成部分都需要协调工作,才能 完成它的执行 在你的系统上运行Hello程序,系统内部发生了什 么?5计算机系统漫游 Hello程序的表示方式 源文件(source program) 文本文件 由0和1组成的bit序列,这些bit被组织成8个一组,成为 byte。每个byte表示程序中的某个文本字符。 计算机系统中使用ASCII标准来表示文本字符。6计算机系统漫游 ASCII标准 American Standard Code for Information Interchange, 美国信息互换标准代码 基于拉丁字母的一套电脑编码系统,主要用于显示现 代英语和其他西欧语言。它是现今最通用的单字节编 码系统。 标准 ASCII 码,使用 7 位二进制数来表示所有的大写 和小写字母,数字 0 到 9、标点符号, 以及在美式英 语中使用的特殊控制字符。7int a=0x30; printf(“%c”, a);char a=0; printf(“%x”, a);计算机系统漫游 中文字符编码 GB2312 GB 2312或GB 2312-80是一个简体中文字符集的中国 国家标准,全称为信息交换用汉字编码字符集基本 集,由中国国家标准总局发布,1981年5月1日实施 。 GB 2312标准共收录6763个汉字,还包括包括拉丁字 母、希腊字母、日文平假名及片假名字母、俄语西里 尔字母在内的682个全角字符。 字节结构 每个汉字及符号以两个字节来表示。第一个字节称为“高位字 节”(也称“区字节)”,第二个字节称为“低位字节”(也称“位字 节”)。 “高位字节”使用0xA1-0xF7,“低位字节”使用0xA1-0xFE。 例如“啊”字在大多数程序中,会以两个字节,0xB0(第一个字 节) 0xA1(第二个字节)储存。 8计算机系统漫游 Hello程序的表示方式 ASCII字符构成的二进制文件 每行文本都以一个看不见的换行符n来结束,它对应的 整数值为10。(Unix系统) 在Windows系统中,每行文本则以rn来结束,即回车 、换行。9计算机系统漫游 系统中所有的信息包括磁盘文件、存储器中 的程序、存储器中存放的用户数据以及网络上传 送的数据,都是由bit串表示的。 在不同的上下文中,同样的字节序列可能表示一 个整数、浮点数、字符串或者机器指令。 信息就是“bit”+“上下文”10计算机系统漫游 程序被其它程序翻译成不同的格式 在Unix系统中,从源文件到目标文件的转化是由编译 器驱动程序(Compiler driver)完成的。unix gcc o hello hello.c 在windows系统中11计算机系统漫游 编译系统 输入:源程序(source program) 输出:可执行目标程序(executable object program) 预处理阶段(pre-processing) 编译阶段(compiling) 汇编阶段(assembling) 链接阶段(linking)12计算机系统漫游 预处理阶段(pre-processing) 预处理器会分析执行所有的预处理器指令,然后删除他们, 得到一个仅包含C+语句的转换单元。 C语言中的预处理命令以#号开头 #include #define PI 3.1415925 #undef PI #define Print(Var) count ./hello hello, world unixunix shell ./hello hello, world unix计算机系统漫游 系统的硬件组成 Intel Pentium系统产品族的模型21计算机系统漫游 关于“Pentium” 在奔腾出现以前,所有的处理器都以数字命名,比如英特尔公 司的386、486;AMD公司的386、486;摩托罗拉的68000系 列等等。 英特尔公司继486后开始研制第五代处理器P5,到了1992年, 英特尔公司准备发布这款新一代架构,可是其他竞争厂商也打 算推出模拟跟风的产品。由于数字无法登记注册,不受商标法 保护。为了申请商标以谋求法律保障,英特尔公司第一次仔细 考虑用文字为处理器命名。 1992年11月,Intel CEO葛鲁夫宣布:“我们下一代的处理器称 为Pentium处理器。” Pentium是一个合成的新名词,“pent”在 拉丁文里是第五的意思,符合第五代处理器的身份,以“ium”的 音结尾,读来显得特别铿锵有力。22计算机系统漫游 系统的硬件组成 总线 贯穿整个系统的一组电子管道,负责在各个部件间传递信息字 节。 总线被设计成传送定长的自己块,也就是字(Word)。字长是一 个基本的系统参数。 I/O设备 I/O设备是系统与外界的联系通道。 PC中主要的I/O设备有哪些? 示意图中的I/O设备有哪些? 每个I/O设备都是通过一个控制器与适配器与I/O总线连接 控制器是I/O设备本身中或是系统的主印制电路板(通常被称作主板)上的 芯片组 适配器则是一块插在主板插槽上的卡23计算机系统漫游 系统的硬件组成 主存 临时存储设备,在处理器执行程序时,用来存放程序和程序处 理的数据。 在物理上,主存由一组DRAM芯片组成。 在逻辑上,主存由一个现行的自己数组组成。 每条机器指令和数据都存储在主存中。24计算机系统漫游 系统的硬件组成 处理器 CPU是解释及执行存储在主存中指令的引擎。 CPU的核心是一个字长大小的程序计数器(PC)的存储设备,也 简称寄存器。在任何一个时间点上,PC都指向主存中的某条 机器语言指令(地址)。 CPU的基本任务 从PC指向的存储器位置处读取指令 解释指令中的各个位,执行指令指示的操作 更新程序计数器指向下一条指令 寄存器堆:一个小的存储设备,由一些 字长大小的寄存器组成 算术逻辑单元(ALU):计算数据和地址值25计算机系统漫游 系统的硬件组成 CPU的主要操作 加载:从主存拷贝一个字节或者一个字到寄存器,覆盖寄存器 原来的内容 存储:从寄存器拷贝一个字节或者一个字到主存的某个位置, 覆盖这个位置上原来的内容 更新:拷贝两个寄存器的内容到ALU,ALU将两个字想家,并 将结果存放到一个寄存器中 I/O读:从一个I/O设备中拷贝一个字节或者一个字到一个寄存 器 I/O写:从一个寄存器中拷贝一个字节或者一个字到I/O设备中 跳转:从指令本身中抽取一个字,并将这个字拷贝到PC中。26计算机系统漫游 hello程序的执行 从键盘上读取hello命令27计算机系统漫游 hello程序的执行 从磁盘加载可执行文件到主存(DMA,直接存储器访问)28计算机系统漫游 hello程序的执行 从存储器写输出串到显示器29计算机系统漫游 疑问系统把大量的时间花费在了哪里?30计算机系统漫游 系统花费了大量的时间把信息从一个地方挪到了另 一个地方! hello程序:磁盘-主存-CPU “hello, world”字符串:磁盘-主存-显示设备 大量的拷贝减慢了程序的运行速度 使用直接存储访问 让这些拷贝尽可能的快31存储器类型容量速度价格磁盘大慢低主存小快高寄存器很小极快极高计算机系统漫游 解决方案 采用更多的这种更快更小的存储设备:高速缓存 高速缓存(cache memory) 用来作为暂时的集结区域,存放处理器在不久的将来可能 会需要的信息 L1高速缓存:位于CPU芯片内部,容量可达数万字节,访问速 度几乎和寄存器一样快 L2高速缓存:通过一条特殊的总线连接到CPU,容量可达数十 万到数百万,访问开销比L1大5倍32计算机系统漫游 L1和L2高速缓存 使用静态随机访问存储器(SRAM)实现 Smart Cache 英特尔智能高速缓存技术(Intel Advanced Smart Cache )是2006年推出的英特尔酷睿微架构中所包含的5大革新 技术之一,它专为多核心处理器设计,能够让每一个内核 动态地利用高达100的可用二级缓存资源,并同时以更高 的吞吐率从高速缓存中获取数据33计算机系统漫游 形成层次结构的存储设备计算机系统设计的基本观念:在处理器和一个较大较慢的设备之间插入一个更 小、更快的存储设备。 一个层次上的存储器作为下一层次上的存储器的高速缓存。34计算机系统漫游 操作系统管理硬件 hello程序并没有直接访问键盘、显示器 应用程序通过操作系统操作底层硬件 操作系统的用途 简化程序设计的难度 防止硬件被失控的应用程序滥用; 为应用程序提供一致的接口,操作复杂、多样的低级硬件 设备35计算机系统漫游 操作系统向应用程序提供底层硬件的抽象表示 Unix的历史1970年,Bell实验室的研究人员在DEC PDP-7型计算机上完全用机器语言 编写了一个简单的操作系统 1973年,内核用C语言重写;1974年,对外发布 20世纪80年代初,加州大学伯克利分校的研究人员发布了Unix 4.xBSD 20世纪80年代中, IEEE发起了Unix标准化的工作,制定了Posix标准。36计算机系统漫游 进程是操作系统对运行程序的一种抽象 进程让用户觉得程序在独占硬件的运行 多个进程中的指令实际上是交错运行的 操作系统实现进程交错执行的机制称为上下文切换 上下文:PC和寄存器堆的当前值、主存的内容 当操作系统决定从当前进程转移控制权到某个新进程时, 就进行上下文切换 进程打乱了程序执行的时间概念,使得程序员很难获得运 行时间的准确和可重复的测量37计算机系统漫游 进程的上下文切换象 保存当前进程的上下文 恢复新进程的上下文 将控制权转移到新进程 新进程从它上次停止的地方开始3839404142计算机系统漫游 虚拟存储器 操作系统对主存 的一种抽象方式 为每个进程提供 一个假象,好像 每个进程都在独 占的使用主存 每个进程看到的 存储器都是一致 的,称之为虚拟 地址43计算机系统漫游 虚拟存储器 程序代码和数据 代码从同意固定地址开始,紧接着是和C全局变量对应的数据 区。 代码和数据区是由可执行文件直接初始化的。 代码和数据区在进程一旦开始运行就被指定了大小 堆空间 供代码中的malloc和free操作使用 int* p; p = (int*) malloc(sizeof(int);char* q; q = (char*) mallco(1024*sizeof(char); 堆在运行时可以动态的扩展和收缩44计算机系统漫游 虚拟存储器 共享库空间 位于用户虚拟地址空间的中间附近的一块空间。 存放C标准库和数学库这样共享库的代码和数据的区域。 栈空间 位于用户虚拟空间的顶部。 栈在运行时可以动态的扩展和收缩 用途:函数调用或变量声明 char ch; int array1024
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号