Archive for category The 'K'olumn

The ‘K’olumn – What’s wrong with my monitor?

The Nut – Karthick sent this post in August, and being the lazy ass that I am, I totally forgot to post it. Deeply apologetic I am…

A few days ago after I returned from school I received instructions from my mom to pay a bill. As I switched on my computer I noticed that my monitor wasn’t turning on (power was there but no response). At first I thought that the wire must be loose so I set about tightening it.

Still it didn’t work.

So I removed the cable and put it back in again, hoping it would work. Still no response. Till then I had not touched the frame of my CPU. As I touched it I felt a shock and withdrew my hand instantly. (I am currently ignoring the shocks as I consider my monitor response as more important). Then I proceeded to open the CPU after switching off the power supply. I knew there was no problem with the cable so therefore it had to be something inside there. Not knowing what to do I called the HP technical support number. After a minute of recorded message someone picked up the phone with a “HP technical support centre. How may I help you?” I told him the condition and he asked me to open the CPU. Having already done that he told me to locate the RAM chip and ensure it was properly fixed.

BINGO

The RAM chip was pretty loose most probably due to the fact that when I had last opened the CPU (which was 2 days before) I think I had been a little rough with it. I was relieved it started working otherwise it would have freaked me out. Anyways at least I get the impression that the HP service is pretty good.

The Nut – Read the last para again, Ankur. I had been a little rough with it. Proper ROTFL moment.

Tags: ,

The ‘K’olumn – The Intel Legacy: Part 2

Hello men, women, children and others I am back after a long session of half yearly’s which SUCKED big time. My nerdy friend (The Tech Nut, dumb ass) here came 5th in the class and I was way back at 8th.

The Nut – Yeah right! As if 8th out of 46 is that bad!

Well, actually now I am no longer bothered and that being a completely different issue, let me go on to today’s post. Today’s post is the 2nd part of my long, boring and droning legacy of a certain company called Intel which makes microprocessors. Without further ado I would like to say that those of who read the earlier post and were bored due to its length might as well leave (Prashanth – you might as well stop here as I have no intention of getting another letter like comment telling me how to blog. I have already warned you and if you don’t wish to heed to my advice, it’s not my fault) even though I am going to try and shorten it. I have decided that I will skip other processors and directly move to the Pentium.

The Nut – Karthick actually wrote this post because I kept bugging him. Apparently any Google search for ‘intel legacy’ would lead them straight to his older post. When I told him that his post was still going strong, and the top post, he decided to come out of his hibernation.

The Pentium

The Pentium brand refers to Intel’s single-core x86 microprocessor based on the P5 fifth-generation microarchitecture considered here as such only. The name ‘Pentium’ was derived from the Greek penta, meaning ‘five’, and the Latin ending -ium. Introduced on March 22, 1993, the Pentium succeeded the Intel486, which number “4″ signified the fourth-generation microarchitecture. Intel selected the Pentium name after courts had disallowed trademarking of names containing numbers – like “286″, “i386″, “i486″ – though, sometimes, the Pentium is unofficially referred to as i586. Vinod Dham is often referred to as the father of the Intel Pentium processor.

Improvements over i486

  • Superscalar architecture – The Pentium has two datapaths (pipelines) that allow it to complete more than one instruction per clock cycle. One pipe (called “U”) can handle any instruction, while the other (called “V”) can handle the simplest, most common instructions. The use of more than one pipeline is a characteristic typical of RISC processors designs, the first of many to be implemented on the x86 platform, thus signaling the road to take, and showing that it was possible to merge both technologies, creating almost “hybrid” processors.
  • 64-bit data path – This doubles the amount of information pulled from the memory on each fetch. This doesn’t mean that the Pentium can execute 64-bit applications; its main registers are still 32 bits wide.
  • MMX instructions (later models only) – A basic SIMD instruction set extension designed for use in multimedia applications.

Pentium architecture chips offered just under twice the performance of a 486 processor per clock cycle. The fastest Intel 486 parts were almost the same speed as a first-generation Pentium, and the AMD Am5×86 was roughly equal to the Pentium 75.

The Pentium (“Classic”) series were designed to run at over 100 million instructions per second (MIPS), with the 75 MHz model running at 126.5 MIPS.

P5, P54C, P54CS

