0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

最長命Z80 CPU的前世今生

OpenFPGA ? 來源:OpenFPGA ? 作者:碎碎思 ? 2021-10-08 15:45 ? 次閱讀

穿越時空的愛戀-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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50216

    瀏覽量

    420956
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10805

    瀏覽量

    210850
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7371

    瀏覽量

    87634

原文標題:穿越時空的愛戀-Z80 CPU的前世今生

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    400Hz中頻電源前世今生未來

    400Hz中頻電源是一種能夠產(chǎn)生頻率為400Hz的交流電的裝置,過功率電子器件對電網(wǎng)提供的工頻交流電進行整流、濾波、逆變等一系列處理,最終輸出穩(wěn)定的400Hz交流電。400Hz中頻電源廣泛用于航空、軍事等領(lǐng)域,具有輸入輸出電壓穩(wěn)定、頻率響應(yīng)快等特點,能高效節(jié)能,易于集成控制,應(yīng)用于航空、船舶、鐵路、醫(yī)療等領(lǐng)域。
    的頭像 發(fā)表于 11-08 09:41 ?87次閱讀

    帶你揭秘:功率放大器的前世今生~

    關(guān)于功率放大器功率放大器,作為一種可放大交直流信號,在給定失真率條件下,能產(chǎn)生最大功率輸出以驅(qū)動某一負載的實驗室儀器,在MEMS測試、超聲波測試、電磁場驅(qū)動、無線電能傳輸、院校電子實驗測試等領(lǐng)域都有良好應(yīng)用,那么你知道功放的發(fā)展史嗎?今天Aigtek就給大家分享一下~功率放大器發(fā)展史功率放大器的發(fā)展史可以追溯至20世紀初,隨著電子技術(shù)的不斷進步,功率放大器也
    的頭像 發(fā)表于 11-07 08:00 ?376次閱讀
    帶你揭秘:功率放大器的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>~

    BQ40Z80量產(chǎn)校準代碼示例

    電子發(fā)燒友網(wǎng)站提供《BQ40Z80量產(chǎn)校準代碼示例.pdf》資料免費下載
    發(fā)表于 09-27 09:34 ?0次下載
    BQ40<b class='flag-5'>Z80</b>量產(chǎn)校準代碼示例

    請問esp_sleep_enable_timer_wakeup可設(shè)置的最長時間是多少?

    esp_sleep_enable_timer_wakeup 可設(shè)置的最長時間是多少? 通過timer喚醒休眠的話,最長休眠時間是多少? 只找到相關(guān)信息: RTC 計時器為一個可讀 48-bit
    發(fā)表于 06-21 08:50

    通用FAT文件系統(tǒng)模塊

     FatFs 是用于小型嵌入式系統(tǒng)的通用 FAT/exFAT 文件系統(tǒng)模塊。FatFs模塊按照ANSI C(C89)編寫,與磁盤I/O層完全分離。因此它獨立于平臺。它可以集成到資源有限的小型微控制器中,例如 8051、PIC、AVR、ARM、Z80、RX 等。
    發(fā)表于 05-03 10:28 ?179次閱讀
    通用FAT文件系統(tǒng)模塊

    嵌入式系統(tǒng)的前世今生

    一、初始階段(1960-1970)1960年代末:嵌入式系統(tǒng)的概念開始形成,最初用于專業(yè)的軍事和航天應(yīng)用,例如用于導(dǎo)彈控制的計算機系統(tǒng)。微處理器的誕生:1971年,英特爾推出了4004芯片,這是世界上第一個商用微處理器。它的出現(xiàn)標志著嵌入式系統(tǒng)發(fā)展的一個里程碑,使得更小型、成本更低的電子設(shè)備設(shè)計成為可能。二、發(fā)展階段(1980年代)個人計算機(PC)的普及:
    的頭像 發(fā)表于 04-12 08:11 ?1444次閱讀
    嵌入式系統(tǒng)的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    Linux服務(wù)器CPU飆升的原因

    首先在Linux系統(tǒng)中檢查CPU使用率。可以通過在命令行中輸入top或htop命令來查看當前系統(tǒng)中各個進程的CPU使用率。如果CPU使用率大于80%,則可以考慮進行排查。
    發(fā)表于 02-28 11:00 ?1346次閱讀
    Linux服務(wù)器<b class='flag-5'>CPU</b>飆升的原因

    FPGA中競爭與冒險的前世今生

    競爭冒險:在組合電路中,當邏輯門有兩個互補輸入信號同時向相反狀態(tài)變化時,輸出端可能產(chǎn)生過渡干擾脈沖的現(xiàn)象,稱為競爭冒險。那么 FPGA 產(chǎn)生競爭冒險的原因是什么呢? 信號在 FPGA 器件內(nèi)部通過連線和邏輯單元時,都有一定的延時。 延時的大小與連線的長短和邏輯單元的數(shù)目有關(guān) 同時還受器件的制造工藝、工作電壓、溫度等條件的影響 信號的高低電平轉(zhuǎn)換也需要一定的過渡時間 。由于以上存在的因素,多路信號的電平值發(fā)生變化時,在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時變化往往會出現(xiàn)一些不正確的尖峰信號,這些尖峰信號稱為毛刺 。如果一個組合邏輯電路中有毛刺出現(xiàn),就說明該電路存在冒險 。與分立元件不同,由于 PLD 內(nèi)部不存在寄生電容電感,這些毛刺將被完整的保留并向下一級傳遞,因此毛刺現(xiàn)象在 PLD 、 FPGA 設(shè)計中尤為突出 。 毛刺的累加 將會影響整個設(shè)計的可靠性和精確性 。因此判斷邏輯電路中是否存在冒險以及如何避免冒險是 FPGA 設(shè)計人員必須要考慮的問題。 接下來我們就要考慮如何消除冒險 ,消除冒險的方式有一下幾種: 1、利用冗余項消除毛刺 函數(shù)式和真值表所描述的是靜態(tài)邏輯,而競爭則是從一種 穩(wěn)態(tài)到另一種穩(wěn)態(tài)的過程。因此競爭是動態(tài)過程,它發(fā)生在輸入變量變化時。此時,修改卡諾圖,增加多余項,在卡諾圖的兩圓相切處增加一個圓,可以消除邏輯冒險。但該法對于計數(shù)器型產(chǎn)生的毛刺是無法消除的。 2、采用格雷碼 我們可以通過改變設(shè)計,破壞毛刺產(chǎn)生的條件,來減少毛刺的發(fā)生。例如,在數(shù)字電路設(shè)計中,常常采用格雷碼計數(shù)器取代普通的二進制計數(shù)器,這是因為格雷碼計數(shù)器的輸出每次只有一位跳變 消除了競爭冒險的發(fā)生條件,避免了毛刺的產(chǎn)生。 3、采樣法 由于冒險出現(xiàn)在變量發(fā)生變化的時刻,如果待信號穩(wěn)定之后加入取樣脈沖,那么就只有在取樣脈沖作用期間輸出的信號才能有效。這樣可以避免產(chǎn)生的毛刺影響輸出波形。 一般說來,冒險出現(xiàn)在信號發(fā)生電平轉(zhuǎn)換的時刻,也就是說在輸出信號的建立時間內(nèi)會發(fā)生冒險,而在輸出信號 的保持時間內(nèi)是不會有毛刺信號出現(xiàn)的。如果在輸出信號的保持時間內(nèi)對其進行采樣,就可以消除毛刺信號的影響。 4、吸收法 增加輸出濾波,在輸出端接上小電容C可以濾除毛刺 。但輸出波形的前后沿將變壞,在對波形要求較嚴格時,應(yīng)再加整形電路,該方法不宜在中間級使用。 5、延遲辦法 因為毛刺最終是由于延遲造成的,所以可以找出產(chǎn)生延遲的支路。對于相對延遲小的支路,加上毛刺寬度 的延遲可以消除毛刺。 還可以用高頻時鐘來驅(qū)動一移位寄存器,待延時信號作數(shù)據(jù)輸入,按所需延時正確設(shè)置移位寄存器的級數(shù) ,移位寄存器的輸出即為延時后的信號。 當然最好的就是,在設(shè)計之初,就對競爭冒險進行規(guī)避,具體規(guī)避方法有: 1、在設(shè)計中每一個模塊中只用一個時鐘,避免使用多時鐘設(shè)計,同時避免使用主時鐘分頻后的二次時鐘作為時序器件的時鐘輸入, 因為時鐘偏斜會比較大 。 2、設(shè)計譯碼邏輯電路時必須十分小心,因為譯碼器和比較器本身會產(chǎn)生尖峰,容易產(chǎn)生毛刺,把譯碼器或比較器的輸出直接連到時鐘輸入端或異步清除端,會造成嚴重的后果。 3、在設(shè)計中 應(yīng)該盡量避免隱含 RS 觸發(fā)器的出現(xiàn)。一般要控制輸出被直接反饋到輸入端,采用反饋環(huán)路會出現(xiàn)隱含 RS 觸發(fā)器,其對輸入尖峰和假信號很敏感,輸入端有任何變化都有可能使輸出值立刻改變,此時易造成毛刺的產(chǎn)生,導(dǎo)致時序的嚴重混亂。 4、在設(shè)計電路時 要用寄存器和觸發(fā)器設(shè)計電路,盡量不要用鎖存器,因它對輸入信號的毛刺太敏感。如果堅持用鎖存器設(shè)計必須保證輸入信號絕對沒有毛刺,且滿足保持時間。 5、在設(shè)計中充分利用資源 ,因為 大部分 FPGA 器件都為時鐘、復(fù)位、預(yù)置等信號提供特殊的全局布線資源,要充分利用這些資源。 6、在設(shè)計中 不論是控制信號還是地址總線信號、數(shù)據(jù)總線信號,都要采用另外的寄存器,以使內(nèi)部歪斜的數(shù)據(jù)變成同步數(shù)據(jù)。 7、在設(shè)計中 應(yīng)該盡 量避免使用延遲線,因它對工藝過程的變化極為敏感,會大大降低電路的穩(wěn)定性和可靠性,并將為測試帶來麻煩。 8、在設(shè)計中 對所有模塊的輸入時鐘、輸入信號、輸出信號都用D觸發(fā)器或寄存器進行同步處理,即輸出信號直接來自觸發(fā)器或寄存器的輸出端。這樣可以消除尖峰和毛刺信號。
    發(fā)表于 02-21 16:26

    如何在Linux系統(tǒng)中檢查CPU使用率

    首先在Linux系統(tǒng)中檢查CPU使用率。可以通過在命令行中輸入top或htop命令來查看當前系統(tǒng)中各個進程的CPU使用率。如果CPU使用率大于80%,則可以考慮進行排查。
    發(fā)表于 01-06 10:42 ?1238次閱讀
    如何在Linux系統(tǒng)中檢查<b class='flag-5'>CPU</b>使用率

    機器人的前世今生

    機器人主要是用于代替人工作的,首先它是一個機器。對于傳統(tǒng)的機器,被使用者設(shè)計制造出來后,它的工作步驟、路徑都是確定的。機器的設(shè)計也是根據(jù)它所應(yīng)用的工作而進行的。
    發(fā)表于 12-29 14:54 ?504次閱讀
    機器人的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    二極管的前世今生

    二極管的前世今生
    的頭像 發(fā)表于 12-14 18:35 ?1058次閱讀
    二極管的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    常見的幾種功率半導(dǎo)體器件

    半導(dǎo)體是我們生活中使用的電器里比較常用的一種器件,那么你對半導(dǎo)體有多少了解呢?今天我們就從最基礎(chǔ)的半導(dǎo)體功率器件入手,全面了解半導(dǎo)體的“前世今生”。
    的頭像 發(fā)表于 12-14 09:25 ?1119次閱讀

    淺談路由器的前世今生

    說起路由器,如果再往前10年,可能還不是那么普及,但如今再提及,基本上已經(jīng)是家家戶戶必備的科技產(chǎn)品之一,無論是老人還是小孩對它也都很熟悉了,這樣的變化不禁讓人感嘆科技的發(fā)展之快。
    的頭像 發(fā)表于 11-18 10:46 ?850次閱讀
    淺談路由器的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    一文帶你了解增強現(xiàn)實(AR)技術(shù)的前世今生

    AR的歷史遠比人們想象得久遠,我們可以將其歸結(jié)為三個階段:概念發(fā)展期、概念樹立與基礎(chǔ)技術(shù)研發(fā)期及市場高速發(fā)展期。
    的頭像 發(fā)表于 11-14 11:30 ?1933次閱讀
    一文帶你了解增強現(xiàn)實(AR)技術(shù)的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>!

    情感語音識別的前世今生

    的支持。本文將探討情感語音識別的前世今生,包括其發(fā)展歷程、應(yīng)用場景、面臨的挑戰(zhàn)以及未來發(fā)展趨勢。 二、情感語音識別的發(fā)展歷程 起步階段:早期的情感語音識別技術(shù)主要依賴于聲譜分析、特征提取等傳統(tǒng)信號處理方法,但這
    的頭像 發(fā)表于 11-12 17:33 ?601次閱讀