step56硬件编译出错
A. 寻求常用计算机术语及其功能
计算机常用英语术语、词汇表- -
计算机常用英语术语、词汇表 绝对COOL资料!
Computer Vocabulary In Common Use
一、硬件类(Hardware)
二、软件类(Software)
三、网络类(Network)
四、其它
CPU(Center Processor Unit)中央处理单元
mainboard主板
RAM(random access
memory)随机存储器(内存)
ROM(Read Only Memory)只读存储器
Floppy Disk软盘
Hard Disk硬盘
CD-ROM光盘驱动器(光驱)
monitor监视器
keyboard键盘
mouse鼠标
chip芯片
CD-R光盘刻录机
HUB集线器
Modem= MOlator-DEMolator,调制解调器
P-P(Plug and Play)即插即用
UPS(Uninterruptable Power Supply)不间断电源
BIOS(Basic-input-Output
System)基本输入输出系统
CMOS(Complementary Metal-Oxide-Semiconctor)互补金属氧化物半导体
setup安装
uninstall卸载
wizzard向导
OS(Operation Systrem)好啊作系统
OA(Office AutoMation)办公自动化
exit退出
edit编辑
复制
cut剪切
paste粘贴
delete删除
select选择
find查找
select all全选
replace替换
undo撤消
redo重做
program程序
license许可(证)
back前一步
next下一步
finish结束
folder文件夹
Destination Folder目的文件夹
user用户
click点击
double click双击
right click右击
settings设置
update更新
release发布
data数据
data base数据库
DBMS(Data Base Manege
System)数据库管理系统
view视图
insert插入
object对象
configuration配置
command命令
document文档
POST(power-on-self-test)电源自检程序
cursor光标
attribute属性
icon图标
service pack服务补丁
option pack功能补丁
Demo演示
short cut快捷方式
exception异常
debug调试
previous前一个
column行
row列
restart重新启动
text文本
font字体
size大小
scale比例
interface界面
function函数
access访问
manual指南
active激活
computer language计算机语言
menu菜单
GUI(graphical user
interfaces )图形用户界面
template模版
page setup页面设置
password口令
code密码
print preview打印预览
zoom in放大
zoom out缩小
pan漫游
cruise漫游
full screen全屏
tool bar工具条
status bar状态条
ruler标尺
table表
paragraph段落
symbol符号
style风格
execute执行
graphics图形
image图像
Unix用于服务器的一种好啊作系统
Mac OS苹果公司开发的好啊作系统
OO(Object-Oriented)面向对象
virus病毒
file文件
open打开
colse关闭
new新建
save保存
exit退出
clear清除
default默认
LAN局域网
WAN广域网
Client/Server客户机/服务器
ATM( Asynchronous
Transfer Mode)异步传输模式
Windows NT微软公司的网络好啊作系统
Internet互联网
WWW(World Wide Web)万维网
protocol协议
HTTP超文本传输协议
FTP文件传输协议
Browser浏览器
homepage主页
Webpage网页
website网站
URL在Internet的WWW服务程序上
用于指定信息位置的表示方法
Online在线
Email电子邮件
ICQ网上寻呼
Firewall防火墙
Gateway网关
HTML超文本标识语言
hypertext超文本
hyperlink超级链接
IP(Address)互联网协议(地址)
SearchEngine搜索引擎
TCP/IP用于网络的一组通讯协议
Telnet远程登录
IE(Internet Explorer)探索者(微软公司的网络浏览器)
Navigator引航者(网景公司的浏览器)
multimedia多媒体
ISO国际标准化组织
ANSI美国国家标准协会
able 能
activefile 活动文件
addwatch 添加监视点
allfiles 所有文件
allrightsreserved 所有的权力保留
altdirlst 切换目录格式
并能够解决更大范围内的磁盘问题
andotherinFORMation 以及其它的信息
archivefileattribute 归档文件属性
assignto 指定到
autoanswer 自动应答
autodetect 自动检测
autoindent 自动缩进
autosave 自动存储
availableonvolume 该盘剩余空间
badcommand 命令错
badcommandorfilename 命令或文件名错
batchparameters 批处理参数
binaryfile 二进制文件
binaryfiles 二进制文件
borlandinternational borland国际公司
bottommargin 页下空白
bydate 按日期
byextension 按扩展名
byname 按名称
bytesfree 字节空闲
callstack 调用栈
casesensitive 区分大小写
要求出现确认提示,在你想覆盖一个
centralpointsoftwareinc central point 软件股份公司
changedirectory 更换目录
changedrive 改变驱动器
changename 更改名称
characterset 字符集
checkingfor 正在检查
检查磁盘并显示一个状态报告
chgdrivepath 改变盘/路径
node 节点
npasswd UNIX的一种代理密码检查器,在提交给密码文件前,它将对潜在的密码进行筛选。
OSPF 开放最短路径优先协议
OSI Model 开放系统互连模式
out-of-band attack 带外攻击
packet filter 分组过滤器
password 口令
path 路径
payload 净负荷
PBX 专用交换机
PCS 个人通信业务
peer 对等
permission 权限
plaintext 明文
PPTP 点到点隧道协议
port 端口
prority 优先权
protocol 协议
potential browser 潜在浏览器
POP 互联网电子邮件协议标准
是Post Office Protocol 的缩写,是互联网电子邮件协议标准。我们可以通过有POP
服务功能的主机传送及接收电子邮件。该协议的缺陷是,当你接收电子邮件时,所有
的信件都从服务器上清除,下载到你的本地硬盘。当然也有一些客户端程序可以将电
子邮件留在服务器上,或设置成超过一定大小的文件不可下载。随着邮件采用多媒体
格式,邮件会越来越大,我们希望能够灵活掌握下载什么文件、何时下载,这就需要
IMAP 协议。目前POP的版本为POP3。
process 进程
proxy 代理
proxy server 代理服务器
代理服务就是代理Web用户去取得资料回来,通常使用WWW软件要去连结远方的终端取得资
料时,必须送出要求信号然后再一个字节一个字节的传送回来。有了proxy的设定以后,要
求资料的信号会先送到Proxy Server。当Proxy Server得到用户的请求时,首先会到cache
中寻找有没有同样的资料,如果有,就由Proxy Server直接将资料传给用户,如果cache没
有资料,Proxy Server就会利用网络上所可以使用的频宽,到远端站台取回资料,一边储存
在cache中,一边传送给用户。即使线路阻塞,还是比用户自己直接抓取要来得快速的。
paseudorandom 伪随机
phreaking 指控制电话系统的过程
RAS 远程访问服务
Remote control 远程控制
RPC 远程过程调用
remote boot 远程引导
route 路由
router 路由器
routing 路由选择
RIP 路由选择信息协议
routed daemon 一种利用RIP的UNIX寻径服务
routing table 路由表
R.U.P 路由更新协议
RSA 一种公共密匙加密算法。而RSA也许是最流行的。
script 脚本
search engine 搜索引擎
SSL 安全套接层
secure 密码
SID 安全标识符
sender 发送者
SLIP 串行线网际协议
server 服务器
server-based network 基于服务器的网络
session layer 会话层
share、sharing 共享
share-level security 共享级安全性
SMTP 简单邮件传送协议
SNMP 简单网络管理协议
Site 站点
SCSI 小型计算机系统接口
snffer 检错器
snooping 探听
standalone server 独立服务器
strong cipher 强密码
stream cipher 流密码
strong password 荎诹?
SQL 结构化查询语言
subnet mask 子网掩码
subdirectory 子目录
subnet 子网
swap file 交换文件
SACL 系统访问控制表
S/Key 安全连接的一次性密码系统,在S/Key中,密码从不会经过网络发送,因此不可能被窃取。
sniffer(嗅探器) 秘密捕获穿过网络的数据报文的程序,黑客一般用它来设法盗取用户名和密码的。
spoofing(电子欺骗) 任何涉及假扮其他用户或主机以对目标进行未授权访问的过程
time bomb(时间炸弹) 指等待某一特定时间或事件出先才激活,从而导致机器故障的程序
TCPDUMP 是UNIX中捕获数据包的实用工具,常被用语获得详细的网络通信记录的。
Traceroute 一个UNIX上的常用TCP程序,用语跟踪本机和远程主机之间的路由
T0,DS0 56或者64kbps
T1,DS1 24路PCM数字话,总速率为1.544Mbps
T3,DS3 28个T1信道,作品能够速率为44.736Mbps
thin client 瘦客户机
thread 线程
throughput 吞吐量
transport layer 传输量
Transport Protocol 传输协议
trust 信任
tunnel 安全加密链路
vector of attack 攻击向量
Virtual directory 虚目录
Virtual Machine 虚拟机
VRML 虚拟现实模型语言
volume 文件集
vulnerability 脆弱性
weak passwurd 弱口令
well-known ports 通用端口
workstation 工作站
X.25 一种分组交换网协议
zone transfer 区域转换
authentication 认证、鉴别
authorization 授权
Back Office Microsoft公司的一种软件包
Back up 备份
backup browser 后备浏览器
BDC 备份域控制器
baseline 基线
BIOS 基本输入/输出系统
Binding 联编、汇集
bit 比特、二进制位
BOOTP 引导协议
BGP 引导网关协议
Bottleneck 瓶径
bridge 网桥、桥接器
browser 浏览器
browsing 浏览
channel 信道、通路
CSU/DSU 信道服务单元/数字服务单元
Checksum 校验和
Cluster 簇、群集
CGI 公共网关接口
CGI(Common Gateway Interface公用网关接口是一个可以产生相同结果或结果随用户输入
而变化的程序。它可以用一种解释性的界面语言编写,也可以用一种编译方式的编程语言
编写。CGI规定了Web服务器调用其它可执行程序的接口协议标准。Web服务器通过调用CGI程
序实现和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处
理,并将响应结果再回送给Web服务器和Web浏览器。CGI程序一般完成Web网页中表单数据的
处理、数据库查询和实现与传统应用系统的集成等工作。CGI程序虽然可以用任何程序设计
语言编写,但是用C语言编写的CGI程序具有执行速度快、安全性高等特点。
CGI-based attack(基于CGI攻击)它利用公共网关接口的脆弱点进行攻击,通常借助www站
点进行
crash(崩溃) 系统突然失效,需要从新引导
CD-ROM 只读型光盘
Component 组件
data link 数据链路
createprimarydospartition 创建DOS主分区
createsadirectory 创建一个目录
创建,改变或删除磁盘的卷标
currentfile 当前文件
currentfixeddiskdrive 当前硬盘驱动器
currentsettings 当前设置
currenttime 当前时间
cursorposition 光标位置
defrag 整理碎片
dele 删去
删除分区或逻辑DOS驱动器
删除一个目录和所有的子目录及其中的所有文件
deltree 删除树
devicedriver 设备驱动程序
dialogbox 对话栏
directionkeys 方向键
directly 直接地
directorylistargument 目录显示变量
directoryof 目录清单
directorystructure 目录结构
diskaccess 磁盘存取
disk 磁盘拷贝
磁盘服务功能: C拷贝 O比较 F搜索R改卷名V校验 浏览E编缉M图 L找文件 N格式化
diskspace 磁盘空间
displayfile 显示文件
displayoptions 显示选项
displaypartitioninFORMation 显示分区信息
显示指定目录和所有目录下的文件
显示指定属性的文件
显示或改变文件属性
displaysorsetsthedate 显示或设备日期
以单色而非彩色显示安装屏信息
显示系统中已用和未用的内存数量
显示磁盘上所有文件的完整路径和名称
显示或改变当前目录
doctor 医生
doesn 不
doesntchangetheattribute 不要改变属性
dosshell DOS 外壳
doubleclick 双击
你想显示逻辑驱动器信息吗(y/n)?
driveletter 驱动器名
editmenu 编辑选单
emsmemory ems内存
endoffile 文件尾
endofline 行尾
enterchoice 输入选择
entiredisk 转换磁盘
environmentvariable 环境变量
esc esc
everyfileandsubdirectory 所有的文件和子目录
existingdestinationfile 已存在的目录文件时
expandedmemory 扩充内存
expandtabs 扩充标签
explicitly 明确地
extendedmemory 扩展内存
fastest 最快的
fatfilesystem fat 文件系统
fdiskoptions fdisk选项
fileattributes 文件属性
fileFORMat 文件格式
filefunctions 文件功能
fileselection 文件选择
fileselectionargument 文件选择变元
filesin 文件在
filesinsubdir 子目录中文件
fileslisted 列出文件
filespec 文件说明
filespecification 文件标识
filesselected 选中文件
findfile 文件查寻
fixeddisk 硬盘
fixeddisksetupprogram 硬盘安装程序
fixeserrorsonthedisk 解决磁盘错误
floppydisk 软盘
FORMatdiskette 格式化磁盘
FORMatsadiskforusewithmsdos 格式化用于MS-DOS的磁盘
FORMfeed 进纸
freememory 闲置内存
fullscreen 全屏幕
functionprocere 函数过程
graphical 图解的
graphicslibrary 图形库
groupdirectoriesfirst 先显示目录组
hangup 挂断
harddisk 硬盘
hardwaredetection 硬件检测
hasbeen 已经
helpfile 帮助文件
helpindex 帮助索引
helpinFORMation 帮助信息
helppath 帮助路径
helpscreen 帮助屏
helptext 帮助说明
helptopics 帮助主题
helpwindow 帮助窗口
hiddenfile 隐含文件
hiddenfileattribute 隐含文件属性
hiddenfiles 隐含文件
howto 好啊作方式
ignorecase 忽略大小写
在常规和上位内存
incorrectdos 不正确的DOS
incorrectdosversion DOS 版本不正确
indicatesabinaryfile 表示是一个二进制文件
indicatesanasciitextfile 表示是一个ascii文本文件
insertmode 插入方式
请用scandisk,不要用chkdsk
inuse 在使用
invaliddirectory 无效的目录
is 是
kbytes 千字节
keyboardtype 键盘类型
labeldisk 标注磁盘
laptop 膝上
largestexecutableprogram 最大可执行程序
largestmemoryblockavailable 最大内存块可用
lefthanded 左手习惯
leftmargin 左边界
linenumber 行号
linenumbers 行号
linespacing 行间距
listbyfilesinsortedorder 按指定顺序显示文件
listfile 列表文件
listof 清单
locatefile 文件定位
lookat 查看
lookup 查找
macroname 宏名字
makedirectory 创建目录
memoryinfo 内存信息
memorymodel 内存模式
menubar 菜单条
menucommand 菜单命令
menus 菜单
messagewindow 信息窗口
microsoft 微软
microsoftantivirus 微软反病毒软件
microsoftcorporation 微软公司
mini 小的
modemsetup 调制解调器安装
molename 模块名
monitormode 监控状态
monochromemonitor 单色监视器
moveto 移至
multi 多
newdata 新建数据
newer 更新的
newfile 新文件
newname 新名称
newwindow 新建窗口
norton norton
nostack 栈未定义
noteusedeltreecautiously 注意:小心使用deltree
onlinehelp 联机求助
optionally 可选择地
or 或
pageframe 页面
pagelength 页长
在显示每屏信息后暂停一下
pctools pc工具
postscript 附言
prefixmeaningnot 前缀意即"不
prefixtoreverseorder 反向显示的前缀
用前缀和放在短横线-后的开关(例如/-w)预置开关
pressakeytoresume 按一键继续
pressanykeyforfilefunctions 敲任意键执行文件功能
pressentertokeepthesamedate 敲回车以保持相同的日期
pressentertokeepthesametime 敲回车以保持相同的时间
pressesctocontinue 敲esc继续
pressesctoexit 敲键退出
pressesctoexitfdisk 敲esc退出fdisk
敲esc返回fdisk选项
previously 在以前
printall 全部打印
printdevice 打印设备
printerport 打印机端口
在指定的路径下处理所有目录下的文件
programfile 程序文件
programmingenvironment 程序设计环境
在创建每个目标文件时提醒你
在拷贝前提示你敲一下键
pulldown 下拉
pulldownmenus 下拉式选单
quickFORMat 快速格式化
quickview 快速查看
readonlyfile 只读文件
readonlyfileattribute 只读文件属性
readonlyfiles 只读文件
readonlymode 只读方式
redial 重拨
repeatlastfind 重复上次查找
reportfile 报表文件
resize 调整大小
respectively 分别地
rightmargin 右边距
rootdirectory 根目录
运行debug, 它是一个测试和编辑工具
runtimeerror 运行时出错
saveall 全部保存
saveas 另存为
scandisk 磁盘扫描程序
scandiskcanreliablydetect scandisk可以可K地发现
screencolors 屏幕色彩
screenoptions 屏幕任选项
screensaver 屏幕暂存器
screensavers 屏幕保护程序
screensize 屏幕大小
scrollbars 翻卷栏
scrolllockoff 滚屏已锁定
searchfor 搜索
sectorspertrack 每道扇区数
selectgroup 选定组
selectionbar 选择栏
setactivepartition 设置活动分区
setupoptions 安装选项
shortcutkeys 快捷键
showclipboard 显示剪贴板
singleside 单面
sizemove 大小/移动
sorthelp S排序H帮助
sortorder 顺序
specialservicesdirectorymaint 特殊服务功能: D目录维护
指定要列出的驱动器,目录,和文件
指定你想把父目录作为当前目录
指定新文件的目录或文件名
指定要拷贝的文件
stackoverflow 栈溢出
standalone 独立的
startupoptions 启动选项
statusline 状态行
stepover 单步
summaryof 摘要信息
取消确认提示,在你想覆盖一个
swapfile 交换文件
开关可在dircmd环境变量中设置
switchto 切换到
sync 同步
systemfile 系统文件
systemfiles 系统文件
systeminfo 系统信息
systeminFORMation 系统信息程序
tableofcontents 目录
terminalemulation 终端仿真
terminalsettings 终端设置
testfile 测试文件
testfileparameters 测试文件参数
theactivewindow 激活窗口
/y开关可以在cmd环境变量中预置
两个软磁盘必须是同种类型的
在命令行输入/-y可以使之无效
togglebreakpoint 切换断点
tomsdos 转到MS-DOS
topmargin 页面顶栏
turnoff 关闭
键入cd驱动器:显示指定驱动器的当前目录
键入无参数的cd以显示当前驱动器的当前目录
键入无参数的date,显示当前日期设置和
unmark 取消标记
unselect 取消选择
usesbareFORMat 使用简洁方式
useslowercase 使用小写
useswidelistFORMat 使用宽行显示
usinghelp 使用帮助
verbosely 冗长地
校验新文件是否正确写入了
videomode 显示方式
viewwindow 内容浏览
viruses 病毒
vision 景象
vollabel 卷标
volumelabel 卷标
volumeserialnumberis 卷序号是
windowshelp windows 帮助
wordwrap 整字换行
workingdirectory 正在工作的目录
worm 蠕虫
writemode 写方式
writeto 写到
xmsmemory 扩充内存
youmay 你可以
B. 组成原理课程设计论文
组成原理课程设计论文
当代,论文常用来指进行各个学术领域的研究和描述学术研究成果的文章,简称之为论文。它既是探讨问题进行学术研究的一种手段,又是描述学术研究成果进行学术交流的一种工具。它包括学年论文、毕业论文、学位论文、科技论文、成果论文等。接下来我为你带来组成原理课程设计论文,希望对你有帮助。
篇一:计算机组成原理实验报告
一、 实验名称:运算器实验
二、 实验目的:
1.学习数据处理部件的工作方式控制。 2. 学习机器语言程序的运行过程。
三、 实验原理:
CP226实验仪的运算器由一片CPLD实现,包括8种运算功能。运算时先将数据写到寄存器A和寄存器W中,根据选择的运算方式系统产生运算结果送到直通门D。
实验箱上可以向DBUS送数据的寄存器有:直通门D、左移门L、右移门R、程序计数器PC、中断向量寄存器IA、外部输入寄存器IN和堆栈寄存器ST。它们由138译码器的
四、 实验内容:
1. 计算37H+56H后左移一位的值送OUT输出。 2. 把36H取反同54H相与的值送人R1寄存器。
五、 实验步骤:
实验内容(一):
1. 关闭电源。用8位扁平线把J2和J1连接。
2. 用不同颜色的导线分别把K0和AEN、K1和WEN、K2和S0、K3和S1、K4和S2、
K6和X0、K7和X1、K8和X2、K9和OUT连接。 3. K15~K0全部放在1位,K23 ~K16放0位。
4. 注视仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、
发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。 5. 设置实验箱进入手动模式。
6. 设置K0=0,K8K7K6=000,K23 ~K16=0011 0111。 7. 按下STEP键,在A寄存器中存入37。 8. 设置K0=1,K1=0,K23 ~K16=0101 0110。 9. 按下STEP键,在W寄存器中存入56。
10. 设置K0=1,K1=1,K8K7K6=110,K4K3K2=000。 11. 按下STEP键,L寄存器显示1A。 12. 设置K9=0,其他保持不变。
13. 按下STEP键,OUT寄存器显示1A。 14. 关闭实验箱电源。
实验内容(二):
1. 基本与实验内容(一)的前5个步骤相同(去掉连接OUT寄存器的导线)。 2. 连接K10和SA,K11和SB,K12和RWR。
3. 设置K0=0,K8K7K6=000,K23~K16=0011 0110。 4. 按下STEP键,A寄存器显示36。 5. 设置K8K7K6=100,K4K3K2=110。 6. 按下STEP键,A寄存器显示9C。
7. 设置K1K0=01,K8K7K6=000,K4K3K2=111,K23~K16=0100 0101。 8. 按下STEP键,W寄存器显示45。
9. 设置K1K0=11,K8K7K6=100,,4K3K2=011,K10K11=10,K12=0。 10. 按下STEP键,D寄存器和R1寄存器显示40。 11. 关闭实验箱电源。
六、 实验结论:
实现数据处理部件的工作方式控制和机器语言程序的运行过程。
七、 体会:
通过本次试验,我对运算器实验了解更深了并进一步巩固了第一周所学的内容。
八、 思考题:
如何计算3456H+12EFH的值? 答:
通过CP226实验仪,把S2S1S0设置为100,可以使用带进位加法运算。由于是四位16进制,可以把它拆开,从个位开始计算,一位一位向上计算通过带进位加法器,即算(64H*64H+64H*10H*3H+64H*3H+10H*9H+8h)+(64H*10H*4H+64H*8H+10H*4H+7H)
篇二:计算机组成原理实验报告
【实验环境】
1. Windows 2000 或 Windows XP
2. QuartusII、GW48-PK2或DE2-115计算机组成原理教学实验系统一台,排线若干。
【实验目的】
1、熟悉原理图和VHDL语言的编写。2、验证全加器功能。
【实验原理】
设计一个一位全加器,能完成两个二进制位的加法操作,考虑每种情况下的进位信号,完成8组数据的操作。
【实验步骤】
1.1建立工程项目
1.1.4 原理图设计
新建项目后,就可以绘制原理图程序了。下面以一位全加器如图1-12所示为例,讲解原理图的编辑输入的方法与具体步骤。
图1-12 一位全加器原理图
(1)执行菜单“File”→“New…”,或在工具栏中单击图标,弹出如图1-13所示的“New”对话框。在此对话框的“Design Files”项中选择“Block Diagram/Schematic File”,在单击“OK”按钮,QuartusⅡ10.0的主窗口进入如图1-14所示的原理图工作环境界面。
图1-13 “New”对话框
(2)在如图1-14所示的原理图工作环境界面中单击图标或在原理图编辑区的空白处双击鼠标或在原理图编辑区的空白处右键单击在弹出的菜单中选择“Insert”中的任意一个,弹出如图1-15所示的元件输入对话框,在“Name”栏中直接输入所需元件名或在“Libraries: ”的相关库中找到合适的元件,再单击“OK”按钮,然后在原理图编辑区中单击鼠标左键,即可将元件调入原理图编辑区中。为了输入如图1-12所示的原理图,应分别调入and2、xor2、or3、input、output。对于相同的器件,可通过复制来完成。例如3个and2门,器操作方法是,调入一个and2门后,在该器件上单击鼠标右键,在弹出的菜单中选择“Copy”命令将其复制,然后在合适的位置上右键,在弹出的菜单中选择“Paste”命令将其粘帖即可。1
图1-14 原理图工作环境界面
图1-15 元件输入对话框
如果元件放置好后,需要改元件的位置时,对于单个器件而言,在该器件上按住鼠标左键,拖到合适的位置后再松开鼠标左键即可;对于多个器件而言,应该按下鼠标左键框选需要移动的所有器件,然后将光标移动到选择的器件上,待光标变成可移动的“十”字光标,此时按住鼠标左键将其拖到合适的位置即可。
如果要删除元件时,应先将元件选中,然后按“Del”键或右键在弹出的菜单中选择“Del”。
如果要旋转元件时,应先将元件选中,然后右键在弹出的菜单中可选“Filp Horizontal”(水平翻转)、“Filp Vertical”(垂直翻转)、“Rotate by Degrees”(逆时针方向旋转,可选90°、180°、270°)等命令。
(3)将光标指向元件的引脚上,光标变成“十”字形状,按下鼠标左键并拖动,就会有导线引出,连接到另一端的元件上后,松开鼠标左键,即可绘制好一根导线,按此方法绘制好全部导线,如图1-16所示。
2
图1-16 导入元件和绘制导线(注意:用鼠标拖出的导线只能最多转一个弯)
图1-17 修改引脚名对话框
(4)双击或右键单击“pin_name”输入引脚,将弹出如图1-17所示的对话框。在此对话框的“Gerneral”页的“Pin name(s) ”项中输入引脚名,如:S,然后单击“确定”按钮,即可将“pin_name”输入引脚名改为“S”。按此方法依次修改其他引脚。修改后如图1-16所示。
(5)执行菜单命令“File”→ “Save…”,或在工具栏中单击
名并单击“保存”按钮即可(此时最好不要更改存储路径)。
图标,弹出“Save AS”对话框,在此对话框中输入文件
2.1 顶层VHDL文件设计
2.1.1 创建工程和编辑设计文件
首先建立工作库,以便设计工程项目的存储。任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)。
在建立了文件夹后就可以将设计文件通过QuartusII的文本编辑器编辑并存盘,详细步骤如下:
1、新建一个文件夹。利用资源管理器,新建一个文件夹,如:e : eda 。注意,文件夹名不能用中文。
2、输入源程序。打开QuartusII,选择菜单“File”“New”,在New窗中的“Device Design Files”中选择编译文件的语言类型,这里选“VHDL Files”(如图2-1所示)。然后在VHDL文本编译窗中键入VHDL程序(如图2-2所示)。3
图2-1 选择编辑文件的语言类型
图2-2编辑输入设计文件(顶层设计文件ADD1.VHD)
图2-3利用“New Preject Wizard”创建工程
篇三:计算机组成原理实验2.2_实验报告
一、 实验目的与要求
(1) 掌握Cache 控制器的原理及其设计方法。
(2) 熟悉CPLD 应用设计及EDA 软件的使用。
二、 实验设备
PC 机一台,TD-CM3+或TD-CMX 实验系统一套。
三、 实验原理
本实验采用的地址变换是直接映象方式,这种变换方式简单而直接,硬件实 现很简单,访问速度也比较快,但是块的冲突率比较高。其主要原则是:主存中一块只能映象到Cache 的一个特定的块中。
假设主存的块号为B,Cache 的块号为b,则它们之间的映象关系可以表示 为:b = B mod Cb
其中,Cb 是Cache 的块容量。设主存的块容量为Mb,区容量为Me,则直接 映象方法的关系如图2-2-1 所示。把主存按Cache 的大小分成区,一般主存容量为Cache 容量的整数倍,主存每一个分区内的块数与Cache 的总块数相等。直接映象方式只能把主存各个区中相对块号相同的那些块映象到Cache 中同一块号的那个特定块中。例如,主存的块0 只能映象到Cache 的块0 中,主存的块1 只能映象到Cache 的块1 中,同样,主存区1 中的块Cb(在区1 中的相对块号是0)
也只能映象到 Cache 的块0 中。根据上面给出的地址映象规则,整个Cache 地址与主存地址的低位部分是完全相同的。
直接映象方式的地址变换过程如图2-2-2 所示,主存地址中的块号B 与Cache 地址中的块号b 是完全相同的。同样,主存地址中的块内地址W 与Cache 地址中的块内地址w 也是完全相同的,主存地址比Cache 地址长出来的部分称为区号E。
1
在程序执行过程中,当要访问 Cache 时,为了实现主存块号到Cache 块号的变换,需要有一个存放主存区号的小容量存储器,这个存储器的容量与Cache 的块数相等,字长为主存地址中区号E 的.长度,另外再加一个有效位。
在主存地址到Cache 地址的变换过程中,首先用主存地址中的块号去访问区号存储器(按地址访问)。把读出来的区号与主存地址中的区号E 进行比较,根据比较结果和与区号在同一存储字中的有效位情况作出处理。如果区号比较结果相等,有效位为‘1’,则Cache 命中,表示要访问的那一块已经装入到Cache 中了,这时Cache 地址(与主存地址的低位部分完全相同)是正确的。用这个Cache 地址去访问Cache,把读出来的数据送往CPU。其他情况均为Cache没有命中,或称为Cache 失效,表示要访问的那个块还没有装入到Cache 中,这时,要用主存地址去访问主存储器,先把该地址所在的块读到Cache 中,然后CPU 从Cache 中读取该地址中的数据。
本实验要在CPLD 中实现Cache 及其地址变换逻辑(也叫Cache 控制器),采用直接相联地址变换,只考虑CPU 从Cache 读数据,不考虑CPU 从主存中读数据和写回数据的情况,Cache和CPU 以及存储器的关系如图2-2-3 所示。
Cache 控制器顶层模块如图2-2-4 所示,主存地址为A7A0,共8 位,区号E 取3 位,这样Cache 地址还剩5 位,所以Cache 容量为32 个单元,块号B 取3 位,那么Cache 分为8 块,块内地址W 取2 位,则每块为4 个单元。图2-2-4 中,WCT 为写Cache 块表信号,CLR 为系统总清零信号,A7A0 为CPU 访问内存的地址,M 为Cache 失效信号,CA4CA0 为Cache 地址,
2
MD7MD0 为主存送Cache 的数据,D7D0 为Cache 送CPU 数据,T2 为系统时钟, RD 为CPU 访问内存读信号,LA1 和LA0 为块内地址。
在 QuartusII 软件中先实现一个8 位的存储单元(见例程中的MemCell.bdf),然后用 这个8位的存储单元来构成一个32 X 8 位的Cache(见例程中的CacheMem.bdf),这样就实现了Cache的存储体。
再实现一个4 位的存储单元(见例程中的TableCell.bdf),然后用这个4 位的存储单
元
来构成一个8 X 4 位的区表存储器,用来存放区号和有效位(见例程中的CacheTable.bdf),在这个文件中,还实现了一个区号比较器,如果主存地址的区号E 和区表中相应单元中的区号相等,且有效位为1,则Cache 命中,否则Cache 失效,标志为M,M 为0 时表示Cache 失效。
当Cache 命中时,就将Cache 存储体中相应单元的数据送往CPU,这个过程比较简单。 当Cache 失效时,就将主存中相应块中的数据读出写入Cache 中,这样Cache 控制器就要产生访问主存储器的地址和主存储器的读信号,由于每块占四个单元,所以需要连续访问四次主存,这就需要一个低地址发生器,即一个2 位计数器(见例程中的Counter.vhd),将低2 位和CPU 给出的高6 位地址组合起来,形成访问主存储器的地址。M 就可以做为主存的读信号,这样,在时钟的控制下,就可以将主存中相应的块写入到Cache 的相应块中,
最后再修改区表(见例程中的(CacheCtrl.bdf)。
四、 实验步骤
1、实验接线:
3
2、实验步骤:
(1) 使用Quartus II 软件编辑实现相应的逻辑并进行编译,直到编译通过,Cache 控
制
器在EPM1270 芯片中对应的引脚如图2-2-5 所示,框外文字表示I/O 号,框内文字表示该引脚的含义(本实验例程见‘安装路径Cpld CacheCtrlCacheCtrl.qpf’工程)
(2) 关闭实验系统电源,按图2-2-6 连接实验电路,并检查无误,图中将用户需要连接的信号用圆圈标明。
(3) 打开实验系统电源,将生成的POF 文件下载到EMP1270 中去,CPLD 单元介绍见实验1.2。
(4) 将时序与操作台单元的开关KK3 置为‘运行’档,CLR 信号由CON 单元的CLR 模拟给出,按动CON 单元的CLR 按钮,清空区表。
(5) 预先往主存写入数据:联机软件提供了机器程序下载功能,以代替手动读写主存,机器程序以指定的格式写入到以TXT 为后缀的文件中。
;C. 打开视频却出现严重错误(蓝屏)!怎么回事
XP或者2000出现蓝屏,很可能是硬件问题,也许是内存你看看吧,至于系统,我想只要是正常安装不至于!~~建议先重做下系统试试看!~
Windows蓝屏错误代码祥解
蓝屏错误代码祥解我们在使用Windows的时候,出现蓝屏是经常的事。大多数时候,我们只能reset,现在公布蓝屏错误代码含义,以备使用。
数 值 叙 述
0 0x0000作业完成。
1 0x0001不正确的函数。
2 0x0002系统找不到指定的档案。
3 0x0003系统找不到指定的路径。
4 0x0004系统无法开启档案。
5 0x0005拒绝存取。
6 0x0006无效的代码。
7 0x0007储存体控制区块已毁。
8 0x0008储存体空间不足,无法处理这个指令。
9 0x0009储存体控制区块位址无效。
10 0x000A环境不正确。
11 0x000B尝试载入一个格式错误的程式。
12 0x000C存取码错误。
13 0x000D资料错误。
14 0x000E储存体空间不够,无法完成这项作业。
15 0x000F系统找不到指定的磁盘机。
16 0x0010无法移除目录。
17 0x0011系统无法将档案移到 其他的磁盘机。
18 0x0012没有任何档案。
19 0x0013储存媒体为防写状态。
20 0x0014系统找不到指定的装置。
21 0x0015装置尚未就绪。
22 0x0016装置无法识别指令。
23 0x0017资料错误 (cyclic rendancy check)
24 0x0018程式发出一个长 度错误的指令。
25 0x0019磁盘机在磁盘找不到 持定的磁区或磁轨。
26 0x001A指定的磁盘或磁片无法存取。
27 0x001B磁盘机找不到要求的磁区。
28 0x001C印表机没有纸。
29 0x001D系统无法将资料写入指定的磁盘机。
30 0x001E系统无法读取指定的装置。
31 0x001F连接到系统的某个装置没有作用。
32 0x0020 The process cannot access the file because it is being used by another process.
33 0x0021档案的一部份被锁定,现在无法存取。
34 0x0022磁盘机的磁片不正确。 请将 %2 (Volume Serial Number: %3) 插入磁 碟 机%1。
36 0x0024开启的分享档案数量太多。
38 0x0026到达档案结尾。
39 0x0027磁盘已满。
50 0x0032不支援这种网路要求。
51 0x0033远端电脑无法使用。
52 0x0034网路名称重复。
53 0x0035网路路径找不到。
54 0x0036网路忙碌中。
55 0x0037 The specified network resource or device is no longer available.
56 0x0038 The network BIOS command limit has been reached.
57 0x0039网路配接卡发生问题。
58 0x003A指定的服务器无法执行要求的作业。
59 0x003B网路发生意外错误。
60 0x003C远端配接卡不相容。
61 0x003D印表机伫列已满。
62 0x003E服务器的空间无法储存等候打印的档案。
63 0x003F等候打印的档案已经删除。
64 0x0040指定的网路名称无法使用。
65 0x0041拒绝存取网路。
66 0x0042网路资源类型错误。
67 0x0043网路名称找不到。
68 0x0044超过区域电脑网路配接卡的名称限制。
69 0x0045超过网路BIOS作业阶段的限制。
70 0x0046远端服务器已经暂停或者正在起始中。
71 0x0047由于连线数目已达上限,此时无法再连线到这台远端电脑。
72 0x0048指定的印表机或磁盘装置已经暂停作用。
80 0x0050档案已经存在。
82 0x0052无法建立目录或档案。
83 0x0053 INT 24 失败
84 0x0054处理这项要求的储存体无法使用。
85 0x0055近端装置名称已经在使用中。
86 0x0056指定的网路密码错误。
87 0x0057叁数错误。
88 0x0058网路发生资料写入错误。
89 0x0059此时系统无法执行其他行程。
100 0x0064无法建立其他的系统semaphore。
101 0x0065属于其他行程专用的semaphore 。
102 0x0066 semaphore已经设定,而且无法关闭。
103 0x0067无法指定semaphore 。
104 0x0068在岔断时间无法要求专用的semaphore 。
105 0x0069此semaphore先前的拥有权已经结束。
106 0x006A请将磁片插入 %1。
107 0x006B因为代用的磁片尚未插入,所以程式已经停止。
108 0x006C磁盘正在使用中或被锁定。
109 0x006D Pipe已经中止。
110 0x006E系统无法开启指定的 装置或档案。
111 0x006F档名太长。
112 0x0070磁盘空间不足。
113 0x0071没有可用的内部档案识别字。
114 0x0072目标内部档案识别字不正确。
117 0x0075由应用程式所执行的IOCTL呼叫 不正确。
118 0x0076写入验证叁数值不正确。
119 0x0077系统不支援所要求的指令。
120 0x0078此项功能仅在Win32模式有效。
121 0x0079 semaphore超过逾时期间。
122 0x007A传到系统呼叫的资料区域 太小。
123 0x007B档名、目录名称或储存体标签语法错误。
124 0x007C系统呼叫层次不正确。
125 0x007D磁盘没有设定标签。
126 0x007E找不到指定的模组。
127 0x007F找不到指定的程序。
128 0x0080没有子行程可供等待。
129 0x0081 %1这个应用程式无法在Win32模式下执行。
130 0x0082 Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.
131 0x0083尝试将档案指标移至档案开头之前。
132 0x0084无法在指定的装置或档案,设定档案指标。
133 0x0085 JOIN或SUBST指令 无法用于 内含事先结合过的磁盘机。
134 0x0086尝试在已经结合的磁盘机,使用JOIN或SUBST指令。
135 0x0087尝试在已经替换的磁盘机,使 用JOIN或SUBST指令。
136 0x0088系统尝试删除 未连结过的磁盘机的连结关系。
137 0x0089系统尝试删除 未替换过的磁盘机的替换关系。
138 0x008A系统尝试将磁盘机结合到已经结合过之磁盘机的目录。
139 0x008B系统尝试将磁盘机替换成已经替换过之磁盘机的目录。
140 0x008C系统尝试将磁盘机替换成已经替换过之磁盘机的目录。
141 0x00系统尝试将磁盘机SUBST成已结合的磁盘机 目录。
142 0x008E系统此刻无法执行JOIN或SUBST。
143 0x008F系统无法将磁盘机结合或替换同一磁盘机下目录。
144 0x0090这个目录不是根目录的子目录。
145 0x0091目录仍有资料。
146 0x0092指定的路径已经被替换过。
147 0x0093资源不足,无法处理这项 指令。
148 0x0094指定的路径这时候无法使用。
149 0x0095尝试要结合或替换的磁盘机目录,是已经替换过的的目标。
150 0x0096 CONFIG.SYS档未指定系统追踪资讯,或是追踪功能被取消。
151 0x0097指定的semaphore事件DosMuxSemWait数目不正确。
152 0x0098 DosMuxSemWait没有执行;设定太多的semaphore。
153 0x0099 DosMuxSemWait清单不正确。
154 0x009A您所输入的储存媒体标 元长度限制。
155 0x009B无法建立其他的执行绪。
156 0x009C接收行程拒绝接受信号。
157 0x009D区段已经被舍弃,无法被锁定。
158 0x009E区段已经解除锁定。
159 0x009F执行绪识别码的位址不正确。
160 0x00A0传到DosExecPgm的引数字串不正确。
161 0x00A1指定的路径不正确。
162 0x00A2信号等候处理。
164 0x00A4系统无法建立执行绪。
167 0x00A7无法锁定档案的部份范围。
170 0x00AA所要求的资源正在使用中。
173 0x00AD取消范围的锁定要求不明显。
174 0x00AE档案系统不支援自动变更锁定类型。
180 0x00B4系统发现不正确的区段号码。
182 0x00B6作业系统无法执行 %1。
183 0x00B7档案已存在,无法建立同一档案。
186 0x00BA传送的旗号错误。
187 0x00BB指定的系统旗号找不到。
188 0x00BC作业系统无法执行 %1。
189 0x00BD作业系统无法执行 %1。
190 0x00BE作业系统无法执行 %1。
191 0x00BF无法在Win32模式下执行 %1。
192 0x00C0作业系统无法执行 %1。
193 0x00C1 %1不是正确的Win32应用程式。
194 0x00C2作业系统无法执行 %1。
195 0x00C3作业系统无法执行 %1。
196 0x00C4作业系统无法执行 这个应用程式。
197 0x00C5作业系统目前无法执行 这个应用程式。
198 0x00C6作业系统无法执行 %1。
199 0x00C7作业系统无法执行 这个应用程式。
200 0x00C8程式码的区段不可以大于或等于64KB。
201 0x00C9作业系统无法执行 %1。
202 0x00CA作业系统无法执行 %1。
203 0x00CB系统找不到输入的环境选项。 \\r
205 0x00CD在指令子目录下,没有任何行程有信号副处理程式。
206 0x00CE档案名称或副档名太长。
207 0x00CF ring 2堆叠使用中。
208 0x00D0输入的通用档名字符 * 或 ? 不正确, 或指定太多的通用档名字符。
209 0x00D1所传送的信号不正确。
210 0x00D2无法设定信号处理程式。
212 0x00D4区段被锁定,而且无法重新配置。
214 0x00D6附加到此程式或动态连结模组的动态连结模组太多。
215 0x00D7 Can\"\"t nest calls to LoadMole.
230 0x00E6 The pipe state is invalid.
231 0x00E7所有的pipe instances都在忙碌中。
232 0x00E8 The pipe is being closed.
233 0x00E9 No process is on the other end of the pipe.
234 0x00EA有更多可用的资料。
240 0x00F0作业阶段被取消。
254 0x00FE指定的延伸属性名称无效。
255 0x00FF延伸的属性不一致。
259 0x0103没有可用的资料。
266 0x010A无法使用Copy API。
267 0x010B目录名称错误。
275 0x0113延伸属性不适用于缓冲区。
276 0x0114在外挂的档案系统上的延伸属性档案已经毁损。
277 0x0115延伸属性表格档满。
278 0x0116指定的延伸属性代码无效。
282 0x011A外挂的这个档案系统不支援延伸属性。
288 0x0120意图释放不属于叫用者的mutex。
298 0x012A semaphore传送次数过多。
299 0x012B只完成Read/WriteProcessMemory的部份要求。
317 0x013D系统找不到位于讯息档 %2中编号为0x%1的讯息。
487 0x01E7尝试存取无效的位址。
534 0x0216运算结果超过32位元。
535 0x0217通道的另一端有一个行程在接送资料。
536 0x0218等候行程来开启通道的另一端。
994 0x03E2存取延伸的属性被拒。
995 0x03E3由于执行绪结束或应用程式要求,而异常终止I/O作业。
996 0x03E4重叠的I/O事件不是设定成通知状态。
997 0x03E5正在处理重叠的I/O作业。
998 0x03E6对记忆体位置的无效存取。
999 0x03E7执行inpage作业发生错误。
Windows蓝屏死机分析及解决方案
Windows使用过程中,经常会遇到蓝屏的现象。对于初学者来讲,好象就是一场电脑灾难一样,不知所措。其实只要了解其原因之后,对症下药即可。造成蓝屏的原因有很多种,总体可以概括为以下几种:
一、屏幕显示系统忙,请按任意键继续……
1、虚拟内存不足造成系统多任务运算错误
虚拟内存是WINDOWS系统所特有的一种解决系统资源不足的方法,其一般要求主引导区的硬盘剩余空间是其物理内存的2-3倍。而一些发烧友为了充分利用空间,将自己的硬盘塞到满满的,忙记了WINDOWS这个苛刻的要求。结果导致虚拟内存因硬盘空间不足而出现运算错误,所以就出现蓝屏。要解决这个问题好简单,尽量不要把硬盘塞得满满的,要经常删除一些系统产生的临时文件、交换文件,从而可以释放空间。或可以手动配置虚拟内存,选择高级,把虚拟内存的默认地址,转到其他的逻辑盘下。这样就可以避免了因虚拟内存不足而引起的蓝屏。
2、CPU超频导致运算错误
超频对于发烧友来说是常事,所以由超频所引起的各种故障也就在所难免了。超频,就本身而言就是在原有的基础上完成更高的性能,但由于进行了超载运算,造成其内部运算过多,使CPU过热,从而导致系统运算错误。有些CPU的超频性能比较好,但有时也会出现一些莫名其妙的错误。(建议CPU要超频时,散热工作一定要做好,最好装一个大的风扇,再加上一些硅胶之类的散热材料。)
二、内存条的互不兼容或损坏引起运算错误
这时个最直观的现象,因为这个现象往往在一开机的时候就可以见到,根本启动不了计算机,画面提示出内存有问题,问你是否要继续。造成这种错误是物理上的损坏内存或者内存与其它硬件不兼容所致。这时候只有换过另外的内存了。
三、遭到不明的程序或病毒攻击所至
这个现象只要是平时我们在上网的时候遇到的,当我们在冲浪的时候,特别是进到一些BBS站时,可能暴露了自己的IP,被"黑客"用一些软件攻击所至。对互这种情况最好就是在自己的计算机上安装一些防御软件。再有就是登录BBS等共众场合时要进行安全设置,隐藏自己IP。
四、系统的臃肿所至
例如:Windows98系统上安装的应用软件太多,尤其是那些随系统启动的应用程序,往往在系统启动过程中,会出现蓝屏现象。这种情况大多是由于应用程序共享内存冲突影响的!所以大家最好不要把应用程序加入启动组。
五、光驱在读盘时被非正常打开所至
这个现象是在光驱正在读取数据时,由于被误*作打开而导致出现蓝屏。这个问题不影响系统正常动作,只要再弹入光盘或按ESC键就可以。
以上是常遇到的情况,或许还会有其他一些莫名其妙的问题导致计算机出现蓝屏。不管怎样,遇到这类问题后,应先仔细分析问题发生的原因,然后再着手解决。希望以上几点能给朋友们有所帮助。
D. ntpd服务会占用服务器多少资源
设置NTP服务器不难但是NTP本身是一个很复杂的协议. 这里只是简要地介绍一下实践方法
和上次一样,下面的实验都在RHEL5上运行
1. 时间和时区
如果有人问你说现在几点? 你看了看表回答他说晚上8点了. 这样回答看上去没有什么问题,但是如果问你的这个人在欧洲的话那么你的回答就会让他很疑惑,因为他那里还太阳当空呢.
这里就有产生了一个如何定义时间的问题. 因为在地球环绕太阳旋转的24个小时中,世界各地日出日落的时间是不一样的.所以我们才有划分时区(timezone) 的必要,也就是把全球划分成24个不同的时区. 所以我们可以把时间的定义理解为一个时间的值加上所在地的时区(注意这个所在地可以精确到城市)
地理课上我们都学过格林威治时间(GMT), 它也就是0时区时间. 但是我们在计算机中经常看到的是UTC. 它是Coordinated Universal Time的简写. 虽然可以认为UTC和GMT的值相等(误差相当之小),但是UTC已经被认定为是国际标准,所以我们都应该遵守标准只使用UTC
那么假如现在中国当地的时间是晚上8点的话,我们可以有下面两种表示方式
20:00 CST
12:00 UTC
这里的CST是Chinese Standard Time,也就是我们通常所说的北京时间了. 因为中国处在UTC+8时区,依次类推那么也就是12:00 UTC了.
为什么要说这些呢(呵呵这里不是地理论坛吧...)
第一,不管通过任何渠道我们想要同步系统的时间,通常提供方只会给出UTC+0的时间值而不会提供时区(因为它不知道你在哪里).所以当我们设置系统时间的时候,设置好时区是首先要做的工作
第二,很多国家都有夏令时(我记得小时候中国也实行过一次),那就是在一年当中的某一天时钟拨快一小时(比如从UTC+8一下变成UTC+9了),那么同理到时候还要再拨慢回来.如果我们设置了正确的时区,当需要改变时间的时候系统就会自动替我们调整
现在我们就来看一下如何在linux下设置时区,也就是time zone
2. 如何设置Linux Time Zone
在Linux下glibc提供了我们事先编译好的许多timezone文件, 他们就放在/usr/share/zoneinfo这个目录下,这里基本涵盖了大部分的国家和城市
代码:
# ls -F /usr/share/zoneinfo/
Africa/ Chile/ Factory Iceland Mexico/ posix/ Universal
America/ CST6CDT GB Indian/ Mideast/ posixrules US/
Antarctica/ Cuba GB-Eire Iran MST PRC UTC
Arctic/ EET GMT iso3166.tab MST7MDT PST8PDT WET
Asia/ Egypt GMT0 Israel Navajo right/ W-SU
Atlantic/ Eire GMT-0 Jamaica NZ ROC zone.tab
Australia/ EST GMT+0 Japan NZ-CHAT ROK Zulu
Brazil/ EST5EDT Greenwich Kwajalein Pacific/ Singapore
Canada/ Etc/ Hongkong Libya Poland Turkey
CET Europe/ HST MET Portugal UCT在这里面我们就可以找到自己所在城市的time zone文件. 那么如果我们想查看对于每个time zone当前的时间我们可以用zmp命令
代码:
# zmp Hongkong
Hongkong Fri Jul 6 06:13:57 2007 HKT那么我们又怎么来告诉系统我们所在time zone是哪个呢? 方法有很多,这里举出两种
第一个就是修改/etc/localtime这个文件,这个文件定义了我么所在的local time zone.
我们可以在/usr/share/zoneinfo下找到我们的time zone文件然后拷贝去到/etc/localtimezone(或者做个symbolic link)
假设我们现在的time zone是BST(也就是英国的夏令时间,UTC+1)
代码:
# date
Thu Jul 5 23:33:40 BST 2007我们想把time zone换成上海所在的时区就可以这么做
代码:
# ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime
# date
Fri Jul 6 06:35:52 CST 2007
这样时区就改过来了(注意时间也做了相应的调整)
第二种方法也就设置TZ环境变量的值. 许多程序和命令都会用到这个变量的值. TZ的值可以有多种格式,最简单的设置方法就是使用tzselect命令
代码:
# tzselect
...
TZ='America/Los_Angeles';export TZtzselect
会让你选择所在的国家和城市(我省略了这些步骤),最后输出相应的TZ变量的值.那么如果你设置了TZ的值之后时区就又会发生变化
代码:
# date
Thu Jul 5 15:48:11 PDT 2007
通过这两个例子我们也可以发现TZ变量的值会override /etc/localtime. 也就是说当TZ变量没有定义的时候系统才使用/etc/localtime来确定time zone. 所以你想永久修改time zone的话那么可以把TZ变量的设置写入/etc/profile里
好了现在我们知道怎么设置时区了,下面我们就来看看如何设置Linux的时间吧
3. Real Time Clock(RTC) and System Clock
说道设置时间这里还要明确另外一个概念就是在一台计算机上我们有两个时钟:一个称之为硬件时间时钟(RTC),还有一个称之为系统时钟(System Clock)
硬件时钟是指嵌在主板上的特殊的电路, 它的存在就是平时我们关机之后还可以计算时间的原因
系统时钟就是操作系统的kernel所用来计算时间的时钟. 它从1970年1月1日00:00:00 UTC时间到目前为止秒数总和的值 在Linux下系统时间在开机的时候会和硬件时间同步(synchronization),之后也就各自独立运行了
那么既然两个时钟独自运行,那么时间久了必然就会产生误差了,下面我们来看一个例子
代码:
# date
Fri Jul 6 00:27:13 BST 2007
# hwclock --show
Fri 06 Jul 2007 12:27:17 AM BST -0.968931 seconds
通过hwclock --show 命令我们可以查看机器上的硬件时间(always in local time zone), 我们可以看到它和系统时间还是有一定的误差的, 那么我们就需要把他们同步
如果我们想要把硬件时间设置成系统时间我们可以运行以下命令
代码:
# hwclock --hctosys 反之,我们也可以把系统时间设置成硬件时间
代码:
# hwclock --systohc 那么如果想设置硬件时间我们可以开机的时候在BIOS里设定.也可以用hwclock命令
代码:
# hwclock --set --date="mm/dd/yy hh:mm:ss" 如果想要修改系统时间那么用date命令就最简单了
代码:
# date -s "dd/mm/yyyy hh:mm:ss" 现在我们知道了如何设置系统和硬件的时间. 但问题是如果这两个时间都不准确了怎么办? 那么我们就需要在互联网上找到一个可以提供我们准确时间的服务器然后通过一种协议来同步我们的系统时间,那么这个协议就是NTP了. 注意接下去我们所要说的同步就都是指系统时间和网络服务器之间的同步了
4. 设置NTP Server前的准备
其实这个标题应该改为设置"NTP Relay Server"前的准备更加合适. 因为不论我们的计算机配置多好运行时间久了都会产生误差,所以不足以给互联网上的其他服务器做NTP Server. 真正能够精确地测算时间的还是原子钟. 但由于原子钟十分的昂贵,只有少部分组织拥有, 他们连接到计算机之后就成了一台真正的NTP Server. 而我们所要做的就是连接到这些服务器上同步我们系统的时间,然后把我们自己的服务器做成NTP Relay Server再给互联网或者是局域网内的用户提供同步服务
好了,前面讲了一大堆理论,现在我们来动手实践一下吧. 架设一个NTP Relay Server其实非常简单,我们先把需要的RPM包装上
是否已经安装了NTP包可以用这条命令来确定:
[root@NTPser ~]# rpm -qa | grep ntp
ntp-4.2.2p1-9.el5_4.1
chkfontpath-1.10.1-1.1
出现以上代码则表示已安装NTP包,否则用下面方法安装:
代码:
# rpm -ivh ntp-4.2.2p1-5.el5.rpm
那么第一步我们就要找到在互联网上给我们提供同步服务的NTP Server
http://www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到离我们城市最近的NTP Server. NTP建议我们为了保障时间的准确性,最少找两个个NTP Server
那么比如在英国的话就可以选择下面两个服务器
0.uk.pool.ntp.org
1.uk.pool.ntp.org
它的一般格式都是number.country.pool.ntp.org
第二步要做的就是在打开NTP服务器之前先和这些服务器做一个同步,使得我们机器的时间尽量接近标准时间.
这里我们可以用ntpdate命令手动更新时间
代码:
# ntpdate 0.uk.pool.ntp.org
6 Jul 01:21:49 ntpdate[4528]: step time server 213.222.193.35 offset -38908.575181 sec
# ntpdate 0.pool.ntp.org
6 Jul 01:21:56 ntpdate[4530]: adjust time server 213.222.193.35 offset -0.000065 sec
假如你的时间差的很离谱的话第一次会看到调整的幅度比较大,所以保险起见可以运行两次. 那么为什么在打开NTP服务之前先要手动运行同步呢?
1. 因为根据NTP的设置,如果你的系统时间比正确时间要快的话那么NTP是不会帮你调整的,所以要么你把时间设置回去,要么先做一个手动同步
2. 当你的时间设置和NTP服务器的时间相差很大的时候,NTP会花上较长一段时间进行调整.所以手动同步可以减少这段时间
5. 配置和运行NTP Server
现在我们就来创建NTP的配置文件了, 它就是/etc/ntp.conf. 我们只需要加入上面的NTP Server和一个driftfile就可以了
代码:
# vi /etc/ntp.conf
server 210.72.145.44 #这是中国国家授时中心的IP
server 0.uk.pool.ntp.org
server 1.uk.pool.ntp.org
fudge 127.127.1.0 stratum 0 stratum 这行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0
driftfile /var/lib/ntp/ntp.drift 非常的简单. 接下来我们就启动NTP Server,并且设置其在开机后自动运行
代码:
# /etc/init.d/ntpd start
# chkconfig --level 35 ntpd on
6. 查看NTP服务的运行状况
现在我们已经启动了NTP的服务,但是我们的系统时间到底和服务器同步了没有呢? 为此NTP提供了一个很好的查看工具: ntpq (NTP query)
我建议大家在打开NTP服务器后就可以运行ntpq命令来监测服务器的运行.这里我们可以使用watch命令来查看一段时间内服务器各项数值的变化
代码:
# watch ntpq -p
Every 2.0s: ntpq -p Sat Jul 7 00:41:45 2007
remote refid st t when poll reach delay offset jitter
===========================================================
+193.60.199.75 193.62.22.98 2 u 52 64 377 8.578 10.203 289.032
*mozart.musicbox 192.5.41.41 2 u 54 64 377 19.301 -60.218 292.411
现在我就来解释一下其中的含义
remote: 它指的就是本地机器所连接的远程NTP服务器
refid: 它指的是给远程服务器(e.g. 193.60.199.75)提供时间同步的服务器
st: 远程服务器的层级别(stratum). 由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端. 所以服务器从高到低级别可以设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的.
t: 这个.....我也不知道啥意思^_^
when: 我个人把它理解为一个计时器用来告诉我们还有多久本地机器就需要和远程服务器进行一次时间同步
poll: 本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围.之后poll值会逐渐增大,同步的频率也就会相应减小
reach: 这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加
delay: 从本地机发送同步要求到服务器的round trip time
offset: 这是个最关键的值, 它告诉了我们本地机和服务器之间的时间差别. offset越接近于0,我们就和服务器的时间越接近
jitter: 这是一个用来做统计的值. 它统计了在特定个连续的连接数里offset的分布情况. 简单地说这个数值的绝对值越小我们和服务器的时间就越精确
那么大家细心的话就会发现两个问题: 第一我们连接的是0.uk.pool.ntp.org为什么和remote server不一样? 第二那个最前面的+和*都是什么意思呢?
第一个问题不难理解,因为NTP提供给我们的是一个cluster server所以每次连接的得到的服务器都有可能是不一样.同样这也告诉我们了在指定NTP Server的时候应该使用hostname而不是IP
第二个问题和第一个相关,既然有这么多的服务器就是为了在发生问题的时候其他的服务器还可以正常地给我们提供服务.那么如何知道这些服务器的状态呢? 这就是第一个记号会告诉我们的信息
* 它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供
+ 它将作为辅助的NTP Server和带有*号的服务器一起为我们提供同步服务. 当*号服务器不可用时它就可以接管
- 远程服务器被clustering algorithm认为是不合格的NTP Server
x 远程服务器不可用
了解这些之后我们就可以实时监测我们系统的时间同步状况了
7. NTP安全设置
运行一个NTP Server不需要占用很多的系统资源,所以也不用专门配置独立的服务器,就可以给许多client提供时间同步服务, 但是一些基本的安全设置还是很有必要的
那么这里一个很简单的思路就是第一我们只允许局域网内一部分的用户连接到我们的服务器. 第二个就是这些client不能修改我们服务器上的时间
关于权限设定部分
权限的设定主要以 restrict 这个参数来设定,主要的语法为:
restrict IP地址 mask 子网掩码 参数
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
参数有以下几个:
ignore:关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询
注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!
在/etc/ntp.conf文件中我们可以用restrict关键字来配置上面的要求
首先我们对于默认的client拒绝所有的操作
代码:
restrict default kod nomodify notrap nopeer noquery
然后允许本机地址一切的操作
代码:
restrict 127.0.0.1
最后我们允许局域网内所有client连接到这台服务器同步时间.但是拒绝让他们修改服务器上的时间
代码:
restrict 192.168.1.0 mask 255.255.255.0 nomodify
把这三条加入到/etc/ntp.conf中就完成了我们的简单配置. NTP还可以用key来做authentication,这里就不详细介绍了
8. NTP client的设置
做到这里我们已经有了一台自己的Relay Server.如果我们想让局域网内的其他client都进行时间同步的话那么我们就都应该照样再搭建一台Relay Server,然后把所有的client都指向这两台服务器(注意不要把所有的client都指向Internet上的服务器). 只要在client的/etc/ntp.conf加上这你自己的服务器就可以了
代码:
server ntp1.leonard.com
server ntp2.leonard.com
LINUX客户端使用
ntpdate 172.30.218.114
来向NTP服务器同步自己的时间
其它LINUX如果仅作为只客户端的话,则不能启动ntpd服务!否则无法运行ntpdata 服务器地址 来同步时间
之后可以使用cron或修改crontab文件定期向NTP服务器更新时间,并用
# hwclock --systohc
将系统时间设置为硬件时间
9. 一些补充和拾遗(挺重要)
1. 配置文件中的driftfile是什么?
我们每一个system clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确. NTP会自动来监测我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使你重新开机以后之前的计算结果也就不会丢失了
2. 如何同步硬件时钟?
NTP一般只会同步system clock. 但是如果我们也要同步RTC(hwclock)的话那么只需要把下面的选项打开就可以了
代码:
# vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
3、利用crontab让LINUX NTP定时更新时间
注:让linux运行ntpdate更新时间时,linux不能开启NTP服务,否则会提示端口被占用:如下
[root@ESXI ~]# ntpdate 1.rhel.pool.ntp.org
20 May 09:34:14 ntpdate[6747]: the NTP socket is in use, exiting
crontab文件配置简要说明
命令格式的前一部分是对时间的设定,后面一部分是要执行的命令。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:
分钟(0-59)
小时(0-23)
日期(1-31)
月份(1-12)
星期(0-6)//0代表星期天
除了数字还有几个个特殊的符号就是“*”、“/”和“-”、“,”,“*”代表所有的取值范围内的数字,“/”代表每的意思,“*/5”表示每5个单位,“-”代表从某个数字到某个数字,“,”分开几个离散的数字。以下举几个例子说明问题:
每天早上6点:
0 6 * * * command
每两个小时:
0 */2 * * * command
晚上11点到早上8点之间每两个小时,早上八点:
0 23-7/2,8 * * * command
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点:
0 11 4 * 1-3 command
1月1日早上4点:
0 4 1 1 * command
3.3、设置开机自动启动服务
运行setup或其它服务设置工具,将crond服务勾选上
chkconfig --level 2345 crond on 定义在这几个系统运行级别上启用crond (系统安装完默认就是这个设置)
__________________________________________
10.NTP客户端的设置
一、LINUX做为客户端自动同步时间
如果想定时进行时间校准,可以使用crond服务来定时执行。
编辑 /etc/crontab 文件
加入下面一行:
30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w #192.168.0.1是NTP服务器的IP地址
然后重启crond服务
service crond restart
这样,每天 8:30 Linux 系统就会自动的进行网络时间校准。
二、WINDOWS 需要打开windows time服务和RPC的二个服务
如果在打开windows time 服务,时报 错误1058,进行下面操作
1.运行 cmd 进入命令行,然后键入
w32tm /register 进行注册
正确的响应为:W32Time 成功注册。
2.如果上一步正确,用 net start "windows time" 或 net start w32time 启动服务。
11.其它造成无法成功更新的原因:
1、客户端的日期必须要设置正确,不能超出正常时间24小时,不然会因为安全原因被拒绝更新。其次客户端的时区必须要设置好,以确保不会更新成其它时区的时间。
2、fudge 127.127.1.0 stratum 10 如果是LINUX做为NTP服务器,stratum(层级)的值不能太大,如果要向上级NTP更新可以设成2
3、LINUX的NTP服务器必须记得将从上级NTP更新的时间从系统时间写到硬件里去 hwclock --systohc
NTP一般只会同步system clock. 但是如果我们也要同步RTC(hwclock)的话那么只需要把下面的选项打开就可以了
代码:
# vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
4、Linux如果开启了NTP服务,则不能手动运行ntpdate更新时间(会报端口被占用),它只能根据/etc/ntp.conf 里server 字段后的服务器地址按一定时间间隔自动向上级NTP服务器更新时间。可以运行命令 ntpstat 查看每次更新间隔如:
[root@ESXI ~]# ntpstat
synchronised to NTP server (210.72.145.44) at stratum 2 #本NTP服务器层次为2,已向210.72.145.44 NTP同步过
time correct to within 93 ms #时间校正到相差93ms之内
polling server every 1024 s #每1024秒会向上级NTP轮询更新一次时间