計算機組成原理:緒論與數據表示

1、體系結構與組成

● 計算機體系結構是指對成員可見的系統屬性 ,直接影響程序的邏輯執行。

體系結構的屬性包括指令集輸入輸出機制內存尋址技術等。

● 計算機組成是指對體系結構所體現屬性的實現方法,是實現結構規範的操作單元及其相互連接。

組成的屬性包括對程序員可見的硬件細節,如控制信號、計算機和塞舌的接口以及存儲器使用的技術

2、結構與功能

計算機是一個複雜的系統,包含數百萬個電子元件,複雜系統的關鍵是分層性質。層次系統是一系列相互關聯的子系統,每個子系統又在結構上分層,直到分成我們所能達到的一些基本子系統的最低級。

● 結構:部件相互關聯的方法。

● 功能:作爲結構組成部分的各個獨立部件的操作。

● 基本功能:數據處理數據存儲數據傳輸控制

數據的處理、存儲和傳輸都必須經過控制。控制是由計算機提供指令施加的。

3、結構組件

計算機中有四種主要的結構組件:中央處理器(CPU)、主存儲器(主存或內存)、輸入/輸出(I/O)和總線系統

● 中央處理器:控制計算機的操作(控制器)並執行數據處理功能(算術邏輯單元ALU)。

● 主存儲器:存儲程序和數據。

● 輸入/輸出:在計算機與外部之間傳輸數據。

● 總線系統:爲CPU、主存和I/O之間提供通信機制。

4、馮氏結構

美籍匈牙利數學家馮•諾依曼在1945年提出了存儲程序控制的概念。概括內容如下:

● 計算機硬件由運算器、控制器、存儲器、輸入設備和輸出設備這五個基本設備組成。

● 計算機內部採用二進制來表示指令和數據。

● 把編好的程序和原始數據事先存入存儲器中。

● 把編好的程序和原始數據預先存入計算機的主存儲器中,使計算機在工作時能連續、自動、高速地從存儲器中取出一條條指令並加以執行,從而自動完成預定的任務。

5、計算機層次結構

計算機的層次結構可分爲0~6共七個層次。

● 第零級是硬聯邏輯級,是計算機的內核,由門、觸發器等邏輯電路組成。

● 第一層微程序級。這級的機器語言是微指令集,用微指令編寫的微程序一般是直接由硬件執行的。

● 第二層是傳統機器級。這級的機器語言是指機器的指令集,用機器指令編寫的程序由微程序進行解釋。

● 第三層是操作系統級。從操作系統的基本功能來看,直接管理傳統機器的軟硬件資源。

● 第四層是彙編語言層。語言是彙編語言,完成彙編語言翻譯的程序叫彙編程序。

● 第五層是高級語言層。這級的語言是各種高級語言,面向用戶的,由各種高級語言程序支持和執行。通常用編譯程序來完成各種高級語言的翻譯工作。

● 第六級是應用語言級,這一級是爲了使計算機滿足某種用途而專門設計的,因此這一級語言就是各種面向問題的應用語言。

6、 主要性能指標

計算機的性能可由如下技術指標表示:機器字長數據通路寬度主存容量運算速度表示。運算速度又有如下指標:

● 吞吐量:計算機系統在單位時間內處理請求的數量。

● 響應時間:計算機系統對請求做出響應的時間,包括CPU時間和等待時間的總和。

● 主頻(時鐘頻率):CPU內數字脈衝信號振盪的速度。

● 時鐘週期:主頻的倒數,CPU中最小的時間元素。每個動作至少需要一個時鐘週期。

● CPI:每條指令所用的時鐘週期數。

● IPC:CPI的倒數;由於指令高度並行化,現代計算機一個時鐘週期內可以處理多條指令。IPC表示一個時鐘週期內處理的指令個數。

● CPU執行時間 = CPU時鐘週期數 / 時鐘頻率 = 指令數 * CPI / 時鐘頻率

● MIPS:每秒執行多少百萬條指令。MIPS = 指令條數 * 10-6 / 執行時間 = 主頻 / CPI = 主頻 * IPC

