1
\$\begingroup\$

I have an application where 12 input bits need to generate 6 output bits in a user configurable manner. Of course this requires using a RAM based look up table.

I've noticed that the fastest static RAM available has an access time of about 10ns which limits the look up table access speed to 100 Mhz

How do microprocessors manage to access their internal caches in 1 clock cycle - typically 30 times faster than this? Is the RAM chip speed being limited by it's external communication bus or is it something else?

\$\endgroup\$
2
  • \$\begingroup\$ Obviously. The question already contained that information and asked why this was so, specifically what properties of cache RAM make it so fast, when it is computationally more complex to access since the access must go through checks done by a cache controller. \$\endgroup\$ Feb 27, 2017 at 13:34
  • \$\begingroup\$ Sorry, I must have gotten blind or something. \$\endgroup\$
    – Oskar Skog
    Feb 27, 2017 at 14:09

1 Answer 1

2
\$\begingroup\$

The on-chip cache memory is designed as part of the memory interface circuits and is optimised for speed at the expense of other considerations such as power consumption and die area that may make it impractical for larger sizes. It's also not generally accessible to the user so its addressing circuits and data paths can be simplified. All of that in combination with the lack of parasitic inductances and capacitances and the buffering needed to support off-chip access makes it considerably faster.

Tell us more about your application, as there may be other options available.

\$\endgroup\$
10
  • \$\begingroup\$ I wish to explore the possibility of producing a generic programmable computational device, n bits in width in which generates n bits of output. 2**k operations are to be supported. \$\endgroup\$ Feb 27, 2017 at 12:57
  • \$\begingroup\$ I was more interested in the sort of application areas you were targeting that would require more than 100MHz of throughput? \$\endgroup\$
    – Finbarr
    Feb 27, 2017 at 13:23
  • \$\begingroup\$ Continued.... arbitrary selection of consecutive bits at the same time as any other operation on any other independent consecutive sets of bits. \$\endgroup\$ Feb 27, 2017 at 13:29
  • \$\begingroup\$ Purpose, General Computational. A general computational element to be used to replace multiple types of computational elements found in a microprocessor and to give unique flexibility in specifying additional instructions that are application specific. \$\endgroup\$ Feb 27, 2017 at 13:32
  • \$\begingroup\$ Such a computational element can be made. The question is, are transistors fast enough so that the settling time of the result is short enough to be practical? \$\endgroup\$ Feb 27, 2017 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.