0 引言

通常,人们对微型计算机的工作原理及硬件结构的了解来源于书本知识,深入理解掌握其功能特点比较困难,要自己亲手去做一个类似功能的微型计算机更是不可能。随着可编程逻辑器件的广泛应用,为数字系统的设计带来了极大的灵活性,用户可以利用FPGA(现场可编程门阵列)来开发出一个精简指令的CPU,同时对微型计算机的原理及结构进行充分研究,便于将来进行相关ASIC(专用集成电路)设计,也可用于计算机原理教学之中。

1 微型计算机结构及原理

以一个简化的微型计算机为例,图1是微型计算机的简化结构。

图1 微型计算机的简化结构

1.1 微型计算机结构

微型计算机由PC(程序计数器)、IR(指令寄存器)、CON(控制部件)、MAR(存储地址寄存器)、ROM(只读存储器)、A(累加器)、ALU(算术逻辑部件)、B(寄存器)、OUTREG(输出寄存器)、DLEDDIS(数码管动态扫描模块)及DECL7S(显示模块)等组成。这里仅介绍有所改变或不同的模块。

图1中:L为数据载入控制信号,E为三态输出选通信号,clk为时钟信号,clr为清零信号,Cp为控制PC加1信号,S0-S3为控制ALU进行加减或逻辑运算的选择信号。所有的控制、时钟及清零信号由CON模块给出,而CON模块由外部时钟clkin及清零信号rst控制。PC可以置数,即可执行跳转指令。OUTREG可清零,便于多次调试。DLEDDIS及DECL7S用来把地址及结果在数码管上显示出来。

1.2 微型计算机原理

虽然这台微型机可以实现16条指令,但本文对指令不做扩展,仅以5条指令为例。LDA为将数据装入累加器A(操作码0000);ADD为进行加法运算(操作码0001);SUB为进行减法运算(操作码0010);OUT为输出结果(操作码1110);HLT为停机(操作码1111)。

在程序和数据装入后,当外部给出时钟信号及清零信号无效时,由CON模块发出信号及控制字,开始取出和执行每条指令。如控制字顺序为ErLrS3S2S1S0EuLm LbEaLaEi LiCpEpLp,这里Lr可用于存储器为RAM时做写使能信号。由于采用的是数据总线与地址总线合一的总线结构,一条指令的执行需要6个机器节拍,即前3节拍取指周期与后3节拍执行周期。如执行ADD 0AH,机器码为1AH(0001 1001)。第1节拍将PC内容送入MAR,控制字为“0000 0001 0000 0010”,即Ep与Lm为1;第2节拍将ROM中对应地址单元中的内容送到IR,IR高4位送至CON,控制字为“1000 0000 0000 1000”,即Er与Li为1;第3节拍使PC加1,控制字中Cp为1,其余为0;第4节拍将IR的低4位送至MAR,Ei与Lm为1;第5节拍将ROM中的内容送入累加器A中,Er与La为1;第6节拍为加法运算,Eu与La为1,同时S0-S3选择为加法运算。

