《計算思維》全套教學課件_第1頁
《計算思維》全套教學課件_第2頁
《計算思維》全套教學課件_第3頁
《計算思維》全套教學課件_第4頁
《計算思維》全套教學課件_第5頁
已閱讀5頁,還剩203頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

計算思維概述引子計算機真是神奇,請問他是怎么工作的?-----來自南大小百合“我們是什么,我們來自何方”

-----哲學命題詩子曰:“《詩》三百,一言以蔽之,曰‘思無邪’”。師曰:“計算機,一言以蔽之,曰‘二進制’”。二進制是什么?計算思維=計算&思維計算的宏觀定位

理論、計算與實驗是科學領(lǐng)域中最為基本的研究手段和應用方式[1]。圍繞以“計算”(Computing)為主題的理論與應用研究是計算機科學與應用領(lǐng)域中的核心問題之一。而計算則是連接理論與實驗的橋梁!

[1]G.Fox.E-ScienceMeetsComputationalScienceandInformationTechnology.ComputinginScienceandEngineering,2002,4(4):84-85.計算思維的前提條件計算思維建立在計算過程的能力和限制之上,由人由機器執(zhí)行。計算方法和模型使我們敢于去處理那些原本無法由個人獨立完成的問題求解和系統(tǒng)設(shè)計。

達爾文對科學定義:科學就是整理事實,從中發(fā)現(xiàn)規(guī)律并做出結(jié)論。科學與計算科學達爾文的定義指出了科學的內(nèi)涵,即事實與規(guī)律??茖W要發(fā)現(xiàn)人所未知的事實,并以此為依據(jù),實事求是。至于規(guī)律是指客觀事物之間內(nèi)在的本質(zhì)的必然聯(lián)系。

8/30愛因斯坦:設(shè)法將人們雜亂無章的感覺經(jīng)驗加以整理,使之符合邏輯一致的思想系統(tǒng),就叫科學??茖W作為一種存在的事物和完整的事物,是人類認知的事物中最客觀的。但科學在形成過程中,作為追求的目的,卻如同人類的其他認知一樣,是主觀的也是受心理制約的。

9/30思維的概念思維是人腦對客觀事物的一種概括的、間接的反映,它反映客觀事物的本質(zhì)和規(guī)律。

思維與科學思維10/30科學思維:指理性認識及其過程,即經(jīng)過感性階段獲得的大量材料,通過整理和改造,形成概念、判斷和推理,以便反映事物本質(zhì)和規(guī)律。科學思維簡而言之,科學思維是大腦對科學信息的加工活動。

科學思維的主要表現(xiàn):①科學的理性思維②科學的邏輯思維③科學的系統(tǒng)思維④科學的創(chuàng)造性思維

計算機!計算思維計算機思維計算思維的物化成果本講內(nèi)容1一個故事2兩個基本原則3三個基本層次4四個基本階段5五個基本部件計算機之父-馮·諾依曼生平簡介諾依曼JohnvonNeuman(1903~1957),美籍匈牙利數(shù)學家。1903年12月28日生于布達佩斯。諾依曼先后入柏林大學和蘇黎世技術(shù)學院學習,1925年畢業(yè),獲化學工程師稱號,1926年獲布達佩斯大學數(shù)學博士學位。畢業(yè)后在德國漢堡大學任教。1930年移居美國,在普林斯頓大學和該校高級研究所工作。諾依曼1944年參加J·W莫奇利和J·P·??嗣擃I(lǐng)導的“埃尼阿克”(ENIAC)計算機研究工作,在計算機的理論和設(shè)計方面發(fā)揮了重要作用。他是如何介入到計算機的研發(fā)中的呢?這是一個神奇的故事?。?!類比分析CPU主存硬盤如果是這樣呢?主要貢獻:二進制與體系結(jié)構(gòu)存儲器運算器輸入控制器輸出地址指令地址數(shù)據(jù)發(fā)展至今,大多數(shù)機器結(jié)構(gòu)并未突破馮·諾依曼結(jié)構(gòu)。ENIAC(1946)結(jié)論計算機器本天成馮諾依曼偶得之計算思維的偉大勝利!中國計算技術(shù)及計算機的發(fā)展原始的計數(shù)思想曰春夏,曰秋冬。此四時,運不窮。曰南北,曰西東。此四方,應乎中。曰水火,木金土。此五行,本乎數(shù)。曰仁義,禮智信。此五常,不容紊。稻粱菽,麥黍稷。此六谷,人所食。馬牛羊,雞犬豕電子計算機的研究始于20世紀50年代(華羅庚)國防科技大學研制的銀河Ⅰ(1983)、銀河Ⅱ(1992)運算速度都超過一億次曙光系列機的研制成功計算所的龍芯計劃…Con’t閔乃大,江蘇如皋人,著名德籍科學家,中國電子計算機科學的奠基人,中國計算機之父。早年留學德國??谷諔?zhàn)爭勝利后回國,執(zhí)教于清華大學,任電機系電訊網(wǎng)絡(luò)研究室主任。1952年全國大學院系調(diào)整,清華電訊網(wǎng)絡(luò)研究室撤消,經(jīng)華羅庚相邀,閔乃大與夏培肅、王傳英三位年輕的科學家與華羅庚共商中國計算機發(fā)展大計,揭開了中國計算機研制的序幕。隨后,在華羅庚的中國科學院數(shù)學研究所內(nèi)建立了中國第一個電子計算機科研小組,任組長,成為中國科學院數(shù)學研究所五名專任研究員之一。1953年3月執(zhí)筆拿出了中國第一個《電子計算機研究的設(shè)想和規(guī)劃》。1954年1月中國科學院基于科研經(jīng)費的原因,將全部電子學人員集中至錢三強的物理研究所,仍任電子計算機組的組長。1956年,周總理在《中國科技12年遠景規(guī)劃》中提出“四項緊急措施”,其中一項就是急速發(fā)展計算機技術(shù)。3月28日,中國政府組織了以閔乃大為團長的代表團赴莫斯科參加了蘇聯(lián)計算機會議。6月14日,毛主席、周總理接見了閔乃大等科學家。隨后,閔乃大又率團赴蘇聯(lián)學習如何建立計算機技術(shù)研究所以及計算技術(shù)的科研和應用。8月26日,中國科學院計算技術(shù)研究所籌委會在西苑飯店正式成立,華羅庚為主任委員,閔乃大為委員兼計算機整機研究室主任。1957年11月,郭沫若率中國科學代表團訪蘇,閔乃大又為主要成員。訪問期間,中蘇簽訂了《中蘇共同進行和蘇聯(lián)幫助中國進行重大科學技術(shù)研究的協(xié)定》,其中“計算技術(shù)科學研究”是重要一項。在商談如何制造計算機的問題上發(fā)生爭議,閔乃大專程返國請示,12月再赴莫斯科,談判決定,購買EЭCM-Ⅱ機器,并在中國進行仿制。最初仿制了103機和104機,依靠它完成了第一顆原子彈的有關(guān)計算。閔乃大在教學和科研上造詣很深。中國巨型計算機之父、第三屆國家最高科技獎獲得者金怡濂是這樣評述的:“在清華讀書時,印象最深的是基礎(chǔ)課,那時,閔乃大、錢偉長、孟昭英等聲望很大的教授親自教我們,學校重視基礎(chǔ)課的程度可見一斑”;“閔乃大教授講的課理論很深,公式一寫兩黑板,推導完后,一定反復問大家抓住了概念沒有”。1958年,閔乃大去德國定居。

