your baddie teddie since 1983.

Month: June 2009

iPhone 3G vs iPhone 3GS



With the annoucement of the iPhone 3GS, many of us wonder what changes the new iPhone brings us. Apple released the new iPhone mainly to address one issue: performance, hence the “S” connotation for Speed. Apple claims that the new iPhone 3GS would be up to 2X faster than the iPhone3G. Physically, you can’t tell the difference between the iPhone3G and iPhone3GS, other than the badge marked on the back of the phone. In order to supply the 2X faster performance as advertised, Apple had revised the hardware with higer performance chips.

First we look at the CPU update. The original iPhone and iPhone 3G use a system on a chip (SoC) from Samsung. The SoC is a custom part and actually has Apple’s logo on the chip. The SoC houses the CPU, GPU and memory for the iPhone.

Source: Anandtech

Source: Anandtech

The CPU is based on the ARM11 core, and runs at 412MHz to save power, although the core is capable of running at 667MHz. The ARM11 CPU is a single-issue in-order microprocessor with an 8-stage integer pipeline. You can think of this core as a very high clocked, very advanced 486. And extremely low power. Under typical load, the CPU core should consume around 100mW. By comparison, the CPU in your laptop can require anywhere from 10 – 35W. Idle power is even lower.

Paired with this CPU is a PowerVR MBX-Lite GPU core. This GPU, like the CPU, is built on a 90nm process and is quite simple. The GPU does support hardware transform and lighting but it’s fully fixed function, think of it as a DirectX 6/7 class GPU (Riva TNT2/GeForce 256).

Moving on to the good stuffs..

Sources indicates that the iPhone 3GS uses (again) a Samsung SoC but this time instead of the ARM11 + MBX-Lite combo it’s got a Cortex A8 and PowerVR SGX. If the ARM11 is like a modern day 486 with a very high clock speed, the Cortex A8 is like a modern day Pentium. The A8 lengthens the integer pipeline to 13 stages, enabling its 600MHz clock speed (what I’m hearing the 3GS runs at). The Cortex A8 also widens the processor; the chip is now a two-issue in-order core, capable of fetching, decoding and executing two RISC instructions in parallel.

Show me the graphics

Now that we’re familiar with the 3GS’ CPU, it’s time to talk about the GPU: the PowerVR SGX.

Also built on a 65nm process the PowerVR SGX is a fully programmable core, much like our desktop DX8/DX9 GPUs. While the MBX only supported OpenGL ES 1.0, you get 2.0 support from the SGX. The architecture also looks much more like a modern GPU. The SGX ranges from the PowerVR SGX 520 which only has one USSE pipe to the high end SGX 543MP16 which has 64 USSE2 pipes (4 USSE2 pipes per core x 16 cores). The iPhone 3GS, I believe, uses the 520 – the lowest end of the new product offering.

In its lowest end configuration with only one USSE pipe running at 200MHz, the SGX can push through 7M triangles per second and render 250M pixels per second. That’s 7x the geometry throughput of the iPhone 3G and 2.5x the fill rate. Even if the SGX ran at half that speed, we’d still be at 3.5x the geometry performance of the iPhone 3G and a 25% increase in fill rate. Given the 65nm manufacturing process, I’d expect higher clock speeds than what was possible on the MBX-Lite. Also note that these fill rates take into account the efficiency of the SGX’s tile based rendering engine.

Features and offerings

The iPhone 3G S is available in capacities of 16GB and 32GB – both will be available in black and white. The phone also features a new 3MP camera (now capable of recording 30 fps video) on the back of the device. The iPhone 3G S also has the ability to edit videos directly on the device.

In addition, the new iPhone 3G S promises better battery life (see image to the right) despite the increased processing power. Speaking of processing power, Apple brags about 2x to 3.6x speed performance improvements over a wide range of apps.

Another new addition to the iPhone 3G S is the increase in data transfer speeds from 3.6Mbps to 7.2Mbps

Voice dialing is also coming to the iPhone 3G S – something that most other phones have already had for years. However, the voice commands also extend to other aspects of the iPhone 3GS like “previous track”, “play album” or “play songs by The Killers” within the Music app.

Other new hardware features include a built-in digital compass, Nike+ support, and hardware encryption.

As you may have already surmised, the iPhone 3G S is sporting OS 3.0 which was announced way back in March. iPhone OS 3.0 brings a wealth of new features including long-requested support for copy and paste, MMS, turn-by-turn directions, voice memo recording, Spotlight search, landscape email/notes/messaging, 3G tethering (via Bluetooth or USB), stereo Bluetooth (A2DP), peer-to-peer Bluetooth connectivity, and more. IPhone OS 3.0 will be available to download on June 17 (free for iPhone users, US$9.95 for iPod touch users).

As expected, pricing for the new 16GB and 32GB iPhone 3G S will mirror the prices of the current 8GB and 16GB iPhone 3Gs: US$199 and US$299 respectively. To make things even more interesting, Apple is also discounting the price of the iPhone 3G (8GB model) to US$99 to further expand its user base — the new price is effective today. The iPhone 3G S will be available June 17 in the US. So far, Singtel has not announced availability of the iPhone 3G S. I’m thinking it would take at least a couple of months before it hits our shores. Look out for special promos on the current iPhone 3G. I’m thinking Singtel would want to clear their exisiting stock before the new model arrives. As for Maxis, i’ve pretty much written them off as a viable candidate for anyone to get an iPhone. Their offerings are just not compelling at all.

Putting things in perspective

Combine the power of the the new hardware with the highly optimized software stack of the iPhone and you’ve got the recipe of an extremely fast iPhone. While I’ve yet to play with one, on paper, the 3GS should be every bit as fast as the videos make it seem.

