0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

古老CPU启示录-MC14500 1位CPU

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2021-05-08 11:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

古老CPU启示录-MC14500 1位CPU(ICU 简介 在20世纪80年代4位、8位CPU逐渐成为主流,但是当时的CPU发展还处于探索阶段,所以各种“奇葩”的CPU都有出现,今天给大家带来1-bit CPU MC14500和GI SBA。两者差不多以MC14500为例看下这款“奇葩”CPU。 MC14500是一种工业控制单元(ICU),也被认为是1位处理器。它由摩托罗拉(Motorola)生产,但几年前已停止生产。如今,MC14500已经被价格合理的FPGA取代了,包括其所有外设和程序存储器。至今仍存在使用MC14500设计的不同原因: 1、为旧的MC14500计算机创建备件; 2、重复使用MC14500软件; 3、FPGA开发(VHDL代码=》电子专家)与应用程序(应用工程师)之间的分离; 4、低成本PLC替代品; 5、在现代FPGA上运行具有历史意义的东西很有趣; 6、使用FPGA的学习项目。

特点:

(1)16条指令;

(2)编程容易;

(3)容易掌握,不需要特殊的技术人员;

(4)由于使用外部存储器,系统变得容易;

(5)能满足用户的特定需求,具有丰富的灵活性;

(6)能满足用户的特定需求,具有丰富的灵活性;

(7)能够扩展以适应所有系统的规模和复杂程度;

(8)能够进行程序设计;

(9)B系列C-MOS符合JEDE规格;

(10)噪音容限大;

(11)不工作时漏电流小;

(12)工作电压3~18V;

(13)时钟频率范围广,一般工作频率1MHz(VDD=5V,一个时钟执行一条指令);

(14)信号输入和TTL互换;

(15)将判断作为中心工作,超过微处理器的性能;

(16)应用范围广,由继电器回路开始的逻辑判断处理到中速度的串行数据处理,还能减轻超负荷的微处理器系统的工作。

MC14500允许使用IO地址读取输入位。该位可以使用4位指令和内部1位结果寄存器RR进行处理。结果可以写入IO地址的输出位。 输入和输出数据位可以是物理输入和输出,其中可以连接电线,但它们可以连接到其他设备作为RAM定时器。 IO的寻址完全在MC14500外部完成。MC14500的所选指令的4位和外部IO多路复用器的IO地址行导致程序存储器的数据宽度。MC14500使用术语“内存字”来表示从程序内存中输出的数据。本文档使用术语“command”作为“memory word”的同义词。因此,命令由两部分组成:指令和IO地址。 由于IO地址在MC14500的外部,因此不同实现之间的命令可能不同。此外,命令中4个指令位的位置也取决于设计。指令位可能占用命令中的高位或低位。 MC14500不包含从程序存储器中寻址要处理的命令的程序计数器。因此,MC14500设计的程序计数器位数可能不同。

程序内存或命令的宽度是指令的4位加上IOaddress行数。小型MC14500设计将使用8位宽的程序存储器,能够选择多达16个IO地址。由于这并不多,许多MC14500设计使用12位宽的程序存储器,可以选择多达256个IO地址。12位宽的程序存储器使用过去存在的4位宽的ROM设备。其他MC14500设计使用8位宽的程序存储器,但是每个MC14500命令有两个字节被读取,因此形成了一个16位宽的命令,能够寻址多达4096个IO地址线,用于物理IO、单位宽RAM和定时器硬件。在MC14500设计中,从程序存储器中读取两次会产生另一种变化,从程序中读取的第一个字节可能在一种设计中是低字节,但在另一种设计中是命令的高字节。

利用MC14500搭建的外围系统:

o4YBAGCWCB-ACCqwAABsZnAHo5k403.jpg

MC14500模拟

MC14500模拟器使用web技术和javascript来独立于平台,并且在将来也可以使用。这种实现的一个缺点是javascript模拟器不能访问用户的文件系统或硬件。

模拟器在支持svg的浏览器上运行。

按下“步进”按钮意味着下降的时钟边缘,因此MC14500加载指令和输入数据。 释放“步进”按钮意味着上升的时钟边缘,因此MC14500写入数据。程序计数器增加。在程序存储器访问时间之后,下一条指令和IO地址出现在MC14500和输出、输入或RAM上。 详细的介绍就不过多赘述,网上还有利用Python进行汇编程序和反汇编程序的介绍。

FPGA实现

利用MC14500搭建的CPU 从上面的介绍可以看出MC14500和FPGA有很多相似的地方,接下来就用FPGA实现一下这款单比特CPU。

module mc14500b( input clk, input rst, input [3:0] i_inst, input i_data, output reg write = 0, output reg jmp = 0 , output reg rtn = 0, output reg flag0 = 0, output reg flagf = 0, output reg o_rr = 0, output reg o_data = 0 ); reg ien = 0, oen = 0; reg skip = 0; always @(negedge clk or posedge rst) begin

// Reset any flags from last clock. jmp 《= 0; rtn 《= 0; flag0 《= 0; flagf 《= 0; write 《= 0;

// FIX this it‘s not right technically. if (rst) begin

// reset behavior. reset internal flags and ignore clock. ien 《= 0; oen 《= 0; o_rr 《= 0; skip 《= 0; end else begin if (~skip) begin // skip case(i_inst) 4’b0000 : flag0 《= 1;

// NOPO 4‘b0001 : o_rr 《= ien & i_data; // LD 4’b0010 : o_rr 《= ien & ~i_data; // LDC 4‘b0011 : o_rr 《= ien & (i_data & o_rr); // AND 4’b0100 : o_rr 《= ien & (~i_data & o_rr); // NAND 4‘b0101 : o_rr 《= ien & (i_data | o_rr);

// OR 4’b0110 : o_rr 《= ien & (~i_data | o_rr); // NOR 4‘b0111 : o_rr 《= ien & (o_rr == i_data);

// XNOR 4’b1000 : begin // STO // DATA -》 RR, WRITE -》 1 for a clock (if oen is allowed)。 o_data 《= oen & o_rr; write 《= oen; end 4‘b1001 : begin // STOC

// DATA -》 ~RR, WRITE -》 1 for a clock. o_data 《= ~o_rr; write 《= oen; end 4’b1010 : ien 《= i_data; 4‘b1011 : oen 《= i_data; 4’b1100 : jmp 《= 1; 4‘b1101 : begin

// RTN rtn 《= 1; skip 《= 1; end 4’b1110 : skip 《= ~o_rr; 4‘b1111 : flagf 《= 1; endcase end else begin

// reset skip flag after clocking with skip once. skip 《= 0; end end end // neg edge// always @(posedge clk) begin// write 《= 0;// endendmodule

原文标题:你见过1-bit CPU吗?

文章出处:【微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22282

    浏览量

    630059
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222859

原文标题:你见过1-bit CPU吗?

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单核CPU网关和双核CPU网关有什么区别

    单核CPU网关与双核CPU网关的核心区别在于处理能力、多任务效率、性能表现及适用场景,双核CPU网关在多任务处理、复杂计算和响应速度上具有显著优势,而单核CPU网关则更适合轻量级、低负
    的头像 发表于 07-05 14:37 728次阅读

    烧结银行业的“警世钟”:Wolfspeed破产启示录

    烧结银行业的“警世钟”:Wolfspeed破产启示录 5月22日消息,据外媒报道,美国芯片制造商Wolfspeed因债务问题,正计划在数周内申请破产保护,作者作为功率半导体行业的老兵,从以下几个方面
    的头像 发表于 05-26 13:02 540次阅读
    烧结银行业的“警世钟”:Wolfspeed破产<b class='flag-5'>启示录</b>

    NVIDIA Grace CPU C1获得广泛支持

    NVIDIA 在本周 COMPUTEX 上重点展示了其全新的 Grace CPU C1,并获得多家主要原始设计制造商合作伙伴的大力支持。
    的头像 发表于 05-22 10:01 606次阅读

    信创国产CPU推荐

    cpu
    jf_10805031
    发布于 :2025年04月23日 17:20:43

    CPU的各种指令和执行流程

    在集成电路设计中,CPU的指令是指计算机中央处理单元(CPU)用来执行计算任务的基本操作指令集。这些指令是CPU能够理解并执行的二进制代码,它们在计算机内部由硬件控制并按顺序执行,从而实现计算、控制
    的头像 发表于 04-18 11:24 1904次阅读

    【国产信创CPU全攻略】分享国产CPU品牌排行榜!从排名到避坑!

    最近收到不少粉丝留言:“想换国产电脑,但国产CPU品牌太多,完全不知道怎么选!”“信创CPU排名到底靠不靠谱?”今天咱们就来唠唠这个话题——国产CPU品牌有哪些?信创CPU怎么挑?附上
    的头像 发表于 04-14 14:34 4108次阅读
    【国产信创<b class='flag-5'>CPU</b>全攻略】分享国产<b class='flag-5'>CPU</b>品牌排行榜!从排名到避坑!

    hyper cpu,Hyper CPU优化:提升虚拟机性能

    :提升虚拟机性能。    在虚拟化环境中,CPU性能优化对于提升虚拟机的整体性能至关重要。Hyper-V提供了多种工具和策略,帮助用户根据虚拟机的工作负载需求合理分配和优化CPU资源。以下是针对Hyper-V虚拟机CPU优化的详
    的头像 发表于 02-06 10:25 1544次阅读
    hyper <b class='flag-5'>cpu</b>,Hyper <b class='flag-5'>CPU</b>优化:提升虚拟机性能

    CPU怎么降频 bios中如何把cpu调低频率

    CPU降频是一种有效的节能措施,同时也有助于降低设备的温度和功耗,提高系统的稳定性和使用寿命。以下将详细介绍如何在操作系统中、BIOS设置里以及使用第三方软件来实现CPU降频。 一、在操作系统中降低
    的头像 发表于 02-01 15:02 3w次阅读

    fpga和cpu的区别 芯片是gpu还是CPU

    一、FPGA与CPU的区别 FPGA(Field-Programmable Gate Array,现场可编程门阵列)和CPU(Central Processing Unit,中央处理器)是两种不同类
    的头像 发表于 02-01 14:57 2977次阅读

    华为云 X 实例 CPU 性能测试详解与优化策略

    引言   1. 测试环境搭建   1.1 测试实例的选择   1.2 CPU性能测试工具介绍   1.3 安装和配置Sysbench   2. CPU性能测试方法   2.1 测试场景设定
    的头像 发表于 12-30 14:52 1170次阅读
    华为云 X 实例 <b class='flag-5'>CPU</b> 性能测试详解与优化策略

    【「大模型启示录」阅读体验】+开启智能时代的新钥匙

    好久没有得到书籍的试读机会了,很幸运此次能有机会试读这本《大模型启示录》首先这是一本很新的书,2024年9月才出版,电子发烧友论坛还很温馨的在扉页空白处标明赠书。 怀着满心的期待,我迫不及待地开始了
    发表于 12-24 13:10

    【「大模型启示录」阅读体验】营销领域大模型的应用

    今天跟随「大模型启示录」这本书,学习在营销领域应用大模型。 大模型通过分析大量的消费者数据,包括购买历史、浏览记录、社交媒体互动等,能够识别消费者的偏好和行为模式。这种分析能力有助于企业更好地理
    发表于 12-24 12:48

    【「大模型启示录」阅读体验】对大模型更深入的认知

    阅读《大模型启示录》这本书,我得说,它彻底颠覆了我对大模型的理解。作为一个经常用KIMI和豆包这类AI工具来完成作业、整理资料的大学生,我原以为大模型就是这些工具背后的技术。但这本书让我意识到
    发表于 12-20 15:46

    【「大模型启示录」阅读体验】如何在客服领域应用大模型

    在客服领域是大模型落地场景中最多的,也是最容易实现的。本身客服领域的特点就是问答形式,大模型接入难度低。今天跟随《大模型启示录 》这本书,学习大模型在客服领域的改变。选择大模型客服时,需要综合考虑
    发表于 12-17 16:53

    【「大模型启示录」阅读体验】对本书的初印象

    很高兴能够申请到《大模型启示录》一书,作为一名在读大学生,我深感荣幸。在日常生活中,人工智能(AI)的应用已经变得无处不在,它不仅帮助我们完成一些简单的文本归纳任务,还能在代码调试中指出错误,甚至
    发表于 12-16 14:05