Con’t第一代計算機(1946-1958)-電子管時代第二代計算機(1959-1964)-晶體管時代第三代計算機(1965-1970)-中小規(guī)模集成電路時代第四代計算機(1970-至今)-超大規(guī)模集成電路時代新一代計算機(1982-1992)-并行邏輯推理機第一代計算機(1958-1959)-電子管時代第二代計算機(1964)-晶體管時代第三代計算機(1971-1973)-中小規(guī)模集成電路時代第四代計算機(1980-至今)-超大規(guī)模集成電路時代國外我國計算機家族的分類巨型機說:“我認為全球大概只需要五臺計算機就夠了”;PC機說:“每個家庭的桌面上都應該有一臺電腦”;PocketPC說:“太大了,應該每人口袋里放一臺”;WSN說:“每粒沙子都應該是一臺計算機”。計算機系統(tǒng)的層次結(jié)構(gòu)計算機系統(tǒng)=硬件系統(tǒng)+軟件系統(tǒng)計算機組織與結(jié)構(gòu)涉及內(nèi)容軟件系統(tǒng):系統(tǒng)軟件+應用軟件交界面硬件系統(tǒng)計算機硬件結(jié)構(gòu)調(diào)制解調(diào)器內(nèi)存條電源箱

中央處理器主板光驅(qū)軟驅(qū)硬盤家庭成員顯示器鼠標硬盤主板鍵盤…電子元器件的發(fā)展歷程電子元器件的發(fā)展歷程第一代計算機(1946-1958)-電子管時代

特點:電子管作為開關(guān)元件,使用機器語言,可以存儲信息,輸入輸出速度慢。第二代計算機(1959-1964)-晶體管時代

特點:晶體管取代電子管,采用磁芯存儲器,匯編語言取代了機器語言。第三代計算機(1965-1970)-中小規(guī)模集成電路時代

特點:集成電路取代晶體管,采用半導體存儲器,使用了操作系統(tǒng)。第四代計算機(1970-至今)-超大規(guī)模集成電路時代

特點:采用了集成度很高的電路,出現(xiàn)了微處理器。新一代計算機(1982-1992)-并行邏輯推理機業(yè)界規(guī)律:摩爾定律晶體管容量每18-24個月就會翻一番。芯片的制造過程URL:/misc/2007-03-26/95/1704.html第二步第三步第四步第五步第六步第七步第八步第九步本講內(nèi)容1一個故事2兩個基本問題3三個基本層次4四個基本階段5五個基本部件2.兩個基本問題問題1:能否的問題

Allcomputer(thebiggestandthesmallest,thefastestandtheslowest,themostexpensiveandthecheapest)arecapableofcomputingexactlythesamethingsiftheyaregivenenoughtimeandenoughmemory.問題2:轉(zhuǎn)化的問題WedescribeourproblemsinEnglishorsomeotherlanguagespokenbypeople.Yet,theproblemsaresolvedbyelectronsrunningaroundinsidethecomputer.Itisnecessarytotransformourproblemfromthelanguageofhumanstothevoltages(電壓)thatinfluencetheflowofelectrons.

3.三個基本層次便攜式(筆記本)個人計算機你好,南京大學計算機科學與技術(shù)系2014屆新生你好,南京大學計算機科學與技術(shù)系2014屆新生你好,南京大學計算機科學與技術(shù)系2014屆新生軟件硬件顯示4.四個發(fā)展階段第一代計算機(1946-1958)-電子管時代第二代計算機(1959-1964)-晶體管時代第三代計算機(1965-1970)-中小規(guī)模集成電路時代第四代計算機(1970-至今)-超大規(guī)模集成電路時代新一代計算機(1982-1992)-并行邏輯推理機第一代計算機(1958-1959)-電子管時代第二代計算機(1964)-晶體管時代第三代計算機(1971-1973)-中小規(guī)模集成電路時代第四代計算機(1980-至今)-超大規(guī)模集成電路時代國外我國計算機的分代(按元器件)第一代(約1946-1957)電子管計算機

●速度:幾十~幾萬次/秒

●內(nèi)存:磁鼓,千字

●外設(shè):磁帶

●機器語言或匯編語言編程美國于20世紀50年代生產(chǎn)的IBM704型采用電子管的第一代電子計算機第一代電子計算機中使用的磁鼓存儲器第二代(約1957-1964)晶體管計算機

●速度:幾十萬次/秒,

●內(nèi)存:磁芯,十萬字

●外設(shè):磁盤 ●高級語言編程電子管晶體管計算機的分代(按元器件)第三代(約1965-1973)中小規(guī)模集成電路(SSI,MSI)計算機

速度:幾十萬次~幾百萬次/秒

內(nèi)存:半導體存儲器

高級語言,OS,DBMS第四代(1974年起)大規(guī)模(LSI)和VLSI計算機 速度:幾百萬次~億次/秒 內(nèi)存:半導體存儲器 軟件工程,分布式處理等5:五個基本部件存儲器運算器輸入控制器輸出地址指令地址數(shù)據(jù)未來的辦公室如何體現(xiàn)上述觀點

作業(yè)答案:/view/3053744.htm?fr=aladdin

