新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 詳細解讀ISA總線存儲器周期的注意事項

        詳細解讀ISA總線存儲器周期的注意事項

        作者: 時間:2018-08-02 來源:網絡 收藏

        基于IBM鼻祖計算機所具有的1MB空間的8位總線,擴展成為具有16MB空間的16位總線。在兼容性保持方面給予了足夠的重視,具體地說就是將分成兩個插口(CardEdge),與16位擴展相關的信號都被分配到小的插口(添加的)上。除此之外,我們還可看到在信號關系方面,為了保持兼容性也做了相當細致的工作。

        本文引用地址:http://www.104case.com/article/201808/385083.htm

        下面,我們將在利用擴展部分及存儲器空間的基礎上針對必須注意的信號進行解說。在說明中,我們假設將的插口中靠近面板一側(較寬的一側)的稱為8位總線部分,將另一個插口稱為16位擴展部分。

        1. 地址

        地址總線以不同的信號名稱交疊存在,8位總線部分為SA0~SA19,16位擴展部分為LA17~LA23。PC/AT的思路是將主存儲器也擴展到ISA總線上,因此,只要認為可以在1M字節(100000h地址)以上的范圍內簡單配置以128K字節為單位的擴展存儲器卡、擁有到LA17為止的地址即可。

        2. 存儲器讀/寫信號

        存儲器的讀/寫信號在8位總線部分具有SMEMR及SMEMW信號,而在16位擴展部分具有MEMR及MEMW信號。

        兩者雖然具有完全相同的意思,但有效的范圍不同。MEMR和MEMW在進行ISA總線的存儲器存取操作中必須有效,而SMEMR及SMEMW只在存取1M字節以內的范圍(000000h~0FFFFFh)時有效。

        這是為了保持低位的兼容性。由于8位總線的存儲器空間為1M字節,所以地址總線只有20根(SA0~SA19)。因此,單從8位總線的地址看,不能區分CPU連接了0地址、100000h地址還是200000h地址等。如果將原來的8位總線卡插人ISA總線,則當訪問1M字節以上的空間時,若SMEMR及SMEMW也有效,就是非常糟糕的事情了。因此,設計時就需要將其設計成只能在1M字節以內的空間訪問時有效。

        曲于本次將SRAM主板放置在000000h~0DFFFFh地址,所以利用了SMEMR及SMEMW信號。

        3. 刷新

        由于曾有過在ISA總線上利用DRAM對主存儲器進行擴展的想法,所以刷新周期大約為15.6μs。該刷新操作與REFRESH信號一起有效,在地址低位的8位(SA0~SA7)上附上刷新地址,就可以形成存儲器讀取周期。

        這類似于啞元的存儲器讀取周期,本次為了以防萬一,將其設為不應答。

        4. 等待關系

        本次不利用與等待相關的信號,僅做一些說明。

        ISA總線還包括為了延長CPU總線周期的等待信號(IOCHRDY)以及縮短總線周期、提升速度的SRDY(有時也表示為ZWS及OWS)信號。

        在目地端針對主機的要求不能立即應答的情況下,利用IO-CHRDY等待總線周期的結束,以低電平表示Not Ready,也就是等待的意思。由于借助ISA總線的上拉電阻通常將其設置為高電平,所以只要不做任何更改,它將不會處于等待狀態,只是執行普通的總線周期。

        SRDY信號則相反,是能夠縮短總線周期的信號。ISA總線的情況下,16位存儲器存取操作(MEMCS16有效)雖然能夠在3個周期內完成,但為了能讓通常需要6個周期完成的8位存儲器存取操作縮短到3個周期,就可以利用SRDY信號。

        5. 8位

        ISA總線的8位存儲器存取周期如圖所示,并列了標準周期、利用了IOCHRDY信號的插人一個等待的示例以及利用了SRDY信號的不等待存取的操作示例。


        圖 ISA總線的8位存儲器存取周期

        由于SYSCLK通常為8MHz,所以一個周期為125ns。現如今SRAM的存取時間在100ns以內的非常普通,所以可以說這是非常緩慢的總線周期。8位如果不采用等待信號,則可以在6個周期內完成存取操作。

        BALE在高電平期間地址發生變化,地址(SA0~SA19)確定后,BALE變為低電平,指令(SMEMR/ SMEMW)有效后開始存取操作。

        因為作為高位地址的LA17~LA23在BALE變為低電平后,在規格上是不定的,所以需要提前在BALE上鎖存譯碼結果,鎖存LA。事實上,曲于在主板上特意改變LA沒有任何意義,所以,LA并不是不定的,一般是與SA同樣保持輸出狀態。盡管如此,在這方面也需要加以注意。由于本次配置的地址在1M字節以內的范圍(0D0000h)內,不會利用到LA,因而不必注意此處。

        在寫操作時,指令(SMEMW)有效之前盡早確定數據,存儲器由于是在SMEMW的上升沿提取數據的,所以對于建立時間,可以說有足夠的富余時間。指令有效之后,主機與時鐘的上升同步監視IO—CHRDY信號,如果IOCHRDY變為低電平,就插入等待信號。

        本次不是特別需要等待信號,因此只按照原來的默認時序進行。在結束第6個周期時指令無效。在進行讀操作時,以這樣的時序提取數據。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 旌德县| 休宁县| 融水| 泰兴市| 安陆市| 卢湾区| 油尖旺区| 凤山县| 金平| 资源县| 会泽县| 会宁县| 遂川县| 都兰县| 巴林右旗| 富源县| 龙门县| 汶川县| 红安县| 田林县| 昌乐县| 呼图壁县| 阿城市| 邢台县| 思茅市| 华安县| 常山县| 特克斯县| 军事| 兴仁县| 凤凰县| 东光县| 马关县| 三门县| 毕节市| 新闻| 绥化市| 郯城县| 怀化市| 筠连县| 周至县|