国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于M80C186與M80C187的聯(lián)合驗(yàn)證系統(tǒng)設(shè)計(jì)與分析

2021-11-02 11:48:16呂東明
微處理機(jī) 2021年5期
關(guān)鍵詞:協(xié)處理器總線運(yùn)算

張 彬,呂東明

(中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng)110000)

1 引言

Intel公司的16位高精度微處理器M80C186將15~20個(gè)最常見(jiàn)的微處理器系統(tǒng)組件集成在一個(gè)芯片上,它具有很多8086系列處理器的新特性,例如DRAM刷新控制單元、直接數(shù)字接口以及省電模式等。此外,M80C186在原有的8086指令集上增加了10種新的指令,可以在兼容模式和增強(qiáng)模式下工作。在增強(qiáng)模式下增加了節(jié)能控制、DRAM刷新、協(xié)處理器接口這三個(gè)新功能[1]。M80C186以其豐富的功能及強(qiáng)大的運(yùn)算能力在通信系統(tǒng)、信號(hào)處理系統(tǒng)中有著廣泛的應(yīng)用。

M80C186具有16根數(shù)據(jù)線和20根地址線,可尋址空間為1MB,I/O地址空間為64kB。它的硬件僅支持對(duì)整數(shù)的算術(shù)運(yùn)算,不能進(jìn)行高精度的數(shù)值運(yùn)算,而高性能數(shù)學(xué)協(xié)處理器M80C187的誕生為解決該問(wèn)題提供了新的可能[2]。M80C187與M80C186的目標(biāo)代碼是兼容的,能夠并行工作,協(xié)同分工。故此可基于各自特點(diǎn),將兩者配合起來(lái)使用,設(shè)計(jì)出一套改進(jìn)的聯(lián)合驗(yàn)證系統(tǒng)。

2 總體設(shè)計(jì)方案

微處理器M80C186的中央處理單元(CPU)主要包含總線接口單元和執(zhí)行單元??偩€接口單元包括6字節(jié)的隊(duì)列和16位的段寄存器。執(zhí)行單元包含16位算數(shù)邏輯單元和16位通用寄存器組,以及用作總體控制的程序控制器[3]。片內(nèi)電路還包含時(shí)鐘發(fā)生器、可編程定時(shí)器、可編程中斷控制器、可編程DMA控制器、片選單元等。

M80C186沒(méi)有存儲(chǔ)單元和一些必要的外設(shè),不能構(gòu)成一個(gè)完整的系統(tǒng),因此需要用戶(hù)自己設(shè)計(jì)電路來(lái)搭建系統(tǒng)。在所設(shè)計(jì)的聯(lián)合驗(yàn)證系統(tǒng)中,除了占主體地位的16位高精度微處理器M80C186與高性能數(shù)學(xué)協(xié)處理器M80C187之外,還包括以下幾個(gè)重要組成部分:外部時(shí)鐘源、電源電路、串口通信電路、地址鎖存器、緩沖器(數(shù)據(jù)收發(fā)器)、存儲(chǔ)器(包含數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器)等。系統(tǒng)的總體設(shè)計(jì)框圖如圖1所示。

圖1 M80C186與M80C187聯(lián)合驗(yàn)證系統(tǒng)總體框圖

作為控制系統(tǒng)的核心,微處理器M80C186與協(xié)處理器M80C187通過(guò)BUSY、ERROR、PEREQ、NCS等端口直接連接,以并行協(xié)同的方式進(jìn)行工作。微處理器和協(xié)處理器供電電源均為5V直流電。時(shí)鐘發(fā)生器為M80C186提供系統(tǒng)時(shí)鐘。M80C186的數(shù)據(jù)線和地址線是分時(shí)復(fù)用的,因此需要地址鎖存器(LATCH)將地址信息保存起來(lái),為外設(shè)提供地址信息[4]。當(dāng)系統(tǒng)總線所掛外設(shè)過(guò)多時(shí),需要利用緩沖器(BUFFER)來(lái)增加總線的驅(qū)動(dòng)能力。M80C186內(nèi)部也沒(méi)有存儲(chǔ)器,因此需要外接程序存儲(chǔ)器(E2PROM)和數(shù)據(jù)存儲(chǔ)器(RAM)。增加串口(Serial Port)的目的是為了將微處理器與PC建立通信,進(jìn)而把系統(tǒng)的運(yùn)算結(jié)果輸出到PC上。

3 電路設(shè)計(jì)

3.1 協(xié)同電路

此聯(lián)合驗(yàn)證系統(tǒng)設(shè)計(jì)中最重要的是M80C186和M80C187的協(xié)同電路設(shè)計(jì)。在該協(xié)同電路中,主處理器M80C186處于最大工作模式,一切控制指令均由M80C186發(fā)出,M80C187作為協(xié)處理器進(jìn)行高精度的數(shù)值浮點(diǎn)運(yùn)算[5]。