輔助材料:見課件的上傳網(wǎng)站(是考試內(nèi)容的出處)1、什么是計算思維?2、計算思維的特點?3、通過計算思維,我們可以達到的目標?謝謝!第五章目錄1、二進制的物理原理2、存儲的層次原理3、定位的指針原理4、指令的操作原理5、CPU內(nèi)部的總線原理6、流水線的并行原理比特流…10110010100100101001001111111111斷開接通1、二進制的物理實現(xiàn)原理比特(bit)在計算機中的表示在CPU中表示二進位的方法:電平的高或低V+30Logic1Logic00.0V0.5V2.8V3.3V010不同芯片(不同電路)表示1(0)電平的電壓高低并不相同,“1”電平的值:+5V,+3.3V,+2.9V,2.5V和1.8V

等基本的物理原理磁性材料粒子磁頭,用于寫入和讀出信息“0”“1”旋轉(zhuǎn)方向磁盤片1、二進制的物理實現(xiàn)原理比特在光盤上如何存儲?(a)CD盤片表面(b)DVD盤片表面4種DVD盤片單面單層:4.7GB;雙面單層:9.4GB單面雙層:8.5GB;雙面雙層:17GB容量:650MB術(shù)語表示磁表面存儲器的性能指標:

1記錄密度:道密度+位密度

2存儲容量硬磁盤驅(qū)動器的物理組成與內(nèi)部邏輯結(jié)構(gòu)存儲的計量關(guān)系1Byte=1B=8bits=8bB中文叫字節(jié),b中文叫位1KB=1000B1MB=1000KB1G=1000MB1P=1000G1T=1000P1個字=4個字節(jié)=4B=48=32位1個塊=若干個字2、訪問的層次原理3、定位的指針原理:地址擴充原理支持的訪問方式是:讀和寫到哪里去讀,寫到什么地方?問題:二進制的信息或數(shù)據(jù)在物理空間中是如何管理?按照明確的地址進行存放管理一個字節(jié),給一個明確的地址地址在編程序時又叫指針(pointer)地址或指針也是二進制數(shù)據(jù),也需要存放程序訪問的局部性原理(時間局部性和空間局部性)程序執(zhí)行時的地址分布不是隨機的,而是聚集在存儲器中一塊較小的區(qū)域中,對于數(shù)據(jù)的存放也是如此,這樣,在程序執(zhí)行時,一段時間內(nèi),CPU所訪問的存儲單元總是局限在一個不大的區(qū)域內(nèi),這種現(xiàn)象稱為訪問的局部性。地址線12位212=40964096輸入線212=26.2664+64=128128根輸入線地址寄存器X譯碼器驅(qū)動器Y譯碼器地址寄存器I/O電路控制電路輸出驅(qū)動輸出輸入讀寫片選A0A5A1A2A3A4A0A5A1A2A3A4數(shù)據(jù)總線4、指令的操作原理指令的分類見教材內(nèi)容!指令的存貯一種特殊的存儲器:相聯(lián)存儲器同樣面臨查找管理的問題…設(shè)計指令的要求1.一條指令須包含的信息

一條指令必須明顯或隱含地包含以下信息:操作碼:指定操作類型

(操作碼長度:固定/可變)源操作數(shù)參照:一個或多個源操作數(shù)所在的地址

(操作數(shù)來源:主(虛)存/寄存器/I/O端口/指令本身)結(jié)果值參照:產(chǎn)生的結(jié)果存放何處

(結(jié)果地址:主(虛)存/寄存器/I/O端口)下一條指令地址:下條指令存放何處

(下條指令地址:主(虛)存)(正常情況隱含在PC中,改變順序時由指令給出)指令格式操作碼地址碼一般來說,僅僅查看字或字節(jié)的內(nèi)容,不能判斷出其中的內(nèi)容是指令還是操作數(shù)。對于一個給定字的解釋,取決于把該字從主存中取出時CPU的操作方式或狀態(tài)。CPU中有一個重要的組成部件PC(ProgramCounter,程序計數(shù)器)。PC所指的存儲器字通常被解釋為操作碼,即指令,而指令字節(jié)中所規(guī)定的存儲器字即為操作數(shù)。操作碼的長度取決于機器指令系統(tǒng)中指令的數(shù)量。指令格式按照指令中包含的地址個數(shù)可分為:三地址指令:分別作為雙目運算中兩個源操作數(shù)的地址和一個結(jié)果的地址。形式如下:操作碼D1D3D2例:C(A)+(B)指令格式:ADDA,B,C指令格式二地址指令:分別存放雙目運算中兩個操作數(shù),并將其中一個地址作為結(jié)果的地址。形式如下:操作碼D1D2例:指令格式:ADDA,BB(A)+(B)C(B)指令格式:MOVB,CADDA,C指令格式單地址指令:其地址既是操作數(shù)的地址,也是結(jié)果的地址,如(1)單目運算如:取反/取負等(2)另一操作數(shù)為默認形式,如:累加器等。形式:操作碼D1例:指令格式:ADDA由于加法是兩個操作數(shù)的運算,所以,必然要給出一個隱含的假定,往往借助一個通用的CPU寄存器,該CPU寄存器往往稱為累加器。另外兩個單地址指令LOADA與STOREA操作C(A)+(B)的指令格式:LOADAADDBSTOREC指令格式一個半地址指令操作C(A)+(B)的指令格式:LOADA,RiADDB,RiSTOREC,Ri

指令格式零地址指令:(1)無需操作數(shù)如:空操作/停機等(2)所需操作數(shù)為默認的如:堆棧/累加器等形式:操作碼例:HALT指令長度指令長度應為存儲器基本字長的整數(shù)倍指令字長應盡量短要有足夠的操作碼位數(shù)合理地選擇地址字段的個數(shù)尋址方式指令中指定操作數(shù)或操作數(shù)地址的方式,稱為尋址方式

指令的尋址----簡單正常:PC增值跳轉(zhuǎn):操作數(shù)尋址

操作數(shù)的尋址----復雜操作數(shù)來源:寄存器/主(虛)存/外設(shè)端口/棧頂操作數(shù)結(jié)構(gòu):位/字節(jié)/半字/字/雙字/一維表/二維表/…

操作數(shù)(1)立即

A(2)直接存儲器操作數(shù)

A(3)間接存儲器操作數(shù)R(4)寄存器寄存器組操作數(shù)R(5)寄存器間接存儲器操作數(shù)寄存器組優(yōu)點:指令短速度快例題

