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

評論