Questions tagged «memory»

而是考虑使用更具体的标签,例如dram,sram,flash


10
为什么RAM没有放在CPU芯片上?
与外部所有事物(包括内存(RAM))相比,现代CPU的速度非常快。 这是可以理解的,因为CPU时钟频率已经达到了一个电信号从CPU通过总线到RAM芯片再返回所需的几个时钟滴答的点。 它还使许多级别的生活变得复杂:建立多级缓存层次结构以将数据传送到更接近CPU的位置,这又需要芯片中的复杂同步逻辑。必须以缓存友好的方式编写程序,以避免在获取数据时产生等待周期。 如果大量的RAM直接位于CPU芯片上,则可以避免许多此类问题。它不必排他性地排列:根据其类别,可以在芯片上放置1-4 GB的空间,并允许单独安装额外的内存。 我敢肯定,英特尔,AMD等公司没有这样做是有充分理由的。这些原因是什么?芯片上没有剩余空间了吗?
55 memory  cpu 

8
为什么微控制器的RAM这么少?
也许这更多是一个感知问题,但是在过去的20年中,微控制器似乎在飞跃发展,几乎在所有方面,更高的时钟速度,更多的外设,更容易的调试,32位内核等。 看到RAM以10的KB(16/32 KB)为单位仍然很常见。 看来这可能不是直接影响成本或规模的问题。RAM控制器超过某个阈值是否会带来复杂性问题? 还是只是通常不需要它? 在一个受欢迎的互联网供应商的零件矩阵上,我看到一个256 KB的Cortex M4不到8美元,然后再花几美元,您可以找到更多没有ROM的东西,但是看起来很稀疏... 我完全不需要具有MB易失性存储的微控制器,但似乎有人可能会...

6
什么是触发器?
触发器和锁存器似乎有许多不同的定义,其中一些是矛盾的。 我所教课程的计算机科学教科书可能是最令人困惑的(实际上,我对这本书不太信任,因为在某些地方这完全是错误的)。 我对锁存器(SR,门控SR,门控D)的工作方式以及电平触发和边沿触发器件之间的差异感到满意,至少在逻辑门和时序图方面。但是,我仍在寻找触发器和锁存器的简洁定义。 到目前为止,这是我所相信的: “触发器是可以存储1位的边沿触发双稳态设备”。 “锁存器是一个电平触发的双稳态设备,可以存储1位。” 我已经看过了该网站上有关此内容的以前的帖子,尽管很启发,但我仍在寻找确定的内容。 我要检查的当前理解是在下图中... 并排是我所理解的是电平触发的门控D锁存器的两种实现。 在这些下方是一个上升沿检测器,在短暂的时间,当NOT门尚未响应从低到高的变化输入,即上升沿(红色为1,蓝色为0)。 在最后一个图中,边缘检测器已安装到标有日期的D锁存器中,这就是使它成为触发器的原因。 最后一个图是否真的是触发器,还是只是锁存器? 为什么我们需要给定的主从版本,那么该设备要简单得多?

3
什么是微控制器的不同存储器类型?
编译后,从C代码将不同类型的数据放入不同的内存段。即:.text,.data,.bss,栈和堆。我只想知道这些段中的每一个在微控制器存储器中的位置。也就是说,给定存储器类型为RAM,NVRAM,ROM,EEPROM,FLASH等,哪些数据将进入哪种类型的存储器。 我在这里找到了类似问题的答案,但是他们无法解释每种不同内存类型的内容。 任何帮助都将受到高度赞赏。提前致谢!

1
为什么闪存具有使用寿命?
我读过闪存可以“仅”重新编程100000至1000000次,直到内存“退化”为止 为什么在闪存而不是其他内存类型上会发生这种情况?内部“退化”指的是什么? 编辑:由于发生这种情况不仅是闪存,所以我想概括一下并询问存在此问题的内存。另外,是否由于相同的现象而导致这些存储器类型之间的损耗?
25 memory  flash 

4
您如何确定微控制器需要多少闪存/ RAM?
假设您正在启动具有某些已知功能的嵌入式项目。选择微控制器时,如何选择所需的RAM? 您是否使用开发板并先对项目进行编码,然后查看已使用了多少内存,然后选择适合该内存的合适微控制器? 您是否只是选择功能强大的微控制器作为原型,然后在拥有可用的产品后缩小规模? 您是否只是选择一种您肯定会够用的东西,如果空间不足,只是升级到更高的内存密度,否则,您只需保留现有的微控制器? 什么被认为是好的做法?

