• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 看过《编码的奥秘》哥哥们来讨论下

看过《编码的奥秘》哥哥们来讨论下

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了认识的哥哥,哥哥帮帮忙,刚哥哥,哥哥的故事,果子哥哥等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 看过《编码的奥秘》哥哥们来讨论下
描述:

编码的奥秘RAM

在看《编码的奥秘》到第16章存储器的组织,有些小疑问。
1、  在讲到一个8*1 RAM时,给出的RAM内部电路图是:

 看过《编码的奥秘》哥哥们来讨论下


中间是8个锁存器(也即是电平D触发器,DI数据输入端,W写操作端,DO数据输出端),上边一个3-8译码器(S2,S1,S0三个地址输入端,Write写操作端,Q7-Q0数据输出端),下边是8-1选择器(S2,S1,S0三个地址输入端,D7-D0数据输入端,Output数据输出端)。
对于这个RAM内部电路图疑问是,在我要往这个8*1RAM中某个锁存器里写入数据时,同时也会输出所选定的锁存器中内容。这是不是电路设计的一个缺陷?当然,我清楚这并不是实际的RAM构造,只是书中一个讲解例子,而且这个问题也不是那么要紧。
2、  用上面两个8*1RAM来集成一个16*1RAM时,给出的RAM内部电路图是:

 看过《编码的奥秘》哥哥们来讨论下


中间两个8*1RAM是上面的简化图。下边是2-1的选择器,上边是1-2的译码器。
这里我觉得这个电路图问题大了。假如我们需要给左边的8*1RAM中第一个锁存器输入数据1,那么给出Address(A0A1A3)=000,Write=1,Data In=1,Select=0。经过1-2的译码器DO0=1、DO1=0。但是,由于Write、Address输入信号也会传入右边的8*1RAM,这样会使得右边的8*1RAM中第一个锁存器保存0值,因为DO1=0使得右边8*1RAM的DI输入端为0。如此,这个16*1RAM设计是不合理的。
这里我觉得电路图应该改为下图:

 看过《编码的奥秘》哥哥们来讨论下


添加了两个与门
这是个明显的错误,但作者在书中未提及这个问题,而且网上也没见到有人提出这个问题,我就有点奇怪了。不知道,大哥们怎么看这个问题?


解决方案1:

补充说一句,对于第二个问题,用于data-in的decoder是不需要的。将data-in直接连接到2个DI就可以了。

解决方案2:

1. 你的想法正确,但这不算缺陷。根据使用场合的不同,RAM有可能需要读写同时进行,或不需要同时进行。对于读写不需要同时进行的应用,书上的图就够用了。而对于读写会同时进行的应用,会使用两套地址线,一套用于读地址,一套用于写地址,而且需要考虑当读写同时进行时的冲突问题(向某单元写入时,同时读取该单元)。这会大大增加设计复杂度。
2. 你是对的。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 看过《编码的奥秘》哥哥们来讨论下

相关文章

  • 2017-06-05 用java做USB通信
  • 2017-06-05 !!!!开发嵌入式电子地图?????
  • 2017-06-05 发帖求助i2c设备编译成o文件可以正常运行probe函数,编译成ko文件无法运行probe函数问题
  • 2017-06-05 各位对WINDOWS比较了解的进来看看,有必要的话此贴再加分!
  • 2017-06-05 GSM/GPRS/WCDMA无线模块推荐的流程
  • 2017-06-05 一个硬盘控制器在系统启动时候,到底要提供那些信息给BIOS程序,这些信息放置在内存什么位置?
  • 2017-06-05 程序编译错误???
  • 2017-06-05 C51编译时关于头文件intrinsh的问题
  • 2017-06-05 求98下虚拟硬盘代码!!!我还给加分的放心!!!
  • 2017-06-05 自己写了温湿度SHT11的协议但测量出的值错误,不知道哪里错了。

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请问关于磁盘加载执行程序的问题,谢谢
    • linux模块加载提示版本不对
    • DDK的编译优化选项?
    • 在DS的示例Vcap中增加了USB功能后,出现问题?请指教。
    • 关于用DDK编写防火墙的问题
    • VS2003可不可以写驱动程序?
    • STM32F429IAP+AppRTXkernel无法跳转到APP的问题
    • DriverProc的问题
    • 为什么我定义的变量被优化掉了?
    • USB侦听监视及TCP/IP协议解析软件

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有