You are on page 1of 49

UNIVERSITI MALAYSIA PERLIS

EKT 322: EMBEDDED SYSTEM DESIGN

TREND IN EMBEDDED SYSTEM:


NINTENDO GAME CONSOLE

PREPARED FOR:
DR. ZULKIFLI BIN HUSIN

PREPARED BY:

NO. NAME MATRIC NO.


1. FARAH NABILAH BINTI ZAMANI 161020818
2. NURUL HUSNA BINTI AHMAD 161020861
3. SITI AMELIA AQILAH BINTI OMAR 161020870
4. SITI HAZIQAH AQILAH BINTI MOHD AINI 161020872
Table of Contents
1.0 Introduction......................................................................................................... 2
1.1 Embedded System .......................................................................................... 2
1.2 Embedded Systems in Game Console .......................................................... 3
2.0 Nintendo Game Console .................................................................................... 4
2.1 Evolution of Nintendo Game Console ........................................................... 4
2.2 Game Boy ........................................................................................................ 4
2.2.1 Game Boy Pocket .......................................................................................... 5
2.2.2 Game Boy Light ............................................................................................. 6
2.2.3 Game Boy Specifications .............................................................................. 7
2.3 Game Boy Colour ............................................................................................ 7
2.3.1 Game Boy Colour Specification .................................................................... 8
2.4 Game Boy Advance ........................................................................................ 9
2.4.1 Game Boy Advance SP ................................................................................ 10
2.4.2 Game Boy Micro........................................................................................... 10
2.4.3 Game Boy Advance Specification .............................................................. 11
2.5 Nintendo DS .................................................................................................. 12
2.5.1 Nintendo DS Lite .......................................................................................... 13
2.5.2 Nintendo DS Specification .......................................................................... 13
2.6 Nintendo DSi ................................................................................................. 14
2.6.1 Nintendo DSi XL ........................................................................................... 15
2.6.2 Nintendo DSi Specification ......................................................................... 16
2.7 Nintendo 3DS ................................................................................................ 16
2.7.1 Nintendo 3DS XL .......................................................................................... 17
2.7.2 New Nintendo 3DS & 3DS XL ...................................................................... 18
2.7.3 Nintendo 3DS Specification ........................................................................ 19
2.8 Nintendo 2DS ................................................................................................ 20
2.8.1 New Nintendo 2DS ....................................................................................... 20
2.8.2 Nintendo 2DS Specification ........................................................................ 21
3.0 Processors in Nintendo Game Console .......................................................... 22
3.1 Evolution of Processors in Nintendo Game Console ................................. 22
3.2 Sharp LR35902 .............................................................................................. 22
3.3 Intel 8080 ....................................................................................................... 24
3.3.1 8080 Microprocessor’s Architecture .......................................................... 26
3.3.2 Arithmetic and Logic Unit............................................................................ 27
3.3.3 Instruction Set .............................................................................................. 28
3.3.4 Instruction and Data Formats ..................................................................... 28
3.3.5 Memory ......................................................................................................... 30
3.3.6 Interrupts ...................................................................................................... 30
3.4 Zilog Z80 ............................................................................................................. 31
3.4.1 Z80 CPU ........................................................................................................ 33
3.4.2 Z80 Processor Architecture ........................................................................ 34
3.5 ARM 7............................................................................................................. 36
3.5.1 ARM7TDMI Architecture .............................................................................. 37
3.5.2 The THUMB Concept ................................................................................... 37
3.6 ARM 9............................................................................................................. 39
3.6.1 About the ARM946E-S Processor ............................................................... 40
3.7 ARM 11 ........................................................................................................... 42
3.7.1 About the ARM1136J-S and ARM1136JF-S processors ............................ 43
3.8 Features Comparison of ARM7, ARM9 & ARM11 ............................................. 45
4.0 Conclusion ........................................................................................................ 46
5.0 References ........................................................................................................ 47

PAGE 1
1.0 Introduction
1.1 Embedded System

Embedded systems have become an integral part of daily life. Be it a cell phone, a
smartcard, a game console, a router, or the electronics in an automobile - these systems
have been touching and changing modern lives like never before.

All these devices provide embedded systems the necessary intelligence. Possibility of
their use are so extensive that the emergence of embedded systems its importance exceeds
the previous milestones of envelopment of information technology. Document
Management Committee Embedded System Technology Platform, the strategic initiative
defines Embedded Systems (ES) as a combination of hardware and software the intent is
to drive an external process device or system.

With increasing functionality, the selection of a particular technology, standard and


functionality for the next product release is at times a tough call for product managers and
architects. While a focus on innovation, upcoming standards and enriched user experience
is required, it is a challenge to decide which technology and idea to pursue and nurture.

Embedded systems are deployed in various applications and span all aspects of modern
life. Figure 1.1.1 details the main application areas of embedded systems.

PAGE 2
Consumer
Electronics

Automation Healthcare

Telecom / Embedded Remote


Datacom System Automation

Military / Industrial
Aerospace Control

Automotive
Electronics

Figure 1.1: Major application areas of embedded systems

1.2 Embedded Systems in Game Console

A game console is based on embedded processors and custom hardware (video


processors, media codecs, etc.) and incorporating more devices than average
development boards at a lower price.

PAGE 3
2.0 Nintendo Game Console
2.1 Evolution of Nintendo Game Console

• Game Boy (1989 - 1998)


• Game Boy Colour (1998)
Game Boy
Family • Game Boy Advance (2001 - 2005)

• Nintendo DS (2004 - 2006)


DS Family
• Nintendo DSi (2008 - 2009)

• Nintendo 3DS (2011 - 2014)


3DS • Nintendo 2DS (2016 - 2017)
Family

Figure 2.1: Evolution of Nintendo Game Console

2.2 Game Boy

