{'fraction_non_alphanumeric': 0.028898582333696837, 'fraction_numerical': 0.008178844056706653, 'mean_word_length': 5.461267605633803, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Efficient Algorithms for Fixed-Point Arithmetic Operations In An Embedded PIM

∗ Effort sponsored by Defense Advanced Research Projects Agency (DARPA) through the Air Force Research Laboratory, USAF, under agreement number F30602-99-1-0521. The U.S. Government is authorized to reproduce and distribute reprints for governmental purposes notwithstanding any copyright annotation thereon. The views and conclusions contained herein are those of the authors and should not interpreted as necessarily representing the official policies or endorsement, either expressed or implied, of the Defense Advanced Research Projects Agency (DARPA), Air Force Research Laboratory, or the U.S. Government. Abstract The growing gap in performance between processor and memory speeds has created a problem for dataintensive applications. A recent approach for solving this problem is to use processor-in-memory (PIM) technology. PIM technology integrates a processor on a DRAM memory chip, which increases bandwidth between the processor and memory. An example of a PIM is the Mitsubishi M32R/D, which has a processor and 2 MB of DRAM on a chip. Even though the chip has many advantages, it has limited support for arbitrary fixed-point multiplication and division, which are necessary for some embedded computing applications. A software implementation of arbitrary fixed-point arithmetic operation is required for these applications. Straightforward implementations lose either precision or performance. Thus, algorithms that are fast and accurate are needed. In this paper, we design efficient algorithms for fixed-point arithmetic that use integer arithmetic. The algorithms are analyzed and implementation results on a PIM-based multiprocessor system, the System Level Intelligent Intensive Computing (SLIIC) Quick Look (QL) board, are presented.