The original Pentium microprocessor had the internal code name P5 and the product code 80501 (80500 for the earliest steppings). This was a pipelined in-order superscalar microprocessor, produced using a 0.8 µm process. It was followed by the P54C (80502), a shrink of the P5 to a 0.6 µm process, which was dual-processor ready and had an internal clock speed different from the front side bus (it’s much more difficult to increase the bus speed than to increase the internal clock). In turn, the P54C was followed by the P54CS, which used a 0.35 µm process – a pure CMOS process, as opposed to the BiCMOS process that was used for the earlier Pentiums.

The early versions of 60-100 MHz Pentiums had a problem in the floating point unit that, in rare cases, resulted in reduced precision of division operations. This bug, discovered in Lynchburg, Virginia in 1994, became known as the Pentium FDIV bug and caused great embarrassment for Intel, which created an exchange program to replace the faulty processors with corrected ones.

The Nut – Cost ‘em a bunch of green, I can bet on THAT!

The 60 and 66 MHz 0.8 µm versions of the Pentium processors were also known for their fragility and their (for the time) high levels of heat production (refer to The Nut’s post on Intel vs AMD)

The Nut - Sob! I’m touched. He actually read my posts during his hibernation!

In fact, the Pentium 60 and 66 were often nicknamed “coffee warmers” (Haha haha haha haha haha haha haha haha… refer to Nelson – The Simpsons).

The Nut – Whateva…

They were also known as “high voltage Pentiums“, due to their 5V operation. The heat problems were removed with the P54C, which ran at a much lower voltage (3.3 V). P5 Pentiums used Socket 4, while P54C started out on Socket 5 before moving to Socket 7 in later revisions. All desktop Pentiums from P54CS onwards used Socket 7. Another bug known as f00f bug was discovered soon afterwards, but fortunately, operating system vendors responded by implementing workarounds that prevented the crash.

P55C, Tillamook

The P55C (or 80503) was developed by Intel’s Research & Development Center in Haifa, Israel. It was sold as Pentium with MMX Technology (usually just called Pentium MMX); although it was based on the P5 core (the 0.35 µm process was also used for this series) it featured a new set of 57 “MMX” instructions intended to improve performance on multimedia tasks, such as encoding and decoding digital media data. The new instructions work on new data types: 64-bit packed vectors of either eight 8-bit integers, four 16-bit integers, two 32-bit integers, or one 64-bit integer. The performance of the P55C was improved over previous versions by a doubling of the Level 1 CPU cache from 16 KiB to 32 KiB.

Pentium P55C notebook CPUs used a “mobile module” that held the CPU. This module was a PCB with the CPU directly attached to it in a special smaller form factor. The module snapped to the notebook motherboard and typically a heat spreader plate was installed and made contact with the module. Such notebooks frequently used the Intel 430MX chipset, a feature-reduced 430FX. However, with the 0.25 µm Tillamook Mobile Pentium MMX (named after a city in Oregon), the module also held the 430TX chipset along with the system’s 512 KiB SRAM cache memory.

I am restricting myself to only one more so as to reduce complains expect more parts of the The Legacy. The next is the Pentium Pro.

The Pentium Pro

The Pentium Pro is a sixth-generation x86 architecture microprocessor (P6 core) produced by Intel and was originally intended to replace the original Pentium in a full range of applications, but later, was reduced to a more narrow role as a server and high-end desktop chip. The Pentium Pro was capable of both dual- and quad-processor configurations. It was introduced in an unusually large, rectangular Socket 8 form factor in November 1995. Intel has since discontinued it in favor of the newer high-end Xeon processor lines.

The Pentium Pro (given the Intel product code 80521), was the first generation of the P6 architecture, which would carry Intel well into the next decade. The design would scale from its initial 150 MHz start, all the way up to 1.4 GHz with the “Tualatin” Pentium III. The Pentium Pro had a theoretical performance of 400 MFLOPS. The core’s various traits would continue after that in the derivative core called “Banias” in Pentium M and Intel Core (Yonah), which itself would evolve into Core architecture (Core 2 processor) in 2006 and onward. Performance with 32-bit code was excellent and well ahead of the older Pentium at the time, by 25-35%; however, the Pentium Pro’s 16-bit performance was approximately only 20% faster than a Pentium at running 16-bit code. It was this, along with the Pentium Pro’s high price, due in part to the full speed L2 cache, that caused the rather lackluster reception for the chip among many home PC enthusiasts, given the dominance at the time of the 16-bit Windows 3.1x and MS-DOS (Microsoft’s Dung On Sale).

