Clock
This project is to build simple clock using 7 segment displays and a microcontroller.
Looking into x86_64 ASM In the x86_64 assembly I was looking for any particularly large instructions that might be sensitive to alignment. To start I found the section of the binary that the decompress all tags function is in. Also the disassembly contains the byte pattern from the inline assembler. asm(“.byte 0x0f, 0x1f, 0x84, 0x00, …
Project Investigation: Why this optimization failed Read More »
This is the code I am looking at optimizing. The assembler code is aligning instructions in the binary. These instructions are aligned by 32+16 bytes. As this is aligning with bytes and not bits, this is not aligning to a word boundary. If this code was aligning to a word boundary then it would not …
I was going to test this project on a raspberry pi running Fedora. However I have had trouble getting the pi setup on my network. I will hopefully get it working in the next few days, however I will shift my benchmarking over to the aarch64 servers for now. Because the provided test and benchmarks …
This build will work on all platforms that I will be testing on. There will be to main builds we will use: First make a build directory under the main directory, and cd into it. The release build will be our main build for benchmarking. It is compiled with “-O2 -DNDEBUG -rdynamic”. cmake ../ -DCMAKE_BUILD_TYPE=Release …
In this lab we are looking at the assembly code in an open source package. I chose the mjpegtools package, which is a package for working with mjpeg video. Lets begin by looking at how much assembler there is and where it is. Running this command will find any asm files. find . -name ‘*.[sS]’ …
In this lab we will be looking at this code. What is this code? This code uses specific inline aarch64 assembly language to scale volume samples. This code focuses on using SIMD (single instruction multiple data) specifically the SQDMULH ( Signed Saturating Doubling Multiply returning High Half ) instruction. This instruction ensure that the value …
In this lab we are comparing the runtime of different algorithms to modify the volume of sound samples.
In this lab we are looking at how different compiler options effects the output of our source code. All these tests were done in a aarch64 environment.