西安工业大学
操作系统课程设计报告
课 目:¬¬¬¬ 银行家算法
学 院: 计算机科学与工程学院
指导教师: 姜虹
学 生: 王丽娇
班 级: 网络工程080610127
完成时间:2010年12月25日
操作系统课程设计报告
课 目:¬¬¬¬ 银行家算法
学 院: 计算机科学与工程学院
指导教师: 姜虹
学 生: 王丽娇
班 级: 网络工程080610127
目 录
1、项目内容、要求与分组情况总体介绍 2
2、概要设计 2
2.1开发工具及环境 2
2.2 任务及需求分析 2
2.3 功能模块设计 2
2.4 工作原理 3
3、 具体实现 3
3.1 类设计 3
3.2 模块及实现代码介绍 3
4、运行调试与分析讨论 4
5、设计体会与小结 6
6、参考文献 7
附录:(源程序) 7
1、项目内容、要求与分组情况总体介绍
项目内容、要求:
本次实验的目标是制作一个计算器,可以进行简单的四则运算(加、减、乘、除)。
小组的具体分工情况见下表:
小组组长 谌江波
成员 子项目名称 具体要求
谌江波 模块的组合及测试 查找出程序的错误并改正
肖权 数字键的注册 将数字键注册监听者,使其功能正常
刘达辉 窗口的创建和分配 设计计算器的界面
李晓阳 组合其余同学的工作 是程序完整化
詹烨刚 编写具体的计算方法 添加运算符号及功能代码
2、概要设计
2.1开发工具及环境
文本编辑器:记事本;
运行环境:命令提示符(DOS环境)。
2.2 任务及需求分析
设计简易计算器程序,实现简单的运算(加减乘除),具体任务如下:
1) 计算器窗口界面布局设计;
2) 各种计算功能的算法分析;
3) 编程实现具体的计算功能;
4) 运行测试程序,调试纠正运行错误。
5) 调试无误,运行,测试具体算法功能。
2.3 功能模块设计
计算器的模块设计图如下:
2.4 工作原理
点击相应的数字键,即会在显示文档中显示该数字。进行相应的运算,首先输入第一个计算数字,然后输入运算符,再输入第二个计算数字,点击“=”按钮即得计算结果。同时,还有归零功能,点击该按钮,显示栏中即可归零。
3、 具体实现
3.1 类设计
类名:jisuanqi
作用:功能代码,窗口布局设定
public class Calculator extends WindowAdapter
{}
¬WindowAdapter实现了WindowListener的类,实现了WindowListener
frame.addWindowListener(new WindowAdapter(){});———————————————————————————
类名:WindowDestroyer
作用:用于退出窗口动作
关键代码:
class close implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
3.2 模块及实现代码介绍
Frame fm = new Frame("简单计算器");
for (int i = 0; i <= 16; i++) {
b[i] = new Button(ss[i]);
}
for (int i = 0; i <= 15; i++) {
p2.add(b[i]);
} //创建按钮 并添加到P2
b[16].setBackground(Color.yellow);
txt = new TextField(15);
txt.setEditable(false);
for (int i = 0; i <= 16; i++) {
b[i].addActionListener(new buttonlistener());…… }
注:此方法主要设置窗口、面板、各个按键。对各个按键进行定义(定义好各按键该实现什么功能)、排布,将各个按键注册到监听器上。
———————————————————————————
txt.setText(txt.getText() + btn.getLabel());
if (btn.getLabel() == "归零")
txt.setText("");
注:该代码使每次进入时的文本都清空
———————————————————————————
class close implements ActionListener {//退出
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
注:该方法实现了窗口的关闭
4、运行调试与分析讨论
调试运行4*5运算,运算过程如下所示:
1)命令提示符中运行计算器程序,如下图:
2)计算器界面显示,输入第一个运算值“4”,如下图:
3)输入运算符“*”,如下图:
4)输入第二个运算值“5”,如下图所示:
5)点击计算器按钮“=”,得出计算结果。如下图:
5、设计体会与小结
通过这次课程设计,我们了解到java也是可以分工合作的,虽然最后的整合过程非常麻烦,但是在整合完后,我们发现,课本被翻过很多遍,很多以前不知道的东西就这样豁然开朗了。我们还引用了很多从来没有用过的语句块,大多是从网上找到,然后自己整合进入代码,再实现我们想要的功能。
编程是个艰难的过程,很多功能语句都需要上网或者是查其他书籍来查看他们的用法,课本上的东西对我们来说远远不够,我们要把目光放长远一些。
这次的课程设计使我对JAVA的许多东西都有了更深一步的了解,以前对自己的要求是看得懂就行,现在才发现,光能看懂是远远不够的,能看懂并不代表你会!只有自己真的亲身体验到了,才会知道。
这个礼拜的课程设计是这个学期最累的一个礼拜,但是,我们的付出总算有回报,虽然我们的计算器可能还存在不少的问题,但是,至少它可以正常运行四则运算,基本达到了我们预期的要求,所以,这个礼拜同样是我最充实的一个礼拜。
6、参考文献
[1]杜春涛,《面向对象程序设计—Java语言》,中国铁道出版社.
[2]丁振凡,《JAVA语言实用教程》,北京邮电大学出版社.
[3]
附录:(源程序)
import java.awt.*;
import java.awt.event.*;
public class jisuanqi extends WindowAdapter {
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
TextField txt;
private Button[] b = new Button[17];
private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", "归零", "0", "=", "/", "关闭" };
static double a;
static String s, str;//定义变量 创建对像
public static void main(String args[]) {
(new jisuanqi()).frame();
}
public void frame() {
Frame fm = new Frame("简单计算器");
for (int i = 0; i <= 16; i++) {
b[i] = new Button(ss[i]);
}
for (int i = 0; i <= 15; i++) {
p2.add(b[i]);
} //创建按钮 并添加到P2
b[16].setBackground(Color.yellow);
txt = new TextField(15);
txt.setEditable(false);
for (int i = 0; i <= 16; i++) {
b[i].addActionListener(new buttonlistener());//添加监听器
}
b[16].addActionListener(new close());
fm.addWindowListener(this);
fm.setBackground(Color.red);
p1.setLayout(new BorderLayout());
p1.add(txt, "North");
p2.setLayout(new GridLayout(4, 4));
p3.setLayout(new BorderLayout());
p3.add(b[16]);
fm.add(p1, "North");
fm.add(p2, "Center");
fm.add(p3, "South");
fm.pack();
fm.setVisible(true);//都是些窗中设置 添加相关组件和监听器
}
public void windowClosing(WindowEvent e) {
System.exit(0);//退出系统
}
class buttonlistener implements ActionListener {
//编写监听器事件 通过按键得出给果
public void actionPerformed(ActionEvent e) {
Button btn = (Button) e.getSource();
if (btn.getLabel() == "=") {
jisuan();
str = String.valueOf(a);
txt.setText(str);
s = "";
} else if (btn.getLabel() == "+") {
jisuan();
txt.setText("");
s = "+";
} else if (btn.getLabel() == "-") {
jisuan();
txt.setText("");
s = "-";
} else if (btn.getLabel() == "/") {
jisuan();
txt.setText("");
s = "/";
} else if (btn.getLabel() == "*") {
jisuan();
txt.setText("");
s = "*";
} else {
txt.setText(txt.getText() + btn.getLabel());
if (btn.getLabel() == "归零")
txt.setText("");
}
}
public void jisuan() {//编写具体计算方法
if (s == "+")
a += Double.parseDouble(txt.getText());
else if (s == "-")
a -= Double.parseDouble(txt.getText());
else if (s == "*")
a *= Double.parseDouble(txt.getText());
else if (s == "/")
a /= Double.parseDouble(txt.getText());
else
a = Double.parseDouble(txt.getText());
}
}
}
class close implements ActionListener {//退出
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
热心网友
算机导论课程的改革与实践 被引次数:1次
郑晓曦 文献来自:五邑大学学报(自然科学版) 1995年 第03期
以期把计算机导论议程建设工作做得更好计算机导论课程的改革与实践@郑晓曦$五邑大学计算中心 ...
2. 《计算机导论》多媒体教学系统CAI的设计与开发 被引次数:1次
沈智慧 文献来自:教育信息化 2001年 第09期
设计与开发《计算机导论》多媒体教学系统CAI具有十分重要的意义。 2.《计算机导论》cAI的开发环境 2 ...
3. 计算机导论教学改革实践
余平 文献来自:科技信息 2006年 第11期
计算机导论教学改革实践$淮南联合大学计算机系@余平针对近年来在大学计算机专业中开展的计算机导论课的现状,结合自己的教学改革实践,优化教学内容和课程体系,在教学中使用启发式教学,同时培养学生的创新意识,收到良好的 ... 计算机导论;;课程体系;;启发式;;培养创新[1]王玉龙编.计算机导论[M].北京:电子工业出版社,2002 ...
4. 计算机导论课程建设与改革
楼永坚 文献来自:杭州电子工业学院学报 2004年 第05期
浙江杭州310018计算机导论;;教学改革;;教学模式阐述了《计算机导论》课程建设与改革的意义和必要性,通过对目前大多数高校该课程开课状况的分析以及作者历年授课总结、比较与研究,提出了适合本校本科教学的授课内容、教学模式和方法,课 ...
5. 计算机导论课教学实践思考
陈怀义 陆勤 文献来自:高等教育研究学报 2000年 第04期
对计算机导论这门课首先应该有一个准确的定位。“计算机导论”课的教学目的是计算机入门 ...
6. 对改进计算机导论课程的思考
吴文昭 文献来自:陇东学院学报(自然科学版) 2006年 第01期
对改进计算机导论课程的思考@吴文昭$甘肃联合大学理工学院!甘肃兰州730000本文针对目前"计算机导论"课程教学中普遍存在的偏差问题,结合教学实践的体会,提出该课程教学改进意见,以使其"名符其实",为后续专业课学习奠 ...
7. 计算机导论课的教学研究与实践
曹雁 文献来自:兵团教育学院学报 2003年 第01期
对计算机导论这门课首先应该有一个准确的定位。“计算机导论”课的教学目的是计算机入门 ... 这是至关重要的计算机导论课的教学研究与实践@曹雁$石河子大学信息工程学院!新疆石河子832003计算机导论 ...
8. 《计算机导论和算法语言》辅导教材
陈毓秀 文献来自:机械工程师 1986年 第02期
《计算机导论和算法语言》辅导教材@陈毓秀$上海交通大学<正> 电子计算机这一现代化的计算工具,近年来已在国民经济的各个领域获得广泛应用,成为人们进行计算或处理问题的得力助手。学习本门课程的目的,是着重于将计算机这 ...
9. 基于计算机导论课程浅析中美计算机科学教育模式方法
衣杨 常会友 罗艳 文献来自:现代教育技术 2007年 第07期
适合中国高校导论课程的实验教学总体目标种种情况表明,实验教学对与计算机导论课程非常重要,归纳出计算机导论实验教学总体目标如下:建设与理论课相辅相成、具有较强的实践性的实验教学课程规范和体系 ... 基于计算机导论课程浅析中美计算机科学教育模式方法@衣杨$中山大学信息科学与技术学院计算机科学系 ...
10. 关于“计算机导论”课程教学的探讨
李艳东 李明 郭淑馨 文献来自:吉林工程技术师范学院学报 2006年 第11期
一、开设“计算机导论”课程的必要性“计算机导论”是计算机科学与技术专业的学科导引课程,该课程的教学目的是为学生提供一个关于计算机科学与技术学科的入门介绍,使他们对该学科有一个整体的认识。该课程的教学对象是计算机科学与技术 ...
随着人们对计算机紧凑性设计的要求越来越高,计算机的CPU芯片也在朝着高度集成的方向不断发展,由此造成其在性能方面对温度也更加敏感,其散热技术也成为了相关领域的研究 热点 。下面是我为大家推荐的 cpu 对计算机影响论文,供大家参考。
cpu对计算机影响论文 范文 一:计算机CPU论文
摘要: CPU 是计算机进行运算的核心, 主要性能指标有字长、频率、高速缓存、前端总线频率、超线程技术的应用、支持的扩展指令集等对整个计算机的性能起着至关重要的作用。在计算机的使用中常见的CPU 超频故障、计算机感染病毒使CPU 性能大幅度下降,偶伴随 死机 等现象, 逐步掌握CPU 主要性能与故障的排除技巧, 达到举一反三的效果。
关键词: CPU; 性能指标; 高速缓存; 显示器 黑屏; 故障排除
1 计算机CPU 的主要性能指标
Central Processing Unit, CPU 通常也称“微处理器”或“中央处理器”, 是计算机进行运算的核心, 在计算机系统中相当于“大脑”,主要负责计算机的数据运算和发出计算机的控制指令, 是控制计算机中其他设备运行的“总指挥”。在计算机的发展过程中, CPU 技术的发展一直是计算机技术发展的重点, 在计算机的使用中CPU 的故障排除也是一个难点, 有待我们认真地研究, 以加深对CPU的了解, 逐步掌握CPU 常见故障的排除 方法 与技巧, 配合CPU 工作, 协调CPU 的处理速度, 在使用中达到举一反三的效果。
1.1 CPU“字长”是表示运算器性能的主要技术指标:在
计算机技术中, 把CPU 在单位时间内一次处理的二进制数的位数称为“字长”。一般情况下, 把单位时间内能处理为8 位数据的CPU 叫8 位CPU。同理, 64 位的CPU 在单位时间内能处理字长为64 位的二进制数据。字长是表示运算器性能的主要技术指标,通常等于CPU 数据总线的宽度。CPU 字长越长, 运算精度越高, 信息处理速度越快, CPU 性能也就越高。
1.2 CPU 的频率与CPU 的外频和倍频的关系:CPU 的频率是指计算机运行时的工作频率, 也称为“主频”或“时钟频率”。CPU 的频率表示CPU 内部数字脉冲信号振荡的速度, 代表了CPU 的实际运算速度, 单位是Hz。CPU 的频率越高, 在一个时钟周期内所能完成的指令数也就越多, CPU 的运算速度也就越快。
1.2.1 倍频越高, CPU 的频率就越高,CPU 实际运行的频率与CPU 的外频和倍频有关, CPU 的实际频率=外频!倍频。外频即CPU 的基准频率, 是CPU 与主板之间同步运行的速度。外频速度越高, CPU 就可以同时接受更多来自外围设备的数据, 从而使整个系统的速度进一步提高。倍频是CPU 运行频率与系统外频之间差距的参数, 也称为“倍频系数”, 通常简称为“倍频”。在相同的外频下, 倍频越高, CPU 的频率就越高。
1.2.2 主频越高, CPU 的速度也就越快,当我们使用CPU 时, 通常会说到“奔腾Ⅲ 600”、“奔腾4 3.0”等等, 其实, 这些型号里面的数字“600”和“3.0”就是指CPU 的主频。CPU 的主频一般以MHz 为单位, 通常所说的“奔腾Ⅲ600”中的“600”实际上就是指该CPU 的主频是600MHz。但随着CPU 主频的提高, 一般以GHz( 1GHz=1000MHz) 为单位, 如“奔腾4 3.0”中的3.0 即指该CPU 的工作频率是3.0GHz, 即3000MHz。一般说来,一个时钟周期完成的指令数是固定的, 因此主频越高, CPU 的速度也就越快。
1.3 缓存容量越大, 性能也就越高:
1.3.1 缓存(Cache) 的作用是为CPU 和内存进行数据
交换时提供一个高速的数据缓冲区。当CPU 要读取数据时, 首先会在缓存中寻找, 如果找到了则直接从缓存中读取, 如果在缓存中未能找到, 那么CPU 就从主内存中读取数据。CPU 缓存一般分为L1 高速缓存和L2 高速缓存。
1.3.2 一级高速缓存与二级高速缓存对CPU 的性能影响L1 高速缓存也称为一级高速缓存( L1Cache) 用于暂存部分指令和数据, 以使CPU 能迅速地得到所需要的数据。L1 高速缓存与CPU 同步运行, 其缓存容量大小对CPU 的性能影响较大。__L2 高速缓存也称为二级高速缓存( L2Cache) 的容量和频率对CPU 的性能影响也较大, 其作用就是协调
CPU 的运行速度与内存存取速度之间的差异。L2 高速缓存是CPU 晶体管总数中占得最多得一部分, 由于L2 高速缓存得成本很高, 因此L2 高速缓存得容量大小一般用来作为高端和低端CPU 产品得分界标准。目前CPU 的L2 高速缓存有低至64KB 的, 也有高达4MB 的。
1.4 前端总线频率比外频更具代表性:前端总线频率是AMD 公司在推出K7CPU 时提出的概念, 一直以来很多人都误认为这个名词是外频的一个别称。其实, 通常所说的外频是指CPU 与主板的连接速度, 这个概念建立在数字脉冲信号振荡速度的基础之上, 而前端总线频率指的是数据传输的实际速度, 即每秒钟CPU 可以接收的数据传输量。例如100MHz 外频是指数字脉冲信号在每秒钟振荡1000 万次, 而1001MHz 前端总线频率则是指CPU 每秒钟可接受的数据传输量是100MHz!64bit/8bit/Byte=800MB。就处理器速度而言, 前端总线比外频更具代表性。
1.5 CPU 的制造工艺直接关系到CPU 的电气性能:
1.5.1 CPU 在更高的频率下工作,线路宽度越小, CPU 的功耗和发热量就越低目前Inter 公司的主流产品的制造工艺已经达到0.065 m 级别。由于CPU 制造完成后, 是一块不到1cm2 的硅晶片( 或集成电路) , 还要对其进行封装, 并安装引脚( 或称为“针”) 后才能插到主板上、通常所说的Socket478 和Socket939 中的数值的就是指该CPU 的引脚数, CPU 的封装一般有陶瓷封装和树脂封装两种。
1.5.2 超线程技术的应用超线程(Hyper- Threading,HT) 是Inter 公司为Pentium4 专门设计的一项技术。超线程是一种同步多线执行技术, 一款应用超线程技术的IntelCPU 可以在逻辑上被模拟成两个任务。当计算机系统应用超线程技术后, 可使整机性能提高25%以上。
1.6 支持的扩展指令集对提高CPU 的效率具有重要作用:指令集是CPU 用来计算和控制系统的命令, 是与硬件电路相配合的一系列指令。指令集是评价CPU 性能的重要指标之一。目前指令集有Intel 公司的MMX、SSE、SSE2、SSE3 和AMD 公司的“3DNow! ”等。MMX(Multi Media Extensions,多媒体扩展)指令集由Intel 公司开发, 包括57 条多媒体指令, 通常这些指令可以同时处理多个数据, 提高CPU 处理图形、视频和音频的能力。SSE(Streaming SIMDExtensions,单指令多数据流扩展)指令集是MMX指令集的扩展, 是Intel 公司在Pentium3 处理器中开始使用的。SSE2 支持双精度浮点数的SIMD 处理, 用在64 位CPU 中。SSE3 是Intel 公司在最新的Pentium 4 Prescott 处理器中为了增强Pentium 4 CPU 在多媒体方面的性能二新增加的一组指令集合, 有助于增强Intel CPU 的超线程功能。“3DNow! ”指令集广泛
应用于AMD 公司的K6- 2,K6- 3 以及Athlon( k7) 处理器中。在软件的配合下, 可以大幅度提高3D 处理性能。“3Dnow! ”指令集是最早的三维指令集。
2 计算机使用中CPU 常见故障的排除
2.1 故障现象:一般说来, CPU 是不容易出现故障的, 但由于超频或者电压工作不稳定和CPU 的制造工艺的不同等原因, 会导致CPU 不能正常工作, 显示器突然黑屏, 重启后无效, 更严重者会烧坏CPU。(1)CPU 超频是 DIY 族最喜欢干的事情, 有的CPU 本身不具备超频能力却硬要超频, 有的CPU 超频的余量很小, 却让它超出额定频率较大的范围工作, 其结果将导致电脑工作不正常, 经常出现死机现象。因为CPU 超频使用, 而且是硬超, 有可能是超频不稳定引起的故障。如开机后用手摸一下CPU, 发现非常烫, 则故障就可能在此。解决的方法是: 用户可以找到CPU 的外频与倍频跳线, 逐步降频后, 启动电源, 系统恢复正常, 显示器也就有了显示。也有可能是过度超频之后, 电脑启动时可能出现散热风扇转动正常, 但硬盘指示灯只亮了一下便没有反应了, 显示器也维持待机状态的故障。由于此时不能进入 BIOS 设置选项, 因此只能给CPU 降频。具体方法是打开机箱并在主板上找到给CMOS 放电的跳线, 给CMOS放电后重启系统即可。值得注意的是内存大小、硬盘速度、显卡速度,
特别是CPU 的性能指标, 对整个计算机的性能无不起着至关重要的作用, 因此盲目追求CPU 一级高速缓存与二级高速缓存、前端总线频率的高速并不可取。(2) 电压不正常导致CPU 烧坏。常见的故障现象是开机后黑屏, 只听到CPU 风扇在转动, 没有开机自检。解决方法: 根据故障现象可以排除电源的故障, 开机后风扇在转动, 说明计算机是通电的。但是不能自检, 也就不能听到“滴”的一声响, 此时怀疑是主板或CPU 的故障, 初步判断后, 采用替换法进行确认。首先找一台同等配置的好的计算机, 把此台计算机的CPU 拆下, 换到有故障的计算机上, 开机后如果能启动并正常进入系统, 说明该台计算机的故障就是CPU 有问题, 仔细查看CPU,发现针角处有发黑的地方, 说明是由于电压不稳定导致CPU 被烧坏。
2.2 计算机感染病毒, CPU 性能大幅度下降, 偶伴随死
机现象:(1)该故障原因可能是感染了病毒, 或磁盘碎片过多或CPU 温度过高。解决方法是首先可以使用杀毒软件查杀病毒, 然后使用Windows 附带的“磁盘碎片整理”程序进行整理。如果还不能解决问题, 则打开机箱, 查看CPU 散热器的风扇通电后是否转动, 如果不转动, 则更换新散热器即可。(2)蠕虫病毒发作使CPU 占用率为何高达100%。故障现象: 即开机使用一段时间后, 硬盘指示灯不停地闪, 同时
系统运行速度变得非常慢, “任务管理器”窗口中显示CPU 地占用率100%。只有重新启动才能继续使用。但过一段时间后又是如此。从故障描述可知, 计算机系统感染了某种蠕虫病毒。在正常情况下, 在不运行大型的程序时, CPU 在瞬间的占用率不可能为100%。而蠕虫病毒发作的时候就会将剩余的系统资源占满。这时, 用户可以在“任务管理器”窗口中查看哪个程序占用的CPU 资源最多, 如果是一个陌生的程序, 建议用户使用杀毒软件( 最好使用最新的杀毒库) 对系统进行彻底的检查。如果还无法解决该问题,最好重新安装 操作系统 , 并且安装病毒防火墙。这样, 能彻底解决问题。
2.3 CPU 风扇不转导致计算机死机:故障现象: 一台计
算机开机进入系统后不久就死机, 重新启动计算机后故障依旧。解决方法: 打开机箱, 查看机箱内各设备的运行情况, 发现CPU 风扇转动的很慢, 处于似转非转的状态, 由此想到造成重启的原因可能是由于CPU 风扇不能正常运转而导致CPU 无法散热, 从而使CPU 温度急剧上升, 最后出现死机。因为是突然黑屏, 可能是硬件有松动而引起接触不良。可打开机箱把硬件重新插一遍后开机, 有可能是显卡有问题, 因为从显示器的指示灯来判断无信号输出, 使用“替换法”检查, 显卡没问题, 那么此时有可能是显示器有故障,
使用“替换法”再检查, 同样没有发现问题, 接着检查CPU, 发现CPU 的针脚有点发黑和绿斑, 这是生锈的迹象。看来问题就在此处, 因为制冷片有结露的现象, 一定是制冷片的表面温度过低而结露, 导致CPU 长期处于潮湿的环境中, 日积月累, 就会产生太多锈斑, 造成接触不良, 从而发生此故障。找到问题的所在点后, 要拆掉CPU 风扇, 给风扇添加润滑油并清理风扇上的灰尘, 再重新安装CPU 风扇。开机后CPU 风扇转动正常, 死机现象也就消除了。还可以取出CPU, 用橡皮仔细地把每一个针脚都擦一遍, 然后把散热片上的制冷片取下, 清洁干净, 最后装好CPU 和制冷片开机, 即可正常启动。
计算机由于各种原因总会出现一些故障。特别当遇到CPU 常见故障时, 我们应该对CPU 的主要性能指标有充分的了解, 分析故障原因, 掌握常用的排除方法与技巧, 避免CPU 故障造成计算机黑屏、死机等麻烦。
参考文献:
[1] 熊巧玲,吕良燕,高明伟.电脑组装与维护技能实训
[M].北京:科学出版社,2007.
[2] 谭贤.电脑组装、维护与故障排除[M].北京:机械工业出版社,2007.
[3] 网冠科技编著.电脑急救、备份还原、BIOS、注册表设计[M].北京:机械工业出版社,2007.
[4] 张景生.台式计算机使用与维修[M].北京:国防工业出版社,2007.[5] __功、修红海.计算机组装与维护[M].北京:中华工商联合出版社,2007.
cpu对计算机影响论文范文二:计算机组成原理——CPU 论文
摘 要 CPU是计算机进行运算的核心,其重要性相当于人体的大脑,起着至关重要的作用。CPU的主要性能指标有字长、频率、高速缓存、前端总线频率、超线程技术的应用、支持的扩展指令集等等,对整个计算机的性能起着至关重要的作用。要从了解CPU的发展历程,运行原理以及故障排除等多方面了解CPU,从而达到对CPU的全面认识。
关健词 CPU 历史 工作原理 故障排除
The priciple of the Computer Compoment--CPU
Wu Min
Abstract CPU is the core of computer operations, its importance is equivalent to the human brain, plays a vital role in.
The main properties of CPU index word length, frequency, cache, FSB, hyper threading technology, support the instruction set extensions on the whole computer plays an important role in the performance. To understand the development history of CPU, operation principle and troubleshooting to know more about CPU, to achieve a comprehensive understanding of CPU.
Keywords CPU,History, Working priciple , Troubleshooting
引言
CPU是Central Processing Unit(中央微 处理器)的缩写,又称为微处理器。随着网络时代的到来,网络通信、信息安全和信息家电产品将越来越普及,而CPU正是所有这些信息产品中必不可少的部件,CPU主要由运算器和控制器组成,是微型计算机硬件系统中的核心部件,起着控制整个微型计算机系统的作用。
CPU性能的高低通常决定了一台计算机的档次。
世界上生产CPU芯片主要有Intel和AMD两家公司。Intel公司生产的CPU始终占有相当大的市场。目前,Intel公司生产的CPU主要有赛扬系列、奔腾系列、酷睿系列等。AMD公司的CPU占有相当的市场份额。AMD公司生产的CPU主要有闪龙系列、速龙系列等。
协调工作,决定了计算机的整体性能。CPU主要由运算器、控制器、寄存器组和内部总线等构成。寄存器组用于在指令执行过后存放操作数和中间数据,由运算器完成指令所规定的运算及操作。
CPU的发展非常迅速,个人电脑从8088(XT)发展到现在的Pentium 4时代,只经过了不到二十年的时间。
1971 Intel 4004,世界上第一款微处理器 1974 Intel 8008,第一个8位的微处理器; 1974 Intel 8080,第一个真正的微处理器; 1978 Intel 8086,16位微处理器; Intel 80186; 1982 Intel 80286;
1985 Intel 80386,新一代32位核心微处理器; 1989 Intel 80486; 1993 Pentium(奔腾);
从生产技术来说,最初的8088集成了29000个晶体管,而PentiumⅢ的集成度超过了2810万个晶体管;CPU的运行速度,以MIPS(百万个指令每秒)为单位,8088是0.75MIPS,到高能奔腾时已超过了1000MIPS。
1 CPU的简介和历史发展
CPU的外部组成:控制单元,存储单元(寄存器,缓存),逻辑运算单元。
CPU的外部组成:芯片,金属壳(保护CPU,增加散热面积),引脚(固定CPU,连通电路)。
CPU是计算机的核心部件,处理计算机中的所有数据,使计算机完成各种功能,并使各部件
CPU从最初发展至今期间,按照其处理信息的字长,CPU可以分为:4位微处理器、8位微处理器、16位微处理器、32位微处理器以64位微处理器,基本上可以说个人电脑的发展是随着CPU的发展而前进的。
1971年世界第一台微处理器Inter的4004出现,内部集成2300个晶体管;1978年Inter16位处理器8086和与之配合的数学协处理器8087同时推出;1979年Inter8088推出,内含27000个晶体管,外部数据总线减少为8位,也首次运用于IBM PC中,预示微机时代即将来临.1982年Inter又推出了16位的80286,内部晶体管13.4万个,时频由最初的6MHZ升为20MHZ;1985年32位处理器80386推出,时频达到12.5MHZ以上;1989年集成120万晶体管的80486出现,时频90MHZ,性能比386提高了4倍;1993年奔腾时代来临,奔腾1,世界上第一台586级处理器,310万晶体管,时频200MHZ;1996年奔腾Pro,550万晶体管,处理速度是一代的2倍;同时第一次采用2级内存,同年奔腾MMX推出,L1缓存加倍;1997年,奔腾Pro与MMX结合,奔腾2出现,性能大大提高;1998年奔腾3出现,一级缓存2KB,二级缓存512KB,安全性能大大提高;2000年奔腾4推出,主频超过1.7GHZ.之后又出了双核,四核...Inter处理器的发展就代表了CPU的发展,其中不乏其他公司产品,如AMD等
2 CPU的运行原理及过程
2.1 CPU的运行原理
CPU的主要运作原理,不论其外观,都是执行储存于被称为程序里的一系列指令。在此讨论的是遵循普遍的冯·诺伊曼结构(von Neumann architecture)设计的装置。程序以一系列数字储存在计算机存储器中。差不多所有的冯·诺伊曼CPU 的运作原理可分为四个阶段: 提取、解码、执行和写回。
第一阶段,提取,从程序存储器中检索指令(为数值或一系列数值)。由程序计数器指定程序存储器的位置,程序计数器保存供识别目前程序位置的数值。换言之,程序计数器记录了CPU在目前程序里的踪迹。提取指令之后,PC根据指令式长度增加存储器单元[iwordlength]。指令的提取常常必须从相对较慢的存储器查找,导致CPU等候指令的送入。这个问题主要被论及在现代处理器的高速缓存和管线化架构。
CPU根据从存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片断。根据CPU的指令集架构(ISA)定义将数值解译为指令[isa]。一部分的指令数值为运算码,其指示要进行哪些运算。 其它 的数值通常供给指令必要的信息,诸如一个加法运算的运算目标。这样的运算目标也许提供一个常数值(即立即值),或是一个空间的寻址值:暂存器或存储器地址,以寻址模式决定。在旧的设计中,CPU里的指令解码部分是无法改变的硬体装置。不过在众多抽象且复杂的CPU和ISA中,一个微程序时常用来帮助转换指令为各种形态的讯号。这些微程序在已成品的CPU 中往往可以重写,方便变更解码指令。
在提取和解码阶段之后,接着进入执行阶段。该阶段中,连接到各种能够进行所需运算 的CPU部件。例如要求一个加法运算,算术逻辑单元将会连接到一组输入和一组输出。输入提供了要相加的数值,而且在输出将含有总和结果。ALU内含电路系统,以于输出端完成简单的普通运算和逻辑运算(比如加法和位运算)。如果加法运算产生一个对该CPU处理而言过大的结果,在标志暂存器里,溢出标志可能会被设置。
最终阶段,写回。以一定格式将执行阶段的
结果简单的写回。运算结果极常被写进CPU内部的暂存器,以供随后指令快速访问。在其它案例中,运算结果可能写进速度较慢,但容量较大且较便宜的主存。某些类型的指令会操作程序计数器,而不直接产生结果数据。这些一般称作“跳转”并在程序中带来循环行为、条件性执行(透过条件跳转)和函数[jumps]。许多指令也会改变标志暂存器的状态位。这些标志可用来影响程序行为,缘由于它们时常显出各种运算结果。例如,以一个“比较”指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值。这个标志可借由随后的跳转指令来决定程序动向。
在执行指令并写回结果数据之后,程序计数器的值会递增,反复整个过程,下一个指令周期正常的提取下一个顺序指令。如果完成的是跳转指令,程序计数器将会修改成跳转到的指令地址,且程序继续正常执行。许多复杂的CPU可以一次提取多个指令、解码,并且同时执行。这个部分一般涉及“经典RISC管线”,那些实际上是在众多使用简单CPU的电子装置中快速普及(常称为单片机)。
CPU 数字表示方法是一个设计上的选择,这个选择影响了设备的工作方式。一些早期的数字计算机内部使用电气模型来表示通用的十进制(基于10 进位)数位系统数字。还有一些罕见的计算机使用三进制表示数字。几乎所有的现代的CPU 使用二进制系统来表示数字,这样数字可以用具有两个值的物理量来表示,例如高低电平[binaryvoltage]等等。
与数表示相关的是一个CPU可以表示的数的大小和精度,在二进制CPU 情形下,一个位(bit)指的是CPU处理的数中的一个有意义的位,CPU用来表示数的位数量常常被称作“字长”, “位宽”, “数据通路宽度”或者当严格地涉及到整数(与此相对的是浮点数)时称作“整数精度”、该数量因体系结构而异,且常常在完全相同的CPU的不同部件中也有所不同。 实际上,整数精度在CPU可执行的软件所能利用的整数取值范围上设置了硬件限制。整数精度也可影响到CPU可寻址(寻址)的内存数量。譬如,如果二进制的CPU使用32位来表示内存地址,而每一个内存地址代表一个八位组,CPU 可定位的容量便是232个位组或4GB。以上是简单描述的CPU地址空间,通常实际的CPU 设计使用更为复杂的寻址方法,例如为了以同样的整数精度寻址更多的内存而使用分页技术。
2更高的整数精度需要更多线路以支持更多的数字位,也因此结构更复杂、更巨大、更花 费能源,也通常更昂贵。因此尽管市面上有许多更高精准度的CPU如 16、32、64甚至128位,但依然可见应用软件执行在4或8位的单片机上。越简单的单片机通常较便宜,花费较少能源,也因此产生较少热量。这些都是设计电子设备的主要考量。
2.2 CPU的运行过程
数据从输入设备流经内存,等待CPU的处理,这些将要处理的信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据可以是二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。 假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候获取数值,告诉指令译码器什么时候翻译指令等等。假如数据被送往算术逻辑单元,数据将会执行指令中规定的算术运算和其他各种运算。当数据处理完毕后,将回到寄存器中,通过不同的指令将数据继续运行或者通过DB总线送到数据缓存器中。基本上,CPU就是这样去执行读出数据、处理数据和往内存写数据3项基本工作。但在通常情况下,一条指令可以包含按明确顺序执行的许多操作,CPU的工作就是执行这些指令,完成一条指令后,CPU的控制单元又将告诉指令读取器从内存中读取下一条指令来执行。这个过程不断快速地重复,快速地执行一条又一条指令,产生你在显示器上所看到的结果。在处理这么多指令和数据的同时,由于数据转移时差和CPU处理时差,肯定会出现混乱处理的情况。为了保证每个操作准时发生,CPU需要一个时钟,时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器,它不停地发出脉冲,决定CPU的步调和处理时间。
参考文献:
《电子计算机组成原理》 蒋本珊 北京理工大学
《计算机组成原理》第二版,唐朔飞 编著,高等 教育 出版社,2008.1
《计算机导玉龙论》作者:王 电子工业出版社 《计算机科学导论》作者:王志强 机械工业出版社 《微型计算机原理与应用》肖金立 编著,电子工业出版社,2003-1