● MFLOPS:每秒執行多少百萬次浮點運算。MFLOPS = 浮點運算次數 * 10-6 / 執行時間

7、非數值類數據

● ASCII碼

在計算機中通常使用美國國家信息交換標準字符碼即ASCII碼表示字符。ASCII碼的編碼特點:
1、用7位二進制表示1個字符,最高位用作奇偶校驗。
2、可表示128個字符(包括數字字符、英文大小寫字母、專用字符和控制字符)
3、數字0-9的ASCII碼對應30H-39H
4、同一英文字母的大寫和小寫的ASCII碼相差20H
字符串字符串可用兩種不同的存放方法 向量法串表法

● 漢字編碼

漢字的編碼涉及4種編碼:
1.、漢字交換碼:國標碼GB-2312
2.、輸入碼:主要用於從鍵盤輸入漢字。常見的有區位碼拼音碼等。:國標碼=區位碼(十六進制)+2020H。
3.、機內碼:計算機系統內部用來標識漢字的編碼。機內碼=國標碼+8080H;機內碼=區位碼+A0A0H
4.、字形碼:漢字字形碼是指確定一個漢字字形點陣的代碼,又叫漢字字模碼漢字輸出碼

● Unicode編碼

Unicode是國際組織制定的可以容納世界上所有文字和符號的字符編碼方案。
1、編碼方式
用一個16位的二進制數(兩個字節)來表示Unicode的每一個符號。
2、實現方式
Unicode的實現方式稱爲Unicode的轉換格式(unicodeTranslation Format, UTF)。

8、數值類數據

計算機中參與運算的數值有兩大類:無符號數有符號數。無符號數相當於數的絕對值;有符號數在最高位設置符號位。
常見的有符號機器數如下:

● 原碼

原碼的編碼規則:在數值前加一位符號位。正號用0表示,符號用1表示,數值部分保持不變。
整數原碼定義:正數不變,負數[x]原=2n - x = 2n + |x| 例如:[+1011]原 = 01011;[-1011]原 = 11011
小數原碼定義:正數不變,負數[x]原=1 - x = 1 + |x| 例如:[+0.1011]原 = 1.1011;[-0.1011]原 = 1.1011
原碼時,0有兩種表示方式,兩位二進制數爲例,[+0]原 = 00 ;[-0]原 = 10 ;8位能表示 -(27 -1) ~ 27 -1 (去掉最高符號位)

● 反碼

反碼的編碼規則:在數值前加一位符號位。正號用0表示,符號用1表示;正數的數值部分保持不變,負數的數值部分按位取反。
整數反碼定義:正數不變,負數[x]反=2n+1-1 + x 例如:[+1011]反 = 01011;[-1011]反 = 10100
小數反碼定義:正數不變,負數[x]反=(2 - 2-n) + x 例如:[+0.1011]反 = 1.1011;[-0.1011]反 = 1.0100
反碼時,0有兩種表示方式,兩位二進制數爲例,[+0]反 = 00 ;[-0]反 = 11 ;8位能表示 -(27 -1) ~ 27 -1 (去掉最高符號位)

● 補碼

補碼的編碼規則:在數值前加一位符號位。正號用0表示,符號用1表示;對於正數,數值部分保持不變;對於負數,數值部分按位取反末尾加1。
整數補碼定義:正數不變,負數[x]補=2n+1 + x 例如:[+1011]補 = 01011;[-1011]補 = 10101
小數補碼定義:正數不變,負數[x]補=2 + x 例如:[+0.1011]補 = 1.1011;[-0.1011]補 = 1.0101
補碼時,0僅有一種表示形式。兩位二進制爲例,[+0]補=[-0]補=00;8位能表示 -27 ~ 27 -1 (去掉最高符號位)

● 常用求補碼方法

1、 由定義求補碼
由真值求補碼,直接利用補碼的定義。反過來,由補碼求真值,只需將公式左右進行交換就可以了
2、由原碼求補碼
正數的補碼和原碼相同;負數的補碼,將原碼除符號位以外的其餘各位求反,末位加1。
3、求負數補碼的簡便原則
可以將原碼除符號位以外,其餘各位按位取反,從最低位開始遇到的第一個1以前的各位保持不變。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章