假設(shè)指令字長為16位,操作數(shù)的地址碼為6位,指令有零地址、一地址、二地址三種格式。(1)設(shè)操作碼固定,若零地址指令有P種,一地址指令有Q種,則二地址指令最多有幾種?(2)采用擴展操作碼技術(shù),若二地址指令有X種,零地址指令有Y種,則一地址指令最多有幾種?16bit(not16B)Add:6bit地址碼OP:4bitAdd:6bit地址碼16bit(not16B)OP:4bitAdd:12bit地址碼16bit(not16B)OP:4bit求解-1(1)根據(jù)操作數(shù)地址碼為6位,則二地址指令中操作碼的位數(shù)為16-6-6=4。這4位操作碼可有24=16種操作。由于操作碼固定,則除去了零地址指令P種,一地址指令Q種,剩下二地址指令最多有16-P-Q種。16bit(not16B)Add:6bit地址碼OP:4bit16bit(not16B)Add:6bit地址碼OP:10bit操作碼Add:6bit地址碼16bit(not16B)OP:16bit0100????????010100010000..001100102地址指令1地址指令思考OP字段地址字段OP字段地址字段0110000000000110000000010001000001000011010100102地址指令1地址指令求解-2(2)擴展操作碼技術(shù),操作碼位數(shù)可變,則二地址、一地址和零地址的操作碼長度分別為4位、10位和16位。可見二地址指令操作碼每減少一種,就可多構(gòu)成26種一地址指令操作碼;一地址指令操作碼每減少一種,就可多構(gòu)成26種零地址指令操作碼。

解:因二地址指令有X種,則一地址指令最多有(24-X)×26種。設(shè)一地址指令有M種,則零地址指令最多有:((24-X)×26-M)×26種。根據(jù)題中給出零地址指令有Y種,即

Y=[(24-X)×26-M]×26

則一地址指令M=(24-X)×26-Y×2-65、CPU內(nèi)部的總線原理基本概念CPUCPU的基本功能分析讀操作:讀取主存單元或I/O端口的內(nèi)容,并將其裝入CPU中某個寄存器。用于取數(shù)或取指或取地址。寫操作:將數(shù)據(jù)從一個CPU寄存器送到某個主存單元或I/O端口。用于寫端口或存運算結(jié)果。內(nèi)部傳送:將數(shù)據(jù)從一個CPU寄存器送到另一個CPU寄存器或ALU。用于準備ALU操作數(shù)或寄存器傳送。執(zhí)行運算:進行一個算術(shù)運算或邏輯運算,將結(jié)果送入CPU中的某個寄存器。用于計算有效地址或進行指令運算操作。讀操作過程從內(nèi)存讀一個字,要進行一次總線操作。其過程如下:(1)將內(nèi)存單元地址送地址線?!癕AR←Address”

將“內(nèi)存讀”信號送控制線?!癛ead”

在“異步”方式下,要發(fā)出一個“等待”信號。“WMFC”(MFC:Memory-Function-Compieted)

接受到內(nèi)存“完成”信號后,從總線上取一個字?!癛i←MDR”說明:上述過程中(1)和(2)兩個微操作對應的控制信號可以同時發(fā)出;(1)中,若讀取指令,則PC內(nèi)容送MAR;若是間接尋址而要求讀取有效地址,則IR中的間接地址送MAR;若系統(tǒng)總線采用“異步”方式,則CPU必須等待內(nèi)存發(fā)回“完成”信號MFC。微操作信號寫成“WMFC”(即:WaitMFC)讀操作過程實例MAR[R1](2)Read(3)WMFC;等待MFC信號(WaitMFC)(4)R2[MDR]寫操作過程實例MAR[R1]MDR[R2](3)Write(4)WMFC;等待MFC信號(WaitMFC)寄存器之間傳送數(shù)據(jù)寄存器之間傳送數(shù)據(jù)實例R1out,R4in算術(shù)邏輯運算(1)R1out,Yin(2)R2out,ADD,Zin(3)Zout,R3inCPU的控制流程計算機信息處理的過程就是不斷的取指令、分析指令與執(zhí)行指令這樣一個周而復始的過程。這樣一個周而復始的過程分為如下幾個階段(1)取指令:MAR[PC],Read,[PC]+1PC(2)分析指令:分析指令的功能,產(chǎn)生相應的控制信號,如果需要,還需形成操作數(shù)地址

(3)執(zhí)行指令:由“操作命令”和“操作數(shù)地址”形成相應的操作控制命令序列總結(jié)1、內(nèi)外都是總線結(jié)構(gòu)。2、里面是一條總線,會產(chǎn)生什么問題呢?3、外面是兩條總線,那兩條?4、優(yōu)點是結(jié)構(gòu)簡單,容易控制。5、缺點是瓶頸現(xiàn)象。6、流水線的并行原理A+B對應的執(zhí)行控制序列1PCout,MARin,Read,

ClearY(Y0),1C0,Add,Zin//取指,PC+12Zout,

PCin,WMFC//(PC)+1PC3MDRout,IRin//指令放在IR寄存器中4R3out,MARin,Read//取數(shù)據(jù)5R1out,Yin,WMFC//(R1)Y6MDRout,ADD,Zin//相加7Zout,

R1out,End//結(jié)果送R1取指令執(zhí)行指令指令流水技術(shù)早期機器采用串行方式控制指令的執(zhí)行。每條指令按順序取出、執(zhí)行,因而各指令執(zhí)行時所啟動的微操作序列也是串行的。這樣,便限制了速度的提高,使機器內(nèi)部各部件處于忙閑不勻的狀態(tài),系統(tǒng)總的利用率不高。例如,取指時IR、PC忙,而ALU空閑;取數(shù)時MDR/MAR忙,而ALU和PC等空閑。為了提高機器速度,必須使各部件能并行工作。也即,讓機器同時運行多條指令。最直觀的方式是指令流水線。重疊處理是指同時執(zhí)行兩條以上指令指令流水線的的組成S1,取指令(IF)S2,指令譯碼(ID)S3,取操作數(shù)(OF)S4,執(zhí)行(EX)S5,寫回(WB)t0t1t2t3t4t5t6t7t8取指分析執(zhí)行串行方式ALU空閑PC空閑重疊深度為2t0t1t2t3t4t5t6t7t8取指分析執(zhí)行t0t1t2t3t4t5t6t7t8取指分析執(zhí)行重疊深度為3一個例子:代碼優(yōu)化d=a+bd=c+d結(jié)論:8個時鐘周期結(jié)論:7個時鐘周期指令最終在機器中的二進制表示形式謝謝!第5講運算器與并行計算方法1、本講基本概念執(zhí)行實體:算術(shù)邏輯運算單元ALUALU用來執(zhí)行各種算術(shù)和邏輯運算,其中加法器是ALU的核心部件。高明的算法是如何提高計算效率的?哲學思想宇宙是由空間與時間組成并行計算內(nèi)涵1、并行計算或稱平行計算,是相對于串行計算而言的。所謂并行計算可分為時間上的并行和空間上的并行。2、時間上的并行就是指流水線技術(shù),而空間上的并行則是指用多個處理器并發(fā)的執(zhí)行計算任務。串行計算基本模型學而時習之,不亦樂乎!指令(A+B)對應的執(zhí)行控制序列1PCout,MARin,Read,