The original gray Game Boy was first released in Japan on April 21, 1989. Based
on a Sharp LR35902 processor, it has a black and green reflective LCD screen, an eight-
way directional pad, two action buttons (A and B), and Start and Select buttons with the
controls being identical to the NES controller. It plays games from ROM-based media
contained in cartridges (sometimes called carts or Game Paks). Its graphics are 8-bit
(similar to the NES). [1]

PAGE 4
Figure 2.2: Game Boy

2.2.1 Game Boy Pocket

The Game Boy Pocket is a redesigned version of the original Game Boy having
the same features. It was released in 1996. Notably, this variation is smaller and lighter. It
comes in seven different colors; red, yellow, green, black, clear, silver, blue, and pink.
Another notable improvement over the original Game Boy is a black-and-white display
screen, rather than the green-tinted display of the original Game Boy, that also featured
improved response time for less blurring during motion. The Game Boy Pocket takes two
AAA batteries as opposed to four AA batteries for roughly ten hours of gameplay. The
first model of the Game Boy Pocket did not have an LED to show battery levels, but the
feature was added due to public demand. [1]

PAGE 5
Figure 2.3: Game Boy Pocket

2.2.2 Game Boy Light

In April 1998, a variant of the Game Boy Pocket named Game Boy Light was
exclusively released in Japan. The differences between the original Game Boy Pocket
and the Game Boy Light is that the Game Boy Light takes on two AA batteries rather
than two AAA batteries and has an electroluminescent screen that can be turned on or off.
This electroluminescent screen allowed the use of it in darkened areas. It also comes in
six different colors; silver, gold, yellow for the Pokemon edition, translucent yellow, clear
and translucent red for the Astro Boy edition. The Game Boy Light was superseded by the
Game Boy Color six months later and was the only Game Boy to have a backlit screen
until the release of the Game Boy Advance SP AGS-101 model in 2005. [1]

PAGE 6
Figure 2.4: Game Boy Light

2.2.3 Game Boy Specifications

Table 2.1: Game Boy Specifications [1]

Model Game Boy, Game Boy Pocket, Game Boy Light

Processor 4.19 MHz 8-bit custom Sharp LR35902

Memory 8 kB S-RAM (can be extended up to 32 kB)


8 kB VRAM

Peripherals Game Boy Game Cartridge (32 kB - 1 MB)

Operating System None [2]

2.3 Game Boy Colour

