1计算机基础知识及性能评价
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12: unsigned int mull16(unsigned int x,unsigned int y) 13: { 00401090 push ebp 00401091 mov ebp,esp 00401093 sub esp,50h 00401096 push ebx 00401097 push esi 00401098 push edi 00401099 lea edi,[ebp-50h] 0040109C mov ecx,14h 004010A1 mov eax,0CCCCCCCCh 004010A6 rep stos dword ptr [edi] 14: unsigned int a,b,c,i; 15: a=x;b=y;c=0; 004010A8 mov eax,dword ptr [ebp+8] 004010AB mov dword ptr [ebp-4],eax 004010AE mov ecx,dword ptr [ebp+0Ch] 004010B1 mov dword ptr [ebp-8],ecx 004010B4 mov dword ptr [ebp-0Ch],0 16: for(i=0;i<16;i++){ 004010BB mov dword ptr [ebp-10h],0 004010C2 jmp mull16+3Dh (004010cd) 004010C4 mov edx,dword ptr [ebp-10h] 004010C7 add edx,1 004010CA mov dword ptr [ebp-10h],edx 004010CD cmp dword ptr [ebp-10h],10h 004010D1 jae mull16+69h (004010f9)
–在系统结构方面发展并行处理技术、多机系 统、分布式计算机系统和计算机网络以及非 冯.诺依曼结构计算机等。
–在软件方面发展分布式计算机操作系统、数 据库和知识库、高效可靠的高级语言以及软 件工程标准化等,并逐步形成软件产业部门。
• 第四代计算机另一重要分支是微处理器和 微型计算机。
–1971年Intel公司研制成功的微处理器4004, 之后又研制成8080。目前市场上已有16位、32 位和64位微型计算机。
第三代计算机的显著特点; –多处理机、虚拟存储器系统以及面向各种用户的应用
软件的发展,丰富了计算机的软件资源。
• 为了充分利用已有的软件资源,解决软件兼 容问题而发展了多种系列机。所谓通用化、 标准化、系列化已成为计算机设计的指导思 想。
–通用化:指令系统丰富,兼顾科学计算、数据 处理、实时控制三个方面。
象、工程设计、数据处理以及其它科学研究等领域。
第三代计算机(1965年-1974年)
• 特征
–用中小规模集成电路IC代替了分离晶体管, –用半导体存储器逐渐代替铁淦氧磁芯存储器; –广泛使用微程序技术简化处理机设计、提高了处理机
的灵活性; –引进了多道程序、并行处理等新技术。 –在软件方面,操作系统的成熟及其功能的日益强大是
–微型计算机体积小、功耗低、成本低,其性能 价格比优于其它类型的计算机。
类型 第1代
第2代
第3代
第4代 第5代
时期 主要器件
重要特征
19461957
电子管
机器语言,汇编语言。速度低,体积大, 价格昂贵,可靠性差,用于科学计算。 速度达几千次到几万次
19581964
晶体管
算法语言,操作系统。体积缩小,可靠 性提高。从科学计算到数据处理。每秒 几万次到几十万次
1.1.2 计算机发展简史
第一代计算机(1946年-1954年)
特征:
–采用电子管作为逻辑元件; –用阴极射线管或声汞延迟线作主存储器; –数据表示主要是定点数表示; –采用机器语言或汇编语言编写程序。 –1964年)
特征:
–用晶体管代替电子管; –用铁淦氧磁芯和磁盘作主存; –引入变址寄存器和浮点运算部件; –利用I/O处理机提高输入输出操作能力等。 –引入了高级语言(如Fortran等)进行程序设计; –建立了子程序库和批处理管理程序。 –计算机除在军事和国防尖端技术上应用外,还用于气
• 下面用C语言编写一个乘法的 函数mull16,要求用加法和移 位操作实现两个16位无符号数 相乘,结果为32位无符号数。 下面以4位为例来说明算法。
a=1011 b=1101 c=0 a*b 1011
1101 1011 0000 1011 1011
c=c+1*a a=a<<1 c=c+0*a a=a<<1 c=c+1*a a=a<<1 c=c+1*a
–系列化:指各档次的机器采用相同的系统结构, 从而保持程序兼容。
• 即在指令系统、数据格式、字符编码、中断系统、控 制方式、输入/输出操作方式等方面保持一致。
• 程序兼容是指在一种型号上运行的程序可以不加修改 地在其它型号计算机上运行,只是执行时间不同而已。
–标准化:采用标准构件,通过积木方式来构造 计算机系统。即DIY的思想。
• 软件是在计算机硬件的基础上,根据一些 算法而编制的程序和文档。
• 算法是指任何有目的、有计划的行为,根据一些基 本操作按一定顺序进行操作的序列。
–是程序的核心。
• 计算机系统一般配有一些软件,如:
– 编辑器(Editor),编译器(Complier)和汇编器(Assembler), 软件调试器(Debugger)。
• 立即数的二进制位数从8—32位不等。
• CPU中有多个寄存器,它们能够保存数据 (可以变化—变量),且速度非常快。
– 一般8—256个不等。
• 存储器的地址(二进制数)一般是32位。有些 CPU直接在指令中 给出,有些是通过寄存 器的内容与立即数相加得到。
– 存储器数据也是变量,常量也可以放到存储器 中。
• 在计算机的另一个发展方向是大量生产低成 本的小型计算机。
–最典型的例子是DEC公司的PDP-11系列机,由 于它的成本低、性能好,适用范围广,在计算 机的推广普及方面起了巨大的作用。
第四代计算机(1975年以后)
特征:
–以大规模集成电路LSI和超大规模集成电路 VLSI为计算机主要功能部件;
–用集成度高的半导体存储单元作主存储器;
• 最基本的软件是操作系统(OS—Operating System)。它负责管理计算机系统的所有资 源,为用户使用计算机提供一个界面。
– 最常用的操作系统是MS-DOS和Linux核 (Kernel)。
– Windows、Fedora和CentOS等可被认为是在 基本操作系统上开发的高级图形界面。
–智能接口功能 能自动识别自然语言(文字、 语音)和图形、图象(视觉)能力。
–理解和推理功能 要求能根据计算机内存储的 信息(知识)进行推理,具有问题求解和学习功 能。
–知识库管理功能 要求能完成知识获取、知识 检索和知识更新等功能。
• 另一个问题是软件的保护。
1.1.3 计算机指令结构
• CPU能执行的实际上是它能理解的指令 (Instruction)。
10001111
start
a—multiplicand b—multiplier c=0—product i=0--counter
i<16
Y
b&1==1
N
Y
c=c+a
a=a<<1 b=b>>1
i++
return c end
unsigned int mull16(unsigned int x,unsigned int y)
第1章
计算机基础知识及性能评价
本章主要内容
• 计算机系统概述
– 计算机系统组成(硬件/软件) – 计算机发展简史 – 计算机指令结构 – CISC和RISC – 计算机的技术指标(一些基本单位的意义)
• 计算机的基本结构
– RISC CPU的基本结构 – 多线程CPU和多核CPU – 存储层次和虚拟存储器管理 – I/O接口和总线
}
• 如果CPU为X86结构,经过VC6.0编译后生 成如下的X86程序。
– debugrun to cursordisassebly。
• 从程序中的一条指令add ecx,dword ptr [ebp-4]可以看出,X86的指令具有双操作数 的结构。其中一个是通用寄存器ecx(源/目 的寄存器),另一个是内存地址ptr [ebp-4] ( 源操作数地址)。
{ unsigned int a,b,c,i;
a=x;b=y;c=0;
for(i=0;i<16;i++){
if((b&1)==1){ c=c+a; } //LSB of b is 1
a=a<<1;
//shift a 1-bit left
b=b>>1;
//shift a 1-bit right
}
return c;
软件
操作系统、编译器、汇编器、连接器 实用程序 应用程序
电源
计算机系统组成
• 总结:计算机系统由硬件和软件构成。
• 目前硬件功能简单,软件功能复杂的原因:
– 可行性。过于复杂的硬件设计有可能实现不了。
– 成本。计算机的售价必须控制在市场能够接收的 范围之内。
– 增强适应性。同样的祼机安装不同的软件就变成 了功能各异的虚拟机。
• 不同的CPU有不同的指令系统,它们的格式以及 二进制位的表示也是不同的。
• 指令格式如下:
操作码
地址码
– 操作码部分指定该指令要完成什么样的操作。
– 地址码部分可以是立即数、寄存器号、存储器地址或者 它们的结合。作用是给出如何得到操作数以及把指令的 操作结果存到什么地方等信息。
– 立即数是直接参与运算的数据(常量,运行过 程中不允许变化),在指令中给出。
– 常用的实用程序库(Utilities)。 – 其他的软件可以统称为应用程序(Applications)。
• 软件的开发过程
– 选用一种高级语言(或汇编语言),用一个编辑器 来编写程序,并存入硬盘。
– 用编译器或汇编器把它转换成目标码(CPU可执 行的二进制的机器码),仍然存放在硬盘上。
– 通过操作系统执行它,看是否能工作,得到预期 的结果。
– 若得不到预期的结果,可用调试器来跟踪程序的 执行,找出错误所在。
• 一个成熟的软件要经过成百上千次调试才能 趋于完善。
• 常用的I/O设备有键盘、鼠标、显示器、硬盘 、打印机、扫描仪、摄像头、扬声器、话筒 、光驱和U盘。
• 把计算机(CPU)和I/O设备统称为硬件 (Hardware)。
• 硬件是计算机物理设备的总称,是实实在在 的东西。
– 数字量(离散量)是不连续的,到了最小量后不 可再分解。
– 模拟量是连续的,电子模拟计算机以电压值的 大小表示数值。
• 数字电路与模拟电路比较,具有如下优点:
– 电路简单 – 抗干扰能力强、可靠性高 – 状态转换快
1.1 计算机系统概述
• 1.1.1 计算机系统的组成 • 大家都知道计算机内部有CPU(Central
19651973
中小规模集 体积小,可靠性大大提高,速度达几百 成电路 万次,软件技术和外设发展迅速应用领 域不断扩大。
1974- 大/超大规模 速度提高至几千万次 1990 集成电路 出现微型计算机(PC)
1990- 巨大规模集 速度提高至几亿次乃至上百亿次。 成电路 出现单片机
• 计算机发展促进了人工智能的发展,提出 了智能计算机的概念。一般要求智能计算 机具有下列功能:
–物理构成 由各种电子器件、印刷线路板等构成的各种计算机插 件,机架、电源、散热系统以及各种功能的外部设备 等所组成的复杂系统。
–逻辑功能 由中央处理机、存储器、外部设备和它们之间的信息 连线、接口所组成。
计算机系统
计算机 I/O设备
处理器(CPU) 存储器
I/O接口
键盘、鼠标、显示器、硬盘、打印机 摄像头、扬声器、话筒、U盘、光驱 扫描仪、磁带机
• 如何提高计算机的性能
– 计算机性能评价 – 踪迹驱动模拟和执行驱动模拟 – 高性能计算机和互联网络
• 硬件描述语言
数字计算机与模拟计算机
• 通常所说的计算机实际上是指电子数字计 算机。
– “电子”指计算机的基本元件是电子元件。 – “数字”指计算机内部电路是数字电路。
• 计算机内部数据以数字量(二进制数)形 式存在。
• C语言语句的类型
– 分支语句(if,switch)、循环(for,while,do-while)、顺序(赋值等)。
• 指令种类
– 整数算术运算和逻辑运算 – 寄存器与存储器之间的数据传送 – 条件与无条件转移 – 子程序调用与返回 – 浮点运算 – I/O访问 – 系统维护,如系统调用和从中断返回等。
Processing Unit),存储器(Memory)和一些 连接键盘、显示器等的I/O接口 (Input/Output Interface)。 • 包含了以上三种部件的芯片或电路板就称 为单片机或计算机(主机)。 • 光有上面的这些部件,我们还不能直接使 用这个计算机。
– 因为没有I/O设备(Input/Output Device)和计算 机软件(Software)。