高性能數(shù)學(xué)協(xié)處理器M80C187的指令集增加了70多種助記符用來(lái)進(jìn)行復(fù)雜的數(shù)值計(jì)算。它通過(guò)浮點(diǎn)運(yùn)算和BCD數(shù)據(jù)擴(kuò)展了8086架構(gòu),且兩者的外圍接口電路和指令集完全兼容,這為硬件電路設(shè)計(jì)和軟件編寫(xiě)都帶來(lái)極大的便利條件。M80C187的接入,可大幅提高系統(tǒng)的數(shù)值運(yùn)算速度與運(yùn)算能力。協(xié)同電路的設(shè)計(jì)架構(gòu)如圖2所示。

圖2 M80C186和M80C187的協(xié)同電路架構(gòu)

M80C186與M80C187的部分控制接口通過(guò)通過(guò)BUSY、ERROR、PEREQ、NCS四個(gè)接口進(jìn)行信息交互,這四個(gè)接口的信號(hào)分別與TEST、MCS1、MCS0、MCS3這四個(gè)信號(hào)進(jìn)行復(fù)用。當(dāng)M80C186處于非復(fù)位狀態(tài)時(shí),M80C187會(huì)自動(dòng)將M80C186置于增強(qiáng)模式,并自動(dòng)配置引腳功能,此時(shí)M80C186處于編程就緒狀態(tài)[6]。

AD0~AD15是數(shù)據(jù)與地址的復(fù)用總線,在總線周期的T1狀態(tài),用作總線的低16位地址總線;在總線的T2、T3、Tw時(shí),用作數(shù)據(jù)總線。

AD16~AD19是狀態(tài)與地址的復(fù)用總線,在總線周期的T1狀態(tài),用作高4位地址線;在總線的T2、T3、Tw時(shí),用作狀態(tài)信號(hào)線。通過(guò)引腳的分時(shí)復(fù)用,可以在不同的時(shí)刻傳遞不同的信息,進(jìn)而減少引腳數(shù)量又不縮減芯片的功能。

在此協(xié)同電路中,M80C186和系統(tǒng)總線相連,當(dāng)需要M80C187進(jìn)行高精度數(shù)據(jù)運(yùn)算時(shí),M80C186的處理器擴(kuò)展請(qǐng)求引腳(PEREQ)發(fā)出總線請(qǐng)求進(jìn)行取指令,從CPU獲取總線控制權(quán)限,由M80C187從數(shù)據(jù)總線獲取數(shù)據(jù)并準(zhǔn)備操作數(shù),忙信號(hào)(BUSY)有效表示M80C187的數(shù)值執(zhí)行單元正在執(zhí)行數(shù)值運(yùn)算指令。M80C186的讀、寫(xiě)信號(hào)直接與M80C187的讀、寫(xiě)引腳相連。該設(shè)計(jì)減少了總線上掛載的外設(shè),也降低了系統(tǒng)的復(fù)雜度。

3.2 鎖存電路與緩沖電路

M80C186的AD0~AD15是數(shù)據(jù)與地址的復(fù)用總線,AD16~AD19是狀態(tài)與地址的復(fù)用總線。它們需要地址鎖存器將地址信息保留起來(lái),為存儲(chǔ)器等外設(shè)提供地址信息。此處選用的鎖存器是三態(tài)輸出的8路D類(lèi)鎖存器74ACT573T芯片。

采用三片74ACT573T芯片對(duì)地址信息AD0~AD19進(jìn)行鎖存,設(shè)計(jì)出的鎖存電路如圖3所示。將微處理器M80C186的地址鎖存信號(hào)ALE連接到鎖存器的LE引腳。鎖存器的輸出使能引腳OE直接接地。第一片74ACT573T對(duì)地址信息AD0~AD7進(jìn)行鎖存;第二片74ACT573T對(duì)地址信息AD8~AD15進(jìn)行鎖存,第三片74ACT573T對(duì)地址信息AD16~AD19進(jìn)行鎖存。

圖3 三片74ACT573T芯片構(gòu)成鎖存電路

當(dāng)系統(tǒng)總線連接外設(shè)較多時(shí),就需要為系統(tǒng)增加緩沖器電路,以便增加總線的驅(qū)動(dòng)能力。此處設(shè)計(jì)由兩片74LS245芯片構(gòu)成緩沖電路,如圖4所示。微處理器M80C186的數(shù)據(jù)總線允許信號(hào)DEN接到74LS245芯片的使能引腳OE上。M80C186的數(shù)據(jù)收發(fā)信號(hào)DT/R接到74LS245芯片的DIR引腳上。這樣通過(guò)兩片74LS245芯片組成的數(shù)據(jù)收發(fā)電路,對(duì)M80C186的數(shù)據(jù)傳輸起到緩沖的作用,增加了總線的驅(qū)動(dòng)能力。

