2007年,我開發(fā)了一種名為PERSEUS-3的計(jì)算機(jī),以克服1980年自制的機(jī)器語言計(jì)算機(jī)遭受的挫折。其功能如下。
(1)可以在沒有PC的情況下用機(jī)器語言編程。
(2)可以手動(dòng)執(zhí)行單條指令,并在此時(shí)顯示執(zhí)行地址。
(3)我自己的微型翻譯語言已開發(fā)到這臺計(jì)算機(jī)上。
(4)最初,我使用PC作為操作字符終端,后來我開發(fā)了一個(gè)自制終端并使用了它。
(5)后來,此計(jì)算機(jī)的概念成為我的#6502獨(dú)立計(jì)算機(jī)項(xiàng)目的PERSEUS-7計(jì)算機(jī)的基礎(chǔ)。
1.硬件配置 圖1顯示了硬件配置。CPU執(zhí)行指令時(shí),CPU會訪問存儲設(shè)備和外圍設(shè)備。編程時(shí),CPU通過直接內(nèi)存訪問(DMA)電路與總線分開,并且面板上的開關(guān)和LED直接連接到內(nèi)存設(shè)備。
2. CPU 我之所以選擇摩托羅拉的MC6802作為該計(jì)算機(jī)的CPU,是因?yàn)槲以?980年對該計(jì)算機(jī)進(jìn)行了機(jī)器語言開發(fā)經(jīng)驗(yàn),并且易于制作DMA電路。MC6802具有與流行的MC6800相同的指令,但是在暫停狀態(tài)下,地址總線不會變?yōu)楦咦钁B(tài),而是繼續(xù)輸出下一個(gè)可執(zhí)行地址。這對于常規(guī)的DMA電路設(shè)計(jì)是不方便的,但是它適合在LED上顯示運(yùn)行地址。
3.記憶 存儲設(shè)備是一個(gè)16 k位SRAM(HM6116LP-3)和一個(gè)64 k位SRAM(6264A-10L)??偞鎯θ萘繛?0 k字節(jié)。這兩款設(shè)備均由3.6 V,70 mA h NiMH電池備份。電池充滿a電。HM6116的2 k字節(jié)區(qū)域(包括系統(tǒng)向量地址)具有寫掩碼開關(guān)。解釋器已安裝到該區(qū)域。使寫保護(hù)開關(guān)可寫,然后輸入程序。然后將寫保護(hù)開關(guān)設(shè)置為可禁用狀態(tài),然后您將運(yùn)行該程序。這樣,如果程序失控,程序?qū)⒉粫袛唷?/p>
4.面板開關(guān)和LED 在這臺計(jì)算機(jī)上,使用面板上的開關(guān)輸入程序。通過三態(tài)緩沖器(74HC244)將十六個(gè)地址開關(guān)連接到地址總線。八個(gè)數(shù)據(jù)開關(guān)也通過三態(tài)緩沖器(74HC244)連接到數(shù)據(jù)總線。DMA電路控制3狀態(tài)緩沖器。在串行接口中,發(fā)送/接收信號上有LED,因此您可以直接識別通信狀態(tài)。并行接口的一個(gè)位還配備了一個(gè)開關(guān)和一個(gè)LED,可讓您輕松了解接口的操作。
5.按照指令一一調(diào)試 當(dāng)面板上的RUN / HALT開關(guān)置于停止側(cè)時(shí),CPU的HALT輸入信號變?yōu)榈碗娖?,CPU停止運(yùn)行。地址LED指向已停止指令的下一個(gè)執(zhí)行地址。存儲器地址總線和數(shù)據(jù)總線通過DMA電路連接到開關(guān)。數(shù)據(jù)顯示LED顯示地址開關(guān)指向的地址的存儲數(shù)據(jù)值。現(xiàn)在,當(dāng)按下寫開關(guān)時(shí),數(shù)據(jù)開關(guān)的值將被寫入存儲器,并且LED顯示屏將變?yōu)閷懼怠?按下步驟開關(guān),CPU將執(zhí)行一條指令并停止。在地址LED顯示屏上可以看到程序的正確進(jìn)度。當(dāng)開關(guān)設(shè)置為RUN側(cè)時(shí),CPU將從停止位置開始連續(xù)執(zhí)行。
6.周邊設(shè)備 該計(jì)算機(jī)具有一個(gè)RS-232C串行接口和一個(gè)8位并行輸入/輸出接口。作為串行接口,使用了異步通信接口適配器(ACIA)MC6850(HD6350 Hitachi)。并行接口配置有標(biāo)準(zhǔn)邏輯74LS374、74HCT374。該計(jì)算機(jī)還具有模擬輸入/輸出接口。使用8位A / D轉(zhuǎn)換器(AD7820)作為模擬輸入,使用8位D / A轉(zhuǎn)換器(AD558JN)作為模擬輸出。動(dòng)態(tài)范圍為0v至2.5V。這是模擬信號處理的實(shí)驗(yàn)。
7.建立 筆記本計(jì)算機(jī)使用30厘米x 30厘米x 9厘米的鋼制外殼,但面板由鋁制成。該外殼用于制作自制的音頻放大器。使用變壓器和穩(wěn)壓器IC 7805的5V,1A電源安裝在機(jī)柜的背面。交流電源輸入為100V。通用板上的接線是繞線。
8.微小的口譯語言 我制作了名為Computation Interpreter -1(CI-1)的微小的16位整數(shù)解釋器語言。RS232C串行終端可以對該解釋器進(jìn)行編程和輸出。變量是‘A’到‘Z’的26個(gè)變量。運(yùn)算符只是四個(gè)算術(shù)運(yùn)算。數(shù)學(xué)表達(dá)式的表示法是反向波蘭表示法(RPN)。提供了條件決策語句和跳轉(zhuǎn)語句。我還提供了直接訪問參數(shù)指定的內(nèi)存空間的函數(shù)。這使我可以描述一個(gè)數(shù)組。該語言還包括行編輯器。如果某行沒有行號,則直接執(zhí)行。如果一行具有行號,則會將其添加到程序中。解釋器是用機(jī)器語言編寫的,并在此計(jì)算機(jī)上進(jìn)行手工組裝和調(diào)試。程序大小為1.7 k字節(jié)。
9.結(jié)果 我能夠制造一臺6802機(jī)器語言計(jì)算機(jī)和一個(gè)微型解釋器。1980年,當(dāng)我自己建造一臺這樣的計(jì)算機(jī)時(shí),調(diào)試程序很困難,因?yàn)闆]有地址LED。相比之下,這臺計(jì)算機(jī)PERSEUS-3具有LED指示程序的手動(dòng)進(jìn)度,并使調(diào)試機(jī)器語言變得實(shí)用。 該計(jì)算機(jī)PERSEUS-3成為仿真器,用于在2015年開發(fā)用于老式無線電數(shù)字顯示器的嵌入式后續(xù)計(jì)算機(jī)PERSEUS-4,并在2018年開發(fā)用于RS232C串行終端的嵌入式計(jì)算機(jī)PERSEUS-5
責(zé)任編輯:pj
-
cpu
+關(guān)注
關(guān)注
68文章
10804瀏覽量
210829 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7360瀏覽量
87632 -
語言編程
+關(guān)注
關(guān)注
0文章
23瀏覽量
9882
發(fā)布評論請先 登錄
相關(guān)推薦
評論