6
串行协议定界/同步技术
由于异步串行通信甚至在当今的电子设备中也很普遍,我相信我们许多人会不时遇到这样的问题。考虑与串行线(RS-232或类似产品)连接并且需要连续交换信息的电子设备D和计算机。即每个发送一个命令帧,并每个发送一个状态报告/遥测帧答复(报告可以作为对请求的响应发送,也可以独立发送-在这里并不重要)。通信帧可以包含任何任意二进制数据。假设通信帧是固定长度的分组。PCPCX msDY ms 问题: 由于协议是连续的,因此接收方可能会失去同步,或者只是在进行中的发送帧中间“加入”,因此它只是不知道帧起始位置(SOF)在哪里。根据数据相对于SOF的位置,数据具有不同的含义,接收到的数据可能会永久损坏。 所需的解决方案 可靠的定界/同步方案可在恢复时间短的情况下检测SOF(即重新同步所需的时间不超过1帧)。 我了解(并使用了一些)的现有技术: 1)标头/校验和 -SOF作为预定义的字节值。帧末的校验和。 优点:简单。 缺点:不可靠。恢复时间未知。 2)字节填充: 优点:可靠,快速恢复,可与任何硬件一起使用 缺点:不适用于固定大小的基于帧的通信 3)第9位标记 -在每个字节之前附加一个位,而SOF标记为1和数据字节标记为0: 优点:可靠,快速恢复 缺点:需要硬件支持。大多数PC硬件和软件未直接支持。 4)第8位标记 -上面的一种模拟,同时使用第8位而不是第9位,每个数据字仅保留7位。 优点:可靠,快速的恢复,可与任何硬件一起使用。 缺点:需要从/到常规8位表示到/从7位表示的编码/解码方案。有点浪费。 5)基于超时 -假定SOF为某个已定义的空闲时间之后的第一个字节。 优点:无数据开销,简单。 缺点:不太可靠。在较差的计时系统(如Windows PC)上无法很好地工作。潜在的吞吐量开销。 问题: 还有哪些其他可能的技术/解决方案可以解决该问题?您能否指出上面列出的缺点,可以轻松解决这些缺点,从而消除它们?您(或您将)如何设计系统协议?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 


3
上电时SRAM不是空白,这正常吗?
我终于完成了Z80内存板的工作,但令我失望的是,它无法正常工作(将地址线连接到某些LED上的简单NOP测试),因为计数器迅速呈螺旋形失控,而不是按需增加。但是,我不是一个愿意放弃的人,经过大约三十分钟的连续性测试,发现没有短路和所有正确的连接之后,我终于想到要检查SRAM芯片是否在所有0都接通的情况下通电。我很清楚,SRAM(除非是非易失性的,除非我的特定芯片不​​是非易失性的)会在断电时丢失其所有内容,但是我一直认为,当它重新获得时将充满0(即“空”)。功率。每次复位电源时,我正在使用的SRAM似乎随机填充有1和0。它永远不会记住任何数据,但它不会空载。这并不是真正的问题,因为我可以简单地在ROM中编写一个小程序,以在加电时将全0加载到RAM中,尽管我仍然想知道这是否是SRAM的工作方式。谢谢! 编辑:我忘了提到使用ROM将0加载到SRAM之后,系统工作正常,所以这确实是问题。

8
为什么串行EEPROM优于并行EEPROM?
在EEPROM的Wikipedia页面上:http : //en.wikipedia.org/wiki/EEPROM,给出了“并行EEPROM设备通常具有8位数据总线和足够宽以覆盖整个存储器的地址总线”,并且“与串行EEPROM相比,并行EEPROM的操作既简单又快速”。在那种情况下,为什么串行EEPROM变得比并行EEPROM更流行?
17 serial  i2c  memory  eeprom 