圖4 兩片74LS245芯片構(gòu)成緩沖電路

3.3 程序存儲(chǔ)電路與數(shù)據(jù)存儲(chǔ)電路

在所設(shè)計(jì)的聯(lián)合驗(yàn)證系統(tǒng)中,存儲(chǔ)器以字節(jié)為單位進(jìn)行地址分配。容量為1MB的存儲(chǔ)空間被分成了奇體單元和偶體單元。奇體單元的地址是奇數(shù),偶體單元的地址為偶數(shù),它們各自的存儲(chǔ)空間大小即為512kB。但在電路的邏輯上,M80C186的存儲(chǔ)單元還是按照地址順序進(jìn)行排列。

在此設(shè)計(jì)出基于AT28C256(E2PROM)芯片的程序存儲(chǔ)電路,用來(lái)讀取程序代碼并加載運(yùn)行。電路選用兩片32k×8bit的AT28C256芯片,一片作為奇體存儲(chǔ)單元,另一片作為偶體存儲(chǔ)單元,如圖5所示。在電路中,M80C186的片選信號(hào)UCS連接AT28C256芯片的片選引腳CE。M80C186的讀取信號(hào)RD連接AT28C256芯片的使能引腳OE。M80C186的數(shù)據(jù)總線的高8位與奇體單元的數(shù)據(jù)線相連,低8位與偶體單元的數(shù)據(jù)線相連。

圖5 兩片AT28C256芯片構(gòu)成程序存儲(chǔ)電路

數(shù)據(jù)存儲(chǔ)電路則是基于JM7C185(RAM)芯片進(jìn)行設(shè)計(jì),用來(lái)保存臨時(shí)數(shù)據(jù)。該部分電路采用兩片8kB×8bit的JM7C185芯片與一片四通道或門(mén)邏輯器件CD4071,一共可以存儲(chǔ)8kB×16bit的數(shù)據(jù),所設(shè)計(jì)電路如圖6所示。M80C186的片選信號(hào)LCS連接JM7C185芯片的片選引腳CS。對(duì)于低字節(jié)RAM,M80C186的LA0和RD作或邏輯運(yùn)算,輸出接到第一片JM7C185的使能引腳OE。M80C186的LA0和WR作或邏輯運(yùn)算,輸出接到第一片JM7C185的寫(xiě)引腳WE。同理,對(duì)于高字節(jié)RAM,M80C186的LA0和RD作或邏輯運(yùn)算,輸出接到第二片JM7C185的使能引腳OE,M80C186的LA0和WR作或邏輯運(yùn)算,輸出接到第二片JM7C185的寫(xiě)引腳WE。

圖6 兩片JM7C185芯片構(gòu)成的數(shù)據(jù)存儲(chǔ)電路

3.4 串口通信電路的設(shè)計(jì)

M80C186不具有串口功能,因此要想把運(yùn)算結(jié)果輸出到PC上,需要設(shè)計(jì)串口電路,讓M80C186和M80C187聯(lián)合驗(yàn)證系統(tǒng)與PC建立通信,為此所設(shè)計(jì)的基于8251芯片的串口通信電路如圖7所示。

圖7 基于8251的串口通信電路

在該電路中,M80C186的片選信號(hào)PCS接至8251的片選引腳CS;地址信號(hào)LA0接至8251的尋址引腳CD;讀、寫(xiě)信號(hào)分別接至8251的讀、寫(xiě)引腳。8251芯片采用查詢(xún)的方式與M80C186進(jìn)行信息交換。當(dāng)8251的狀態(tài)寄存器D0為信號(hào)1時(shí),M80C186可以向8251數(shù)據(jù)端口寫(xiě)入數(shù)據(jù),完成串行數(shù)據(jù)的發(fā)送。當(dāng)8251的狀態(tài)寄存器D1為1信號(hào)時(shí),M80C186可以向8251數(shù)據(jù)端口讀出數(shù)據(jù),完成一幀數(shù)據(jù)的接收。

4 分析與驗(yàn)證