ClearY(Y0),1C0,Add,Zin//取指,PC+12Zout,

PCin,WMFC//(PC)+1PC3MDRout,IRin//指令放在IR寄存器中4R3out,MARin,Read//取數(shù)據(jù)5R1out,Yin,WMFC//(R1)Y6MDRout,ADD,Zin//相加7Zout,

R1out,End//結(jié)果送R1取指令執(zhí)行指令指令流水線的的組成S1,取指令(IF)S2,指令譯碼(ID)S3,取操作數(shù)(OF)S4,執(zhí)行(EX)S5,寫回(WB)t0t1t2t3t4t5t6t7t8取指分析執(zhí)行串行方式ALU空閑PC空閑重疊深度為2t0t1t2t3t4t5t6t7t8取指分析執(zhí)行t0t1t2t3t4t5t6t7t8取指分析執(zhí)行重疊深度為3一個例子:代碼優(yōu)化d=a+bd=c+d結(jié)論:8個時鐘周期結(jié)論:7個時鐘周期并行計算基本模型定義并行計算(parallelcomputing),一般是指許多指令得以同時進行的計算模式。在同時進行的前提下,可以將計算的過程分解成小部份,之后以并發(fā)方式來加以解決。一個并行處理的例子問題定義1、多個生產(chǎn)者同時生產(chǎn)產(chǎn)品,按先后時間順序編號,然后向產(chǎn)品線投放產(chǎn)品,與此同時多個消費者開始從產(chǎn)品線取出產(chǎn)品用以消費。2、產(chǎn)品線容量一定,設(shè)為最大容量Max,3、當產(chǎn)品線上的產(chǎn)品大于等于Max時,生產(chǎn)者開始停止生產(chǎn),并提示消費者開始起來消費;當產(chǎn)品線空,即產(chǎn)品線上產(chǎn)品數(shù)量為0時,消費者要停止消費,并提醒生產(chǎn)者起來開始工作,生產(chǎn)產(chǎn)品。4、生產(chǎn)者正常生產(chǎn)、消費者正常消費,生產(chǎn)線正常運行,三者之間一定要有一種協(xié)調(diào)規(guī)則。這就是一種樸素的并行算法。2加法運算中時間并行性分析邏輯表達式的運算規(guī)則半加器Fi=XiYi

Ci=XiYiFi

全加運算的真值表Ci=(XiYi)Ci-1+XiYiFi=XiYi

Ci-1

某一位的和及此處的進位值,依賴于該處兩個加數(shù)以及低位的進位數(shù)01101111101+11200311415時間依賴性分析原因:某一位的和及此處的進位值,依賴于該處兩個加數(shù)以及低位的進位數(shù)并行進位的邏輯推導C1=1的條件集合:(1)X1、Y1均為1;(C0為“1”或“0”無所謂)(2)X1、Y1中有一個為“1”,并且進位C0為1。上述條件的邏輯表達式:C1=X1·

Y1+(X1+Y1)·C0公式總結(jié)Ci=Xi

·

Yi

+(Xi+Yi)·Ci-1如果

i=2、3、4,則推出:C2=X2·

Y2+(X2+Y2)·C1C3=X3·

Y3+(X3+Y3)·C2C4=X4·

Y4+(X4+Y4)·C3并行進位的邏輯推導C2=X2·

Y2+(X2+Y2)·

C1=

X2·

Y2+(X2+Y2)·

(X1·

Y1+(X1+Y1)·C0)=

X2·

Y2+(X2+Y2)·

(X1·

Y1)

+(X2+Y2)·(X1+Y1)·C0

結(jié)論:某一位的和及此處的進位值,不依賴于該處兩個加數(shù)以及低位的進位數(shù)。時間維上的并行得以實現(xiàn)。3乘法運算中空間的并行性分析二進制乘法原理演示1111111012XY1101110111011101+1100101010011110110113空間配置圖11011111位數(shù)和被乘數(shù)一樣多的存儲部件只有1位0000原理演示01011110010100111小結(jié)

鳩占鵲巢為哪般?移位加法貫其間。并行算法何時休?

蠟炬成灰淚始干!4、并行計算機的分類并行計算科學中主要研究的是空間上的并行問題??臻g上的并行導致了兩類并行機的產(chǎn)生,按照Flynn的說法分為:單指令流多數(shù)據(jù)流(SIMD)和多指令流多數(shù)據(jù)流(MIMD)。我們常用的串行機也叫做單指令流單數(shù)據(jù)流(SISD)。SISDSIMDMIMD并行計算機的存儲結(jié)構(gòu)共享內(nèi)存、分布式內(nèi)存、混合型分布式共享內(nèi)寸

并行算法總結(jié)并行算法是一門還沒有發(fā)展成熟的學科,雖然人們已經(jīng)總結(jié)出了相當多的經(jīng)驗,但是遠遠不及串行算法那樣豐富。并行算法設(shè)計中最常用的的方法是PCAM方法,即劃分,通信,組合,映射。首先劃分,就是將一個問題平均劃分成若干份,并讓各個處理器去同時執(zhí)行;通信階段,就是要分析執(zhí)行過程中所要交換的數(shù)據(jù)和任務的協(xié)調(diào)情況;組合則是要求將較小的問題組合到一起以提高性能和減少任務開銷;映射則是要將任務分配到每一個處理器上。總之,并行算法還需要相當多完善的地方。并行算法與串行算法最大的不同之處在于,并行算法不僅要考慮問題本身,而且還要考慮所使用的并行模型,網(wǎng)絡(luò)連接等等。LC3Edit&LC-3Simulator《計算機系統(tǒng)概論》實驗課程公共郵箱賬號:jsjxtgl_201301@163.com密碼:jsjxtgl201301

實驗課程內(nèi)容程序執(zhí)行過程1LC-3Simulator&LC3Edit2LC-3程序示例3LC-3匯編指令4LC-3程序講解5程序執(zhí)行過程用計算機解決一個問題的過程問題的提出—>算法—>程序描述問題時用自然語言算法,即怎么做,用自然語言描述程序,要讓計算機執(zhí)行,必須將算法轉(zhuǎn)化為程序,而程序使用計算機編程語言進行描述