The Pentium Pro (P6) core featured an array of advanced RISC technologies, although it wasn’t the first x86 CPU with such approach — before it, the NexGen Nx586 processor already utilized internal x86 translation to its own proprietary RISC86 TM instruction set. Perhaps the most obvious sign that things had changed was that the CPU’s “front end” decoded the old IA32 instructions into micro-instructions which the Pro’s RISC core then processed. The core of Pentium Pro featured several new technologies, including: speculative execution, superpipelining, an advanced L2 cache, register renaming, out of order execution, and a wider 36-bit address bus (usable by PAE).After the microprocessor was released a bug was discovered in the floating point unit, commonly called the “Pentium Pro and Pentium II FPU bug” and by Intel as the “flag erratum”.

Likely Pentium Pro’s most noticeable addition was its on-package L2 cache. At the time, manufacturing technology did not feasibly allow L2 cache to be integrated into the processor core. Intel instead placed the L2 die separately in the package which still allowed it to run at the same clock speed as the CPU core. Additionally, unlike motherboard-based cache which shared the main system bus with the CPU, the Pentium Pro’s cache had its own backside bus (called dual independent bus by Intel). Because of this, the CPU could read main memory and cache concurrently, greatly reducing a traditional bottleneck. The cache was also “non-blocking”, meaning that the processor could issue more than one cache request at a time (up to 4), reducing cache-miss penalties.

However, this far faster L2 cache did come with some complications. All versions of the chip were expensive, those with more than 256 KiB being particularly so. The Pro’s “on-package cache” arrangement was unique. The processor and the cache were on separate dies in the same package and connected closely by a full-speed bus. The two dies — both of which were very large by the standards of the day — had to be bonded together early in the production process, before testing was possible. This meant that a single, tiny flaw in either die made it necessary to discard the entire assembly, which was one of the reasons for the Pentium Pro’s relatively low production yield and high cost.

That is all for today, those of you fools who bothered to read to read till the end -Thank You.

Tags:

The ‘K’olumn – The Intel Legacy: Part 1

Hello, everyone anyone who is a close follower of this blog will know that this is my second on post on The Tech Nut. (Well,now everyone else knows as well). Without further delay I’d like to give a small introduction to this post – As most of the people know Intel is one of the most famous companies of today in the field of microprocessors and has reached a height where is it rivaled by few others (AMD for example). Yet few would bother about knowing the history up of Intel’s processors. I have given the line up below and will talk about the first four processors (Source:Wikipedia).

4004 • 4040 • 8008 • 8080 • 8085 • iAPX 432 • i860 • i960 • 8086 • 8088 • 80186 • 80188 • 80286 • 80386 • 80486 • Pentium • Pentium Pro • Pentium II • Pentium III • Itanium • Pentium 4 • Pentium D • Pentium Extreme Edition • Pentium M • Pentium Dual-Core • Core • Core 2 • Celeron • Xeon • XScale • Itanium 2

 

The Intel 4004

The Intel 4004, is a 4-bit central processing unit (CPU) released by Intel Corp. in 1971, is widely considered to be the world’s first commercial single-chip microprocessor. The 4004 employed a 10μm silicon-gate PMOS(p-type metal oxide semiconductor) technology and could execute approximately 60,000 instructions per second.

The 4004 was released in 16-pin CERDIP packaging on November 15, 1971. The 4004 is the first computer processor designed and manufactured by chip maker Intel, which previously made semiconductor memory chips. The chief designers of the chip were Federico Faggin (project leader and chip designer) and Ted Hoff (architecture) of Intel and Masatoshi Shima of Busicom (later of ZiLOG). Shima designed the Busicom calculator firmware and assisted Faggin during the implementation.

Originally designed for the Japanese company Busicom to be used in their line of calculators (instead of the complex special purpose calculator chipset that Busicom had designed themselves and brought to Intel to have made, which Intel determined was too complex to make with the technology they had at the time), the 4004 was also provided with a family of custom support chips ( e.g., each “Program ROM” internally latched for its own use the 4004’s 12-bit program address, which allowed 4 KB memory access from the 4-bit address bus if all 16 ROMs were installed). The 4004 circuit was built of 2,250 transistors, and was followed the next year by the first ever 8-bit microprocessor, the 3,300 transistor 8008 (and the 4040, a revised 4004).

Now, after somewhat of an introduction to the Intel 4004 let us come to the technical specifictions.(I again say that most of this has been taken from Wikipedia and I feel it is no point bothering to read the whole article as I have copied almost the whole article.) The Intel 4004 had

  • Maximum clock speed is 740 kHz
  • Separate program and data storage (i.e., a Harvard architecture). Contrary to most Harvard architecture designs, however, which use separate buses, the 4004, with its need to keep pin count down, uses a single multiplexed 4-bit bus for transferring:
    • 12-bit addresses
    • 8-bit instructions
    • 4-bit data words
  • Instruction set contains 46 instructions (of which 41 are 8 bits wide and 5 are 16 bits wide)
  • Register set contains 16 registers of 4 bits each
  • Internal subroutine stack is 3 levels deep

