Specter   Abstract Arithmetics Library (AAL)                                      String MathematicsIntroductionSpecter is...
they reside on a compiler to be “portable”. Thus, they are not truly optimized for any computer andneither portable.There ...
Upcoming SlideShare
Loading in …5
×

Specter - AAL

579 views
535 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
579
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Specter - AAL

  1. 1. Specter Abstract Arithmetics Library (AAL) String MathematicsIntroductionSpecter is an innovation in computer science and computer engineering.Specter is the code name of Abstract Arithmetics Library (AAL). AALs target is not the high-endcomputers or mainframes and clusters. AAL is supposed to enable any low-end cheap computer to dooperations with big numbers and to be used in research and development in the fields of big numberscomputational theory, cryptography and astronomical engineering. AAL aims to be a unified andportable library that can be embedded anywhere.How it worksAAL exploits the inner limits of a specific low-end CPU architecture and provides a softwaremechanism to overcome several problems for big numbers computations. To do so, AAL introduces anew domain in computational theory, the “String Mathematics” domain.String Mathematics is a virtual domain that AAL uses to overcome the hardware limitations. Thehardware limitations I am talking about is first of all the bit architecture of a low-end computer andsecondly, the capacity in RAM and hard disk space.AAL is actually a small emulator that emulates the manual human processing computations by hand inthe decimal system into a computer program. In other words, AAL is the analog of a humanmathematician that does simple calculations by hand in a piece of paper!The idea behind the concept is that a character by character calculation in the decimal system has nolimits and yet does not need big utilization of the hardware or any specific hardware at all.Technical informationAAL is free and open source and is coded in ANSI C. AAL takes advantage of the way that C mapsdata types such as char and int in RAM and does all the processing based on the minimum availablecomputational quantity which is 8bits = 1Byte (char).Though in order to do calculations with decimal numbers from 0 – 9 you would only need a nibble(half-byte), we want to use the 8bits char type in order to keep the privilege that C give us of having achar that acts as an int. There are also no well-known or massive production computers or micro-controllers that utilize less than 8bits so for our purposes the 4 MSB are not the case. Please note thatI am always talking for a system that has a little-endian ordering.Comparison with other libsSo, for huge numbers AAL does the job and computes the results that a common 8bit ALU in thebinary domain would not have the capacity to do. On the other hand one would say that in theory if wecould split any huge number in segments and do the operations separately then we would have nolimits with the current architecture. The problem is that in practice this is much more complicated thanit seems and it’s the technique that other libraries such as GMP, use to compute big numbers. Here weshould note that opposed to AAL, GMP and other libs are bit dependent and optimized for high-endcomputers. Finally they differ in the fact that they have upper limits restricted by hardware parts suchas CPU bit architecture, CPU registers, CPU cache, RAM cache, RAM timing, hard disk space and
  2. 2. they reside on a compiler to be “portable”. Thus, they are not truly optimized for any computer andneither portable.There are 3 main disadvantages of the philosophy described above and I explain them below in detail:1. Segmentation of calculations does not always work without huge overhead in RAM and in CPU utilization. The best known way is the usage of Fourier transformations and large data tables in RAM. This means many computer cycles and huge impact in performance. This is unacceptable for a low-end computer or a micro-controller.2. Assembly code is considered a must for this philosophy, due to huge data and operations on them. But assembly is a hardware specific language and thus restricts portability and unification.3. Hardware dependent solution is not an option for openness and advancement.SourcesSpecter (AAL) is still on the development phase at BETA stage.Please download Specter from the following link...http://sourceforge.net/projects/specter-aal/George A. Delaportas (G0D)-------------------------------------Informatics & Computer EngineerMSc in Networking and Data CommunicationsPhD in Computer Forensics

×