基于上述設(shè)計(jì)方案,依據(jù)原理設(shè)計(jì)圖,對(duì)實(shí)際電路進(jìn)行布局布線、PCB制作,最后搭建出此款基于微處理器M80C186和協(xié)處理器M80C187的聯(lián)合驗(yàn)證電路,實(shí)物圖如圖8所示。M80C187協(xié)處理器主要包含三個(gè)單元:控制單元、數(shù)據(jù)接口單元和浮點(diǎn)運(yùn)算單元。控制單元通過(guò)數(shù)據(jù)接口單元與微處理器M80C186進(jìn)行通信[7]。M80C187的指令分為六個(gè)功能組:數(shù)據(jù)傳輸、計(jì)算、比較、超越、常數(shù)、控制。M80C187的浮點(diǎn)運(yùn)算單元在控制單元和數(shù)據(jù)接口單元的監(jiān)控下進(jìn)行取指、執(zhí)行。為驗(yàn)證該系統(tǒng)的雙精度浮點(diǎn)數(shù)運(yùn)算能力,首先對(duì)E2PROM進(jìn)行編程使系統(tǒng)進(jìn)行常數(shù)計(jì)算:3+5。然后通過(guò)邏輯分析儀進(jìn)行多通道信號(hào)采集、邏輯分析與時(shí)序判定,得到系統(tǒng)的運(yùn)算結(jié)果(雙精度浮點(diǎn)數(shù))并與標(biāo)準(zhǔn)值進(jìn)行對(duì)比,進(jìn)而驗(yàn)證系統(tǒng)的可操作性與準(zhǔn)確性。邏輯分析儀采集的信號(hào)如圖9所示。

圖8 所設(shè)計(jì)聯(lián)合驗(yàn)證電路實(shí)物圖

圖9 邏輯分析儀采集信號(hào)

利用邏輯分析儀采集以下信號(hào):總線上的數(shù)據(jù)、PEREQ、BUSY、ERROR、NPRD、NPWR、CMD0、CMD1、NPS1、RESET、CLK。其中,CLK為系統(tǒng)時(shí)鐘;PEREQ信號(hào)有效表示M80C187從M80C186獲取局部總線控制權(quán)限;BUSY信號(hào)有效表示M80C187的浮點(diǎn)運(yùn)算單元正在執(zhí)行指令。

在系統(tǒng)發(fā)生錯(cuò)誤時(shí),ERROR信號(hào)變?yōu)橛行?,BUSY信號(hào)變?yōu)闊o(wú)效。M80C187的接口電路狀態(tài)始終與M80C186保持一致。為了便于指令的區(qū)分,M80C187的指令都是以“11011”開(kāi)始的。M80C187內(nèi)部包含了臨時(shí)寄存器、移位寄存器等。當(dāng)系統(tǒng)執(zhí)行逃逸指令(ESC)時(shí),無(wú)需數(shù)值執(zhí)行部件參加運(yùn)算,由控制部件單獨(dú)完成運(yùn)算[8]。

通過(guò)分析圖9的信號(hào)時(shí)序可知,系統(tǒng)運(yùn)算的結(jié)果為雙精度浮點(diǎn)數(shù)“41000000”,該數(shù)表示十進(jìn)制數(shù)“8”,因此系統(tǒng)計(jì)算正確。同配置下的后續(xù)實(shí)驗(yàn)也進(jìn)一步證明了該聯(lián)合測(cè)試系統(tǒng)可以計(jì)算三角函數(shù)、指數(shù)和對(duì)數(shù)等高精度浮點(diǎn)數(shù)數(shù)值運(yùn)算。

5 結(jié)束語(yǔ)

M80C186和M80C187的聯(lián)合驗(yàn)證平臺(tái)的設(shè)計(jì)不僅可以用于驗(yàn)證M80C187數(shù)字協(xié)處理器的功能,還可以用于驗(yàn)證M80C186的一些其他重要功能,為設(shè)計(jì)M80C187協(xié)處理器提供有力的參考依據(jù)。驗(yàn)證系統(tǒng)的整體電路的設(shè)計(jì)可以為以后基于80X86、80X87、8096、8XC196等一系列16位MCU應(yīng)用驗(yàn)證的硬件設(shè)計(jì)提供參考依據(jù)。

猜你喜歡
協(xié)處理器總線運(yùn)算
重視運(yùn)算與推理,解決數(shù)列求和題
基于HBase分布式數(shù)據(jù)庫(kù)海量數(shù)據(jù)序列存儲(chǔ)優(yōu)化
有趣的運(yùn)算
基于HBase分布式數(shù)據(jù)庫(kù)海量數(shù)據(jù)序列存儲(chǔ)優(yōu)化
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
HBase分布式二級(jí)索引通用方案研究
“整式的乘法與因式分解”知識(shí)歸納
撥云去“誤”學(xué)乘除運(yùn)算
多通道ARINC429總線檢查儀
象山县| 沧源| 大城县| 济阳县| 汉沽区| 开江县| 渝北区| 连江县| 历史| 杨浦区| 西林县| 广汉市| 会昌县| 永州市| 东阳市| 枣庄市| 泗水县| 荣成市| 百色市| 安吉县| 洛南县| 浏阳市| 吉林市| 原平市| 嘉义县| 会东县| 平阳县| 旅游| 丰顺县| 怀来县| 称多县| 兴安县| 罗城| 田阳县| 手游| 赞皇县| 怀宁县| 武汉市| 苏尼特右旗| 阳春市| 溧水县|