Replacement Algorithms

Before we discuss more deeper about the replacement algorithm, we need to understand what and how cache memory works. Cache memory is a component used by CPU (central processing unit) to reduce average time access main memory.  Data that frequently used will be store inside cache memory obtain from main memory. The cache memory is faster and smaller.

storage cache memory

storage cache memory

If the CPU want to read or write data from memory, it will check it first is it exist or not. If yes, CPU directly read or write from cache memory because it’s more faster rather than access to main memory. The block that contain data inside cache memory will be replace the block of data from main memory using replacement algorithm technique if all the blocks already been fill up in cache memory.

There are a lot of cache levels that can rely only one single replacement algorithm. There are two types of page, HOT (active) page and COLD (passive) page. The blocks will be distributed into HOT pages and store in cache memory meanwhile COLD pages will be store in main memory (sometimes can be in cache memory).

Current processors technology are able to support from L1,L2 until L3. L4 will be in future because limitation in terms of hardware size and cost. L1 stores HOT pages compare to L2 stores both HOT and COLD pages. L1 used LRU (Less Recently Used), FIFO (First In First Out) and LFU (Less Frequently Used).

 

IBM has open contract positions for Bluemix

IBM has open contract positions for Bluemix in all of ASEAN (SG, MY, TH, ID, PH) for fresh graduates.

IBM Bluemix

IBM Bluemix

Candidate should fit 2-3 of the minimum requirements:
1. Minimum of 2 years in Web Application Development using NodeJS, Java or Go
2. Minimum of 2 years in Android or iOS application development
3. Familiar with Web stack – HTML, CSS and JavaScript.
4. Familiar with MongoDB or other NoSQL (Document-based)
5. Familiar with Relational Database
6. Familiar with Web Services (REST or SOAP) and OOP concept
7. Familiar with cloud environment (IaaS or PaaS)
Bonus points for:
1. Experience or knowledge in data analytics – especially social media analytics
2. Experience in web development framework – Angular JS, jQuery, Bootstrap
3. Skill in other programming language (Ruby, Python, Scala, C#, etc)
4. Conceptual knowledge in MVC or microservices
5. Past experience in using PaaS
6. Experience in IoT related development (Raspberry Pi, Arduino, etc)
7. Degree in Computer Science / Computer Engineer / AI
8. Experience in DevOps – i.e. Continuous Integration, Continuous Deployment is a plus
9. Experience or knowledge in Docker container technology.

To those interested, can send your resume to st.wissel@sg.ibm.com.

Arduino Uno computer architectures

Arduino Uno is a microcontroller based on the ATmega328P, it’s a heart of Arduino board which is the largest chip on the board. The chip’s memory contain 32 kilobytes and operates at clock speed 16 megahertz.

Arduino Uno

Arduino Uno

When the power turn off, the program will remain in the chip because it’s a flash memory. The operation voltage is 5 volts. This board has reset button to restart the program all over the again. USB input can be use to connect with external devices that support USB port or connect with the power supply. Besides that the power source can obtain from 7-12V DC input connector to power this board. It has 14 digital I/O pins that provide between 0 and 5 volts and 6 analog input pins that accept 0-5 volts input. There also have access to 3.3 volts and 5 volts pins. You also can connect with custom circuits such as breadboard through the female headers (digital and analog pins).

There also a thing called ICSP (In Circuit Serial Connector Programmer), normally have an external piece of hardware that use to program the microcontroller to download the software, written in C or assembly language (ASM). The microcontroller chip can be preprogrammed with a Bootloader program in the microcontroller memory. The small piece of chip (smaller than the larger one) that adds USB functionality to the ATmega328P chip.

Arduino board specs.

Arduino board specs.

P.S: For those interested to build DIY projects, can buy online from here, http://my.element14.com/arduino.

Arduino & Genuino Products

Arduino, an open source microcontroller that allows developers use of it for DIY (Do It Yourself) and custom projects that can relate with real life daily application. There are a lot of thousands of projects already build using this microcontroller. There are five types of Arduino boards are entry level, enhanced features, internet of things, wearable and 3D printing.

Arduino - Products.

Arduino – Products.

For entry level is suitable for those want to make as their first learning in microcontroller world. There are Arduino/Genuino Uno, Arduino Pro, Arduino Pro Mini, Arduino/Genuino Micro, Arduino Nano, Arduino/Genuino Starter Kit, Arduino Basic Kit and Arduino Motor Shield. Similar to Raspberry PI, a rival to Arduino with is good for entry level. Later we will discuss more details about the comparision between these two. For entry level, mostly Arduino Uno is the most popular compare to the others because the price is cheap and support most of the functions and external device integration such as camera, ultra sonic and DC motor. Besides that it’s really suitable for students for those have basic programming in C++ and it’s easy to use.

If the developers want more advanced functionalites, features and faster performance, they can select for enhanced features type. There are Arduino/Genuino Mega, Arduino Zero, Arduino Due and Arduino Proto Shield. The major differences between these two Arduino are number of pins and memory size. Enhanced features type got a lot number of pins and large memory compare to entry level less number of pins and small memory. You can integrate a lot of external devices such as camera, ultra sonic and DC motor on enhanced features type. Besides that the performance can be more better than entry level type during program execution.

Compare to internet of things, this type can connect to internet or clouds that can exchange the data between internet and the embedded device (Arduino). It can perform machine to machine communications (M2M) and apply it to smart cities. The microcontroller can connect to internet using GSM, ethernet and Wifi. Arduino Yun and Arduino Ethernet Shield support for ethernet connection (LAN or called local area network), Arduino GSM Shield only support for GSM connection (only GPRS, not 3G,4G or LTE) and Arduino Wifi Shield 101 support for wireless connection.

For those interested to wearable technology, they can choose wearable type. There are five microcontrollers, Arduino Gemma, Lilypad Arduino USB, Lilypad Arduino Main Board, Lilypad Arduino Simple and Lilypad Arduino Simple Snap. What actually is wearable? Wearable is a clothing and accessories that integrated with computer and advanced electronic technologies like we seen today. There are a lot of existing wearable technologies out there such as iWatch, android wear, Pabble and Jawbone (3/24). It can be similar with internet of things because it’s connected to the internet but it more on fashion or accessories perspective, it’s wearable.

If you a hobbyist in 3D printing, 3D printing type is a best selection because it’s only one microcontroller that support 3D printing features. It’s called Materia 101. It uses an Arduino Mega2560 with a white shield for controlling 3D printers. It’s open source, not for commercial purpose as all Arduino products.

P.S: For those interested to build DIY projects, can buy online from here, http://my.element14.com/arduino.