First released in Japan on October 21, 1998, the Game Boy Color (abbreviated as
GBC) added a (slightly smaller) color screen to a form factor similar in size to the Game
Boy Pocket. It also has double the processor speed, three times as much memory,[12] and
an infrared communications port. Technologically, it was likened to the 8-bit NES video
game console from the 1980s although the Game Boy Color has a much larger color
palette (56 simultaneous colors out of 32,768 possible) which had some classical NES
ports and newer titles. It comes in seven different colors; Clear purple, purple, red, blue,
green, yellow and silver for the Pokemon edition. Like the Game Boy Light, the Game
Boy Color takes on two AA batteries. It was the final handheld to have 8-bit graphics.
A major component of the Game Boy Color is its near-universal backward compatibility;
that is, a Game Boy Color is able to read older Game Boy cartridges and even play them
in a selectable color palette (similar to the Super Game Boy. Backwards compatibility
became a major feature of the Game Boy line, since it allowed each new launch to begin

PAGE 7
with a significantly larger library than any of its competitors. Some games written
specifically for the Game Boy Color can be played on older model Game Boys, whereas
others cannot (see the Game Paks section for more information). [1]

Figure 2.5: Game Boy Colour

2.3.1 Game Boy Colour Specification

Table 2.2: Game Boy Colour Specifications[1]

Model Game Boy Colour

Processor 4 or 8 MHz 8-bit Zilog Z80

Memory 32 kB RAM
16 kB VRAM

Peripherals Game Boy Color Game Cartridge


Game Boy Game Cartridge
(32 kB - 1 MB)

Operating System None[2]

PAGE 8
2.4 Game Boy Advance

In Japan, on March 21, 2001, Nintendo released a significant upgrade to the Game
Boy line. The Game Boy Advance (also referred to as GBA) featured a 32 bit 16.8 MHz
ARM. It included a Z80 processor and a switch activated by inserting a Game Boy or
Game Boy Color game into the slot for backward compatibility, and had a larger, higher
resolution screen. Controls were slightly modified with the addition of "L" and "R"
shoulder buttons. Like the Game Boy Light and Game Boy Color, the Game Boy
Advance takes on two AA batteries. A widely criticized drawback of the Game Boy
Advance is that the screen is not backlit, making viewing difficult in some conditions.
The Game Paks for the GBA are roughly half the length of original Game Boy cartridges
and Game Boy Color cartridges, and so older Game Paks would stick out of the top of the
unit. When playing older games, the GBA provides the option to play the game at the
standard equal square resolution of the original screen or the option to stretch it over the
wider GBA screen. The selectable color palettes for the original Game Boy games are
identical to what it was on the Game Boy Color. It was the final handheld to require
regular batteries.[1]

Figure 2.6: Game Boy Advance

PAGE 9
2.4.1 Game Boy Advance SP

First released in Japan on February 14, 2003, the Game Boy Advance SP—
Nintendo model AGS-001—resolved several problems with the original Game Boy
Advance model. It featured a new smaller clamshell design with a flip-up screen, a
switchable internal frontlight, a rechargeable battery for the first time, and the only
notable issue is the omission of the headphone jack, which requires a special adapter,
purchased separately. In September 2005, Nintendo released the Game Boy Advance SP
model AGS-101, that featured a high quality backlit screen instead of a frontlit, similar to
the Game Boy Micro screen but larger. It was the final Game Boy and last handheld to
have backwards compatibility with Game Boy and Game Boy Color games.[1]

Figure 2.7: Game Boy Advance SP

2.4.2 Game Boy Micro

The third form of Game Boy Advance system, the Game Boy Micro is four and a
half inches wide (10 cm), two inches tall (5 cm), and weighs 2.8 ounces (80g). By far the
smallest Game Boy created, it has approximately the same dimensions as an original NES
controller pad. Its screen is approximately 2/3 the size of the SP and GBA screens while
maintaining the same resolution (240×160 pixels) but now has a higher quality backlit
display with adjustable brightness. Included with the system are two additional faceplates
which can be swapped to give the system a new look; Nintendo of America sold

PAGE 10
additional faceplates on its online store. In Europe, the Game Boy Micro comes with a
single faceplate. Unlike the Game Boy Advance and Game Boy Advance SP, the Game
Boy Micro is unable to play any original Game Boy or Game Boy Color games, only
playing Game Boy Advance titles (with the exception of the Nintendo e-Reader,
discontinued in America, but still available in Japan).[1]

Figure 2.8: Game Boy Micro

2.4.3 Game Boy Advance Specification

Table 2.3: Game Boy Advance Specifications[1]

Model Game Boy Advance & Game Boy Game Boy Micro
Advance SP

Processor 16.8 MHz 32-bit ARM7TDMI


4 or 8 MHz 8-bit Z80 coprocessor for Game Boy and Game Boy
Color emulation, and as a tone generator in Game Boy Advance
games

Memory 256 kB WRAM (outside the CPU)


32 kB + 96 kB VRAM (internal to the CPU)

Peripherals Game Boy Advance Game Cartridge Game Boy Advance Game
(2-32 MB) Cartridge (2-32 MB)

PAGE 11
Game Boy Color Game Cartridge
Game Boy Game Cartridge
(32 kB - 1 MB)

Operating gbaUnix[3] Prex[4]


System

2.5 Nintendo DS

The Nintendo DS (abbreviated to DS) was a dual-screen handheld game console


developed and released by Nintendo. The device went on sale in North America on
November 21, 2004. The DS, short for "Developers' System" or "Dual Screen",[1]
introduced distinctive new features to handheld gaming: an LCD screen working in
tandem with a touchscreen, a built-in microphone, and support for wireless
connectivity.[2] Both screens are encompassed within a clamshell design similar to the
Game Boy Advance SP. The Nintendo DS also features the ability for multiple DS
consoles to directly interact with each other over Wi-Fi within a short range without the
need to connect to an existing wireless network. Alternatively, they could interact online
using the now-discontinued Nintendo Wi-Fi Connection service.[5]

Figure 2.9: Nintendo DS

PAGE 12
2.5.1 Nintendo DS Lite

The Nintendo DS Lite (abbreviated to DS Lite) is a dual-screen handheld game


console developed and manufactured by Nintendo. It is a slimmer, brighter, and more
lightweight redesign of the original Nintendo DS. It was announced on January 26, 2006,
more than a month before its initial release in Japan on March 2, 2006 due to
overwhelming demand for the original model. It was the final handheld to have
backwards compatibility with Game Boy Advance games.[5]

Figure 2.10: Nintendo DS Lite

2.5.2 Nintendo DS Specification

Table 2.4: Nintendo DS Specifications[5]

Model Nintendo DS & Nintendo DS Lite

Processor 67.028 MHz ARM946E-S & 33.514 MHz ARM7TDMI

Memory 4 MB SRAM
(expandable via Game Boy Advance slot)

Peripherals Nintendo DS Game Card (8-512 MB)


Game Boy Advance Game Cartridge (2–32 MB)

PAGE 13
Operating System FeOS[6]

2.6 Nintendo DSi

The Nintendo DSi (abbreviated to DSi)[7] is a dual-screen handheld game console


released by Nintendo. The console launched in Japan on November 1, 2008, and
worldwide beginning in April 2009. It is the third iteration of the Nintendo DS, and its
primary market rival is Sony's PlayStation Portable (PSP). Development of the DSi began
in late 2006, and the handheld was unveiled during an October 2008 Nintendo conference
in Tokyo. Consumer demand convinced Nintendo to produce a slimmer handheld with
larger screens than the DS Lite. Consequently, Nintendo removed the Game Boy
Advance (GBA) cartridge slot to improve portability without sacrificing durability.
While the DSi's design is similar to that of the DS Lite, it features two digital cameras,
supports internal and external content storage, and connects to an online store called the
Nintendo DSi Shop (which was discontinued in 2017). The handheld supports exclusive
physical media in addition to DS games with DSi-specific features and standard DS titles.
The only exception to its backward compatibility are earlier DS games that required the
GBA slot.[5]

Figure 2.11: Nintendo DSi

PAGE 14
2.6.1 Nintendo DSi XL

The Nintendo DSi XL (abbreviated to DSi XL) features larger screens, and a
greater overall size, than the original DSi. It is the fourth DS model, the first to be
available as a pure size variation. Iwata said that cost restraints had, until then, limited the
screen size and multiplayer aspects of portable game consoles, and that the DSi XL offers
"an improved view angle on the screens", which makes it the first "portable system that
can be enjoyed with people surrounding the gamer."[5]

The DSi XL is the longest, widest and heaviest DS model. The console features two
4.2-inch (110 mm) wide-viewing-angle LCD screens with the same resolution as the
smaller model. It has improved battery life over the DSi on all brightness settings; for
example, batteries last 13–17 hours at the dimmest setting. The handheld is outfitted with
identical speakers contained in larger speaker enclosures, enabling them to produce
louder sound. The hinges stop the screen at 120° in addition to the original DSi's position
of 155° to allow easier table-top viewing. The DSi XL is bundled with two longer styli,
one of which is thicker, rounded, and pen-like, and does not fit inside the unit.[5]

Figure 2.12: Nintendo DSi XL

PAGE 15
2.6.2 Nintendo DSi Specification

Table 2.5: Nintendo DSi Specifications[5]

Model Nintedo DSi & Nintendo DSi XL

Processor 133 MHz ARM946E-S & 33.514 MHz ARM7TDMI

Memory 16 MB PSRAM
Expandable up to 32 GB via SD/SDHC card slot

Camera Front-facing and outward-facing 0.3 MP sensors

Peripherals Nintendo DS Game Card (8-512 MB)

Software FeOS[6]

2.7 Nintendo 3DS

The Nintendo 3DS (abbreviated to 3DS) is a portable game console produced by


Nintendo. It is capable of projecting stereoscopic 3D effects without the use of 3D
glasses or additional accessories. Nintendo announced the device in March 2010 and
officially unveiled it at E3 2010 on June 15, 2010. The console succeeds the Nintendo
DS, featuring backward compatibility with older Nintendo DS and Nintendo DSi video
games, and competes with the Sony PlayStation Vita handheld console.
The handheld offers new features such as the StreetPass and SpotPass tag modes,
powered by Nintendo Network; augmented reality, using its 3D cameras; and Virtual
Console, which allows owners to download and play games originally released on older
video game systems. It is also pre-loaded with various applications including: an online
distribution store called Nintendo eShop; a social networking service called Miiverse; an
Internet Browser; the Netflix, Hulu Plus and YouTube streaming video services;
Nintendo Video; a messaging application called Swapnote (known as Nintendo Letter
Box in Europe and Australia); and Mii Maker.[7]

PAGE 16
Figure 2.13: Nintendo 3DS

2.7.1 Nintendo 3DS XL

The Nintendo 3DS XL was unveiled on June 21, 2012, as a variation of the
standard 3DS with 4.88 inches (12.4 cm) and 4.18 inches (10.6 cm) displays, and a larger
battery.[7]

Figure 2.14: Nintendo 3DS XL

PAGE 17
2.7.2 New Nintendo 3DS & 3DS XL

The New Nintendo 3DS is a hardware revision of the original 3DS models; they
feature a faster processor, a refreshed hardware design, additional shoulder buttons and a
pointing stick, and integrated Amiibo support. The standard-sized New 3DS also features
a larger display than the original 3DS model. They were released in Japan in October
2014, in Australia and New Zealand in November 2014, and at retail in Europe and North
America in February 2015, the non-XL model was later discontinued in 2017 with only
the XL model available in the North American market at launch.[7]

Figure 2.15: New Nintendo 3DS

Figure 2.16: New Nintendo 3DS XL

PAGE 18
2.7.3 Nintendo 3DS Specification

Table 2.6: Nintendo 3DS Specifications[7]

Model 3DS & 3DS XL New 3DS & 3DS XL

Processor 268 MHz dual-core ARM11 & 804 MHz quad-core ARM11
134 MHz single-core ARM9 & 134 MHz single-core
ARM9

Memory 128 MB FCRAM @ 3.2GB/s 256 MB FCRAM @


(32 MB Reserved for OS) 6.4GB/s (64 MB Reserved
4 GB SD Card included for OS)
(expandable up to 128 GB via 4 GB Micro SD Card
SD/SDHC/SDXC cards) included
(Expandable up to 256 GB
via Micro SDXC card slot
(format to FAT32 needed),
Nintendo recommends
32GB Micro SDHC card)

Camera One front-facing and two outward- One front-facing and two
facing 0.3 MP (VGA) sensors outward-facing 0.3 MP
(VGA) sensors
Infrared LED light facing
the user

Peripherals Nintendo 3DS Game Card (1-8 GB)


Nintendo DS Game Card (8-512 MB)

Operating FreeBDS[8]
System

PAGE 19
2.8 Nintendo 2DS

The Nintendo 2DS was unveiled on August 28, 2013, for release on October 12,
2013 in North America, Europe, Australia and New Zealand. It was later released in
Japan on February 27, 2016. The 2DS was designed as an entry-level model targeting
children; it features a flat, non-folding form factor, and does not include the 3DS's
signature autostereoscopic display (the 2DS uses a single display panel with a overlay
mimicking the 3DS screen dimensions).[7]

Figure 2.17: Nintendo 2DS

2.8.1 New Nintendo 2DS

On April 27, 2017, Nintendo unveiled the New Nintendo 2DS XL. It is a
variation of the New 3DS XL with a further streamlined design, and no autostereoscopic
3D display. It was first made available in Australia and New Zealand on June 15, 2017.[5]

PAGE 20
Figure 2.18: New Nintendo 2DS

2.8.2 Nintendo 2DS Specification

Table 2.7: Nintendo 2DS Specifications[7]

Model 2DS New 2DS

Processor 268 MHz dual-core ARM11 & 804 MHz quad-core ARM11
134 MHz single-core ARM9 & 134 MHz single-core
ARM9

Memory 128 MB FCRAM @ 3.2GB/s 256 MB FCRAM @


(32 MB Reserved for OS) 6.4GB/s (64 MB Reserved
4 GB SD Card included for OS)
(expandable up to 128 GB via
SD/SDHC/SDXC cards)

Camera One front-facing and two outward- None


facing 0.3 MP (VGA) sensors

Peripherals Nintendo 3DS Game Card (1-8 GB)


Nintendo DS Game Card (8-512 MB)

Operating FreeBDS[8]
System

PAGE 21
3.0 Processors in Nintendo Game Console
3.1 Evolution of Processors in Nintendo Game Console

ARM 11
ARM 9

ARM 7

Zilog Z80

Sharp
LR35902

Figure 3.1: Evolution of Processors Used in Nintendo Game Console

3.2 Sharp LR35902

Sharp LR35902 is a custom 8-bit hybrid of Intel 8080 and Zilog Z80 based
processor. But there are lots of features from the 8080 and Z80 that didn’t make it into
the Sharp LR35902 chip. [9]

PAGE 22
Figure 3.2: Sharp LR35902 chip

Below is the features of the Sharp LR35902:


1. The syntax used to program the Sharp LR35902 follows the Z80 rather than the
8080. This is fundamental to us as we’ll examine lots of programs written for the
Game Boy (from the bootstrap ROM, to fragments of actual games).
2. Adoption of the special instruction extender (opcode 0xcb) from the Z80.
3. Adoption of the bit manipulation instruction set from the Z80, accessed through the
instruction extender. This instructions were used to set, reset and test specific bits
from registers or memory. Quite handy.
4. It retained just the 8080’s register set; the registers added by the Z80 were left out.
5. Clocked at 4MHz (4194304Hz). This is faster that the 8080’s 2MHz and the Z80’s
2.5MHz.
6. It retained a single address space; the I/O address space used by the 8080 and Z80
was discarded, so communication with I/O devices was done thorough this single
address space.
7. Because registers IY and IX are missing, there is no index+base memory
addressing.
8. Not all the flags or status bits from the 8080’s and Z80’s F register were
adopted. The following were used:
 Bits 0 to 3 are not used.
 Bit 4 represents the carry flag. It is set when a carry from bit 7 is produced
in arithmetical instructions. Otherwise it is cleared.

PAGE 23
 Bit 5 represents the half-carry flag. It is set when a carry from bit 3 is
produced in arithmetical instructions. Otherwise it is cleared. It has a very
common use, that is, for the DAA (decimal adjust) instruction. Games used
it extensively for displaying decimal values on the screen.
 Bit 6 represents the subtract flag. When the instruction is a subtraction this
bit is set. Otherwise (the instruction is an addition) it is cleared.
 Bit 7 represents the zero flag. It is set when the instruction results in a value
of 0. Otherwise (result different to 0) it is cleared.

Figure 3.3: Sharp LR35902 Registers

3.3 Intel 8080

Federico Faggin, the originator of the 8080 architecture in early 1972, proposed it to
Intel's management and pushed for its implementation. He finally got the permission to
develop it six months later. Faggin hired Masatoshi Shima from Japan, who did the
detailed design under his direction, using the design methodology for random logic with
silicon gate that Faggin had created for the 4000 family. Stanley Mazor contributed a
couple of instructions to the instruction set.[10]

PAGE 24
The Intel 8080 ("eighty-eighty") was the second 8-bit microprocessor designed and
manufactured by Intel and was released in April 1974. It is an extended and enhanced
variant of the earlier 8008 design, although without binary compatibility. The initial
specified clock frequency limit was 2 MHz, and with common instructions using 4, 5,
7, 10, or 11 cycles this meant that it operated at a typical speed of a few hundred
thousand instructions per second. A slightly faster variant 8080A-1 became available
later with clock frequency limit up to 3.125 MHz.[10]

Figure 3.4: Intel 8080 chip

The 8080 requires two support chips to function in most applications, the i8224
clock generator/driver and the i8228 bus controller, and it is implemented in NMOS
using non-saturated enhancement-mode transistors as loads, therefore demanding a +12
V and a −5 V voltage in addition to the main TTL-compatible +5 V.[11]

Although earlier microprocessors were used for calculators, cash registers, computer
terminals, industrial robots, and other applications, the 8080 became one of the first really
widespread microprocessors. There are several contributing factors: 40-pin package made
it easier to interface than the 16-pin 8008, simplifying NMOS implementation (making it
TTL-compatible), the availability of support chips, and its enhanced instruction set (over

PAGE 25
the 8008), and maybe the most important factor - full 16-bit address bus (versus the
8008 14-bit), enable it to access 64KB of memory, four times more than 8008's range
of 16KB. It became the engine of the Altair 8800, and subsequent S-100 bus personal
computers, until it was replaced by the Z80 in this role, and was the original target CPU
for CP/M operating systems developed by Gary Kildall.[11]

The 8080 was successful enough that compatibility at the assembly language level
became a design requirement for the 8086 when design for it was started in 1976. This
also means that the 8080 directly influenced the ubiquitous 32-bit and 64-bit x86
architectures of today.[11]

Figure 3.5: Intel 8080 registers

3.3.1 8080 Microprocessor’s Architecture

The functional blocks of the microprocessor 8080 is shown in the above


architecture, and its CPU consists of the following functional units:
 Address Logic and Register Array
 Arithmetic and Logic Unit

PAGE 26
 Control Section and Instruction Register
 Bi directional, 3 State Data Bus Buffer

Figure 3.6: Intel 8080 Architecture

3.3.2 Arithmetic and Logic Unit

The ALU includes the following registers:


 An 8-bit Accumulator
 An 8-bit Temporary Accumulator (TMP)
 An 8-bit Temporary Register
 A Flag Register

PAGE 27
Arithmetic, logical and rotate operations are performed in the ALU. The arithmetic
and logic unit is fed by the registers’ temporary accumulator, carry flip flop and TMP
register. The result of the process can be transmitted to the accumulator; similarly, the
ALU also feeds the flag register. The TMP register gets information from the internal
bus, and then sends the data to the ALU and also to the flag register. The accumulator can
be loaded from the internal bus, and the ALU and it transfers data to the temporary
accumulator. The inside of the auxiliary carry flip flop and accumulator are tested for
decimal correction by executing a Decimal Adjust for Addition instruction.[11]

3.3.3 Instruction Set

The 8080 microprocessor instruction set includes five different categories of


instructions:
 Data Moving Group: Data moving instruction transfers data between registers
or among memory and registers.
 Arithmetic Group: Arithmetic group instructions Add, subtract, increment, or
decrement data into memory or in registers.
 Logical Group: Logical group instruction AND, OR, EX-OR, compare,
complement or rotates data into registers or in memory.
 Branch group: It is also called as control transfer instruction. It includes
Conditional, unconditional, return instructions, and sub routine call
instructions and restarts.
 Stack, machine and I/O group: This instruction includes I/O instructions, as
well as instructions for maintaining the stack and internal control flags

3.3.4 Instruction and Data Formats

The memory of 8080 microprocessor is organized into 8-bit quantities, called bytes.
Each byte has an exclusive 16-bit binary address related to its sequential position in the
memory. The 8080 may also consist of ROM (read only memory) elements and RAM

PAGE 28
(random access memory) elements, and the microprocessor can directly address up to
65,536 bytes of memory.[11]

Data in 8080 microprocessor is stored in the form of 8-bit binary digits.

Figure 3.7: Data Word

When a register includes a binary number, it is essential to find the order in which
bits of the number are written. In the Intel 8080 microprocessor, BIT 0 is refered to as
LSB, and the BIT 7 as the MSB.

Figure 3.8: Byte Instructions

PAGE 29
The 8080 microprocessor program instructions may be one byte, two or three bytes in
length. Different byte instructions have to store in successive memory locations. The
address of the first byte is always used as the address of the instructions. The correct
instruction format depends on the particular operation to be executed.[11]

3.3.5 Memory

The total addressable memory of the microprocessor is 64KB, and the stack
program and data memories occupy the same memory space.
 In program memory, program can be placed anywhere in the memory; call,
jump and branch instruction can use 16-bit addresses, i.e., they can be used to
branch/jump anywhere within the 64KB memory. All these instructions use
complete addressing.
 In the data memory, the processor always uses 16-bit addresses so that the
data can be located anywhere.
 Stack memory is incomplete only by the size of memory, stack raises down.

3.3.6 Interrupts

The processor maintains maskable interrupts. When an interrupt arises, the processor
fetches one instruction from the bus; frequently one of these instructions:

In RST instructions (RST0 – RST7), the processor saves current program counter into
stack and branches to memory location N * 8 (where N is a 3-bit number from 0 to 7
supplied with the RST instruction).

CALL instruction is a 3-byte instruction, wherein the processor calls the subroutine,
address of which is particular in the second and third bytes of the instruction. By using EI
and DI instructions, the interrupts can be enabled or disabled.

PAGE 30
3.4 Zilog Z80

The Z80 CPU is an 8-bit based microprocessor. It was introduced by Zilog in


1976 as the startup company's first product. The Z80 was conceived by Federico Faggin
in late 1974 and developed by him and his then-11 employees at Zilog from early 1975
until March 1976, when the first fully working samples were delivered. With the revenue
from the Z80, the company built its own chip factories and grew to over a thousand
employees over the following two years.

Figure 3.9: Z80 chip

The Zilog Z80 was a software-compatible extension and enhancement of the


Intel 8080 and, like it, was mainly aimed at embedded systems. According to the
designers, the primary targets for the Z80 CPU (and its optional support and peripheral
ICs) were products like intelligent terminals, high end printers and advanced cash
registers as well as telecom equipment, industrial robots and other kinds of automation
equipment. The Z80 was officially introduced on the market in July 1976 and came to be
widely used also in general desktop computers using CP/M and other operating
systems as well as in the home computers of the 1980s. It was also common in military
applications, musical equipment, such as synthesizers, and in the computerized coin
operated video games of the late 1970s and early 1980, the arcade machines or video
game arcade cabinets.

PAGE 31
The Z80 was one of the most commonly used CPUs in the home computer market
from the late 1970s to the mid-1980s.[6][7] Zilog licensed the Z80 to the US-based
Synertek and Mostek, which had helped them with initial production, as well as to a
European second source manufacturer, SGS. The design was copied also by several
Japanese, East European and Russian manufacturers.[8] This enabled the Z80 to gain
acceptance in the world market since large companies like NEC, Toshiba, Sharp, and
Hitachi, started to manufacture the device (or their own Z80-compatible designs). In
recent decades Zilog has refocused on the ever-growing market for embedded systems
(for which the original Z80 and the Z180 were designed) and the most recent Z80-
compatible microcontroller family, the fully pipelined 24-bit eZ80 with a linear 16 MB
address range, has been successfully introduced alongside the simpler Z180 and Z80
products.

PAGE 32
Figure 3.10: Z80 Registers

3.4.1 Z80 CPU

The Z80 CPU is an 8-bit processor which was constructed in the beginning of
July 1976, with ideas from Intel 8080. That was before the Intel Company started, and
made a better 8080-processor, with backward compatibility and with a lot of new
instructions.

PAGE 33
The interesting thing about the Z80-CPU is that you can already see the beginning
to what was about to become pipelined constructions. The Z80 CPU became soon a very
popular processor for small systems - especially later on when the processor was reduced
in prize. Now a Z80-processor costs about a dollar, and many are using it out of tradition,
which makes it even more popular. If you look at the homepage of Zilog, then you will
see that today there is a lot of new variants of chips for Z80 systems, used in a wide range
of applications.

3.4.2 Z80 Processor Architecture

The Z80 CPU has a very interesting architecture. First of all it has "fetch/execute
overlapping", which means that it's possible to get (fetch) next instruction from memory
while the first instruction are executed. This system are also used in the Intel 8080, and
other processors from that time. Another thing that are typical from that time is that those
processors are CISC-processors, and that they have variable instructions length. The Z80
CPU instructions length can be from one to four bytes long. To increase the Z80 CPU
speed most instructions are only one byte long. 252 instructions are one byte, the rest are
2, 3 or 4 bytes long.

Figure 3.11: Fetch Execute Overlap

PAGE 34
Another aspect in processor- architecture are the number of internal registers, and
if they are dedicated to special purposes. The Z80 CPU internal organization is made
visible on the figure below:

Figure 3.12: Z80 CPU Internal Organization

It shows on the figure: 20 - 8-bits registers, and 4 - 16-bits registers. The four 16-
bits registers are: PC (Program Counter), SP (Stack Pointer) and the two Index-registers,
IX and IY.

The 20 - 8-bit registers are grouped into two banks with 10 registers. 8 which can
be used together as 4 - 16-bit register-pairs, an 8-bit accumulator and a 8-bit flag-register.
The Accumulator A, are used for all calculations. The F-register (flags) are used to
determine if the result is positive, negative, zero etc...

The Register-pairs BC and DE are mostly used for counters and storage of part-
results. The Register-pair HL can be used in a wide range of instructions mostly as

PAGE 35
addressing (pointing to memory). The forgotten registers W and Z are only used for
internal operations in the processor, like jump to new addresses. (The CPU can only
transfer 8 bits at a time, so to transfer (load) a 16-bit address, it will first store it in WZ) .

The registers B, C, D, E, F, H, L, W and Z can be changed very fast with B', C', D',
E', F', H', L', W' and Z', with the instruction EXX. For this purpose a MUX is used,
which is the fastest way to change the value in 9 registers with 9 others. The A and F are
switched with A' and F' with the instruction EX AF,AF'. This finesse are mostly used
with interrupt routines, so that the main program are using the main set of registers and
the interrupt routine are using the EXX registers, this speeds up the interrupt routine,
which can be important in embedded applications.

3.5 ARM 7

It is introduced in 1994 (ARM7TDMI, ARM7EJ-S, ARM720T). Arm7 family has


been immensely successful & has established ARM as the architecture of choice in
digital word. Over the years more than 10 billion ARM7 processor family based devices
have powered a verity of cost & power sensitive applications. Now a days never
embedded designs are making use of latest ARM processor such as Cortex-M0 & Cortex-
M3.

The ARM7TDMI is a member of the Advanced RISC Machines (ARM) family of


general purpose 32-bit microprocessors, which offer high performance for very low
power consumption and price.

PAGE 36
Figure 3.13: ARM7TDMI Chip

3.5.1 ARM7TDMI Architecture

The ARM7TDMI processor employs a unique architectural strategy known as


THUMB, which makes it ideally suited to high-volume applications with memory
restrictions, or applications where code density is an issue.

3.5.2 The THUMB Concept

The key idea behind THUMB is that of a super-reduced instruction set.


Essentially, the ARM7TDMI processor has two instruction sets:
• Standard 32-bit ARM set
• 16-bit THUMB set

The THUMB set’s 16-bit instruction length allows it to approach twice the
density of standard ARM code while retaining most of the ARM’s performance
advantage over a traditional 16-bit processor using 16-bit registers. This is possible
because THUMB code operates on the same 32-bit register set as ARM code. THUMB
code is able to provide up to 65% of the code size of ARM, and 160% of the performance
of an equivalent ARM processor connected to a 16-bit memory system.

PAGE 37
3.5.2.1 THUMB’s Advantages

THUMB instructions operate with the standard ARM register configuration,


allowing excellent interoperability between ARM and THUMB states. Each 16-bit
THUMB instruction has a corresponding 32-bit ARM instruction with the same effect on
the processor model.

The major advantage of a 32-bit (ARM) architecture over a 16-bit architecture is


its ability to manipulate 32-bit integers with single instructions, and to address a large
address space efficiently. When processing 32-bit data, a 16-bit architecture will take at
least two instructions to perform the same task as a single ARM instruction. However,
not all the code in a program will process 32-bit data (for example, code that performs
character string handling), and some instructions, like Branches, do not process any data
at all.

If a 16-bit architecture only has 16-bit instructions, and a 32-bit architecture only
has 32-bit instructions, then overall the 16-bit architecture will have better code density,
and better than one half the performance of the 32-bit architecture. Clearly 32-bit
performance comes at the cost of code density.
THUMB breaks this constraint by implementing a 16-bit instruction length on a 32-bit
architecture, making the processing of 32-bit data efficient with a compact instruction
coding. This provides far better performance than a 16-bit architecture, with better code
density than a 32-bit architecture.

THUMB also has a major advantage over other 32-bit architectures with 16-bit
instructions. This is the ability to switch back to full ARM code and execute at full speed.
Thus critical loops for applications such as fast interrupts and DSP algorithms can be
coded using the full ARM instruction set, and linked with THUMB code. The overhead
of switching from THUMB code to ARM code is folded into sub-routine entry time.

PAGE 38
Various portions of a system can be optimised for speed or for code density by switching
between THUMB and ARM execution as appropriate.

Figure 3.14: Architecture

3.6 ARM 9

This family enables single processor solution for microcontroller, DSP & JAVA
applications, offering savings in chip area & complexity, power consumption & time to
market. ARM9 – enhanced processors are well suited for applications requiring a mix of
DSP+ Microcontroller performance . ARM9 family includes – ARM926EJ-S,
ARM946E-S, & ARM968E-S processors.

PAGE 39
3.6.1 About the ARM946E-S Processor

Figure 3.15: ARM946E-S Chip

The ARM946E-S is a synthesizable processor combining an ARM9E-S™ processor


core with a configurable memory system. It is a member of the ARM9E™ family of
high-performance, 32-bit system-on-chip processor solutions.

The ARM946E-S is a Harvard architecture cached processor that provides a


complete high-performance processor subsystem, including:
 An ARM9E-S RISC integer CPU core featuring:
 ARMv5TE 32-bit instruction set that has improved ARM/Thumb code
interworking and an enhanced multiplier designed for improved DSP
performance
 ARM debug architecture with additional support for real-time debug. This
enables critical exception handlers to execute while debugging the system.
 Support for external Tightly-Coupled Memory (TCM). A TCM interface is
provided for each of the external instruction and data memory blocks. The size of
both the Instruction and Data TCM blocks are implementor-specific and can
range from 0KB to 1MB.
 Instruction and data caches. The design can be easily modified to enable any
combination of caches from 0KB to 1MB.

PAGE 40
 A protection unit that enables the memory to be protected in a simple manner,
ideal for embedded control applications.
 An AMBA AHB bus interface. The ARM946E-S processor interfaces to the rest
of the system are through use of unified address and data buses. This interface is
compatible with the AMBA AHB bus standard.
 Support for external coprocessors enabling floating point or other application
specific hardware acceleration to be added. For coprocessor support, the
instruction and data buses are exported along with simple handshaking signals.
 Support for the use of a scan test methodology for the standard cell logic and
Built-In-Self-Test (BIST) for the TCM and caches.
 An interface to an external Embedded Trace Macrocell (ETM) to support real-
time tracing of instructions and data.

Providing this complete high-frequency subsystem frees the System-on-Chip


(SoC) designer to concentrate on design issues unique to their system. The synthesizable
nature of the device eases integration into ASIC technologies.

The ARM946E-S processor is targeted at a wide range of embedded applications


where high-performance, low system cost, small die size, and low power are all
important.

PAGE 41
Figure 3.16: Architechture

3.7 ARM 11

This family provides the engine that power many smartphones, also widely used in
consumer, home & embedded applications. It delivers low power & a range of
performance from 350MHz to 1GHz. ARM11 processor software is compatible with all
previous generations of ARM processors.It introduces 32-bit SIMD for media
processing:

PAGE 42
o Physically tagged caches to improve OS context switch performance.
o Trust zone for H/W enforced security.
o Tightly coupled memories for real-time applications.

ARM11 family includes - ARM1176JZ (F)-S & ARM11MP core, ARM1136J(F)-


S, ARM1156T2-S processor.

Figure 3.17: ARM1136J-S Chip

3.7.1 About the ARM1136J-S and ARM1136JF-S processors

The ARM1136J-S and ARM1136JF-S processors incorporate an integer unit that


implements the ARM architecture v6. They support the ARM and Thumb instruction
sets, Jazelle technology to enable direct execution of Java bytecodes, and a range of
SIMD DSP instructions that operate on 16-bit or 8-bit data values in 32-bit registers.
The ARM1136J-S and ARM1136JF-S processors are high-performance, low-power,
ARM cached processor macrocells that provide full virtual memory capabilities.

PAGE 43
Figure 3.18: Architechture

PAGE 44
3.8 Features Comparison of ARM7, ARM9 & ARM11

Table 3.1: Features Comparison of ARM Processors

Processor ARM7 ARM9 ARM11

Pipeline Depth 3 stage (Fetch, Decode, 5 stage (Fetch, 8 stage


Execute) Decode, Execute,
Decode, Write)

Operating 180 MHz 150 MHz 335MHz.


Frequency

Power 0.06 mW/MHz 0.19 mW/MHz 0.4mW/MHz.


Consumption

MIPS/MHz 0.97 1.1 1.2

Architecture Von-Neumann Harvaed Harvard


Used

MMU/MPU Not present Present Present

Cache Memory Not present Present (separate Present (4-64k


16k/8k) size)

Jazelle Not present Not Present Support


Instruction

Thumb 16 bit instruction set Support Support


Instruction:

ARM Instruction 32 bit instruction set 32x32 multiply ARM V6


set instruction

ISA (Instruction V4T (4 TH Version) V5T(ARM926EJ- V6


Set Architecture) S)

ISR entry Non Deterministic ISR - -


entry

PAGE 45
4.0 Conclusion

As time passed, technology continues to evolve. This also includes the embedded
systems. The development in embedded systems creates a huge opportunity for
developers to create a more advanced electronics. It also held true for game console. We
can see a huge changes throughout the years, how the game console had evolved from
just playing a game and into having the same function as a smart phone. The game
console had been upgraded in terms of its processor, memory, peripherals and its
operating systems.

Year 1998 2017

Processor 4.19 MHz 8-bit custom Sharp 804 MHz quad-core ARM11
LR35902 & 134 MHz single-core
ARM9

Memory 8 kB S-RAM (can be extended up 256 MB FCRAM @ 6.4GB/s


to 32 kB) (64 MB Reserved for OS)
8 kB VRAM 4 GB Micro SD Card included
(Expandable up to 256 GB via
Micro SDXC card slot (format
to FAT32 needed),

Peripherals Game Boy Game Cartridge (32 kB Nintendo 3DS Game Card (1-
- 1 MB 8 GB)
Nintendo DS Game Card (8-
512 MB)

Operating None[2] FreeBDS[8]


System

PAGE 46
5.0 References

[1] Wikipedia, (1990). Game Boy Line. Retrieved November 08, 2017, from website:
https://en.wikipedia.org/wiki/Game_Boy_line

[2] Handheld Legends, (2000). Is the Game Boy a Computer?. Retrieved November 09,
2017, from website: https://handheldlegend.com/blogs/news/131814339-is-the-
game-boy-a-computer

[3] Kernel Thread, (2002). Game Boy Advance Overview. Retrieved November 09, 2017,
from website: https://kernelthread.com/publications/gbaunix

[4] SourceForge, (2005). Prex. Retrieved November 09, 2017, from website:
https://prex.sourceforge.net

[5] Wikipedia, (2005). DS Family Line. Retrieved November 08, 2017, from website:
https://en.wikipedia.org/wiki/Nintendo_DS_family

[6] OpenHub, (2006). FeOS Retrieved November 09, 2017, from website:
https://www.openhub.net/p/feos

[7] Wikipedia, (2011). 3DS Family Line. Retrieved November 08, 2017, from website:
https://en.wikipedia.org/wiki/Nintendo_3DS_family

[8] Wikipedia, (2000). FreeBDS Retrieved November 09, 2017, from website:
https://en.wikipedia.org/wiki/FreeBSD_version

[9] RealBoy Emulator, (2000). The Nintendo Game Boy Part 2. Retrieved November 09,
2017, from website: https://realboyemulator.wordpress.com/2013/01/02/the-
nintendo-game-boy-part-2/

[10] Wikipedia, (1980). Intel 8080. Retrieved November 10, 2017, from website:
https://en.wikipedia.org/wiki/Intel_8080

[12] Wikipedia, (1980). Zilog Z80. Retrieved November 10, 2017, from website:
https://en.wikipedia.org/wiki/Zilog_Z80

PAGE 47

You might also like