從最開始進行分析,一步一步擴展與改進,直到今天的高速信息處理時代
最難的是,該處理器時間太早,很多資料和功能信息都很難查找
4004芯片:
4004歷史
Intel-4004已經很難買到了,可以說是“老古董”。
Intel 4004微處理器最初是Intel專門爲日本一家名爲Busicom的公司設計製造,用於該公司的計算器產品。
Intel還曾開發出4001(動態內存DRAM)、4002(只讀存儲器ROM)、4003(Register),用4004芯片,配上4001(40字節的動態內存DRAM)、4002(256字節的只讀存儲器ROM)、4003(10位的移位寄存器芯片Register),再加上鍵盤和數碼管,就構成了一臺完整的微型計算機MCS-4。
4004是美國英特爾公司 (Intel) 第一款推出的微處理器,也是全球第一款商用微處理器。
4004處理器於1971年推出,尺寸爲3mm×4mm,外層有16只針腳,內裏有2,250個晶體管,它採用10微米制程。
4004的最高頻率有740kHz,能執行4位運算,支持8位指令集及12位地址集。
4004基本信息
位數/頻率:4bit/6萬次
頻率/前端總線:108KHZ/0.74MHz (4bit)
封裝/針腳數量:陶瓷DIP,塑封DIP / 16針
核心技術/晶體管數量:10微米 / 2250
封裝引腳
16腳DIP封裝,有白色陶瓷+金色散熱器 ( C4004 )、黑色陶瓷 ( D4004 )、黑色塑料 ( P4004 ) 等封裝形式
Pin Description(管腳定義)
- 1、DATA BUS I/O(數據總線輸入輸出)
D0 - D3:雙向總線,擔任數據與地址IO - 2、CLOCK PHASE(時鐘相位)
雙向時鐘信號輸入 - 3、SYNC OUTPUT(同步輸出)
同步信號輸出:在一個指令週期的開始,該信號被送至ROM和RAM芯片,以確保移位寄存器正常工作(這裏的ROM與RAM爲MCS-4系列制芯片) - 4、MEMORY CONTROL OUTPUT(RAM控制輸出)
CM-RAM0 - CM-RAM3輸出:用於4002RAM芯片組的片選 - 5、MEMORY CONTROL OUTPUT(ROM控制輸出)
CM-ROM輸出:用於ROM芯片組的片選 - 6、TEST(測試)
測試輸入:JCN指令 - 7、RESET(重置)
復位:該引腳保持高電平64個時鐘週期(8個機器週期)時4004發生復位,在復位發生時,所有寄存器都被清0 - 8、Vss、Vdd
電源
內部結構
寄存器組
名稱 | 大小(bits) | |
---|---|---|
– | Accumulator | 4 |
– | Carry/Link | 1 |
索引寄存器 | Index Registers ( IR ) | (4+4)*8 |
程序寄存器 | Program Counter ( PC ) | 12 |
堆棧指針 | Stack Pointer ( Stack ) | 12*3 |
臨時寄存器 | TEMP.REG | 4 |
– | INSTRUCTION REGISTER | 8 |
指令集
(帶 * 號的是雙字指令,需要兩個指令週期(1指令週期 = 8時鐘週期))
基礎指令 | ||||
---|---|---|---|---|
HEX | 助記符 | 指令字1 | 指令字2 | 功能 |
00 | NOP | 0000 0000 | – | 無 |
1 | *JCN | 0001 CCCC | AAAA AAAA | 當條件C成立,跳轉到當前ROM頁的A地址 |
2 | *FIM | 0010 RRR0 | DDDD DDDD | 取當前頁D地址處的數據,送至IR的R號寄存器對內 |
3 | FIN | 0011 RRR0 | – | 取IR中第0寄存器對數據作爲ROM頁內地址,將數據送至IR寄存器的R號寄存器對內 |
3 | JIN | 0011 RRR1 | – | 將IR中R號寄存器對內數據作爲間接跳轉地址進行跳轉 |
4 | *JUN | 0100 AAAA | AAAA AAAA | 無條件跳轉至地址A |
5 | *JMS | 0101 AAAA | AAAA AAAA | 無條件跳轉至地址A,將原地址保存在堆棧SP中 |
6 | INC | 0110 RRRR | – | RRRR寄存器+1 |
7 | *ISZ | 0111 RRRR | AAAA AAAA | RRRR寄存器+1,如果結果不爲0,跳轉至頁內地址A |
8 | ADD | 1000 RRRR | – | AC=AC+RRRR+C |
9 | SUB | 1001 RRRR | – | AC=AC-RRRR-C |
A | LD | 1010 RRRR | – | AC=RRRR |
B | XCH | 1011 RRRR | – | AC與RRRR交換 |
C | BBL | 1100 DDDD | – | 藉助堆棧地址返回,AC=DDDD |
D | LDM | 1101 DDDD | – | AC=DDDD |
F0 | CLB | 1111 0000 | – | AC=0,C=0 |
F1 | CLC | 1111 0001 | – | C=0 |
F2 | IAC | 1111 0010 | – | AC=AC+1 |
F3 | CMC | 1111 0011 | – | C=~C |
F4 | CMA | 1111 0100 | – | AC=~AC |
F5 | RAL | 1111 0101 | – | {C,AC}向左循環平移一位 |
F6 | RAR | 1111 0110 | – | {C,AC}向右循環平移一位 |
F7 | TCC | 1111 0111 | – | AC=C, C=0 |
F8 | DAC | 1111 1000 | – | AC=AC-1 |
F9 | TCS | 1111 1001 | – | 當C=0,AC=1001當C=1,AC=1010 |
FA | STC | 1111 1010 | – | C=1 |
FB | DAA | 1111 1011 | – | 對AC執行BCD修正 |
FC | KBP | 1111 1100 | – | 對AC進行獨熱碼到二進制轉換若輸入非法值,AC=1111 |
FD | DCL | 1111 1101 | – | 使用AC的低3位進行轉換頁AC=000時選擇CM0其他情況以三位分別控制 |
I/O與RAM指令 | ||||
2 | SRC | 0010 RRR1 | – | 分別在指令週期的X2與X3處將R寄存器保存的頁內地址送至ROM和RAM |
E0 | WRM | 1110 0000 | – | 將AC寫入選中的RAM主字符( 4位 )中 |
E1 | WMP | 1110 0001 | – | 將AC寫入選中的RAM端口中( 注:MCS-4中,RAM/ROM亦用作IO端口 ) |
E2 | WRR | 1110 0010 | – | 將AC寫入選中的ROM端口中 |
E3 | WPM | 1110 0011 | – | 將AC寫入選中的可讀寫程序存儲器中( 搭配4008/4009/4289使用 ) |
E4 | WR0 | 1110 0100 | – | 將AC寫入選中的RAM的0號狀態字符中 |
E5 | WR1 | 1110 0101 | – | 將AC寫入選中的RAM的1號狀態字符中 |
E6 | WR2 | 1110 0110 | – | 將AC寫入選中的RAM的2號狀態字符中 |
E7 | WR3 | 1110 0111 | – | 將AC寫入選中的RAM的3號狀態字符中 |
E8 | SBM | 1110 1000 | – | {C,AC}=AC-C-選中的RAM主字符 |
E9 | RDM | 1110 1001 | – | 將選中的RAM主字符寫入AC |
EA | RDR | 1110 1010 | – | 將選中的ROM輸入端口數據寫入AC |
EB | ADM | 1110 1011 | – | {C,AC}=AC+C+選中的RAM主字符 |
EC | RD0 | 1110 1100 | – | 將選中的RAM的0號狀態字符寫入AC |
ED | RD1 | 1110 1101 | – | 將選中的RAM的1號狀態字符寫入AC |
EE | RD2 | 1110 1110 | – | 將選中的RAM的2號狀態字符寫入AC |
EF | RD3 | 1110 1111 | – | 將選中的RAM的3號狀態字符寫入AC |
以上就是Intel公司首款商用處理器,Intel原本只是造存儲器的一家小公司,因爲日本Busicom公司(造計算器)的小看,從此Intel慢慢轉型進入微處理器的市場,一發不可收拾成。4004是Intel歷史性的標誌。
MCS-4就是4004處理器+4001ROM+4002RAM+4003SR的組合,微型計算機就是多塊芯片的集合,中央處理器用來負責控制和管理。
MCS-4微型計算機
歷史
該MCS-4 (微型計算機集-4 )或4000系列或Busicom芯片組是一個家庭的4位被開發的微處理器芯片組英特爾。整個芯片組由四個獨立芯片組成,包括4004 CPU,後者成爲第一個商用微處理器。MCS-4於1971年3月完工,於6月投入生產,並於1971年11月15日投放市場。
在Federico Faggin於1970年加入英特爾之前,4004的發展相當緩慢。Federico在英特爾開發了多項設計創新,使得微處理器可以安裝在一個芯片中,包括使用硅柵技術的隨機邏輯芯片設計的新方法,Faggin開發了4004測試工具,芯片和邏輯設計,同時整個MCS-4系統的所有芯片佈局。
當時,英特爾僅以其內存芯片而聞名。
組件
MCS-4只需4001 ROM和4004 CPU即可實現最低功能,但其設計與RAM和移位寄存器完全兼容。此外,另外兩個芯片4008和4009擴展了系統,可與英特爾現有的任何內存芯片選擇配合使用。
部分 | 描述 |
---|---|
4001 | 只讀存儲器 |
4002 | 內存 |
4003 | 移位寄存器 |
4004 | MPU |
4008 | 地址鎖存器 |
4009 | I/O接口 |
首席設計師
- 特德霍夫
- 費德里科法金
- Stan Mazor
- Masatoshi Shim
相關文件
-
MCS-4 數據表
鏈接:https://pan.baidu.com/s/15zO7lQ7urFh9zOpKaOIYAw
提取碼:9a96 -
MCS-4 手冊
鏈接:https://pan.baidu.com/s/12Qww3WBZ-jMgBEAfWMvnvg
提取碼:utdl
框架
這就是MCS-4組成的核心部分,應該大致能理解該微型計算機的框架,接下來將分析其運作和功能
MCS-4的組成結構與功能分析
英特爾微處理器快速參考指南:https://www.intel.com/pressroom/kits/quickreffam.htm#i486
簡介:
MCS-4是一套微型可編程計算機,適用於測試系統、外圍設備、終端、計費機、測量系統、數字和過程控制等應用。
4004 CPU、4003 SR和4002 RAM是標準構建塊。4001 ROM包含自定義微程序,使用符合客戶規格的金屬掩模實現。
MCS-4系統易於與開關、鍵盤、顯示器、電傳打字機、打印機、閱讀器、A-D轉換器和其他流行的外圍設備進行接口。
使用MCS-4微型計算機集構建的系統最多可以有4K x 8位ROM字、1280 x 4位RAM和128根 I/O線,而不需要任何接口邏輯。通過添加一些簡單的門,MCS-4可以在任何組合中擁有48個RAM和ROM包,以及192個 I/O行。最小系統配置由一個CPU和一個256 x 8位ROM組成。
MCS-4有一個非常強大的指令集,允許二進制和十進制算術。它包括條件分支、跳轉到子例程,並通過間接獲取提供了對ROM查找表的有效使用。
英特爾MCS-4微型計算機(4001/2/3/4)採用硅柵技術製造。這種低閾值技術允許設計和生產性能更高的MOS電路,並在單片芯片上提供比傳統MOS技術更高的功能密度。
4001(ROM)
256x8位掩模可編程ROM和4位I/O端口
4001是一個2048位的金屬掩模可編程ROM,爲MCS-4微型計算機提供定製的微程序顯示功能。
地址和數據通過時間複用在4條數據總線上傳輸。計時是使用兩個時鐘信號和4004提供的同步信號內部生成的。地址在同步之後的三個時間段從CPU接收,並在256個字中選擇一個,在16個ROM中選擇一個。爲此,每個ROM被metal選項標識爲#0、1、2到15。還提供了一個命令行(CM),它的作用域是選擇一個ROM庫(由16個ROM組成的組)。在尋址時間之後的兩個時間段(m1&m2)內,信息從ROM傳輸到數據總線線路。
ROM的第二種操作模式是作爲輸入/輸出控制設備。在這種模式下,ROM芯片將把信息路由到4 I/O外部線路的數據總線線路和數據總線線路之間。每個芯片都有能力識別自己的 I/O端口操作,識別 I/O端口指令,並決定它是輸入還是輸出操作和執行指令。在正常工作時,外部信號(CL)會自動清除輸出寄存器。
當復位線低(負電壓)時,所有內部觸發器(包括輸出寄存器)將被重新設置。
4002(RAM)
320位RAM和4位輸出端口
4002執行兩個函數。作爲RAM,它將320位存儲在4個寄存器中,每個寄存器包含24個4位字符(16個主存字符和4個狀態字符)。作爲與周邊設備通信的載體,它具有4條輸出線路和相應的控制邏輯來執行輸出。
4003(SR)
10位串行進/並行串行出移位寄存器(SR)
4003是一個10位靜態移位寄存器,具有串行輸入、並行和串行輸出數據,其功能是增加輸出行數,與鍵盤、顯示器、打印機、電傳打字機、開關、讀卡器、A-D轉換器等 I/O設備進行接口。
數據是串行加載的,並在通過邏輯訪問在10個輸出行上並行可用。當啓用(E = low)時,將讀取移位寄存器內容;當未啓用(E = high)時,平行線位於Vss。串行輸出行不受使能邏輯的影響。
數據也可以串行地允許不確定數量的類似設備級聯在一起,以提供移位寄存器長度乘以10的倍數。
數據傳輸由CP信號控制。內部電源接通清除電路將清除移位寄存器(Qi = Vss)之間的應用電源電壓和第一個CP信號。
4004(CPU)
4004是一箇中央處理器單元(CPU),設計用於與MCS-4(4001, 4002, 4003)的其他成員一起爲微程序mable計算機應用程序工作。
CPU芯片由4位加法器、64位(16×4)索引寄存器、48位(4×12)程序計數器和堆棧(如果可能的話,嵌套最多3層)、地址增量器、8位指令寄存器和譯碼器以及控制邏輯。信息在4004和其他芯片之間通過4線數據總線流動。一個4004可以與多達48個ROM 4001和RAM(4002)芯片組合使用。
典型的機器週期從CPU向ROM和RAM發送同步計時信號(SYNC)開始。接下來,使用三個時鐘週期將12位ROM地址發送到數據總線。然後將地址遞增1並存儲在程序計數器中。所選ROM在接下來的2個時鐘週期內發送回8位指令或數據。該信息存儲在兩個寄存器中:OPR和OPA。接下來的三個時鐘週期用於執行指令。
ROM存儲空間由命令ROM控制信號(CM-ROM)控制,多達4個RAM存儲空間由4個命令RAM控制信號(CM RAM0、CM RAM1、CM RAM2、CM RAM3)控制。完整的存儲轉換是由執行DCL指令完成的。
輸入測試信號(TEST)與條件跳轉(JCN)指令一起使用。外部復位信號用於清除所有寄存器和觸發器。爲了完全清除所有寄存器,復位信號必須應用於至少8個內存週期(8 x 8個時鐘週期)。重置後,程序將從 “0” 步驟開始,並選擇CM-RAM0。
執行指令週期
詳細的功能規範描述了系統的操作、指令集、每條指令的CPU活動以及一些編程和硬件示例,這些詳細的功能規範是單獨發佈的,可根據要求提供。
下面是系統運行的簡要概述MCS-4使用10.8 usec指令週期。CPU(4004)生成同步信號(SYNC),指示指令週期的開始,並將其發送到ROM(4001)和RAM(4002)。
基本指令執行需要8或16個週期的750千赫時鐘。在一個典型的序列中,CPU在前三個週期(A1, A2, A3)向ROM發送12位地址。所選ROM芯片在接下來的兩個週期(M1. M2)中向CPU發送8位指令(OPR, OPA),然後在最後三個週期(X1. X2. X3)中對指令進行解釋和執行。
CPU、RAM和ROM可以由外部復位線控制。當復位被激活時,寄存器和觸發器的內容被清除。重置後,CPU將從地址0和CM-RAM0開始。
MCS-4可以有多達4K x 8位ROM字,1280 x 4位RAM和128 I/O行,不需要任何連接邏輯。通過添加一些簡單的門,MCS-4可以有多達48個RAM和ROM的任何組合和192 I/O行。
4001、4002和4004由4線數據總線(D0、D1、D2、D3)連接,用於芯片之間的所有信息流,除了CPU在另外6條線路上發送的控制信號。MCS-4系統的互連如上圖所示。顯示了一個擴展配置。最小系統配置由一個CPU(4004)和一個ROM組成(4001)。指令週期圖顯示了每個時鐘週期內數據總線上的活動,以及如何細分基本指令週期。
每個數據總線輸出緩衝區都有三個可能的狀態“1”、“0”和浮點數。在給定的時間內,只允許一個輸出緩衝區驅動數據線,因此,所有其他緩衝區必須處於浮動狀態。但是,每個數據行可以同時接收多個輸入緩衝區MCS-4有一個非常強大的指令集,允許二進制和十進制算術。它包括條件分支。跳轉到子例程,並提供了通過間接獲取有效使用ROM查找表。通常,850 usec中可以添加兩個8位數字。
這就是MCS-4微型計算機的基本結構。