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

MC14500interwetten与威廉的赔率体系

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
    +关注

    关注

    1629

    文章

    21738

    浏览量

    603466
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10863

    浏览量

    211799

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    名单公布!【书籍评测活动NO.49】大模型启示录:一本AI应用百科全书

    的步伐。相信在不久的将来,各位读者将会看到《大模型启示录》的第二版,只因时代在不断推动我们更新知识。 申请时间 2024年10月28日——2024年11月28日 活动参与方式 1、在本帖下方留言回帖
    发表于 10-28 15:34

    服务器cpu和台式机cpu区别

    服务器CPU和台式机CPU的区别是一个复杂的话题,涉及到多个方面,包括设计、性能、功耗、可靠性、成本等。 服务器CPU和台式机CPU的区别 1
    的头像 发表于 10-10 15:12 1203次阅读

    CPU主频是什么意思

    CPU主频,作为计算机处理器性能的一个重要指标,承载着丰富的威廉希尔官方网站 内涵与实际应用价值。以下是对CPU主频的详细解析,包括其定义、用途、威廉希尔官方网站 原理、影响因素以及在多个领域的实际应用。
    的头像 发表于 09-26 15:50 1727次阅读

    CPU时钟周期的组成和作用

    CPU时钟周期是计算机体系结构中一个至关重要的概念,它直接关联到CPU的运行速度和性能。以下是对CPU时钟周期的定义、组成和作用的详细解析。
    的头像 发表于 09-26 15:32 632次阅读

    双核cpu和单核cpu的区别

    双核CPU与单核CPU在多个方面存在显著差异,这些差异主要体现在处理能力、性能、运行效率、功耗以及适用场景等方面。 一、概念与结构 双核CPU :指在一个处理器上集成两个运算核心,通过并行总线将各处
    的头像 发表于 09-24 16:17 2954次阅读

    CPU的定义和功能

    CPU(Central Processing Unit,中央处理器)作为计算机系统的核心部件,其功能和作用至关重要。以下是对CPU功能的详细解析,内容将涵盖CPU的基本定义、主要功能、组成部分、性能指标以及工作流程等方面,力求全
    的头像 发表于 09-10 11:45 4258次阅读

    将软件从8(字节)可寻址CPU迁移至C28x CPU

    电子发烧友网站提供《将软件从8(字节)可寻址CPU迁移至C28x CPU.pdf》资料免费下载
    发表于 09-06 10:42 0次下载
    将软件从8<b class='flag-5'>位</b>(字节)可寻址<b class='flag-5'>CPU</b>迁移至C28x <b class='flag-5'>CPU</b>

    什么是CPU缓存?它有哪些作用?

    CPU缓存(Cache Memory)是计算机系统中一个至关重要的组成部分,它位于CPU与内存之间,作为两者之间的临时存储器。CPU缓存的主要作用是减少CPU访问内存所需的时间,从而提
    的头像 发表于 08-22 14:54 3132次阅读

    CPU的各种知识

    1CPU和字长:在数字电路和电脑威廉希尔官方网站 中采用二进制,代码只有“0”和“1”,其中无论是“0”或是“
    的头像 发表于 04-19 08:26 497次阅读
    <b class='flag-5'>CPU</b>的各种知识

    cpu是什么意思 CPU与PUA的区别

    CPU是计算机中央处理器(Central Processing Unit)的英文缩写,是计算机系统的核心部件之一。它负责处理和执行计算机中的指令,控制和协调计算机系统中的各个硬件设备的工作。 PUA
    的头像 发表于 02-05 10:47 1.2w次阅读

    服务器cpu和普通电脑cpu的区别

    服务器CPU和普通电脑CPU之间存在许多区别。在以下文章中,我们将详细介绍服务器CPU和普通电脑CPU之间的区别,并探讨它们在性能、稳定性、扩展性、功耗和可靠性方面的差异。 一、性能
    的头像 发表于 02-01 11:14 6688次阅读