穿越时空的爱恋-Z80 CPU的前世今生

它是1976年推出时,与6502 CPU 一起,引发了一系列项目,导致了 80 年代初期的家用计算机革命。同时你能想象在CPU更新迭代速度这么快的时代,直到今天他还在服役,还没“退休”。

TRS-80 Model I (1977年)基于 Zilog eZ80 (Frequency 48 MHz max.) TI产品(2015年)

TI-84 Plus CE 直到现在还在生产售卖(截止2020年),网页地址: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产品(2020年)

这块CPU也被广泛应用于苹果电脑、街机及世嘉的各种游戏机,这块CPU就是Zilog Z80 ,让我们看下这块可能是最“长命”的CPU的前世今生。

Z80是一个8位的微处理器,是Zilog公司作为启动公司的第一个产品。Z80 由Federico Faggin于 1974 年底构思,并于 1975 年初由他和他的 11 名员工开发。第一个工作样品于 1976 年 3 月交付,并于 1976 年 7 月正式投放市场。通过Z80该公司建立了自己的芯片工厂,并在接下来的两年里发展到了超过一千名员工。

Zilog Z80 是Intel 8080的软件兼容扩展和增强,与8080一样,主要针对嵌入式系统。尽管用于嵌入式系统,Z80 还是从 1970 年代到 1980 年代中期成为台式计算机和家用计算机中使用最广泛的CPU之一。它在军事应用、音乐设备如合成器(如Roland Jupiter-8)以及1970 年代末和 80 年代初的投币式街机游戏(包括吃豆人)中也很常见。

Zilog Z80 CPU(1976年)

Zilog 也将 Z80 授权给了美国的Synertek和Mostek,后者帮助他们进行了初始生产,以及欧洲的第二来源制造商SGS。该设计还被几家日本、东欧和苏联制造商复制。由于像NEC、东芝、夏普和日立这样的大公司开始制造该设备(或他们自己的 Z80 兼容克隆或设计),让z80在世界市场上赢得了认可。

近几十年来,Zilog 重新关注不断增长的嵌入式系统市场,最新的 Z80 兼容微控制器系列、具有线性16  MB地址范围的全流水线 24 位 eZ80与更简单的 Z80 和Z180一起成功推出各自产品。

80 年代的星空

Z80 诞生于物理学家和工程师Federico Faggin,Federico Faggin于 1974 年底离开英特尔,与Ralph Ungermann 一起创立Zilog 。在飞兆半导体(Fairchild Semiconductor International, Inc.是一家位于加利福尼亚州圣何塞的美国半导体公司。成立于 1957 年,作为Fairchild Camera and Instrument 的一个部门,它成为晶体管和集成电路制造领域的先驱。斯伦贝谢于 1979 年收购了该公司,并于 1987 年将其出售给美国国家半导体公司;Fairchild于1997 年再次分拆为独立公司。2016 年9 月,Fairchild 被安森美半导体收购。)和后来的英特尔,Faggin 一直致力于基本晶体管和半导体制造技术。他还开发了用于英特尔存储器和微处理器的基本设计方法,并领导了英特尔 4004、8080和其他几款 IC 的工作。志摩正敏(Masatoshi Shima 是日本电子工程师。他参与了微处理器的英特尔4004的研制。1968年,Shima就职于日本Busicom,为专用CPU进行逻辑设计,转化为三片定制芯片。1969年,他与英特尔的Ted Hoff和Stanley Mazor合作,减少了三芯片Busicom建议进入单芯片架构。1970年,该建议被改造成硅芯片中。后来他于1972年加入英特尔。在那里,他与Faggin合作开发了英特尔8080,于1974年发布。Shima随后开发了几款英特尔外围芯片,其中一些用于IBM PC,如8259 中断控制器,8255 并口芯片,8253定时器芯片、8257 直接存储器存取(DMA)芯片和8251 串行通信 USART芯片。随后,他加入了Zilog,在那里他与 Faggin 合作开发了Zilog Z80(1976 年)和Z8000(1979 年))也在随后加入了 Zilog 团队。

Z80  VS  Intel 8080