Microarchitecture and pinout

Intel 4004 architectural block diagram.

Intel 4004 architectural block diagram.

Intel 4004 DIP chip pinout.


Intel 4004 DIP chip pinout.

 

Custom support chips

  • 4001: 256-byte ROM (256 8-bit program instructions), and one built-in 4-bit I/O port
  • 4002: 40-byte RAM (80 4-bit data words), and one built-in 4-bit output port; the RAM portion of the chip is organized into four “registers” of twenty 4-bit words:
    • 16 data words (used for mantissa digits in the original calculator design)
    • 4 status words (used for exponent digits and signs in the original calculator design)
  • 4003: 10-bit parallel output shift register for scanning keyboards, displays, printers, etc.
  • 4008: 8-bit address latch for access to standard memory chips, and one built-in 4-bit chip select and I/O port
  • 4009: program and I/O access converter to standard memory and I/O chips.

The second processor which is the Intel 4040 has less to say as compared to the earlier one as it is almost if I may say an “updated” version of the Intel 4004.

The Intel 4040

 

The Intel 4040 microprocessor was the successor to the Intel 4004. It was introduced in 1974. The 4040 employed a 10μm silicon-gate PMOS technology and could execute approximately 60,000 instructions per second.

New features

  • Interrupt
  • Single Step

Extensions

  • Instruction Set expanded to 60 instructions
  • Program memory expanded to 8 KiB
  • Registers expanded to 24
  • Subroutine stack expanded to 7 levels deep

Designers

Federico Faggin proposed the project, formulated the architecture and led the design. The detailed design was done by Tom Innes.

New support chips

  • 4201 – Clock Generator 500 to 740 kHz using 4 to 5.185 MHz crystals
  • 4308 – 1 KiB ROM
  • 4207 – General Purpose byte Output port
  • 4209 – General Purpose byte Input port
  • 4211 – General Purpose byte I/O port
  • 4289 – Standard Memory Interface (replaces 4008/4009)
  • 4702 – 256 byte UVEPROM
  • 4316 – 2 KiB ROM
  • 4101 – 256 4-bit word RAM

The third processor was the Intel 8008 which is again not as signicant as many others but still an advancement in the field of microprocessors.

The Intel 8008

The Intel 8008 was an early microprocessor designed and manufactured by Intel and introduced in April, 1972. The 8008, originally codenamed 1201, was originally commissioned by Computer Terminal Corporation for use in its Datapoint 2200 programmable terminal, but because the chip was delivered late and did not meet CTC’s performance goals, the chip was not used in the 2200. An agreement between Intel and CTC permitted Intel to market the chip to other customers.

Implemented in 10μm silicon-gate PMOS, initial versions of the 8008 ran at 0.5 MHz, later increased in the 8008-1 to 0.8 MHz. While a little slower in terms of instructions per second (45,000 to 100,000) [1] than the 4-bit Intel 4004 and Intel 4040, the fact that the 8008 processed data eight bits at a time and could access significantly more RAM actually gave it 3 to 4 times the true processing power of the 4-bit chips.

The instruction set of the 8008 and subsequent Intel CISC CPUs were heavily based on CTC’s design.

The chip (limited by its 18 pin DIP packaging) had a single 8-bit bus and required a significant amount of external support logic. For example, the 14-bit address, which could access “16 K x 8 bits of memory”[1], needed to be latched by some of this logic into an external Memory Address Register (MAR). The 8008 could access 8 input ports and 24 output ports.

For controller and CRT terminal use this was an acceptable design, but it was too difficult to use for most other tasks. A few early computer designs were based on it, but most would use the later and greatly improved Intel 8080 instead.

The 8008 family is also referred to as the MCS-8.
The next one which is the Intel 8080 (and the last one for this post because I know half of you would have already lost interest and even the people who might have been interested would also give up soon) was a very significant model in the Intel’s line. This is one article that has been majorly edited so as not to fill up entire loads of junk.

The Intel 8080

The Intel 8080 was an early microprocessor designed and manufactured by Intel. The 8-bit CPU was released in April 1974 running at 2 MHz (at 640,000 instructions per second), and is generally considered to be the first truly usable microprocessor CPU design. It was implemented in NMOS.