程序執(zhí)行過程計算機語言分為高級語言和低級語言兩類高級語言和底層計算機相關(guān)性很弱,或稱為“機器無關(guān)”語言而低級語言則與執(zhí)行程序的計算機緊密相關(guān),通常一種低級語言只對應一種計算機,稱為“某某機器的匯編語言”我們的實驗環(huán)境LC-3Simulator,所使用的語言稱為LC-3匯編語言

程序執(zhí)行過程指令集指令集結(jié)構(gòu)(InstructionSetArchitecture,ISA)是程序和計算機硬件之間接口的一個完整定義包括,i計算機可以執(zhí)行的指令集合,即計算機所能執(zhí)行的操作;ii每個操作所需數(shù)據(jù)是什么,即操作數(shù);iii可以接受的操作數(shù)表達方式是什么,即數(shù)據(jù)類型;iv定義了獲取操作數(shù)的機制,即定位各種操作數(shù)的不同方法,稱之為“尋址模式”不同的ISA定義的操作類型、數(shù)據(jù)類型和尋址模式的數(shù)目都是不同的

程序執(zhí)行過程有的ISA只有幾個操作類型,有的可達上百個;有的ISA的數(shù)據(jù)類型只有一種,有的則有幾十種;ISA經(jīng)典的例子就是x86(PC中的ISA),由Intel公司設(shè)計,同時也被AMD公司采用其它著名ISA:PowerPC(IBM,Motorola),PA-RISC(HewlettPackard)等

程序執(zhí)行過程將高級語言翻譯為ISA指令的過程,通常由一個稱為“編譯器”的程序來完成,針對不同的高級語言和目標機器的組合,需要不同的編譯器將特定計算機的匯編語言程序翻譯為其ISA的過程稱為“匯編”

程序執(zhí)行過程編譯:利用編譯程序從源語言編寫的源程序產(chǎn)生目標程序的過程,即把高級語言變成計算機可以識別的二進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成二進制的;編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優(yōu)化;目標代碼生成;編譯:把用高級程序語言編寫的程序轉(zhuǎn)換成機器可以識別的二進制語言表示的ISA指令

程序執(zhí)行過程把匯編語言翻譯成機器語言的過程稱為匯編在匯編語言中,用助記符代替操作碼,用地址符號或標號代替地址碼,這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言,于是匯編語言亦稱為符號語言;匯編語言是面向機器的程序設(shè)計語言;用匯編語言編寫的程序,機器不能直接識別,要由一種程序?qū)R編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理的系統(tǒng)軟件

LC-3Simulator&LC3EditLittleComputer3,orLC-3,isatypeofcomputereducationalprogramminglanguage,anassemblylanguage,whichisatypeoflow-levelprogramminglanguage;TheLC-3wasdevelopedbyYaleN.PattattheUniversityofTexasatAustin(德克薩斯大學奧斯汀分校)andSanjayJ.PatelattheUniversityofIllinoisatUrbana-Champaign(伊利諾伊大學)

LC-3Simulator&LC3EditLC-3Simulator&LC3Edit真實環(huán)境演示及示例演示

LC-3匯編指令操作指令:處理數(shù)據(jù)的指令ADD,ANDADD,AND是雙操作數(shù)指令,即都需要兩個16位的源操作數(shù)ADD指令實現(xiàn)兩個操作數(shù)的加法AND指令對兩個操作數(shù)的16個位中的每個“bit對”“按位與”AND與ADD中,只有第二個操作數(shù)可以是立即數(shù)方式,第一個操作數(shù)與目的操作數(shù)只能是寄存器尋址在一條指令中,一個寄存器可以同時扮演源寄存器和目的寄存器ANDR1,R1,R2ANDR1,R1,x0ADDR4,R4,xA

LC-3匯編指令數(shù)據(jù)搬移指令:在通用寄存器和內(nèi)存之間,寄存器和輸入/輸出設(shè)備之間搬動數(shù)據(jù)(只討論寄存器與內(nèi)存之間的數(shù)據(jù)移動)將數(shù)據(jù)從內(nèi)存移入寄存器成為“裝載”(load),而從寄存器轉(zhuǎn)入內(nèi)存成為“存儲”(store),在上述兩種情況下,數(shù)據(jù)源(源操作數(shù))的信息內(nèi)容都不會因此移動而改變,但目的操作數(shù)的內(nèi)容將被刷新;需要兩個操作數(shù):源,目的格式:操作碼DR/SR,地址生成位LDR,LEALEAR2,x0FCLDRR3,R2,#0

LC-3匯編指令LDR的尋址模式:基址+偏移尋址模式LDRR1,R2,#1將內(nèi)存中(R2+1)處的數(shù)值加載至R1中LDRR3,R2,#0將內(nèi)存中(R2)處的數(shù)值加載至R3中將(R2中的值+1)作為地址,到內(nèi)存的相應地址中查找數(shù)值并放入R1中LEA尋址模式:立即數(shù)尋址LEAR2,x0FC將PC+x0FC的值加載至R2中,加載的是地址LEAR2,#1將PC+#1的值加載至R2中,加載的是地址

LC-3匯編指令控制指令:能夠夠改變指令執(zhí)行順序的指令條件跳轉(zhuǎn)指令:根據(jù)NZP寄存器的值進行跳轉(zhuǎn)所有會對寄存器進行寫操作的指令都會設(shè)置這三個條件碼(之一)如ADDANDLDRLEABRP根據(jù)P寄存器的值決定是否跳轉(zhuǎn),如果為1,則跳轉(zhuǎn)BRZP根據(jù)Z

P寄存器的值進行選擇,如果Z或P中有一者為1則進行跳轉(zhuǎn),否則順序執(zhí)行

LC-3匯編指令TRAP指令:改變PC內(nèi)容,使其指向操作系統(tǒng)所在空間內(nèi)部即以當前程序的身份跳轉(zhuǎn)至操作系統(tǒng)的某個代碼入口處開始執(zhí)行TRAP指令激活了操作系統(tǒng)的服務調(diào)用,即可以通過TRAP指令調(diào)用操作系統(tǒng)的服務函數(shù)TRAPx23讀取鍵盤輸入TRAPx21顯示器字符輸出HALT終止程序(TRAPx25)