微型计算机简化结构,基于FPGA的简易微型计算机结构分析与实现相关推荐

  1. 基于FPGA的简易DDS信号发生器的设计与验证

    基于FPGA的简易DDS信号发生器的设计与验证 一,理论介绍 补充:举例理解 二,代码实现 1,实验目标 2,MATLAB代码 3,verilog代码及实现思路 一,理论介绍 DDS 是直接数字式频率 ...

  2. 基于FPGA的简易DDS信号发生器的设计(一)

    写这篇文章的本意不是为了探讨AD9767怎么使用,因为9767的控制实在是太简单了,准备好数据直接输出即可,和网上大多数的并行DA输出基本上一模一样,更麻烦的反而是硬件方面.发文的原因是最近一位很细心 ...

  3. 基于FPGA的简易数字频率计+上板测试(小梅哥AC620FPGA开发板)

    基于FPGA的简易数字频率计+上板测试(小梅哥AC620FPGA开发板 目录 主要架构 1.计数模块 2.数码显示模块 3.控制信号模块 4.分频模块 例化模块 上板测试图 附:74HC595移位寄存 ...

  4. 基于FPGA的简易数字时钟

    基于FPGA的可显示数字时钟,设计思路为自底向上,包括三个子模块:时钟模块,进制转换模块,led显示模块.所用到的FPGA晶振频率为50Mhz,首先利用它得到1hz的时钟然后然后得到时钟模块,把时钟模 ...

  5. 基于FPGA的简易 DDS 信号发生器的设计

    文章目录 前言 一.pandas是什么? 二.ROM 内波形数据写入 1.MIF 2.DDS 模块参考代码 波形仿真 前言 DDS 是直接数字式频率合成器(Direct Digital Synthes ...

  6. 基于FPGA的简易OFDM调制解调系统开发

    设OFDM信号发射时间周期为[0,T],子载波数为N,N也是符号序列的时间间隔.可以证明满足子载波正交的条件为:=1/T.(式中为子载波的频率间隔.)输入数据流首先被QAM调制器调制,这里其实是完成一 ...

  7. 【无线图传】基于FPGA的简易无线图像传输系统verilog开发,matlab辅助验证

    1.软件版本 MATLAB2015b 2.算法概述 整个系统的方案如下: 第一,使用matlab将图片信息,或者视频帧信息转换为串行电平信号

  8. 微型计算机的简化结构,第三讲 结构的清晰与简化

    第三讲 结构的清晰与简化    清晰就是好结构,简化就能高清晰.高考作文是戴镣铐的舞蹈,考生的自由创作限制在一定枷锁之中.文章结构也有相应的制约因素,这是由阅卷者阅卷时间的短暂性,以及考生手写字体的模 ...

  9. 第一章: 微型计算机组成结构

    第一章: 微型计算机组成结构 引言 微型计算机组成原理 I/O端口寻址和访问控制方式 I/O端口和寻址 接口访问控制 主存储器,BIOS和CMOS存储器 主存储器 基本输入/输出程序BIOS CMOS ...

最新文章

  1. 吾八哥学Python(四):了解Python基础语法(下)
  2. 使用jquery处理数据时要注意的问题
  3. 【星球知识卡片】视频分类与行为识别有哪些核心技术,对其进行长期深入学习...
  4. lync服务器不响应或无法联系,Lync 用户无法与外部联系人通信 - Skype for Business | Microsoft Docs...
  5. OpenGL环境下的射线选择
  6. 牛客网——今年的第几天
  7. LeetCode 1904. 你完成的完整对局数
  8. Eclipse Debug功能的使用教程
  9. 【Android -- 数据存储】LitePal 的基本使用
  10. Java中的final变量、final方法和final类
  11. 大气压力换算公式_压强单位bar,psi,pa,mpa,kg换算公式
  12. 博应用教你使用华为nova3添加桌面小工具
  13. 科技爱好者周刊(第 209 期):程序员是怎样的人
  14. js-beautify 不换行
  15. 创始人也会有的流量焦虑
  16. 程序员最爱用的在线代码编辑器合集,哪款是你的最爱?
  17. 哈佛结构冯·诺依曼结构
  18. MySQL之CentOS安装MySQL
  19. 实现html下载为pdf时分页不切断table表格或者echarts图片
  20. THREAD APC 《寒江独钓》内核学习笔记(4)

热门文章

  1. 微分方程的数值解法与程序实现 pdf_初中数学知识点|一元一次方程的概念及讲解(二)建议收藏!内含pdf版...
  2. MATLAB 求曲线长度
  3. 【Modern OpenGL】纹理 Textures
  4. WinCE内核裁减(中文字体)及字库和内核的分离
  5. 如何连接安卓手机_安卓手机如何使用AirPods
  6. 静态代码和动态代码的区别_无代码和低代码有哪些区别
  7. python允许无止境的循环吗_Python第一天 - 思想永无止境的个人页面 - OSCHINA - 中文开源技术交流社区...
  8. 【转】四、关于如何使用软件库的一个技巧-避免重复配置属性表
  9. 【转】医学影像技术(中国普通高等学校本科专业)
  10. 【转】逆变与协变详解