2
没有大量引脚的并行RAM?
早在1970年代,德州仪器(TI)就有一种现已停产的产品,它们称为GRAM(并且仅读取等效的GROM),该产品基本上是一种标准的存储芯片,其地址和数据全部复用到8个引脚上。您可以通过向芯片发送两个字节的地址来开始操作,然后每次向读或写引脚施加脉冲时,它将使用总线来读或写一个字节,然后递增内部地址计数器。结果是存储芯片的速度几乎与标准并行存储芯片一样快(至少对于顺序访问操作而言),但是只需要16针封装,而不是28针封装,就可以满足当今所需的其他类似存储器的需求。 。 如今,对于类似的应用程序,您可能最经常使用SPI访问的串行存储器-但问题是这种存储器的速度非常慢(大多数存储器的最大吞吐量约为20Mbit / s;某些存储器的运行速度是后者的两倍,但我没有找到比这更快的速度了),而这些TI零件的现代等效速度可能比这快得多,可以轻松实现100 + Mbit / s的访问速度。 是否有任何仍在生产中并且性能与TI芯片相似的产品?我今天能找到的最接近的是定制部件,例如VLSI VS23S010D,它结合了支持我正在寻找的那种接口的存储设备和显示驱动器,该驱动器使引脚数达到48个。我理想地是在14或16引脚封装中寻找东西(我认为14是实际的最小值-2x功耗,8x数据,时钟,地址选择,读取字节,写入字节)。

4
为什么L1缓存比L2缓存快?
我试图理解为什么某些CPU高速缓存的内存比其他的快。将高速缓存存储器与主存储器之类的存储器进行比较时,存储器类型(SRAM与DRAM)和可能影响访问速度的局部性问题(片上存储器与必须穿越存储器总线)存在差异。但是L1和L2通常在同一芯片上,或者至少在同一芯片上,我认为它们是同一类型的存储器。那么为什么L1更快呢?
14 memory  cpu  cache 

2
闪存和EEPROM
Atmega16数据表说它有 a)16 KB的系统内自编程闪存程序存储器,以及b)512字节的EEPROM。 微控制器能否有两个单独的ROM,可以通过EEPROM技术和闪存技术进行编程? 还是我从数据表中得出的推论是错误的? 我知道我们的程序存储在闪存中,为什么没有人需要EEPROM?如果我们有程序的闪存,它有什么用? 也有人可以解释什么是“系统内自编程” 我所知道的是:闪存技术可以按数据块编写程序,而EEPROM可以按字节写数据。

6
最简单的计算机内存(Pi0K)
我想制造最简单的计算机。我不在乎速度或存储,实际上,低速和低存储是一个巨大的优势,因为我想用晶体管(理想的是继电器)来构建它,并且我希望每个状态都有一个LED。它会通过一个Raspberry Pi进行编程,该Raspberry Pi将托管一个摄像头,以便您可以看到每个时钟周期正在执行(是的,它将以Hz而不是GHz的频率运行)。这将是一个开放式设计,意在让学校可以购买零件,了解和改进设计。因此,总预算必须低于400英镑,最好是100英镑左右。 我已经对此进行了多年的研究,并且对CPU有很好的想法(最少的寄存器,DIP开关中的微码以及用于减少晶体管数量的位串行逻辑/算术运算)。我不知道如何获取内存,我想要1024到8096位。 我能想到的最好的是两个6位n分之一的解码器,可以访问64 x 64的电容器网格。他们要么在里面充电,要么没有,读书会强化这种状态。电容器上将没有LED,因为此“ DRAM”的刷新将以顺序或分钟为单位(这很可惜,因为这将是唯一不显示状态的部分)。 其他想法包括某种形式的磁带驱动器(紧凑的盒式磁带机制:大容量存储,过于复杂,无法寻道),鼓式存储器(豆罐周围的带子:太难使机械师正常工作),机械式存储器(自行车车轮和滚珠轴承:太多的位错误),核心内存(大型硬铁氧体磁芯:要达到所需的规模仍然非常棘手),磁带/卡(我们仍然可以购买磁带阅读器),带有二进制打孔的旋转磁盘以及一些磁性用于存储的内存(构建起来太复杂)。 最终目的是发布可以在学年中构建的设计,其中CPU和内存的所有部分都是“可见的”,因此您可以看到指令提取,解码为微代码以及地址解码/注册访问/逻辑全部。在几分钟内发生。 如果有人对真正便宜的内存(<< 100英镑)有确切的想法,那么请告诉我。 托尼 PS当前的播放状态在http://www.blinkingcomputer.org/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.