LC-3程序分析-1.ORIGx3000;pseudo-opsANDR1,R1,x0;clearR1,tobeusedfortherunningsumANDR4,R4,x0;clearR4,tobeusedasacounterADDR4,R4,xA;loadR4withthenumberoftimestoaddLEAR2,x0FC;loadthestartingaddressofthedataLOOPLDRR3,R2,x0;loadthenextnumbertobeaddedADDR2,R2,x1;incrementthepointerADDR1,R1,R3;addthenextnumberADDR4,R4,x-1;decrementthecounterBRpLOOP;doitagainifnotyetzeroHALT.END;pseudo-ops

LC-3程序分析-1偽操作:又稱“匯編指令”,并不代表程序中的任何操作,即程序執(zhí)行時它們不產(chǎn)生任何操作,是程序員傳遞給匯編器的消息,用于指導匯編器的匯編操作;

TheEnd!第五講

計算思維之自我糾正提綱數(shù)據(jù)、信息與媒體數(shù)據(jù)的檢/糾錯方法計算機處理對象數(shù)值、文字、圖像、聲音、視頻…文件、圖、表、身陣列、隊列、鏈表、棧、向量、串、實數(shù)、整數(shù)、布爾數(shù)、字符串…≠直接用硬件實現(xiàn)(只有幾種基本類型,其他的軟件實現(xiàn)=數(shù)據(jù)結(jié)構(gòu))1數(shù)據(jù)、信息與媒體數(shù)據(jù)國際標準化組織(ISO)對數(shù)據(jù)所下的定義:

數(shù)據(jù)是對事實、概念或指令的一種特殊表達形式,這種特殊的表達形式可以用人工的方式或者用自動化的裝置進行通信、翻譯轉(zhuǎn)換或者進行加工處理。計算機內(nèi)部由硬件實現(xiàn)的基本數(shù)據(jù):數(shù)值型數(shù)據(jù)+非數(shù)值型數(shù)據(jù)計算機中的數(shù)據(jù)表示采用二進制表示方法信息的概念信息信息是對人的行為與決策有用的數(shù)據(jù)。信息處理是計算機進行數(shù)據(jù)處理的過程,本質(zhì)是數(shù)據(jù)處理目標:獲取有用的信息數(shù)據(jù)和信息的區(qū)別媒體的分類:感覺媒體:使人類聽覺、視覺、嗅覺、味覺和觸覺器官直接產(chǎn)生感覺的一類媒體,如聲音、文字、圖畫、氣味等。表示媒體:為了使計算機能有效加工、處理、傳輸感覺媒體而在計算機內(nèi)部采用的特殊表示形式,即聲、文、圖、活動圖像的二進制編碼表示。存儲媒體(介質(zhì)):用于存放表示媒體以便計算機隨時加工處理的物理實體,如磁盤、光盤、半導體存儲器等。表現(xiàn)媒體:用于把感覺媒體轉(zhuǎn)換成表示媒體、表示媒體轉(zhuǎn)換為感覺媒體的物理設(shè)備,前者是計算機的輸入設(shè)備,如鍵盤、掃描儀、話筒等,后者是計算機的輸出設(shè)備,如顯示器、打印機、音箱等。傳輸媒體:用來將表示媒體從一臺計算機傳送到另一臺計算機的通信載體,如同軸電纜、光纖、電話線等媒體:承載信息的載體2數(shù)據(jù)的檢/糾錯為什么要進行數(shù)據(jù)的錯誤檢測與校正?

數(shù)據(jù)在計算機內(nèi)部計算、存取和傳送的過程中,由于元器件故障或噪音干擾等原因會出現(xiàn)差錯。為了減少和避免這些錯誤,應該:

(1)從計算機硬件本身的可靠性入手,在電路、電源、布線等各方面采取必要的措施,提高計算機的抗干擾能力;

(2)采取相應的數(shù)據(jù)檢錯和校正措施,自動地發(fā)現(xiàn)并糾正錯誤。數(shù)據(jù)的檢/糾錯的基本原理如何進行錯誤檢測與校正?大多采用“冗余校驗”思想,即除原數(shù)據(jù)信息外,還增加若干位編碼,這些新增的代碼被稱為校驗位。處理過程圖示:存儲器或傳輸線路ff比較糾正器MPM’P”P’M出錯信號數(shù)據(jù)輸出數(shù)據(jù)輸入數(shù)據(jù)的檢/糾錯過程數(shù)據(jù)檢/校過程:

當數(shù)據(jù)被存入存儲器或從源部件傳輸時,對數(shù)據(jù)M進行某種運算(用函數(shù)f來表示),以產(chǎn)生相應的代碼P=f(M),這里P就是校驗位。這樣原數(shù)據(jù)信息和相應的校驗位一起被存儲或傳送。當數(shù)據(jù)被讀出或傳送到終部件時,和數(shù)據(jù)信息一起被存儲或傳送的校驗位也被得到,用于檢錯和糾錯。假定讀出后的數(shù)據(jù)為M’,通過同樣的運算f對M’也得到一個新的校驗位P’=f(M’),假定原來被存儲的校驗位P取出后其值為P’’,將校驗位P’’與新生成的校驗位P’進行某種比較,根據(jù)其比較結(jié)果確定是否發(fā)生了差錯。比較的結(jié)果為以下三種情況之一:

①沒有檢測到錯誤,得到的數(shù)據(jù)位直接傳送出去。②檢測到差錯,并可以糾錯。數(shù)據(jù)位和比較結(jié)果一起送入糾錯器,然后將產(chǎn)生的正確的數(shù)據(jù)位傳送出去。③

檢測到錯誤,但無法確認哪位出錯,因而不能進行糾錯處理,此時,報告出錯情況。什么叫碼距?

為了判斷一種碼制的冗余程度,并估價它的查錯和糾錯能力,引入了“碼距”的概念。由若干位代碼組成的一個字叫“碼字”,將兩個碼字逐位比較,具有不同代碼的位的個數(shù)叫做這兩個碼字間的“距離”。一種碼制可能有若干個碼字,而且,其中任意兩個碼字之間的距離可能不同,我們將各碼字間的最小距離稱為“碼距”,它就是這個碼制的距離。例如“8421”編碼中,2(0010)和3(0011)之間距離為1,所以“8421”碼制的碼距為1,記作d=1。

在數(shù)據(jù)校驗碼中,一個碼字是指數(shù)據(jù)位和校驗位按照某種規(guī)律排列得到的代碼。碼距與檢錯、糾錯能力的關(guān)系①如果碼距d為奇數(shù),則能發(fā)現(xiàn)d-1位錯,或者能糾正(d-1)/2位錯。②如果碼距d為偶數(shù),則能發(fā)現(xiàn)d/2位錯,并能糾正(d/2-1)位錯。常用的數(shù)據(jù)校驗碼有:

