Language Selection

English French German Italian Portuguese Spanish

Ode to Machine Architecture

Filed under
Hardware
Software

I have been writing lately about the importance of learning the underlying tenants of computing if you are going to be a great programmer, and in particular some machine language and computer architecture.

It typically does not make a difference which architecture you learn, or which machine language, as long as the architecture and machine language can illustrate the basic concepts of computing to a level that is useful in future studies of operating systems design and compiler theory, helping you to under stand issues like cache management, interrupt handling and I/O.

This blog entry, however, is not going to talk about those issues. Instead it will talk about a few instances in my life where knowing assembly language helped me immensely in solving problems.

rest here




Architecture Does Matter

People seemed to like my blog yesterday about how the knowledge of assembly and machine language improved my programs, or the programs of people around me.

Today I would like to show people how simply understanding a little about the architecture of the machine and operating system, even without knowing assembly language, can improve program performance. Likewise the study of algorithms and computer techniques.

rest here

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

Leftovers: OSS

  • Blockchain Startups Venture Beyond Bitcoin
    Bitcoin is the most widely-known example of blockchain-based technology, but many of today's startups are looking past the cryptocurrency and towards other, more business-friendly implementations. European blockchain startup incubator Outlier Ventures and Frost & Sullivan have mapped out the blockchain startup landscape, identifying several key areas of activity. It outlines possible paths to success following a busy year for blockchain investments.
  • Another Sandy Bridge Era Motherboard Now Supported By Coreboot
    The Sapphire Pure Platinum H61 is the latest motherboard to be supported by mainline Coreboot for replacing the board's proprietary BIOS.
  • OSI Welcomes the Journal of Open Source Software as Affiliate Member
    The Open Source Initiative® (OSI), a global non-profit organization formed to educate about and advocate for the benefits of open source software and communities, announced that the Journal Of Open Source Software (JOSS), a peer-reviewed journal for open source research software packages, is now an OSI affiliate member.
  • Open source project uses Docker for serverless computing
    Serverless computing has fast become a staple presence on major clouds, from Amazon to Azure. It’s also inspiring open source projects designed to make the concept of functions as a service useful to individual developers. The latest of these projects, called simply Functions as a Service (FaaS) by developer and Linux User contributor Alex Ellis, uses Docker and its native Swarm cluster management technology to package any process as a function available through a web API.
  • PyCharm 2017.1, MicroStrategy 2017.1, Next.js 2.0, and Ubuntu 17.04 final beta released — SD Times news digest: March 27, 2017
  • Open source JavaScript, Node.js devs get NPM Orgs for free
    The SaaS-based tool, which features capabilities like role-based access control, semantic versioning, and package discovery, now can be used on public code on the NPM registry, NPM Inc. said on Wednesday. Developers can transition between solo projects, public group projects, and commercial projects, and users with private registries can use Orgs to combine code from public and private packages into a single project.
  • Slaying Monoliths at Netflix with Node.js
    The growing number of Netflix subscribers -- nearing 85 million at the time of this Node.js Interactive talk -- has generated a number of scaling challenges for the company. In his talk, Yunong Xiao, Principal Software Engineer at Netflix, describes these challenges and explains how the company went from delivering content to a global audience on an ever-growing number of platforms, to supporting all modern browsers, gaming consoles, smart TVs, and beyond. He also looks at how this led to radically modifying their delivery framework to make it more flexible and resilient.
  • Mudlet, the open source MUD client has a new major stable build available
    I don't know how many of you play MUDs, but Mudlet, an open source cross-platform MUD client has hit version 3.0.

today's howtos

Minimal Linux Live

Minimal Linux Live is, as the name suggests, a very minimal Linux distribution which can be run live from a CD, DVD or USB thumb drive. One of the things which set Minimal Linux Live (MLL) apart from other distributions is that, while the distribution is available through a 7MB ISO file download, the project is designed to be built from source code using a shell script. The idea is that we can download scripts that will build MLL on an existing Linux distribution. Assuming we have the proper compiler tools on our current distribution, simply running a single shell script and waiting a while will produce a bootable ISO featuring the MLL operating system. Yet another option the MLL project gives us is running the distribution inside a web browser using a JavaScript virtual machine. The browser-based virtual machine running MLL can be found on the project's website, under the Emulator tab. This gives us a chance to try out the operating system in our web browser without installing or building anything. I decided to try the MLL build process to see if it would work and how long it would take if everything went smoothly. I also wanted to find out just how much functionality such a small distribution could offer. The project's documentation mostly covers building MLL on Ubuntu and Linux Mint and so I decided to build MLL on a copy of Ubuntu 16.04 I had running in a virtual machine. The steps to build MLL are fairly straight forward. On Ubuntu, we first install six packages to make sure we have all the required dependencies. Then we download an archive containing MLL's build scripts. Then we unpack the archive and run the build script. We just need to type four commands in Ubuntu's virtual terminal to kick-start the build process. Read more

GCC Compiler Tests At A Variety Of Optimization Levels Using Clear Linux

For those curious about the impact of GCC compiler optimization levels, a variety of benchmarks were carried out using GCC 6.3 on Intel's Clear Linux platform. Read more Also: LLVM 4.0.1 Planning, Aiming For Better Stable Releases