Programming model

The Intel 8080 was the successor to the Intel 8008; this was due to its being assembly language source-compatible, since it used the same instruction set developed by Computer Terminal Corporation. The 8080’s large 40 pin DIP packaging permitted it to provide a 16-bit address bus and an 8-bit data bus, allowing easy access to 64 kilobytes of memory.

Registers

The processor had seven 8-bit registers, six of which could be combined into three 16-bit register pairs (BC, DE and HL). It also had the 8-bit accumulator, the 16-bit stack pointer to memory (replacing the 8008’s internal stack), and a 16-bit program counter.

16-bit operations

Despite the fact that the 8080 was generally an 8-bit processor, it was also able to load immediate any register pair (LXI), increment or decrement any register pair (INX, DCX), add the register pairs (DAD), switch HL with DE (XCHG) and perform the 16-bit arithmetical shift (DAD H) with one command. Hence some 16-bit operations were already possible.

Input output port space

The 8080 supported up to 256 input/output (I/O) ports, accessed from programs via dedicated I/O instructions—each instruction taking an I/O port address as its operand. This scheme—using a separate I/O address space—is now less commonly used than memory mapping of I/O ports/devices. At the time of the 8080’s launch, this I/O mapping scheme was seen as an advantage, as it freed up the processor’s limited number of address pins for the memory address space. In most other CPU architectures, however, the mapping of I/O ports in a common address space both for memory and I/O, gave a simpler instruction set; no need for separate I/O instructions. The 8080-style I/O port scheme continued into the Intel 8085 and x86 families of microprocessors, as well as the Zilog Z80 series.

Pin usage

The address bus had its own 16 pins, and the data bus had 8 pins that were possible to use without any multiplexing. Using the two additional pins (read and write signals), it was possible to assemble simple microprocessor devices very easily. Only the separate IO space, interrupts and DMA required additional chips to decode the processor pin signals. However the processor load capacity was limited, and even simple computers frequently contained bus amplifiers.

There was a huge table after this which I refrained from adding owing to the length of the post.

Applications and successors

The 8080 was used in many early microcomputers, such as the MITS Altair 8800 Computer, Processor Technology SOL-20 Terminal Computer and IMSAI 8080 Microcomputer, forming the basis for machines running the CP/M operating system (the later, fully compatible and more capable, Zilog Z80 processor would capitalize on this, with Z80 & CP/M becoming the dominant CPU & OS combination of the period much like x86 & MS-DOS for the PC a decade later). The first single-board microcomputer was based on the 8080. The company Landis & Gyr used it on its electrical metering data acquisition equipment, the Datagyr FAB during the early eighties.

In addition, several early arcade video games were built around the 8080 microprocessor. Space Invaders was perhaps the most popular such title.

Shortly after the launch of the 8080, the Motorola 6800 competing design was introduced, and after that, the MOS Technology 6502Zilog introduced the Z80, which had a compatible machine-language instruction set and initially used the same assembly language as the 8080, but for legal reasons, Zilog developed a syntactically-different alternative assembly language for the Z80. At Intel, the 8080 was followed by the compatible and electrically more elegant 8085, and later by the assembly language compatible 16-bit 8086 and then the 8/16-bit 8088, which was selected by IBM for its new PC to be launched in 1981. The 8080, via its ISA, thus made a lasting impact on computer history. variation of the 6800.

The Soviet Union manufactured a complete 8080 analog named KP580ИK80 (later marked as KP580BM80), where even the pins were placed identically. This processor was the base of the Radio86RK probably the most popular amateur single-board computer in the Soviet Union. Radio86RK’s predecessor was the Micro-80 ( Микро-80 in Russian), and its successor the Orion-128 (Орион-128 in Russian) which had a graphical display.

The 8080 also changed how computers were created. When the 8080 was introduced, computer systems were usually created by computer manufacturers such as Digital Equipment Corporation, Hewlett Packard, or IBM. A manufacturer would produce the entire computer, including processor, terminals, and system software such as compilers and operating system. The 8080 was actually designed for just about any application except a complete computer system. Hewlett Packard developed the HP 2640 series of smart terminals around the 8080. The HP 2647 was a terminal which ran BASIC on the 8080. Microsoft would create the first popular programming language for the 8080, and would later acquire DOS for the IBM-PC.

That is the end of this post and next time I will make sure that I don’t write anything about the insignificant processors and only the important ones.

Tags: ,

The Tech Nut is using WP-Gravatar