Differences

This shows you the differences between two versions of the page.

Link to this comparison view

iocla:cursuri:capitol-09 [2017/12/12 21:05]
dragos.niculescu [Capitol 09: Optimizări]
— (current)
Line 1: Line 1:
-====== Capitol 09: Optimizări ====== 
- 
-<​html>​ 
-    <iframe src="​https://​docs.google.com/​viewer?​url=http://​elf.cs.pub.ro/​asm/​res/​cursuri/​capitol-09/​IOCLA - Capitol 09 - Operatii si extensii dedicate.pdf&​embedded=true"​ width="​600"​ height="​480"​ style="​border:​ none;">​ 
-    </​iframe>​ 
-</​html>​ 
- 
-  * [[http://​elf.cs.pub.ro/​asm/​res/​cursuri/​capitol-09/​IOCLA - Capitol 09 - Optimizari.pdf|Capitol 09: Optimizari (PDF)]] 
-  * [[http://​elf.cs.pub.ro/​asm/​res/​cursuri/​capitol-09/​IOCLA - Capitol 09 - Optimizari - 3on1 notes.pdf|Capitol 09: Optimizari (handout: 3on1 notes)]] 
-  * [[http://​elf.cs.pub.ro/​asm/​res/​cursuri/​capitol-09/​IOCLA - Capitol 09 - Optimizari - 6on1.pdf|Capitol 09: Optimizari (handout: 6on1)]] 
- 
-  * Suport curs 
-    * Ray Sefarth, "​Introduction to 64 Bit Intel Assembly Language Programming for Linux",​ 2011, capitolul 15 
-    * Richard Blum, "​Professional Assembly Language",​ 2005, capitolul 16  ​ 
-  * De citit, alte surse 
-    *  [[http://​www.virtualdub.org/​blog/​pivot/​entry.php?​id=340|A Visual C++ x64 code generation peculiarity]] 
-    * [[https://​danluu.com/​assembly-intrinsics/​|Hand coded assembly beats intrinsics in speed and simplicity]] 
-    * [[http://​arjunsreedharan.org/​post/​82710718100/​kernel-101-lets-write-a-kernel|Let'​s write a kernel]] 
-    * [[http://​neilkemp.us/​src/​sse_tutorial/​sse_tutorial.html|Intel SSE Tutorial : An Introduction to the SSE Instruction Set]] 
- 
-    ​ 
- 
- 
-===== Demo-uri ===== 
- 
-Pentru parcurgerea demo-urilor,​ folosim [[http://​elf.cs.pub.ro/​asm/​res/​cursuri/​capitol-09/​capitol-09-demo.zip|arhiva aferentă]]. Demo-urile rulează pe Linux. Descărcăm arhiva folosind comanda<​code bash> 
-wget http://​elf.cs.pub.ro/​iocla/​res/​cursuri/​capitol-09/​capitol-09-demo.zip 
-</​code>​ și apoi decomprimăm arhiva<​code bash> 
-unzip capitol-09-demo.zip 
-</​code>​ și accesăm directorul rezultat în urma decomprimării<​code bash> 
-cd capitol-09-demo/​ 
-</​code>​ 
- 
-Acum putem parcurge secțiunile cu demo-uri de mai jos. 
- 
-==== Demo  ==== 
- 
-cd capitol-09-demo/​ 
-cat /​proc/​cpuinfo | grep Hz 
-make 
-./​test_freq ​ 
-estimează frecvența procesorului folosind registrul TSC pentru sleep(1) 
- 
-./​test_rdtsc ​ 
-în bucla rep trebuie încercate diverse combinații de instrucțiuni. ​ 
-Programul afișează numărul de instrucțiuni din buclă și numărul de cicli folositi. ​ 
- 
-./​test_sse.c ​ 
-se compară viteza de execuție cu operații SSE cu prelucrarea clasică octet cu octet 
- 
-./​lock.cc ​ 
-Cum arată inline assembly? 
-Cum arată un "race condition"? ​ 
-Instrucțiunile nu sunt atomice! ​ 
-Prefixul lock.  
- 
- 
- 
- 
- 
- 
  
iocla/cursuri/capitol-09.1513105546.txt.gz · Last modified: 2017/12/12 21:05 by dragos.niculescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0