奇偶校驗碼、海明校驗碼和循環(huán)冗余校驗碼。檢錯和糾錯的基本概念2.1:奇偶校驗碼奇偶校驗碼(最簡單)

基本思想:通過在原數(shù)據(jù)信息中增加一位奇校驗位(或偶校驗位),然后將原數(shù)據(jù)和得到的校驗位一起進行存儲或傳送,對存取后或在傳送的終部件得到的相應數(shù)據(jù)和校驗位,再進行一次編碼,求出新校驗位,最后根據(jù)得到的這個新校驗位的值,確定是否發(fā)生了錯誤。

實現(xiàn)原理:假設(shè)將數(shù)據(jù)B=bn-1bn-2...b1b0從源部件傳送至終部件。在終部件接收到的數(shù)據(jù)為B’=bn-1’bn-2’...b1’b0’。第一步:在源部件求出奇(偶)校驗位P。

若采用奇校驗,則P=bn-1⊕bn-2⊕...⊕b1⊕b0⊕1。若采用偶校驗,則P=bn-1⊕bn-2⊕...⊕b1⊕b0。第二步:在終部件求出奇(偶)校驗位P’。

若采用奇校驗,則P’=bn-1’⊕bn-2’⊕...⊕b1’⊕b0’⊕1。若采用偶校驗,則P’=bn-1’⊕bn-2’⊕...⊕b1’⊕b0’。第三步:計算最終的校驗位P*,并根據(jù)其值判斷有無奇偶錯。

假定P在終部件接受到的值為P’’,則P*=P’⊕P”①若P*=1,則表示終部件接受的數(shù)據(jù)有奇數(shù)位錯。②若P*=0,則表示終部件接受的數(shù)據(jù)正確或有偶數(shù)個錯。奇偶校驗碼

特點:在奇偶校驗碼中,若兩個數(shù)據(jù)中有奇數(shù)位不同,則它們相應的校驗位就不同;若有偶數(shù)位不同,則雖校驗位相同,但至少有兩位數(shù)據(jù)位不同。因而任意兩個碼字之間至少有兩位不同,所以碼距d=2。因而只能發(fā)現(xiàn)奇數(shù)位出錯,不能發(fā)現(xiàn)偶數(shù)位出錯,而且也不能確定發(fā)生錯誤的位置,因而不具有糾錯能力。

優(yōu)點:開銷小,常被用于存儲器讀寫檢查或按字節(jié)傳輸過程中的數(shù)據(jù)校驗。因為一字節(jié)長的代碼發(fā)生錯誤時,1位出錯的概率較大,兩位以上出錯則很少,所以奇偶校驗碼用于校驗一字節(jié)長的代碼是有效的。2.2:海明碼海明校驗碼由RichardHamming于1950年提出,目前還被廣泛使用。它主要用于存儲器中數(shù)據(jù)存取校驗?;舅枷耄呵笆銎媾夹r灤a對整個數(shù)據(jù)編碼生成一位校驗位。因此這種校驗碼檢錯能力差,并且沒有糾錯能力。如果將整個數(shù)據(jù)按某種規(guī)律分成若干組,對每組進行相應的奇偶檢測,就能提供多位檢錯信息,從而對錯誤位置進行定位,并將其糾正。海明校驗碼實質(zhì)上就是一種多重奇偶校驗碼。處理過程:最終進行比較時,按位進行異或操作,根據(jù)異或操作的結(jié)果,確定是否發(fā)生了差錯。這種異或操作所得到的結(jié)果稱為故障字(syndromeword)。顯然,校驗碼和故障字的位數(shù)是相同的。海明碼1.校驗碼位數(shù)的確定假定數(shù)據(jù)位數(shù)為n,校驗碼為k位,則故障字的位數(shù)也為k位。k位故障字所能表示的狀態(tài)最多是2K,每種狀態(tài)可用來說明一種出錯情況。若只有一位錯,則結(jié)果可能是數(shù)據(jù)中某一位錯(n種)、或校驗碼中有一位錯(n種),加上無錯,則有1+n+k種情況,所以,要能對最多一位錯的所有結(jié)果進行正確表示,則n和k必須滿足下列關(guān)系:

2K≥1+n+k,

即:2K-1≥n+k有效數(shù)據(jù)位數(shù)和校驗碼位數(shù)之間的關(guān)系從表中可以看出,當存取的有效數(shù)據(jù)有8位時,校驗碼和故障字都應有4位。4位的故障字最多可以表示16種狀態(tài),而單個位出錯情況最多只有12種可能(8個數(shù)據(jù)位和4個校驗位),再加上無錯的情況,一共有13種。所以,用16種狀態(tài)表示13種情況應是足夠了。校驗碼的位數(shù)計算

單糾錯單糾錯/雙檢錯數(shù)據(jù)位檢查位增加百分率檢查位增加百分率8450562.516531.25637.532618.75721.87564710.94812.512886.2597.0325693.52103.912.分組方式的確定基本思想:

數(shù)據(jù)位和校驗位按某種方式排列為一個n+k的碼字,將該字中每一位的出錯位置與故障字的數(shù)值建立關(guān)系,通過故障字的值確定該碼字中哪一位發(fā)生了錯誤,并將其取反來糾正。根據(jù)上述基本思想,我們按以下規(guī)則來解釋各故障字的值。(1)如果故障字各位全部是0,則表示沒有發(fā)生錯誤。

(2)如果故障字中有且僅有一位為1,則表示校驗位中有一位出錯,不需要糾正。

(3)如果故障字中多位為1,則表示有一個數(shù)據(jù)位出錯,其在碼字中的出錯位置由故障字的數(shù)值來確定。糾正時只要將出錯位取反即可。

假定一個8位數(shù)據(jù)M=M8M7M6M5M4M3M2M1,其相應的4位校驗位為P=P4P3P2P1。根據(jù)上述規(guī)則將數(shù)據(jù)M和校驗位P按照一定的規(guī)律排到一個12位的碼字中。

據(jù)規(guī)則1,故障字為0000時,表示無錯,因此沒有和位置號0000對應的出錯情況,所以位置號從0001開始。

據(jù)規(guī)則2,故障字中有且僅有一位為1時,表示校驗位中有一位出錯,此時,故障字只可能是0001、0010、0100、1000四種情況,我們將這四種狀態(tài)分別代表校驗位中第P1、P2、P3、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論