穿越時空的愛戀-Z80 CPU的前世今生
它是1976年推出時,與6502 CPU 一起,引發(fā)了一系列項目,導(dǎo)致了 80 年代初期的家用計算機革命。同時你能想象在CPU更新迭代速度這么快的時代,直到今天他還在服役,還沒“退休”。
TI-84 Plus CE 直到現(xiàn)在還在生產(chǎn)售賣(截止2020年),網(wǎng)頁地址:https://www.cemetech.net/news/2020/5/950/_/ti-83-premium-ceti-84-plus-ce-asmc-removal-updates
基于Zilog eZ80 (TI-84 Plus CE) TI產(chǎn)品(2020年)
這塊CPU也被廣泛應(yīng)用于蘋果電腦、街機及世嘉的各種游戲機,這塊CPU就是Zilog Z80 ,讓我們看下這塊可能是最“長命”的CPU的前世今生。
Z80是一個8位的微處理器,是Zilog公司作為啟動公司的第一個產(chǎn)品。Z80 由Federico Faggin于 1974 年底構(gòu)思,并于 1975 年初由他和他的 11 名員工開發(fā)。第一個工作樣品于 1976 年 3 月交付,并于 1976 年 7 月正式投放市場。通過Z80該公司建立了自己的芯片工廠,并在接下來的兩年里發(fā)展到了超過一千名員工。
Zilog Z80 是Intel 8080的軟件兼容擴展和增強,與8080一樣,主要針對嵌入式系統(tǒng)。盡管用于嵌入式系統(tǒng),Z80 還是從 1970 年代到 1980 年代中期成為臺式計算機和家用計算機中使用最廣泛的CPU之一。它在軍事應(yīng)用、音樂設(shè)備如合成器(如Roland Jupiter-8)以及1970 年代末和 80 年代初的投幣式街機游戲(包括吃豆人)中也很常見。
Zilog Z80 CPU(1976年)
Zilog 也將 Z80 授權(quán)給了美國的Synertek和Mostek,后者幫助他們進行了初始生產(chǎn),以及歐洲的第二來源制造商SGS。該設(shè)計還被幾家日本、東歐和蘇聯(lián)制造商復(fù)制。由于像NEC、東芝、夏普和日立這樣的大公司開始制造該設(shè)備(或他們自己的 Z80 兼容克隆或設(shè)計),讓z80在世界市場上贏得了認可。
近幾十年來,Zilog 重新關(guān)注不斷增長的嵌入式系統(tǒng)市場,最新的 Z80 兼容微控制器系列、具有線性16 MB地址范圍的全流水線 24 位 eZ80與更簡單的 Z80 和Z180一起成功推出各自產(chǎn)品。
80 年代的星空
Z80 誕生于物理學家和工程師Federico Faggin,F(xiàn)ederico Faggin于 1974 年底離開英特爾,與Ralph Ungermann 一起創(chuàng)立Zilog 。在飛兆半導(dǎo)體(Fairchild Semiconductor International, Inc.是一家位于加利福尼亞州圣何塞的美國半導(dǎo)體公司。成立于 1957 年,作為Fairchild Camera and Instrument 的一個部門,它成為晶體管和集成電路制造領(lǐng)域的先驅(qū)。斯倫貝謝于 1979 年收購了該公司,并于 1987 年將其出售給美國國家半導(dǎo)體公司;Fairchild于1997 年再次分拆為獨立公司。
2016 年9 月,F(xiàn)airchild 被安森美半導(dǎo)體收購。)和后來的英特爾,F(xiàn)aggin 一直致力于基本晶體管和半導(dǎo)體制造技術(shù)。他還開發(fā)了用于英特爾存儲器和微處理器的基本設(shè)計方法,并領(lǐng)導(dǎo)了英特爾 4004、8080和其他幾款 IC 的工作。
志摩正敏(Masatoshi Shima 是日本電子工程師。他參與了微處理器的英特爾4004的研制。1968年,Shima就職于日本Busicom,為專用CPU進行邏輯設(shè)計,轉(zhuǎn)化為三片定制芯片。1969年,他與英特爾的Ted Hoff和Stanley Mazor合作,減少了三芯片Busicom建議進入單芯片架構(gòu)。1970年,該建議被改造成硅芯片中。后來他于1972年加入英特爾。在那里,他與Faggin合作開發(fā)了英特爾8080,于1974年發(fā)布。Shima隨后開發(fā)了幾款英特爾外圍芯片,其中一些用于IBM PC,如8259 中斷控制器,8255 并口芯片,8253定時器芯片、8257 直接存儲器存?。?a href="http://ttokpm.com/tags/dma/" target="_blank">DMA)芯片和8251 串行通信 USART芯片。
隨后,他加入了Zilog,在那里他與 Faggin 合作開發(fā)了Zilog Z80(1976 年)和Z8000(1979 年))也在隨后加入了 Zilog 團隊。
Z80 VS Intel 8080
據(jù)設(shè)計者介紹,Z80 CPU(及其可選支持和外圍IC)的主要目標是智能終端、高端打印機和高級收銀機等產(chǎn)品以及電信設(shè)備、工業(yè)機器人和其他類型的自動化產(chǎn)品、設(shè)備。
到 1976 年 3 月,Zilog 已為其客戶開發(fā)了 Z80 以及隨附的基于匯編器的開發(fā)系統(tǒng),并于 1976 年 7 月正式投放市場。一些 Z80 支持和外圍 IC 此時也在開發(fā)中,其中許多是在第二年推出的。
1976 年 5 月的 Zilog Z-80 8 位微處理器廣告
早期的 Z80 由 Synertek 和 Mostek 制造,之后 Zilog 于 1976 年末擁有自己的制造工廠。之所以選擇這些公司,是因為他們可以進行離子注入,以創(chuàng)建Z80 設(shè)計用作負載晶體管的耗盡型 MOSFET以應(yīng)對單個 5 伏電源。
采用耗盡負載nMOS的原始 Zilog Z80微處理器設(shè)計的照片??傂酒叽鐬?3545×3350 μm。(這個實際的芯片制造于 1990 年。)
Federico Faggin設(shè)計了指令集是與Intel 8080二進制兼容的 ,使得最8080碼,特別是CP / M 操作系統(tǒng)和Intel的PL / M編譯器8080(以及其生成的代碼),將在新的 Z80 CPU 上未經(jīng)修改地運行。志摩正敏在少數(shù)工程師和布局人員的協(xié)助下設(shè)計了 Z80 CPU 的大部分微架構(gòu)以及柵極和晶體管級。CEO Federico Faggin 實際上參與了芯片布局工作,還有兩個專門的布局人員。根據(jù)Federico Faggin的說法,他每周工作 80 小時(多嗎?),以滿足投資者給的緊迫的日程安排。
CMOS Z80 四方封裝
雖然Z80是兼容8080的,但是Z80 在 8080 基礎(chǔ)上提供了許多改進:
增強型指令集包括:
一個更合乎邏輯、更易于理解和可讀的匯編指令助記符系統(tǒng)
更靈活的 16 位數(shù)據(jù)移動(加載或 LD)指令,關(guān)鍵包括堆棧指針 SP
更靈活的輸入/輸出尋址模式到外圍端口
所有寄存器和內(nèi)存的單位尋址,包括位測試
在累加器以外的存儲器和寄存器上移位/旋轉(zhuǎn)
改進和更準確(比以前的 8080)BCD算法
內(nèi)存中 BCD 數(shù)字串的旋轉(zhuǎn)指令
16 位減法和 8 位取反
程序循環(huán)
程序計數(shù)器相對跳轉(zhuǎn)
塊復(fù)制、塊輸入/輸出(I/O) 和字節(jié)搜索指令。
一個溢出標志,更好地支持有符號 8 位和 16 位算術(shù)。
帶有直接基址+偏移尋址指令的新 IX 和 IY索引寄存器
更好的中斷系統(tǒng):一種更自動和通用的向量化中斷系統(tǒng):模式 2,主要用于 Zilog 的計數(shù)器/定時器系列、DMA 和通信控制器,以及固定向量中斷系統(tǒng),模式 1,用于具有最少硬件的簡單系統(tǒng)(模式 0為8080 兼容模式)。
不可屏蔽中斷 (NMI),可用于響應(yīng)掉電情況或其他高優(yōu)先級事件(并允許簡約的 Z80 系統(tǒng)在模式 1 中輕松實現(xiàn)兩級中斷方案)。
一個完整重復(fù)的寄存器文件 ,其可以迅速地切換,以加快響應(yīng)于中斷,如快速異步事件處理程序或者多任務(wù) 調(diào)度器。盡管它們不打算用作通用代碼的額外寄存器,但它們在某些應(yīng)用程序中仍然以這種方式使用。
電源、時鐘生成以及內(nèi)存和 I/O 接口所需的硬件更少
單個 5 伏電源(8080 需要 -5 V/+5 V/+12 V)。
單相 5 伏時鐘(8080 需要高振幅(9 到 12 伏)非重疊兩相時鐘)。
除非使用更昂貴且密度更低(但速度更快)的 SRAM,否則將需要外部電路的內(nèi)置DRAM 刷新。
非多路復(fù)用總線(8080 將狀態(tài)信號多路復(fù)用到數(shù)據(jù)總線上)。
一個特殊的復(fù)位功能,它只清除程序計數(shù)器,以便單個 Z80 CPU 可以用于開發(fā)系統(tǒng),如在線仿真器。
Z80在處理器市場上取代了 8080 及其后代8085 ,成為最受歡迎的 8 位 CPU 之一。一些組織,例如英國電信,由于對 8085 及其片上串行接口和中斷架構(gòu)的熟悉,仍然忠于用于嵌入式應(yīng)用的 8085。英特爾生產(chǎn)的低功耗 CMOS 8085 (80C85) 出現(xiàn)在電池供電的便攜式計算機中,例如1983 年 4 月由Kyocera(日本京瓷公司)設(shè)計的筆記本電腦,也由 Tandy 出售(作為TRS-80 Model 100、Olivetti 和 NEC 的各種變體)。然而,在接下來的幾年里,Z80 的 CMOS 版本(來自 Zilog 和日本制造商)也將主導(dǎo)這個市場。
或許 Z80 最初成功的關(guān)鍵是內(nèi)置 DRAM ,至少在CP/M和其他辦公和家用電腦等市場是這樣(大多數(shù) Z80嵌入式系統(tǒng)使用靜態(tài) RAM不需要刷新。),也可能是其簡約的兩級中斷系統(tǒng),或者相反,它的通用多級菊花鏈中斷系統(tǒng)可用于服務(wù)多個Z80 IO芯片。允許使用更少的支持硬件和更簡單的電路板布局來構(gòu)建系統(tǒng)的所有功能。然而,其他人聲稱它的流行是由于與寄存器較少的 8 位 CPU 相比,復(fù)制寄存器允許快速上下文切換或更有效地處理諸如浮點數(shù)學之類的事情(Z80 可以在內(nèi)部保留幾個這樣的數(shù)字,使用 HL‘HL、DE’DE 和 BC‘BC 作為 32 位寄存器,避免在計算過程中必須從較慢的 RAM 訪問它們。)
對于最初的NMOS設(shè)計,時鐘頻率上限從指標性的 2.5 MHz依次增加 ,通過眾所周知的 4 MHz (Z80A),到 6 MHz(Z80B) 和 8 MHz (Z80H)。自 1980 年代后期以來,NMOS 版本已作為 10 MHz 芯片生產(chǎn)。CMOS版本的開發(fā)具有指定的頻率上限,范圍從 4 MHz 到 20 MHz。完全兼容的衍生產(chǎn)品HD64180 / Z180 和eZ80 目前分別指定可以跑到高達 33 MHz和 50 MHz。
兼容的組件
Zilog 為Z80 引入了許多外圍部件,它們都支持Z80 的中斷處理系統(tǒng)和I/O 地址空間。其中包括計數(shù)器/定時器通道 (CTC)、SIO(串行輸入輸出)、DMA(直接存儲器訪問)、PIO(并行輸入-輸出)和 DART(雙異步接收器發(fā)送器)。隨著產(chǎn)品線的發(fā)展,這些芯片的低功耗、高速CMOS版本被引入。
與 8080、8085 和 8086 處理器一樣,但與摩托羅拉 6800 和 MOS Technology 6502 等處理器不同的是,Z80 和 8080 具有單獨的控制線和 I/O 指令地址空間。雖然一些基于 Z80 的計算機(如Osborne 1)使用“摩托羅拉式”內(nèi)存映射輸入/輸出設(shè)備,但使用了通常 I/O 空間用于尋址與 Z80 兼容的眾多 Zilog 外圍芯片之一。Zilog I/O 芯片支持 Z80 的新模式 2 中斷,它簡化了大量外設(shè)的中斷處理。
電腦和游戲的革命
在 1970 年代末和 1980 年代初,Z80 被用于大量山寨的具有CP/M操作系統(tǒng)的面向商業(yè)的機器,這種組合在當時占據(jù)了市場主導(dǎo)地位。運行 CP/M 的 Z80 商用計算機的四個著名示例是Heathkit H89、便攜式Osborne 1、Kaypro系列和Epson QX-10。鮮為人知的是昂貴的高端Otrona Attache一些系統(tǒng)使用多任務(wù)操作系統(tǒng)軟件(如MP/M或Morrow的 Micronix)在多個處理器之間共享一個處理器。
Z80同時作為擴展卡引入了家用計算機,它們使用 Z80 作為主處理器或作為插件選項,以方便訪問為 Z80 編寫的軟件。值得注意的是TRS-80系列,包括配備 Z80 作為主處理器的原始型號(后來改名為“Model I”)、Model II、Model III和Model 4,以及一些(但不是全部)其他型號使用 Z80 作為主處理器或輔助處理器的 TRS-80 型號。其他值得注意的機器是DEC Rainbow 100和Seequa Chameleon,兩者都采用英特爾 8088和 Z80 CPU,以支持在 Z80 上運行的 8 位 CP/M-80 應(yīng)用程序,或與在 8088 上運行不完全兼容的自定義 MS-DOS的PC DOS應(yīng)用程序 。
1981 年,Multitech(后來成為Acer)推出了Microprofessor I,這是一種用于 Z80 微處理器的簡單且廉價的培訓(xùn)系統(tǒng)。目前,它仍然由位于英國南安普敦的 Flite Electronics International Limited 制造和銷售。
甲辛克萊 ZX光譜,其中使用的Z80主頻為3.5兆赫
便攜式和掌上電腦
隨著處理器的 CMOS 版本的出現(xiàn),Z80 在更輕的電池供電設(shè)備中的使用變得更加普遍。它還啟發(fā)了其他基于 CMOS 的處理器的開發(fā),例如夏普的 LH5801(數(shù)據(jù)手冊:http://www.pc-1500.info/Data/Service_Manuals/PC-1500_Technical_Reference_Manual.pdf)。
在夏普PC-1500(一個BASIC -可編程袖珍計算機)于1981年發(fā)布,采用改良Z80的夏普PC-1600(1986年)和夏普PC-E220(1991年)及夏普精靈系列也陸續(xù)發(fā)布了。隨后在 1984 年推出了Epson PX-8 Geneva,并在 1985 年推出了愛普生 PX-4和Bondwell-2,他們是可以像臺式機一樣運行 CP/M 操作系統(tǒng)的筆記本電腦。雖然隨后幾年的筆記本電腦市場轉(zhuǎn)向了更強大的英特爾 8086處理器和 MS-DOS 操作系統(tǒng),但仍在引入具有更長電池壽命的基于 Z80 的輕量級系統(tǒng),例如1988 年的Cambridge Z88和1992 年的Amstrad NC100 。Z80 衍生的Z8S180也進入了早期的筆式個人數(shù)字助理,1993 年的Amstrad PenPad PDA600(PDA熟悉不?。?/p>
總部位于香港的VTech生產(chǎn)了一系列基于 Z80 的名為“Lasers”的小型筆記本電腦。最后兩個是激光 PC5和 PC6,該CIDCO MailStation Mivo 100,于1999年首次發(fā)布,是一個獨立的便攜式電子郵件設(shè)備,具有基于Z80的微控制器。德州儀器 (TI) 使用圍繞 Z80 內(nèi)核構(gòu)建的東芝處理器生產(chǎn)了一系列袖珍處理器(結(jié)束于 2000 年);其中第一個是 TI PS-6200 ,經(jīng)過幾十個型號的長時間生產(chǎn)運行,最終形成了他們的 PocketMate 系列。
基于 Z80 的PABX。Z80 是從左數(shù)第三個芯片,在芯片的右側(cè),上面有手寫的白色標簽
嵌入式系統(tǒng)和消費電子產(chǎn)品
Zilog Z80 長期以來一直是嵌入式系統(tǒng)和微控制器內(nèi)核中的流行微處理器(最初的定位),直到今天仍然廣泛使用。Z80 的應(yīng)用包括消費電子產(chǎn)品、工業(yè)產(chǎn)品和電子樂器。例如,Z80 用于開創(chuàng)性的音樂合成器Prophet-5,以及第一個 MIDI 合成器Prophet 600。卡西歐在其PV-1000視頻游戲機中使用了 Z80A 。
Z80A 被用作許多游戲機的 CPU,例如ColecoVision
許多 1980 年代早期的街機視頻游戲,包括街機游戲《吃豆人》,都包含 Z80 CPU。
Z80 用于世嘉的Sega Master System和Sega Game Gear游戲機,具有自己的8 KB的RAM,它作為輔助主CPU MC68000,具有與系統(tǒng)的聲音芯片和I / O(控制器)端口,并且具有交換數(shù)據(jù)路徑與68000 的主內(nèi)存總線(提供對 64 KB 主 RAM、軟件盒和整個視頻芯片的訪問);除了提供與 Master System 游戲的向后兼容性外,Z80 還經(jīng)常用于控制 Genesis 軟件中的音頻。
Z80的CPU也被德州儀器用來制作在開創(chuàng)性和流行方面的TI-8系列圖形計算器,TI-81系列圖形計算器從1990年開始,其特點是Z80主頻為2兆赫。該系列中的大多數(shù)為高端計算器,從TI-82和TI-85 開始,其 Z80 CPU 的時鐘頻率變?yōu)?6 MHz 或更高。(一些帶有 TI-8x 名稱的型號使用其他 CPU,例如 M68000,但絕大多數(shù)是基于 Z80 的。在這些型號上,可以以 Z80 機器語言代碼的形式運行組裝或編譯的用戶程序。)。2004 年推出的TI-84 Plus 系列,截至 2020 年仍在生產(chǎn)。TI-84 Plus CE 系列于 2015 年推出,使用 Z80 衍生的Zilog eZ80處理器,截至 2020 年仍在生產(chǎn)中。
1980 年代后期,一系列名為“AON”的蘇聯(lián)固定電話采用了 Z80;這些電話通過來電顯示、基于來電者的不同鈴聲、快速撥號等擴展了固定電話的功能集。在 90 年代后半期,這些手機的制造商轉(zhuǎn)而使用兼容 8051 的 MCU,以降低功耗并防止過熱。
克隆及衍生品
Z80 CPU之所以在世界范圍內(nèi)廣受歡迎主要原因是其衍生體及克隆版本特別多,下面介紹一些Z80克隆及衍生品。
Mostek 為 Zilog 生產(chǎn)了第一個 Z80,克隆生產(chǎn)了 MK3880 。SGS-Thomson(現(xiàn)在是STMicroelectronics)也克隆生產(chǎn)了他們的 Z8400。Sharp 和NEC 分別克隆生產(chǎn)了 NMOS Z80、LH0080(用于夏普等日本廠商生產(chǎn)的各種家用電腦和個人電腦,包括索尼 MSX電腦,以及夏普MZ系列的多款電腦) 和μPD780C。
東芝制造了 CMOS 版本的 TMPZ84C00,這是與 Zilog 用于其自己的 CMOS Z84C00 的設(shè)計相同。還有GoldStar(現(xiàn)LG)生產(chǎn)的Z80芯片和ROHM Electronics生產(chǎn)的NMOS和CMOS中的Z80克隆體BU18400系列(包括DMA、PIO、CTC、DART和SIO)。
在東德,生產(chǎn)了未經(jīng)許可的復(fù)制品 ,稱為U880。它非常流行,被用于Robotron和 VEB Mikroelektronik Mühlhausen 的計算機系統(tǒng)(如KC85系列)以及許多自制的計算機系統(tǒng)。在羅馬尼亞,可以找到另一個未經(jīng)許可的克隆體,名為MMN80CPU,由Microelectronica生產(chǎn),用于 TIM-S、HC、COBRA 等家用計算機。
此外,蘇聯(lián)還制造了 Z80 的幾個克隆版本-T34BM1(用于預(yù)生產(chǎn)系列),也稱為КР1858ВМ1(與蘇聯(lián) 8080 克隆版本KR580VM80A(用于更大的生產(chǎn)) 相似)。盡管如此,由于 1980 年代后期蘇聯(lián)微電子的崩潰,T34BM1 的數(shù)量比 КР1858ВМ1 多得多。
日立開發(fā)了HD64180,這是一種采用 CMOS 微編碼和部分動態(tài)的 Z80,帶有片上外圍設(shè)備和一個提供 1 MB地址空間的簡單 MMU 。后來由 Zilog 第二次采購,最初為 Z64180,然后以略微修改的Z180 的形式提供,其總線協(xié)議和時序更適合 Z80 外圍芯片。Z180 一直以 Zilog 的名義進行維護和進一步開發(fā),最新版本基于完全靜態(tài)的 S180/L180 內(nèi)核,具有極低的功耗和 EMI(噪聲)。
東芝開發(fā)了84針Z84013/Z84C13和100針Z84015/Z84C15系列的“智能外設(shè)控制器”,基本上是普通的NMOS和CMOS Z80內(nèi)核與Z80外設(shè)、看門狗定時器、上電復(fù)位、等待狀態(tài)發(fā)生器在同一芯片上。由夏普和東芝制造。這些產(chǎn)品如今由 Zilog 提供第二來源。1994 年推出的 32 位 Z80 兼容 Zilog Z380主要用于電信設(shè)備。
Zilog 的全流水線 Z80 兼容eZ80 具有8/16/24位字長和線性 16 MB 地址空間于 2001 年推出。它帶有片上SRAM或閃存以及集成外設(shè)的版本中。 一種變體具有片上MAC(媒體訪問控制器),可用軟件訪問TCP/IP 堆棧。與 Z800 和 Z280 相比,僅增加了少量指令(主要是LEA、PEA和可變地址 16/24 位加載),但指令的執(zhí)行效率是原始 Z80 的時鐘周期效率的 2 到 11 倍(平均值約為 3-5 倍)。它目前指定用于高達 50 MHz 的時鐘頻率。
川崎(日本上市的跨國)開發(fā)了二進制兼容的 KL5C8400,其時鐘周期效率約為原始 Z80 的 1.2-1.3 倍,時鐘頻率最高可達 33 MHz。Kawasaki 還生產(chǎn) KL5C80A1x 系列,它具有外圍設(shè)備以及片上小 RAM;它的時鐘周期效率大約與 eZ80 一樣,并且時鐘頻率最高可達 10 MHz (2006)。
NEC μPD9002 是一款兼容 Z80 和x86系列的混合 CPU 。
中國炬力的音頻處理器系列芯片(ATJ2085 等)包含一個 Z80 兼容MCU和一個 24 位專用 DSP 處理器。這些芯片用于許多 MP3 和媒體播放器產(chǎn)品。
T80 (VHDL) 和 TV80 (Verilog) 可綜合軟核可從 OpenCores.org 獲得。
1980 年宣布的 National Semiconductor NSC800 被用于許多 TeleSecurity Timmann (TST) 電子密碼機和佳能 X-07。NSC 800 與 Z-80 指令集完全兼容。NSC800 使用多路復(fù)用總線(8085上使用),但與 Z80 具有不同的引腳排列。
不兼容
東芝TLCS 900系列高體積(主要是OTP)的微控制器是基于Z80; 它們共享相同的基本 BC、DE、HL、IX、IY 寄存器結(jié)構(gòu),以及基本相同的指令,但不是二進制兼容的,而之前的 TLCS 90 與 Z80 兼容。
NEC 78K系列微控制器是基于Z80; 它們共享相同的基本 BC、DE、HL 寄存器結(jié)構(gòu),并具有相似(但名稱不同)的指令;不兼容二進制。
部分兼容
Rabbit Semiconductor的Rabbit 2000/3000/4000微處理器/微控制器基于HD64180 / Z180架構(gòu),盡管它們不完全兼容二進制。
Zilog 的 NMOS Z800和 CMOS Z280是 16 位 Z80 實現(xiàn)(在HD64180 / Z180之前),具有 16 MB 分頁 MMU 地址空間;他們?yōu)?Z80 指令集添加了許多正交化和尋址模式。小型機的特性——例如用戶和系統(tǒng)模式、多處理器支持、片上 MMU、片上指令和數(shù)據(jù)緩存等——被視為更復(fù)雜,而不是對(通常面向電子的)嵌入式系統(tǒng)設(shè)計者的功能和支持,這也使得預(yù)測指令執(zhí)行時間變得非常困難。
某些街機游戲如Pang / Buster Bros使用由VLSI Technology制造的加密“歌舞伎”Z80 CPU ,其中解密密鑰存儲在其內(nèi)部電池后備內(nèi)存中,以避免盜版和非法盜版游戲。
Z80軟件部分說明
寄存器
與 8080 一樣,8 位寄存器通常配對以提供 16 位版本。與8080 兼容寄存器是:
AF: 8 位累加器(A) 和標志位 (F) 進位、零、減號、奇偶校驗/溢出、半進位(用于BCD)和一個加/減標志(通常稱為 N)也用于 BCD
BC: 16 位數(shù)據(jù)/地址寄存器或兩個 8 位寄存器
DE: 16 位數(shù)據(jù)/地址寄存器或兩個 8 位寄存器
HL: 16 位累加器/地址寄存器或兩個 8 位寄存器
SP:堆棧指針,16 位
PC: 程序計數(shù)器,16 位
Z80 引入的新寄存器是:
IX: 8 位立即數(shù)偏移的 16 位索引或基址寄存器
IY: 8 位立即數(shù)偏移的 16 位索引或基址寄存器
I:中斷向量基址寄存器,8位
R:DRAM 刷新計數(shù)器,8 位(msb不計數(shù))
AF’:交替(或陰影)累加器和標志(用 EX AF,AF‘ 切換進出)
BC’,DE‘和HL’: 替代(或影子)寄存器(用 EXX 切換進出)
四位中斷狀態(tài)和中斷模式狀態(tài)
Z80 匯編語言
第一個 Intel 8008匯編語言基于從 Datapoint 2200 設(shè)計繼承的非常簡單(但系統(tǒng))的語法。這種原始語法后來被轉(zhuǎn)換成一種新的、更傳統(tǒng)的匯編語言形式,用于同樣的原始 8008 芯片。大約在同一時間,新的匯編語言也得到了擴展,以適應(yīng)更先進的 Intel 8080 芯片中的額外尋址模式(8008 和 8080 共享一個語言子集,但不兼容二進制;然而,8008 與 Datapoint 二進制兼容2200)。
匯編指令對比如下:
匯編示例代碼
以下 Z80 匯編程序源代碼用于名為 HELLO_WORLD 的子例程。眾所周知,這是一個介紹性程序,它將向視頻顯示器打印一條消息,然后退出。雖然很簡單,但它演示了如何格式化匯編源代碼以及如何通過計算機操作系統(tǒng)與顯示硬件交互。
每條指令都按通常稱為機器周期(M 周期)的步驟執(zhí)行,每條指令可能需要三到六個時鐘周期(T 周期)。每個 M 周期大致對應(yīng)于一次內(nèi)存訪問或內(nèi)部操作。許多指令實際上在下一條指令的 M1 期間結(jié)束,這被稱為提取/執(zhí)行重疊。
責任編輯:haq
-
芯片
+關(guān)注
關(guān)注
452文章
50216瀏覽量
420956 -
cpu
+關(guān)注
關(guān)注
68文章
10805瀏覽量
210850 -
計算機
+關(guān)注
關(guān)注
19文章
7371瀏覽量
87634
原文標題:穿越時空的愛戀-Z80 CPU的前世今生
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論