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輪詢更新一次時間