版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
微機原理及應用項目15:存儲器基礎與地址譯碼第1講存儲器系統概述下面我們來學習微機系統中的存儲器系統。微機的存儲器包括內存儲器和外存儲器存儲器系統概述內存儲器外存儲器微機的存儲器內存儲器包括主內存和高速緩沖存儲器,主內存高速緩沖存儲器內存儲器主內存(內存條)高速緩沖存儲器(cache)外存儲器包括聯機外存和脫機外存,他們的區別是是否跟微機連接在一起聯機外存脫機外存外存儲器區別是是否跟微機連接在一起聯機外存,比如硬盤,大小是T級別的,是微機系統的標配聯機外存硬盤T級別的大小微機系統的標配脫機外存,比如光盤,軟盤這些,是可以脫離計算機并且存儲數據的設備。脫機外存光盤、軟盤脫離計算機存儲數據在微機系統中,這些存儲設備的性能有非常大的差別,內存儲器的速度要比外存儲器的速度快,但是它們的容量比外存儲器的容量小,從單位容量的價格上來說,內存儲器的價格更高,而外存儲器的價格更低,從制造材料上來說,內存儲器主要是由半導體構成的,而外存儲器主要是由磁性材料構成的內存儲器外存儲器微機系統速度快慢容量小大單位容量價格高低制造材料半導體磁性材料我們所說的微機的存儲系統,是指將兩個或兩個以上速度,容量,價格不相同的存儲器用硬件,軟件或者軟硬件相結合的方式連接起來而構成的速度容量價格微機的存儲系統構成硬件軟件軟硬件要達到的目的是使整個存儲系統從外界看起來,它的速度更接近最快的那個存儲器,從容量上來說更接近容量最大的那個存儲器,而從價格上來說,接近更便宜的存儲器。這樣看起來是不是非常劃算?那他究竟是怎么做到的呢目的存儲系統速度接近最快的存儲器容量接近最大的存儲器價格接近最便宜的存儲器其實為了達到這個終極目標,微機系統的存儲器系統包括兩類,一類是Cache存儲系統,它是由主存儲器跟高速緩沖存儲器構成的,另一類是虛擬存儲系統,它是主存儲器與磁盤存儲器構成的存儲器系統Cache存儲系統主存儲器高速緩沖存儲器虛擬存儲系統主存儲器磁盤存儲器首先我們來看cache存儲系統,cache存儲系統是由硬件系統進行管理的,對于程序員來說它是透明的,透明的意思是說他雖然是客觀存在的,但是程序員看不到cache存儲系統是如何進行存儲的,cache存儲系統的設計目標是使整個存儲系統的存儲速度接近存儲速度最快的那個存儲器cache存儲系統由硬件系統進行管理高速緩沖存儲器對于程序員是透明的,程序員看不到cache存儲系統是如何進行存儲設計目標:使存儲速度接近最快的存儲器Cache存儲系統的連接方式是這樣的,Cache是由小容量但速度很快的SRAM制造的,與CPU的存取速度相當,它通常被集成到CPU的內部,我們在CPU的外部很難發現它小容量、速度快的SRAM制造Cache與CPU存取速度相當,集成到CPU內部,CPU外部很難發現Cache存儲系統的連接方式Cache與主內存通過總線連接,主內存的容量雖大,但是存取速度太慢,如果沒有cache,而是讓CPU直接從主內存中存取所有的數據,會導致主內存的速度太慢,CPU總是要停下來等它,這樣CPU的速度上不去,整個微機系統的性能也上不去Cache存儲系統的連接方式Cache總線主內存主內存的容量雖大,但存取速度太慢CPU直接從主內存中存取所有的數據如果沒有cache,而是讓CPU直接從主內存中存取所有的數據,會導致主內存的速度太慢,CPU總是要停下來等它,這樣CPU的速度上不去,整個微機系統的性能也上不去Cache主內存速度慢CPU速度上不去微機系統性能上不去Cache剛好在CPU與主內存之間起到了很好的過渡作用Cache在CPU與主內存之間起過渡作用我們用這張圖說明Cache是如何工作的,首先,大家要知道程序訪問的局部性,也就是說經過工程師們的統計,發現如果CPU現在調用一條程序,那么很大概率上它后面將要調用的程序也都離這條程序不會太遠Cache工作原理首先,大家要知道程序訪問的局部性,也就是說經過工程師們的統計,發現如果CPU現在調用一條程序,那么很大概率上它后面將要調用的程序也都離這條程序不會太遠程序訪問的局部性CPU調用一條程序后面調用的程序都距離不遠在最開始的時候,Cache中沒有內容,CPU不能在Cache中命中任何內容,那么CPU會去主內存中尋找,CPU會去主內存中尋找Cache中沒有內容CPU不能命中任何內容Cache會基于第一條指令在主內存的位置,將這條指令及其后的一段指令鏡像復制到Cache中,那么CPU后面將要尋找的指令很大概率都能夠在cache中找到了,即命中率變高了取到第一條指令后,基于其在主內存的位置,將這條指令及其后的一段指令鏡像復制到Cache中CacheCPU尋找的指令能夠在cache中找到,命中率變高因為cache存取速度非常快,它更接近CPU的處理速度,所以一旦命中率很高,那么對于CPU來說,它就會覺得這個存儲系統的讀寫速度還是相當快的。可是,過一段時間,可能CPU要讀取的指令又不在Cache中了,這叫做未命中,存取速度非常快,更接近CPU的處理速度,一旦命中率很高,存儲系統的讀寫速度相當快CacheCPU要讀取的指令不在Cache中,這叫做未命中當要尋找的程序在Cache中不能命中時,CPU就要去主內存尋找,這時,Cache會將這條新的程序附近的程序段鏡像復制到Cache中,將之前的程序段再復制會主內存中,當然,現在的Cache還會有更先進的技術保證命中率更高Cache會新的程序附近的程序段鏡像復制到Cache中,將之前的程序段再復制會主內存中當要尋找的程序在Cache中不能命中CPU去主內存尋找系統讀寫時間那么整個系統的讀寫時間就是命中率乘以CPU讀寫Cache的時間加上未命中率乘以CPU讀寫主內存的時間X命中率CPU讀寫Cache時間+X未命中率CPU讀寫主內存時間所以,當命中率越高即越趨近于1的時候,整個存儲器系統的讀寫時間就趨近于CPU讀寫Cache的時間命中率越高即越趨近于1的時候,讀寫時間就趨近于CPU讀寫Cache的時間因此,就靠Cache存儲系統我們達到了,這個存儲器系統的存取速度接近存取速度最快的器件這一目標靠Cache存儲系統達到存儲器系統的存取速度接近存取速度最快的器件這一目標同時,又由于Cache的內容在更新,它總是保證CPU能夠盡可能多的命中主內存的內容,所以,從CPU的角度看,Cache存儲系統的存儲容量也是接近于主內存的容量Cache存儲系統的存儲容量接近于主內存的容量CPU角度Cache內容在更新,總是保證CPU盡可能多的命中主內存內容雖然cache比較貴,但是由于它在整個存儲系統中占的比重較低,它的價格對整個存儲系統的價格的增加微乎其微,可以忽略,所以整個存儲系統的價格就接近價格最便宜的器件cache在整個存儲系統中占的比重較低cache價格對整個存儲系統的價格的增加微乎其微整個存儲系統的價格接近價格最便宜的器件再來看一下虛擬存儲系統,虛擬存儲系統是由主內存和部分磁盤系統構成的主內存部分磁盤系統虛擬存儲系統虛擬存儲系統中的磁盤存儲系統就是我們說的外存,它的存儲容量比較大,但是讀寫的速度比較慢,虛擬存儲系統的設計目標是增加整個系統的存儲容量,虛擬存儲系統,由操作系統進行管理,對于應用程序員來說,這部分操作是透明磁盤存儲系統就是外存存儲容量比較大,讀寫速度比較慢設計目標:增加整個系統的存儲容量由操作系統管理,對于程序員操作透明虛擬存儲系統說到這里,我們對提到的所有的存儲器設備的性能進行比較,我們提到的存儲器設備包括脫機外存,聯機外存,主存儲器,高速緩存,通用寄存器組及指令、數據緩沖棧脫機外存聯機外存主存儲器高速緩存通用寄存器組及指令、數據緩沖棧比較提到的存儲器設備的性能其中脫機外存和聯機外存屬于外存儲器,主內存和高速緩存屬于內存儲器,而通用寄存器組及指令、數據緩沖棧屬于片內存儲器。在這個塔形結構中,由上到下,存儲器的存儲容量越來越大,存取速度越來越慢,價格越來越便宜。脫機外存聯機外存外存儲器主內存高速緩存屬內存儲器通用寄存器組及指令、數據緩沖棧片內存儲器在這個塔形結構中,由上到下,存儲器的存儲容量越來越大,存取速度越來越慢,價格越來越便宜。脫機外存聯機外存主內存高速緩存屬通用寄存器組及指令、數據緩沖棧存儲容量越來越大存取速度越來越慢價格越來越便宜微機原理及應用第2講存儲單元編址這一講我們來學習一下存儲單元的編址問題這是為我們后續講解芯片的連接和內存的擴展做知識儲備存儲單元編址芯片的連接內存的擴展知識儲備首先,我們從存儲器的視角往芯片的方向看存儲器芯片我們知道8088有兩種工作模式,最小模式和最大模式8088最小模式最大模式而不管是哪種模式,在8088的外圍都有很多輔助電路8088外圍有很多輔助電路例如地址總線會接入到地址鎖存器,數據總線會接入到數據收發器,等等,這些外圍器件8088外圍有很多輔助電路例如地址總線接入到地址鎖存器數據總線接入到數據收發器等外圍器件…一方面保證了CPU的功能正確,另一方面也連接了內存儲器與CPU保證CPU的功能正確連接內存儲器與CPU所以,從內存儲器的角度往CPU看,其實只能看到8088的總線電路內存儲器的角度往CPU看8088總線電路8088的IO/m以及RD和WR引腳都接入到了總線電路上,8088的總線電路對這些引腳進行轉換,并輸出MEMR和MEMW;當IO/M為低電平時,總線電路就會跟內存儲器交互數據;而當RD為低電平時,MEMR為低電平,表示,對內存儲器的讀操作;當WR為低電平時,MEMW為高電平,表示對內存儲器的寫操作;當讀和寫操作,我們搞清楚以后,下面就是用地址線去尋址存儲單元了8088WRRDIO/mMEMW為高電平MEMR為低電平8088的總線電路內存儲器交互數據對內存儲器讀操作對內存儲器寫操作當讀和寫操作,我們搞清楚以后,下面就是用地址線去尋址存儲單元了讀和寫操作后,用地址線尋址存儲單元假設最開始內存儲器有4個存儲單元;那么用兩位地址就可以尋址,集00、01、10和1100011011內存儲器有4個存儲單元假設當4個存儲單元不夠用,想要擴展的時候,就在系統中再加一片芯片;還是4個單元;如果8個單元也不夠用,還會再加一片芯片;我們知道12個存儲單元,要用4個比特位的地址才能唯一的表示每個單元的地址000110110001101100011011要4個比特位地址才能唯一表示每個單元地址12個存儲單元那么我們可以把這4個比特的地址分成高2位和低2位;其中高2位叫做片選地址,用于選中某個芯片;選中某個芯片的意思就是讓這個芯片工作,而同一時刻,其它的芯片就不會被選中,因而不會工作,例如,我們這張圖中,第一個芯片的片選地址就是00,第二個芯片的片選地址就是01依次類推000110110001101100011011000001011010高位地址:片選地址用于選擇芯片芯片工作同時其它芯片不會被選中,因而不會工作依次類推低2位是片內地址,用于選中芯片上的單元,大家可以看到,無論是哪個芯片,它們的單元數目相同,我們給它們分配的片內地址也相同。這樣做便于系統的硬件連線和對內存地址的管理000110110001101100011011000001011010低位地址:片內地址用于選擇芯片上的單元便于系統硬件連線和對內存地址的管理事實上,每個芯片有一個引腳,叫做片選引腳CS;Cs你可以把它理解稱chipselect所以就是芯片選擇的意思000110110001101100011011CSCSCSchipselect:芯片選擇000001011010那么我們可以基于地址線上高位地址的不同去選中不同的芯片;比如,地址線上高位是00的時候,我們就給第一個芯片的cs引腳低電平;其它芯片的cs引腳都是高電平;這樣第一個芯片就被選中了;然后再基于地址線上低位的地址去選中第一個芯片的相應單元;由此,大家是否聯想到了我們前面講過的74LS138譯碼器;我們可以把地址的高兩位連接在譯碼器的輸入端口B和A上,并給C端口低電平,然后將Y0~Y2端口連接在三個芯片的片選引腳上;這樣就可以通過譯碼電路,每次只選中一個芯片,而不會因為三個芯片的片內地址是相同的而產生尋址混亂的問題000110110001101100011011CSCSCS000001011010基于高位地址的不同選不同芯片低電平高電平然后再基于地址線上低位的地址去選中第一個芯片的相應單元;由此,大家是否聯想到了我們前面講過的74LS138譯碼器;我們可以把地址的高兩位連接在譯碼器的輸入端口B和A上,并給C端口低電平,然后將Y0~Y2端口連接在三個芯片的片選引腳上這樣就可以通過譯碼電路,每次只選中一個芯片,而不會因為三個芯片的片內地址是相同的而產生尋址混亂的問題;這樣就可以通過譯碼電路,每次只選中一個芯片,000110110001101100011011CSCSCS000001011010譯碼電路每次只選中一個芯片,而不會因為三個芯片的片內地址是相同的而產生尋址混亂的問題不會因為片內地址相同而產生尋址混亂問題這就是譯碼電路的作用譯碼電路的作用它將輸入的一組高位地址信號經過變換,產生一個有效的輸出信號有效的輸出信號輸入一組高位地址信號變換用于選中某一個存儲器芯片,從而確定了該存儲器芯片在內存中地址范圍確定該存儲器芯片在內存中地址范圍用于選中某一個存儲器芯片微機原理及應用第3講SRAM6264下面我們來學習SRAM6264前面我們學習了隨機存取存儲器RAM的相關概念,我們知道RAM分靜態RAM和動態RAMSRAM6264存取存儲器RAM靜態RAM動態RAM0102電荷容易泄露其中動態RAM的存儲元是由電容構成,由于電容中電荷容易泄露,為了保證動態RAM中存儲的數據的穩定,通常要為動態RAM芯片設計外圍控制電路,給電容定期的充放電。動態RAM02存儲元設計外圍控制電路保證存儲的數據的穩定電容定期的充放電電容我們使用的內存條主要就是用動態RAM構成的。內存條主要就是用動態RAM構成的動態RAM02但是動態RAM結構上比較復雜不適合課堂講授,下面我主要以靜態RAM為例來說明RAM的使用。動態RAM結構復雜不適合課堂講授以靜態RAM為例說明RAM的使用靜態RAM也就是SRAM,它的存儲元是雙穩態電路,它存儲的信息比較穩定,但是在每個芯片上集成的存儲元的數量有限,所以它的存儲容量比較低,他的存取速度快,價格比較高,常用做高速緩沖存儲器cache靜態RAMSRAM存儲元是雙穩態電路存儲信息穩定每個芯片上集成的存儲元的數量有限所以它的存儲容量比較低,他的存取速度快,價格比較高,常用做高速緩沖存儲器cache存儲容量低存取速度快價格高常做高速緩沖存儲器cache下面我們以SRAM6264為例來介紹RAM芯片的使用,SRAM6264的容量是8Kx8bSRAM6264SRAM6264的容量是8Kx8b具有8k個存儲單元每個存儲單元存儲一個字節,也就是八個比特引腳圖上推斷出容量大家看,6264一共有13個地址引腳,從A0到A12,那么我們可以計算一下13個地址引腳能夠表示2的13次方個地址,剛好是8K,它的數據線是8根,從d0~d7,也就是說每次讀或寫它可以處理8個比特的數據,626413個地址引腳A0A12那么我們可以計算一下13個地址引腳能夠表示2的13次方個地址,剛好是8K,它的數據線是8根,從d0~d7,也就是說每次讀或寫它可以處理8個比特的數據,所以,我們推斷它的內部容量就是8K個存儲單元,每個單元8個比特13個地址引腳表示2的13次方個地址8K數據線是8根從d0~d7,讀或寫它可處理8個比特數據內部容量8K個存儲單元,每單元8個比特除了地址和數據引腳以外,它還有輸出允許信號,即outputenable,所以英文是OE,we引腳是寫允許信號,即writeenable,所以英文是WEwriteenableoutputenable除地址和數據引腳以外zzzz它還有輸出允許信號OEWE除了這兩個跟讀寫相關的引腳以外,還有cs1和cs2兩個片選引腳,其中cs1是低電平有效的引腳,cs2是高電平有效的引腳cs1cs2低電平有效的引腳高電平有效的引腳當我們要選定這枚芯片讓他工作的時候,就要使cs1為低電平cs2為高電平,當這兩個引腳同時有效的時候,這枚芯片才開始工作選定芯片工作cs1為低電平cs2為高電平引腳同時有效芯片開始工作至于它是要讀還是寫?還要看是OE引腳有效,還是WE引腳有效,我們要對哪個存儲單元進行讀或寫,要通過地址引腳來選擇要讀還是寫?OE引腳有效或WE引腳有效決定我們要對哪個存儲單元進行讀或寫,要通過地址引腳來選擇對哪個存儲單元讀或寫通過地址引腳選擇其實SRAM6264是一系列的芯片,除了6264,還有6116,62128,62256等等,SRAM6264一系列芯片除6264,例:6116,62128,62256他們的區別是地址線的個數不一樣,也就是存儲單元的數量不一樣,同學們可以通過這張表看到不同型號的芯片,它們的存儲單元的數量大概是多少,地址線的個數不一樣等于存儲單元的數量不一樣區別1113141516611662646212862256625122KB8KB16KB32KB64KB通過表中不同型號的芯片觀察存儲單元的數量我們判斷這枚芯片一個存儲單元能夠存多少位二進制的信息,可以查看他的數據線的根數如何判斷芯片一個存儲單元存多少位二進制的信息?查看數據線的根數下面來看一下6264的工作時序下面看一下6264的工作時序這是他的寫操作的時序圖,我們可以使用查看總線時序周期圖的方法來看這張圖,首先是地址信號是有效的,然后cs1為低電平,cs2為高電平,這兩個信號同時生效后,這個芯片被選中,它開始工作,當WE引腳為低電平的時候,說明這個芯片可以被寫入數據,隨后,CPU會在數據總線上發送數據,然后將這些數據寫入到6264中WECS1A0~A12D0~D7tDW
tw
twcCS2地址信號是有效6264的寫操作時序圖cs1為低電平,cs2為高電平WE引腳為低電平芯片可被寫入數據CPU在數據總線上發送數據,將數據寫入到6264中兩個信號同時生效,芯片被選中開始工作查看總線時序周期圖方法這是6264的讀操作時序圖,與寫操作類似,首先也是需要有地址信息,然后cs1為低電平,cs2為高電平表示選中這枚芯片,它開始工作,當OE引腳為低電平時,表示芯片的數據可以被讀出,隨后,CPU會從數據總線上得到讀出的數據與寫操作類似需要地址信息6264的讀操作時序圖cs1為低電平,cs2為高電平OE引腳為低電平芯片數據可被讀出CPU從數據總線上得到讀出的數據表示選中芯片開始工作OECS1A0~A12D0~D7tCO
tOE
tRWCS2SRAM芯片的應用方面,我們關注的是怎么使用這枚芯片,也就是怎樣實現它和我們的整個微機系統的連接,SRAM芯片的應用怎么使用這枚芯片?怎樣實現它和我們的整個微機系統的連接其中關鍵的問題就是如何去安排這些芯片的地址范圍,使他們能滿足用戶的要求,比如我們要求Cache只要能存儲8k個字節就夠用了,那么我們一枚6264的芯片就可以了,但是如果8k的存儲空間不夠用,就需要幾枚6264的芯片關鍵問題如何安排這些芯片的地址范圍滿足用戶的要求例:要求Cache能存儲8k個字節夠用,一枚6264芯片就可以如果8k存儲空間不夠用就需要幾枚6264芯片那么如何去合理的安排他們的地址范圍,讓用戶能夠通過物理地址去找到正確的芯片和正確的存儲單元這個就是我們接下來要解決的問題關鍵問題如何去合理的安排他們的地址范圍讓用戶能夠通過物理地址去找到正確的芯片和正確的存儲單元這就是接下來要解決的問題微機原理及應用第4講
全地址譯碼下面我們來學習譯碼首先來看一下6264與系統的連接,右邊是SRAM6264,左邊是8088的總線同學們可以看到將SRAM6264連接到系統中的樣子全地址譯碼SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路6264與系統的連接首先,SRAM6264有13根地址線,要跟8088的地址總線的低13根相連SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路13根地址線低13根相連其次,他的數據線d0~d7也要跟8088的數據線相連SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路另外,WE可寫引腳要跟MEMW引腳相連SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路OE是可讀引腳要跟MEMR引腳相連,大家可以看到這些引腳都是一一對應的SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路引腳一一對應對于6264來說,還差兩個引腳,就是它的片選信號CS1和CS2SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路差兩個引腳為了簡單起見,我們將CS1直接接高電平,這樣就可以靠CS1引腳的狀態選通6264SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路靠CS1引腳的狀態選通6264接高電平SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路在選通6264的時候要利用8088總線的高位地址信號利用8088總線的高位地址信號這些信號經過譯碼電路譯碼后,輸出一個片選信號能夠選通這片6264輸出片選信號譯碼電路SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路選通6264說到這里,請同學們再和老師一起回憶一下譯碼電路的功能。它是將輸入的一組二進制編碼變換為一個特定的輸出信號將輸入的一組二進制編碼變換為一個特定的輸出信號譯碼電路的功能對于6264來說,譯碼電路的輸入就是8088總線系統中高位地址信號,而輸出的信號就是它的片選信號,被直接接在CS1引腳,當這個片選信號為低電平的時候,這片6264被選中。SRAM62648088總線D0~D7D0~D7A0A12…A0A12…WEMEMWMEMROECS1CS2+5V高位地址信號……譯碼電路譯碼電路的輸入:8088總線系統中高位地址信號譯碼電路的輸出:片選信號接在CS1引腳片選信號為低電平時,這片6264被選中假設系統中有好幾片6264,我們就需要通過譯碼電路來選中不同的芯片通過譯碼電路選不同的芯片換句話說,當某個芯片被選中時,此時高位地址信號的狀態就是這片芯片所有內存單元所共有的,是它們區別于其它的芯片的地址芯片被選中高位地址信號的狀態是這片芯片內存單元所共有是它們區別于其它的芯片的地址對于譯碼電路來說,分全地址譯碼和部分地址譯碼譯碼電路全地址譯碼部分地址譯碼全地址譯碼的意思是我們期望為系統中每一個存儲單元都分配一個唯一的地址,全地址譯碼每一個存儲單元都分配一個唯一的地址對于8088系統來說,CPU一共有20位地址線,現在用低13位可以區分一片6264內部的存儲單元,那么剩下的7位就用來區分不同的6264芯片8088系統CPU共有20位地址線低13位區分一片6264內存單元7位區分不同的6264芯片全地址譯碼如果這7位的某一種組合只能選中一個芯片的話,那么這種譯碼方式就是全地址譯碼,7位只能選中一個芯片全地址譯碼全地址譯碼對于SRAM6264來說它的A0~A12都用來尋址它片內的存儲單元A0A12A13A190000000000000XXXXXXX1111111111111XXXXXXXSRAM6264片首地址片尾地址尋址片內的存儲單元SRAM6264高七位的某種組合經過譯碼電路以后會使c1引腳為低電平從而選中這個芯片,譯碼電路74LS138譯碼器c1引腳為低電平選中這個芯片所以高位地址是用于片選的,而且對于這一個芯片來說,所有內存單元的片選地址都是相同的高位地址用于片選芯片上所有單元的片選地址都相同它的第一個單元的20位物理地址叫做片首地址最后一個單元的20位物理地址叫做片尾地址A0A12A13A190000000000000XXXXXXX1111111111111XXXXXXXSRAM6264片首地址片尾地址片首地址片尾地址那么片首地址到片尾地址其實就限定了這款芯片它在內存空間中所占有的地址的范圍A0A12A13A190000000000000XXXXXXX1111111111111XXXXXXXSRAM6264片首地址片尾地址限定芯片在內存空間中占有的地址范圍好,下面我們來學習全地址譯碼全地址譯碼首先來看,全地址譯碼的定義它是使用CPU系統提供的全部地址總線做譯碼,其中高位地址線譯碼輸出作為片選信號,低位地址的信號線存儲芯片的地址線一一相連,用來區分芯片里面不同的內存單元全地址譯碼使用CPU系統提供的全部地址總線做譯碼高位地址線譯碼輸出作為片選信號低位地址的信號線存儲芯片的地址線一一相連,用來區分芯片里面不同的內存單元因此,每個內存單元在整個內存空間中都具有唯一的地址每個內存單元在整個內存空間中都具有唯一的地址對于6264芯片來說,我們是用CPU系統的低13位的地址信號A0~A12來決定6264芯片每個內存單元的地址6264芯片CPU系統的低13位的地址信號A0~A12決定6264芯片每個內存單元的地址然后用CPU系統的高7位地址信號,也就是A13~19來決定芯片在整個內存中的地址邊界6264芯片CPU系統的高7位地址信號A13~19決定芯片在整個內存中的地址邊界我們來看一個例子這里8088的系統總線跟6264相連,而且采用的是全地址譯碼,我們來看看這個芯片的地址范圍是多少。8088的系統跟6264相連采用全地址譯碼芯片的地址范圍是多少MEMR以上這些引腳都跟我們前面講的是一樣的,我們就直接看A13~A19是怎樣譯碼的A13~A19是怎樣譯碼的首先,A13~A19全部被用來譯碼了,所以肯定是全地址譯碼全地址譯碼再來看A13~A17全部被接在了與非門的輸入端口上A19A18A17A16A15A14A13A12~A000111110~03E000H …… ……00111111~13FFFFH接在與非門的輸入端口而A18和A19是先取非,然后又接在了與非門的輸入端口上A19A18A17A16A15A14A13A12~A000111110~03E000H …… ……00111111~13FFFFH先取非再接與非門的輸入端口所以,CS1什么時候是低電平呢?CS1什么時候是低電平呢?那就是當與非門全部的輸入端口都為高電平的時候,CS1就為低電平所以當A13~A17都為高電平,A18,A19都為低電平的時候,CS1為低電平CS1為低電平當A13~A17為高電平,A18,A19為低電平時CS1為低電平當與非門全部的輸入端口都為高電平時A19A18A17A16A15A14A13A12~A000111110~03E000H …… ……00111111~13FFFFH我們這個組合寫一下,就是A13~A17都為1A18和A19都為0的時候那么我們就可以知道這個芯片的地址范圍是3E000H~3FFFFHCS1為低電平當A13~A17為高電平,A18,A19為低電平時CS1為低電平當與非門全部的輸入端口都為高電平時A19A18A17A16A15A14A13A12~A000111110~03E000H …… ……00111111~13FFFFHA13~A17為1A18和A19為0芯片范圍:3E000H~3FFFFH我們再來看另一個例子這個例子直接使用了74LS138做譯碼器但是道理跟前面是一樣的Cs1接到了74LS138的Y7接口直接用74LS138做譯碼器Cs1接74LS138的Y7接口大家還記得74LS138的真值表嗎?記得74LS138的真值表嗎?我們先簡要的回憶一下74LS138的用法74LS138要想工作,首先要保證G1為高電平,G2b和G2a都為低電平而且74LS138是3線8線譯碼器,當輸入端CBA都為高電平時,Y7輸出端為低電平那么為了選通這片芯片,A13~A15必須同時為高電74LS138保證G1為高電平,G2b和G2a為低電平74LS138是3線8線譯碼器,當輸入端CBA為高電平時,Y7輸出端為低電平選通這片芯片,A13~A15須同時為高電G2a連接了一個與非門,為使G2a為低電平,A16和A17必須都為高電平G2b連接了一個或門,為使G2b為低電平,A18和A19必須同時為低電平我們把這些都記錄下來,A18和A19須同時為低電平G2b連接一個或門,使G2b為低電平A16和A17須為高電平G2a連接一個與非門,使G2a為低電平你會看到,這片6264的地址范圍是3E000H~3FFFFHA19A18A17A16A15A14A13A12~A000111110~03E000H …… ……00111111~13FFFFH地址范圍是3E000H~3FFFFH我們最后再來看一下G1這個引腳G1連接的是與非門A19A18A17A16A15A14A13A12~A000111110~03E000H …… ……00111111~13FFFFHG1連接的是與非門要想保證G1是高電平與非門的輸入只要有一個為低電平即可而與非門的輸入是MEMW和MEMR在同一時刻,要么讀,要么寫,所以只有一個是低電平的,此時G1是高電平,。MEMW和MEMR同時讀或寫一個低電平時,G1是高電平與非門的輸入只要一個低電平保證G1是高電平當總線既不讀也不寫時,表示CPU不跟存儲器有數據交換,此時G1引腳是低電平,那么74LS138也就不工作了。CPU不跟存儲器有數據交換總線不讀不寫時G1引腳是低電平74LS138不工作微機原理及應用第5講部分地址譯碼下面我們來學習部分地址譯碼部分地址譯碼是僅僅使用系統地址總線的一部分部分地址譯碼部分地址譯碼僅使用系統地址總線的一部分通常是使用高位地址總線的一部分進行譯碼輸出作為片選信號使用高位地址總線的一部分譯碼作為片選信號而低位的地址總線仍然是與存儲芯片的地址線一一相連低位地址總線與存儲芯片地址線相連部分地址譯碼會使地址出現重疊的區域;也就是不同的地址可能指向的是同一個芯片部分地址譯碼地址出現重疊的區域不同地址可能指向同一個芯片部分地址譯碼僅用于單片機系統和簡易的微控系統部分地址譯碼僅用于
單片機系統和簡易微控系統比如在這個例子中,使用了與非門作為部分地址譯碼電路;它輸入只有A13A14A15A17和A19,也就是A16和A18是沒有接到與非門的輸入端,所以A16和A18的狀態就不會影響到片選信號的狀態與非門作為部分地址譯碼電路A16和A18不會影響片選信號的狀態8088系統BUSMEMWMEMRA12A0D0~D7Y7&CS1OECS2WEA12A0SRAM6264D0~D7+5VA13A14A15A17A19我們高位地址的狀態寫一下;它就是這樣的一個結構;你可以看到這里A16和A18被畫了X,也就是他們的狀態,不管是0還是1都不會影響片選信號是有效的A19A18A17A16A15A14A13A12~A01X1X1110~0……1X1X1111~0不管0還是1都不會影響片選信號是有效的這樣A16和A18的狀態有四種組合,當這兩位都為0的時候,他們的地址范圍是AE000到AFFFF當A16為1,A18為0時,地址范圍是BE000到BFFFF當A18為1,A16為0時,地址范圍是EE000到EFFFF當這兩位都為1的時候,地址范圍又變成了FE000到FFFFFH可見,這四個地址段都可以選中這片6264芯片,所以這種譯碼的方式對地址的浪費是比較嚴重的AE000~AFFFF當兩位為0時BE000~BFFFF當A16為1,A18為0時EE000~EFFFF當A18為1,A16為0時FE000~FFFFFH當兩位為1時四個地址段都可選中6264芯片所以這種譯碼的方式對地址的浪費是比較嚴重的這種譯碼方式對地址的浪費比較嚴重我們來總結一下;部分地址譯碼的優點是連線比較簡單;因為他涉及的線路比較少連線較簡單部分地址譯碼的優點涉及線路較少缺點就是會導致在多片存儲芯片的場景下,地址是不連續的,而且地址是重復的;所以,部分地址譯碼多用在芯片數量比較少,系統的地址資源充分夠用的場合部分地址譯碼用在芯片數量較少多片存儲芯片下地址不連續,且地址重復部分地址譯碼的缺點系統地址資源充分夠用場合部分地址譯碼有譯碼片選法和線性片選法兩種接線方式譯碼片選法線性片選法部分地址譯碼譯碼片選法是將高位地址總線中的某根或者某幾根譯碼輸出作為片選信號,將高位地址總線中的某根或某幾根譯碼輸出作為片選信號譯碼片選法而線性片選法是將高位地址線的一根直接連接到存儲芯片的片選信號端將高位地址總線中的某根或某幾根譯碼輸出作為片選信號譯碼片選法將高位地址線的一根直接連接到存儲芯片的片選信號端線性片選法下面我們來舉例說明這個例子要求使用SRAM6116這個芯片構成一個4KB的存儲系統;要求其地址范圍在78000H~78FFFh之間舉例說明用存儲器芯片SRAM6116構成一個4KB的存儲系統,要求其地址范圍在78000H~78FFFH之間VccA8A9R/WOEA10CSD7D6D5D4D3123456789101112242322212019181716151413A7A6A5A4A3A2A1A0D0D1D2GND[例]用存儲器芯片SRAM6116構成一個4KB的存儲系統,要求其地址范圍在78000H~78FFFH之間首先一片6116芯片的存儲空間是2K乘以8比特但是題目要求構成4K的地址空間所以我們需要兩片6116芯片我們再來看看6116這個芯片的基本情況它有11個地址引腳所以他能尋址的范圍是二的11次方這樣的范圍那么我們需要為這兩片芯片分別分配地址的取值范圍第一片芯片的地址范圍是78000h到787FFh前邊九個比特都是相同的,后邊11個比特從000~7FFh是選擇第一片芯片內部的存儲單元的第二片芯片的地址范圍就接著安排,那就是78800h~78FFFH分析:61162K×8bits由此得知需要2片6116芯片第一片地址范圍為:78000H~787FFH第二片地址范圍為:78800H~78FFFH分析:6116 2K×
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農學(作物栽培學與耕作學)綜合測試題及答案
- 2026學年六年級數學第二學期期末綜合測試卷(有答案)
- 醫療招聘模擬考卷及參考答案
- 6年級上冊語文《暑假課前預習(答案)》26秋
- 宣傳思想文化隊伍建設情況調研報告(3篇)
- 教師招聘結構化面試基礎試題及答案
- 五年級下冊數學北師大含答案 郵票的張數
- 手足口病問答試題及參考答案
- 新疆生產建設兵團第三師圖木舒克市第一中學2025-2026學年高二上學期期末考試地理試卷(含答案)
- 湖工院《機械設計基礎》教學大綱
- 松下微波爐NN-DS581M使用說明書
- 電力交易員中級考試題庫
- 膽石癥中西醫結合診療專家共識(2025年)解讀 4
- 公務攝影培訓課件下載
- 快遞驛站可行性研究報告
- 2025年寧夏黃河出版傳媒集團有限公司招聘筆試參考題庫含答案解析
- 國家職業技能標準-動物疫病防治員2020年版-20211027001
- 信息技術必修一《數據與計算》第一章第一節《數據、信息與知識》教案
- 一《歸園田居(其一)》公開課一等獎創新教案設計中職語文高教版(2023-2024)基礎模塊下冊
- 雅馬哈RX-V365使用說明書
- T-CRHA 046-2024 標準手術體位安置技術規范
評論
0/150
提交評論