据设计者介绍,Z80 CPU(及其可选支持和外围IC)的主要目标是智能终端、高端打印机和高级收银机等产品以及电信设备、工业机器人和其他类型的自动化产品、设备。

到 1976 年 3 月,Zilog 已为其客户开发了 Z80 以及随附的基于汇编器的开发系统,并于 1976 年 7 月正式投放市场。一些 Z80 支持和外围 IC 此时也在开发中,其中许多是在第二年推出的。

1976 年 5 月的 Zilog Z-80 8 位微处理器广告

早期的 Z80 由 Synertek 和 Mostek 制造,之后 Zilog 于 1976 年末拥有自己的制造工厂。之所以选择这些公司,是因为他们可以进行离子注入,以创建Z80 设计用作负载晶体管的耗尽型 MOSFET以应对单个 5 伏电源。

采用耗尽负载nMOS的原始 Zilog Z80微处理器设计的照片。总芯片尺寸为 3545×3350 μm。(这个实际的芯片制造于 1990 年。)

Federico Faggin设计了指令集是与Intel 8080二进制兼容的 ,使得最8080码,特别是CP / M 操作系统和Intel的PL / M编译器8080(以及其生成的代码),将在新的 Z80 CPU 上未经修改地运行。志摩正敏在少数工程师和布局人员的协助下设计了 Z80 CPU 的大部分微架构以及栅极和晶体管级。CEO Federico Faggin 实际上参与了芯片布局工作,还有两个专门的布局人员。根据Federico Faggin的说法,他每周工作 80 小时(多吗?),以满足投资者给的紧迫的日程安排。

CMOS Z80 四方封装

虽然Z80是兼容8080的,但是Z80 在 8080 基础上提供了许多改进:

  • 增强型指令集包括:

一个更合乎逻辑、更易于理解和可读的汇编指令助记符系统

更灵活的 16 位数据移动(加载或 LD)指令,关键包括堆栈指针 SP

更灵活的输入/输出寻址模式到外围端口

所有寄存器和内存的单位寻址,包括位测试

在累加器以外的存储器和寄存器上移位/旋转

改进和更准确(比以前的 8080)BCD算法

内存中 BCD 数字串的旋转指令

16 位减法和 8 位取反

程序循环

程序计数器相对跳转

块复制、块输入/输出(I/O) 和字节搜索指令。

  • 一个溢出标志,更好地支持有符号 8 位和 16 位算术。

  • 带有直接基址+偏移寻址指令的新 IX 和 IY索引寄存器

  • 更好的中断系统:一种更自动和通用的向量化中断系统:模式 2,主要用于 Zilog 的计数器/定时器系列、DMA 和通信控制器,以及固定向量中断系统,模式 1,用于具有最少硬件的简单系统(模式 0为8080 兼容模式)。

不可屏蔽中断 (NMI),可用于响应掉电情况或其他高优先级事件(并允许简约的 Z80 系统在模式 1 中轻松实现两级中断方案)。

  • 一个完整重复的寄存器文件 ,其可以迅速地切换,以加快响应于中断,如快速异步事件处理程序或者多任务 调度器。尽管它们不打算用作通用代码的额外寄存器,但它们在某些应用程序中仍然以这种方式使用。

  • 电源、时钟生成以及内存和 I/O 接口所需的硬件更少

  • 单个 5 伏电源(8080 需要 -5 V/+5 V/+12 V)。

  • 单相 5 伏时钟(8080 需要高振幅(9 到 12 伏)非重叠两相时钟)。

  • 除非使用更昂贵且密度更低(但速度更快)的 SRAM,否则将需要外部电路的内置DRAM 刷新。

  • 非多路复用总线(8080 将状态信号多路复用到数据总线上)。

  • 一个特殊的复位功能,它只清除程序计数器,以便单个 Z80 CPU 可以用于开发系统,如在线仿真器。

Z80在处理器市场上取代了 8080 及其后代8085 ,成为最受欢迎的 8 位 CPU 之一。一些组织,例如英国电信,由于对 8085 及其片上串行接口和中断架构的熟悉,仍然忠于用于嵌入式应用的 8085。英特尔生产的低功耗 CMOS 8085 (80C85) 出现在电池供电的便携式计算机中,例如1983 年 4 月由Kyocera(日本京瓷公司)设计的笔记本电脑,也由 Tandy 出售(作为TRS-80 Model 100、Olivetti 和 NEC 的各种变体)。然而,在接下来的几年里,Z80 的 CMOS 版本(来自 Zilog 和日本制造商)也将主导这个市场。

