Electronic Components Datasheet Search
  British  ▼
ALLDATASHEET.CO.UK

X  

AN2367 Datasheet(PDF) 4 Page - STMicroelectronics

Part # AN2367
Description  This application note describes an optimized memory copy
PDF  13 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  STMICROELECTRONICS [STMicroelectronics]
Direct Link  http://www.st.com
Logo STMICROELECTRONICS - STMicroelectronics

AN2367 Datasheet(HTML) 4 Page - STMicroelectronics

  AN2367 Datasheet HTML 1Page - STMicroelectronics AN2367 Datasheet HTML 2Page - STMicroelectronics AN2367 Datasheet HTML 3Page - STMicroelectronics AN2367 Datasheet HTML 4Page - STMicroelectronics AN2367 Datasheet HTML 5Page - STMicroelectronics AN2367 Datasheet HTML 6Page - STMicroelectronics AN2367 Datasheet HTML 7Page - STMicroelectronics AN2367 Datasheet HTML 8Page - STMicroelectronics AN2367 Datasheet HTML 9Page - STMicroelectronics Next Button
Zoom Inzoom in Zoom Outzoom out
 4 / 13 page
background image
The optimized routine
AN2367
4/13
2
The optimized routine
2.1
Interface
void MEMCOPY_L2S_BY4(void *pDEST, void *pSRC, ushort NbrByte)
Note about pointers:
In this description above, the pointers are pointing to a void.
A way of looking at it is that the pointer is pointing to a buffer of long with the first 2 bytes
filled with zeros.
Another way of looking at it is that the pointer is pointing to a buffer of chars.
While it is beyond this application note to explain the problem of mapping bytes, short and
long in the same memory space in C, it is worth noting that the routine could be declared
differently.
In fact, when running the program to test the routine on its own, it was declared as
void MEMCOPY_L2S_BY4(short *pDEST, long *pSRC, long NbrByte)
See Appendix B on page 11 for an example of the C call.
2.2
Algorithm description
The algorithm works as follows:
First level - granularity 16: The CPU transfer 16 bytes per iteration until the number of
bytes is less than 16. Go to second level.
Second level: Granularity 4: Depending on the remaining number of bytes, the CPU
transfer either 4, 8 or 12 bytes. Go to third level.
Third level: Granularity1: Depending on the remaining number of bytes, the CPU
transfer either 1, 2 or 3 bytes.



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com