The iPhone 3GS’ performance upgrades should make the phone feel a lot faster, but the real improvement will be what it enables application and game developers to do. Apple recently hired two former AMD/ATI CTOs, presumably to work on some very graphics-centric projects. The iPhone 3GS may be a mild upgrade from a consumer perspective, but what it’s going to enable is far from it; watch out Nintendo. Remember the performance gains we saw in the early days of 3D graphics on the PC? We’re about to go through all of that once more in the mobile space. Awesome.

Sources: Anandtech, Dailytech.

Configuring Virtual Hosting using Apache2 on SLES 10

Originally from:

In this guide I tried to explain how to implement Virtual Hosting using Apache2 on SUSE Linux Enterprise Server 10. This guide is ESPECIALLY written for those WEB-ADMINS who are used to configuring Virtual Hosting on Redhat Enterprise Linux(RHEL 3/4). Since on a rhel Server, apache is configured using a single file i.e /etc/httpd/httpd.conf, i.e all of the virtual hosting configurations goes in /etc/httpd/httpd.conf ONLY, while in SUSE Linux Enterprise 10, we don’t edit the httpd.conf for virtual hosting.

What is Virtual Hosting:

Virtual Hosting is the art/method to run multiple websites on a single machine.

Benefits Of Virtual Hosting:

There are millions of websites on the Internet. Without Virtual Hosting it is impossible to run millions of website, because each website requires a dedicated Machine, IP and/or Port as an address to be accessed from across the world/Internet.

Types Of Virtual Hosting:

There are three types of virtual hosting.

  1. IP Based Virtual Hosting (not commonly used)
  2. Port Based Virtual Hosting (not commonly used)
  3. Name Based Virtual Hosting (commonly used)

a. IP Based Virtual Hosting:

    IP based virtual Hosting is the method to run multiple websites on a single machine, but each website must be configured to run on a different/unique IP. To configure the IP base virtual hosting we have to assign multiple IPs to the machine(server).

    Say we have a “Dell Precision 650” machine, to host 3 different websites we must assign 3 unique IP addresses to the machine, and then configure each website to listen on a dedicated IP.


    Just a single physical machine will host multiple websites, otherwise we need a separate machine to host each website.


    Requires a dedicated IP for each website.

b. Port Based Virtual Hosting:

    • To access the, in the url user/surfer has to type the port too, as
    • To access the, in the url user/surfer has to type the port too, as
    • To access the, in the url user/surfer has to type the port too, as
  • Port base virtual Hosting is the method to run multiple websites on a single machine and even on a single/same IP, but each website must be configured to run on a different/unique Port.

    Say we have a “Dell Precision 650” machine, to host 3 different websites we just need a single dedicated/unique IP-add.

    e.g we have to host,, and www.ijkl.comon a single machine using single/same IP-addr… we will configure www.test.comto listen on port 81, www.wxyz.comto listen on port 82, and www.ijkl.comto listen on port 83.


    Just a single physical machine and IP will host multiple websites. No need to purchase multiple machines and IP-add to host multiple websites.


    – It is quite impossible to inform the users/surfers that on which particular port the website is hosted.
    – And user/surfer must has to type the particular port in the url e.g

c. Name Based Virtual Hosting:

    To run multiple websites on a single machine and even on a single/same IP and port, we have to configure the Name-Based Virtual Hosting.


    A single machine, single IP, and the default http port(80) is used to host several websites.


    Proper DNS configuration will be required to host and access the websites hosted via Name Base Virtual Hosting.

    Note: Since other types of Virtual Hosting(IP and Port base) are not commonly used, thats why we just discuss the Name-Based virtual hosting and used the term “Virtual Hosting” for Name-Based Virtual Hosting.

Step-By-Step Configuration

Configuring Virtual-Hosting using apache2 on SLES 10

  1. First create the Directories and html files for the two websites we host using Virtual Hosting.say e.g
    a1, mkdir /srv/www/example1
    b1, echo "This is the EXAMPLE 1 website" >/srv/www/example1/index.html
    a2, mkdir /srv/www/example2
    b2, echo "This is the EXAMPLE 2 website" >/srv/www/example2/index.html

    After creating directories and html files for the two websites, Now we configure the apache2 to host/run the two websites using virtual hosting.

  2. in /etc/apache2/listen.conf append the following line:
    NameVirtualHost IP_OF_Server:PORT
  3. then change the directory ascd /etc/apache2/vhosts.d

    cp vhost.template example1.conf
    cp vhost.template example2.conf

    NOTE: the virtual host configuration files(in our case example1.conf, and example2.conf) MUST have “.conf” in the end of their names.

  4. Have to change some required parameters as per the environment
    1. Minimal Required Configuration for example1 Websitein /etc/apache2/vhosts.d/example1.conf
      <VirtualHost> *
         DocumentRoot /srv/www/example1
         <Directory "/srv/www/example1"> **
            Order allow,deny
            Allow from all
    2. Minimal Required Configuration for example2 Websitein /etc/apache2/vhosts.d/example2.conf
         DocumentRoot /srv/www/example2
         <Directory "/srv/www/example2">
            Order allow,deny
            Allow from all
  5. Restart Apache
    # /etc/init.d/apache2 restart
    # rcapache2 restart

    Now access the websites via your favorite web-browser
    DONE 😉

* If the website is host on the default http port i.e port 80 then its optional to specify the port on rhel, but on a SLES, even the default http port(80) must have to be explicitly specify/define.

** On rhel the Directory Block( <Directory “dir_name”> …</Directory> ) declaration is optional, but on a SLES it is must required within Virtual host Configuration( <VirtualHost IP:Port>…</VirtualHost> ).

© 2024 eddie

Theme by Anders NorenUp ↑