或许 Z80 最初成功的关键是内置 DRAM ,至少在CP/M和其他办公和家用电脑等市场是这样(大多数 Z80嵌入式系统使用静态 RAM不需要刷新。),也可能是其简约的两级中断系统,或者相反,它的通用多级菊花链中断系统可用于服务多个Z80 IO芯片。允许使用更少的支持硬件和更简单的电路板布局来构建系统的所有功能。然而,其他人声称它的流行是由于与寄存器较少的 8 位 CPU 相比,复制寄存器允许快速上下文切换或更有效地处理诸如浮点数学之类的事情(Z80 可以在内部保留几个这样的数字,使用 HL'HL、DE'DE 和 BC'BC 作为 32 位寄存器,避免在计算过程中必须从较慢的 RAM 访问它们。)

对于最初的NMOS设计,时钟频率上限从指标性的 2.5 MHz依次增加 ,通过众所周知的 4 MHz (Z80A),到 6 MHz(Z80B) 和 8 MHz (Z80H)。自 1980 年代后期以来,NMOS 版本已作为 10 MHz 芯片生产。CMOS版本的开发具有指定的频率上限,范围从 4 MHz 到 20 MHz。完全兼容的衍生产品HD64180 / Z180 和eZ80 目前分别指定可以跑到高达 33 MHz和 50 MHz。

兼容的组件

Zilog 为Z80 引入了许多外围部件,它们都支持Z80 的中断处理系统和I/O 地址空间。其中包括计数器/定时器通道 (CTC)、SIO(串行输入输出)、DMA(直接存储器访问)、PIO(并行输入-输出)和 DART(双异步接收器发送器)。随着产品线的发展,这些芯片的低功耗、高速CMOS版本被引入。

PIO Z84C2008CTC Z84C3008SIO Z84C4008

与 8080、8085 和 8086 处理器一样,但与摩托罗拉 6800 和 MOS Technology 6502 等处理器不同的是,Z80 和 8080 具有单独的控制线和 I/O 指令地址空间。虽然一些基于 Z80 的计算机(如Osborne 1)使用“摩托罗拉式”内存映射输入/输出设备,但使用了通常 I/O 空间用于寻址与 Z80 兼容的众多 Zilog 外围芯片之一。Zilog I/O 芯片支持 Z80 的新模式 2 中断,它简化了大量外设的中断处理。

电脑和游戏的革命

在 1970 年代末和 1980 年代初,Z80 被用于大量山寨的具有CP/M操作系统的面向商业的机器,这种组合在当时占据了市场主导地位。运行 CP/M 的 Z80 商用计算机的四个著名示例是Heathkit H89、便携式Osborne 1、Kaypro系列和Epson QX-10。鲜为人知的是昂贵的高端Otrona Attache一些系统使用多任务操作系统软件(如MP/M或Morrow的 Micronix)在多个处理器之间共享一个处理器。

Heathkit H89 PCOsborne 1Kaypro系列Kaypro IIEpson QX-10

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 应用程序,或与在 8088 上运行不完全兼容的自定义 MS-DOS的PC DOS应用程序 。

1981 年,Multitech(后来成为Acer)推出了Microprofessor I,这是一种用于 Z80 微处理器的简单且廉价的培训系统。目前,它仍然由位于英国南安普敦的 Flite Electronics International Limited 制造和销售。

Microprofessor I甲辛克莱 ZX光谱,其中使用的Z80主频为3.5兆赫

便携式和掌上电脑

随着处理器的 CMOS 版本的出现,Z80 在更轻的电池供电设备中的使用变得更加普遍。它还启发了其他基于 CMOS 的处理器的开发,例如夏普的 LH5801(数据手册:http://www.pc-1500.info/Data/Service_Manuals/PC-1500_Technical_Reference_Manual.pdf)。

在夏普PC-1500(一个BASIC -可编程袖珍计算机)于1981年发布,采用改良Z80的夏普PC-1600(1986年)和夏普PC-E220(1991年)及夏普精灵系列也陆续发布了。随后在 1984 年推出了Epson PX-8 Geneva,并在 1985 年推出了爱普生 PX-4和Bondwell-2,他们是可以像台式机一样运行 CP/M 操作系统的笔记本电脑。虽然随后几年的笔记本电脑市场转向了更强大的英特尔 8086处理器和 MS-DOS 操作系统,但仍在引入具有更长电池寿命的基于 Z80 的轻量级系统,例如1988 年的Cambridge Z88和1992 年的Amstrad NC100 。Z80 衍生的Z8S180也进入了早期的笔式个人数字助理,1993 年的Amstrad PenPad PDA600(PDA熟悉不!)。总部位于香港的VTech生产了一系列基于 Z80 的名为“Lasers”的小型笔记本电脑。最后两个是激光 PC5和 PC6,该CIDCO MailStation Mivo 100,于1999年首次发布,是一个独立的便携式电子邮件设备,具有基于Z80的微控制器。德州仪器 (TI) 使用围绕 Z80 内核构建的东芝处理器生产了一系列袖珍处理器(结束于 2000 年);其中第一个是 TI PS-6200 ,经过几十个型号的长时间生产运行,最终形成了他们的 PocketMate 系列。

PC-1500PC-E220PDA-600基于 Z80 的PABX。Z80 是从左数第三个芯片,在芯片的右侧,上面有手写的白色标签

嵌入式系统和消费电子产品

Zilog Z80 长期以来一直是嵌入式系统和微控制器内核中的流行微处理器(最初的定位),直到今天仍然广泛使用。Z80 的应用包括消费电子产品、工业产品和电子乐器。例如,Z80 用于开创性的音乐合成器Prophet-5,以及第一个 MIDI 合成器Prophet 600。卡西欧在其PV-1000视频游戏机中使用了 Z80A 。

Prophet-5PV-1000Z80A 被用作许多游戏机的 CPU,例如ColecoVision

许多 1980 年代早期的街机视频游戏,包括街机游戏《吃豆人》,都包含 Z80 CPU。

吃豆人

Z80 用于世嘉的Sega Master System和Sega Game Gear游戏机,具有自己的8 KB的RAM,它作为辅助主CPU MC68000,具有与系统的声音芯片和I / O(控制器)端口,并且具有交换数据路径与68000 的主内存总线(提供对 64 KB 主 RAM、软件盒和整个视频芯片的访问);除了提供与 Master System 游戏的向后兼容性外,Z80 还经常用于控制 Genesis 软件中的音频。

Master_System_IISega-Sg-1000-MkIIISega-Game-Gear

Z80的CPU也被德州仪器用来制作在开创性和流行方面的TI-8系列图形计算器,TI-81系列图形计算器从1990年开始,其特点是Z80主频为2兆赫。该系列中的大多数为高端计算器,从TI-82和TI-85 开始,其 Z80 CPU 的时钟频率变为 6 MHz 或更高。(一些带有 TI-8x 名称的型号使用其他 CPU,例如 M68000,但绝大多数是基于 Z80 的。在这些型号上,可以以 Z80 机器语言代码的形式运行组装或编译的用户程序。)。2004 年推出的TI-84 Plus 系列,截至 2020 年仍在生产。TI-84 Plus CE 系列于 2015 年推出,使用 Z80 衍生的Zilog eZ80处理器,截至 2020 年仍在生产中。

Ti-84+_C_Edition_SE

1980 年代后期,一系列名为“AON”的苏联固定电话采用了 Z80;这些电话通过来电显示、基于来电者的不同铃声、快速拨号等扩展了固定电话的功能集。在 90 年代后半期,这些手机的制造商转而使用兼容 8051 的 MCU,以降低功耗并防止过热。

克隆及衍生品

Z80 CPU之所以在世界范围内广受欢迎主要原因是其衍生体及克隆版本特别多,下面介绍一些Z80克隆及衍生品。

Mostek 为 Zilog 生产了第一个 Z80,克隆生产了 MK3880 。SGS-Thomson(现在是STMicroelectronics)也克隆生产了他们的 Z8400。Sharp 和NEC 分别克隆生产了 NMOS Z80、LH0080(用于夏普等日本厂商生产的各种家用电脑和个人电脑,包括索尼 MSX电脑,以及夏普MZ系列的多款电脑) 和μPD780C。

东芝制造了 CMOS 版本的 TMPZ84C00,这是与 Zilog 用于其自己的 CMOS Z84C00 的设计相同。还有GoldStar(现LG)生产的Z80芯片和ROHM Electronics生产的NMOS和CMOS中的Z80克隆体BU18400系列(包括DMA、PIO、CTC、DART和SIO)。

在东德,生产了未经许可的复制品 ,称为U880。它非常流行,被用于Robotron和 VEB Mikroelektronik Mühlhausen 的计算机系统(如KC85系列)以及许多自制的计算机系统。在罗马尼亚,可以找到另一个未经许可的克隆体,名为MMN80CPU,由Microelectronica生产,用于 TIM-S、HC、COBRA 等家用计算机。

此外,苏联还制造了 Z80 的几个克隆版本-T34BM1(用于预生产系列),也称为КР1858ВМ1(与苏联 8080 克隆版本KR580VM80A(用于更大的生产) 相似)。尽管如此,由于 1980 年代后期苏联微电子的崩溃,T34BM1 的数量比 КР1858ВМ1 多得多。

Mostek Z80:MK3880NEC μPD780C夏普 LH0080东芝Z84C00东德RFT U880D苏联T34BM1 Z80克隆

衍生品

与原装 Z80 兼容

  • 日立开发了HD64180,这是一种采用 CMOS 微编码和部分动态的 Z80,带有片上外围设备和一个提供 1 MB地址空间的简单 MMU  。后来由 Zilog 第二次采购,最初为 Z64180,然后以略微修改的Z180 的形式提供,其总线协议和时序更适合 Z80 外围芯片。Z180 一直以 Zilog 的名义进行维护和进一步开发,最新版本基于完全静态的 S180/L180 内核,具有极低的功耗和 EMI(噪声)。

  • 东芝开发了84针Z84013/Z84C13和100针Z84015/Z84C15系列的“智能外设控制器”,基本上是普通的NMOS和CMOS Z80内核与Z80外设、看门狗定时器、上电复位、等待状态发生器在同一芯片上。由夏普和东芝制造。这些产品如今由 Zilog 提供第二来源。1994 年推出的 32 位 Z80 兼容 Zilog Z380主要用于电信设备。

  • Zilog 的全流水线 Z80 兼容eZ80 具有8/16/24位字长和线性 16 MB 地址空间于 2001 年推出。它带有片上SRAM或闪存以及集成外设的版本中. 一种变体具有片上MAC(媒体访问控制器),可用软件访问TCP/IP 堆栈。与 Z800 和 Z280 相比,仅增加了少量指令(主要是LEA、PEA和可变地址 16/24 位加载),但指令的执行效率是原始 Z80 的时钟周期效率的 2 到 11 倍(平均值约为 3-5 倍)。它目前指定用于高达 50 MHz 的时钟频率。

  • 川崎(日本上市的跨国)开发了二进制兼容的 KL5C8400,其时钟周期效率约为原始 Z80 的 1.2-1.3 倍,时钟频率最高可达 33 MHz。Kawasaki 还生产 KL5C80A1x 系列,它具有外围设备以及片上小 RAM;它的时钟周期效率大约与 eZ80 一样,并且时钟频率最高可达 10 MHz (2006)。

  • NEC μPD9002 是一款兼容 Z80 和x86系列的混合 CPU 。

  • 中国炬力的音频处理器系列芯片(ATJ2085 等)包含一个 Z80 兼容MCU和一个 24 位专用 DSP 处理器。这些芯片用于许多 MP3 和媒体播放器产品。

  • T80 (VHDL) 和 TV80 (Verilog) 可综合软核可从 OpenCores.org 获得。

  • 1980 年宣布的 National Semiconductor NSC800 被用于许多 TeleSecurity Timmann (TST) 电子密码机和佳能 X-07。NSC 800 与 Z-80 指令集完全兼容。NSC800 使用多路复用总线(8085上使用),但与 Z80 具有不同的引脚排列。

不兼容

东芝TLCS 900系列高体积(主要是OTP)的微控制器是基于Z80; 它们共享相同的基本 BC、DE、HL、IX、IY 寄存器结构,以及基本相同的指令,但不是二进制兼容的,而之前的 TLCS 90 与 Z80 兼容。

NEC 78K系列微控制器是基于Z80; 它们共享相同的基本 BC、DE、HL 寄存器结构,并具有相似(但名称不同)的指令;不兼容二进制。

部分兼容

Rabbit Semiconductor的Rabbit 2000/3000/4000微处理器/微控制器基于HD64180 / Z180架构,尽管它们不完全兼容二进制。

Zilog 的 NMOS Z800和 CMOS Z280是 16 位 Z80 实现(在HD64180 / Z180之前),具有 16 MB 分页 MMU 地址空间;他们为 Z80 指令集添加了许多正交化和寻址模式。小型机的特性——例如用户和系统模式、多处理器支持、片上 MMU、片上指令和数据缓存等——被视为更复杂,而不是对(通常面向电子的)嵌入式系统设计者的功能和支持,这也使得预测指令执行时间变得非常困难。

某些街机游戏如Pang / Buster Bros使用由VLSI Technology制造的加密“歌舞伎”Z80 CPU ,其中解密密钥存储在其内部电池后备内存中,以避免盗版和非法盗版游戏。

ASCII R800日立HD64180Zilog Z180Zilog Z280东芝 TMPZ84C015

Z80软件部分说明

寄存器

与 8080 一样,8 位寄存器通常配对以提供 16 位版本。与8080 兼容寄存器是:

  • AF: 8 位累加器(A) 和标志位 (F) 进位、零、减号、奇偶校验/溢出、半进位(用于BCD)和一个加/减标志(通常称为 N)也用于 BCD

  • BC: 16 位数据/地址寄存器或两个 8 位寄存器

  • DE: 16 位数据/地址寄存器或两个 8 位寄存器

  • HL: 16 位累加器/地址寄存器或两个 8 位寄存器

  • SP:堆栈指针,16 位

  • PC: 程序计数器,16 位

Z80 引入的新寄存器是:

  • IX: 8 位立即数偏移的 16 位索引或基址寄存器

  • IY: 8 位立即数偏移的 16 位索引或基址寄存器

  • I:中断向量基址寄存器,8位

  • R:DRAM 刷新计数器,8 位(msb不计数)

  • AF':交替(或阴影)累加器和标志(用 EX AF,AF' 切换进出)

  • BC',DE'和HL': 替代(或影子)寄存器(用 EXX 切换进出)

  • 四位中断状态和中断模式状态

Z80 汇编语言

第一个 Intel 8008汇编语言基于从 Datapoint 2200 设计继承的非常简单(但系统)的语法。这种原始语法后来被转换成一种新的、更传统的汇编语言形式,用于同样的原始 8008 芯片。大约在同一时间,新的汇编语言也得到了扩展,以适应更先进的 Intel 8080 芯片中的额外寻址模式(8008 和 8080 共享一个语言子集,但不兼容二进制;然而,8008 与 Datapoint 二进制兼容2200)。

汇编指令对比如下:

汇编示例代码

以下 Z80 汇编程序源代码用于名为 HELLO_WORLD 的子例程。众所周知,这是一个介绍性程序,它将向视频显示器打印一条消息,然后退出。虽然很简单,但它演示了如何格式化汇编源代码以及如何通过计算机操作系统与显示硬件交互。

每条指令都按通常称为机器周期(M 周期)的步骤执行,每条指令可能需要三到六个时钟周期(T 周期)。每个 M 周期大致对应于一次内存访问或内部操作。许多指令实际上在下一条指令的 M1 期间结束,这被称为提取/执行重叠。

参考链接

1、 https://opencores.org/projects/a-z80

2、https://www.cemetech.net/news/2020/5/950/_/ti-83-premium-ceti-84-plus-ce-asmc-removal-updates

3、http://landley.net/history/mirror/cpm/z80.html

4、https://www.cpu-world.com/CPUs/Z80/index.html

源代码

https://opencores.org/projects/a-z80

在了解了4040、6502和Z80这几个CPU后,不得不感叹像飞兆、英特尔这些半导体公司的强大,而且我们了解到这些公司的初始产品并不是完全自主研发,都是一步一步走到了今天的位置,或许这也能给我们一些启示!

NOW

学习Xilinx FPGA最好的资料其实就是官方手册,下表总结了部分手册的主要介绍内容,关注我,持续更新中......

文件名 主标题 内容简单介绍 是否有中文版
UG476 7 Series FPGAs GTX/GTH  Transceivers GTX和GTH介绍,PCIe、serdes等学习必备
UG471 7 Series FPGAs SelectIO Resources 描述 7 系列 FPGA 中可用的 SelectIO资源。
UG1114 PetaLinux Tools Documentaton PetaLinux 工具文档 参考指南 是,V2019.2
UG949 UltraFAST 设计方法指南(适用于 Vivado  Design Suite) 赛灵思® UltraFast™  设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标 是,V2018.1
IP手册 pg057 FIFO Generator FIFO生成器IP使用手册
pg104 Complex Multiplier 复数乘法器IP使用手册
pg122 RAM-Based Shift Register  移位寄存器IP使用手册

推荐阅读

【Vivado那些事】如何查找官网例程及如何使用官网例程

【Vivado使用误区与进阶】总结篇

【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键

SystemVerilog数字系统设计_夏宇闻 PDF

图书推荐|ARM Cortex-M0 全可编程SoC原理及实现

简谈:如何学习FPGA

1202年了,还在使用虚拟机吗?Win10安装Ubuntu子系统及图形化界面详细教程

Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目

AD936x+ZYNQ搭建收音机(一)

AD936x+ZYNQ搭建OpenWIFI

无招胜有招-Vivado非工程模式下的详细设计

面试中经常会遇到的FPGA基本概念,你会几个?

Vivado ML(机器学习) 2021尝鲜

推荐一些可以获取免费的国外的原版书籍(电子版)网站

【Vivado那些事】FPGA的配置方式

FPGA 的重构

浅析FPGA局部动态可重构技术

ISP(图像信号处理)算法概述、工作原理、架构、处理流程

国产CPU概括

从电子游戏历史看IC发展的助推剂

80年代电子游戏及电脑游戏的发展历史

PCIe总线的基础知识

万字长文带你回顾电子游戏的七十多年历史(完整版)

FPGA中异步复位,同步释放的理解

OpenFPGA系列文章总结

用Verilog设计一个16 位 RISC 处理器

介绍一些新手入门FPGA的优秀网站(新增)

Verilog数字系统基础设计-CR

Verilog数字系统基础设计-奇偶校验

建立和保持时间及时序简单理解

(Xilinx)FPGA中LVDS差分高速传输的实现

Xilinx Multiboot实例演示

高速串行通信常用的编码方式-8b/10b编码/解码
Verilog计时(微秒、毫秒和秒)脉冲的产生及同步整形电路

再说System Verilog 与 Verilog 的关系

图书推荐|一本图像/视频处理的强大工具书

Verilog HDL-同步技术

再说System Verilog 与 Verilog 的关系

数模混合信号建模语言Verilog-AMS

【Vivado那些事儿】强制修改打开Vivado工程使用的Vivado版本

Intel/Altera 系列FPGA简介

一块带给无数人年少欢乐的CPU,别说你没用过它

Verilog在编写第一行代码之前

【例说】Verilog HDL 编译器指令,你见过几个?

穿越时空的爱恋-Z80 CPU的前世今生相关推荐

  1. 【计算机组成原理】CPU的前世今生

    [计组详析]CPU的前世今生 CPU是干什么的 流水线式 物理结构 操作流程(影响CPU性能的主要因素) 主频 架构 工厂比喻 新的问题 其他概念 进程和线程 线程切换 线程开销 串行,并发与并行 多 ...

  2. Z80 CPU中的主要指令

    表1 - Z80 CPU的主要指令 指令的种类 助记符 功能 运算指令 ADD A,num 把数值num加到寄存器A的值上 ADD A,reg 把寄存器reg的值加到寄存器A的值上 SUB num 从 ...

  3. z80 cpu 机电系统计算机控制,拆解PreComputer 1000计算机:基于可靠的Zilog Z80处理器电路设计方案...

    早在孩子们可以用价值50美元的Android手机之前,许多年轻人收到的礼物是被称为"教育计算机"的一个产品,这个产品看起来像是父母不想让他们的小孩使用真实计算机,但又偏偏想让他们学 ...

  4. Z80 CPU资料调查

    各种百科关于Z80的页面: 百度百科> http://baike.baidu.com/view/1450395.htm http://baike.baidu.com/view/1462899.h ...

  5. Z80 CPU的寄存器结构图示

  6. 仿古帆船 穿越时空的爱恋

    七夕为所有的浪漫都找到一个合适的理由,普吉岛不如在这一天向她说出你的爱,让牛郎织女见证你们的爱情,海枯石烂. 停靠在香港维多利亚港的船只有很多,但能够作为香港水域特色标记的,却只有"济民号& ...

  7. 古老CPU启示录-第一款单芯片微处理器8080

    从今天来看:"该芯片是二十世纪最重要的产品.8080及其后续的芯片和其它公司生产的竞争芯片,对世界产生了深远的影响,给人类社会带来了翻天覆地的变化.",那么什么芯片具有如此大的魔力 ...

  8. 古老CPU启示录-晶体管之路

    晶体管之路 可以夸张地说,没有他们的发明就没有现在计算机的科学,所以我们非常有必要去了解这些东西(晶体管)的历史. 晶体管于 1947 年在贝尔实验室(美国贝尔实验室是晶体管.激光器.太阳能电池.发光 ...

  9. 【Vivado那些事儿】VIVADO中时序报告中WNS,WHS,TNS,THS含义

    VIVADO中时序报告中WNS,WHS,TNS,THS含义 运行"report_timing"或"report_timing_summary"命令后,会注意到 ...

最新文章

  1. rsync同步服务实验讲解
  2. linux 可运行的最大 线程 进程 数
  3. jquery 幻灯片图像切换效果
  4. 20145233 20145228《信息安全系统设计基础》第二次实验报告
  5. poj-2828 Buy Tickets ***
  6. java动态网站框架_大型网站动态应用系统架构
  7. 云栖社区云栖号(团队博客)攻略【2018版】
  8. 浅说深度学习(4):增强学习
  9. python辗转相除法最大公约数和最小公倍数_小灰算法(二): 可能是小学老师没教你的最大公约数算法...
  10. python登录斗鱼_Python---20行代码爬取斗鱼平台房间数据(下)
  11. android后台获取当前屏幕截图(screencap.cpp修改)
  12. 关于无线充电的三大标准和四种实现方式的介绍
  13. php fflush函数的用法,fflush 函数
  14. 度小满启动“小微加油站”,让低息服务可持续
  15. Let's Use Chinaese in Flex Successfully
  16. UnrealEd3视图导航及常用快捷键
  17. c语言响铃编程,C语言C加加编程新手快速入门基础学习
  18. 计算机四级网络工程师 郑州报考条件,郑州市网络工程师证在哪报名、考试费用...
  19. (C++)编写一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息
  20. 使用DmAPService脚本启动dmap服务报错,报错信息:“failed to get ps!”

热门文章

  1. 【k8s-5】kubeadm init过程的错误
  2. 录音转成文字的方法分享
  3. 温莎大学的计算机科学,温莎大学荣誉计算机CP科学专业本科.pdf
  4. 如何将中文转为计算机语言,怎么将中文系统变成英文系统
  5. jupyter文件自动保存为html,使用jupyter notebook将文件保存为Markdown,HTML等文件格式...
  6. nginx的工作原理与nginx的配置
  7. Apple iPhone
  8. zoho邮箱收信服务器,配置邮件交付 - Zoho Mail 设置
  9. [SugerTangYL] Verilog 语言入门(零基础视角)
  10. 局域网被限速,爱快IP聚合突破限速,网管直呼内行