Less Transistors More Constrained Perfection Comes From Simplicity - Page 1
Forum section: electronics / general

author: Sionyn
author_rank: Frequent Contributor
timestamp: January 30, 2013, 05:46:24 pm
content: 6502 cpu was used is the nes were i cut my teeth buggering around with assembler.6502 is an 8-bit microprocessor has 3510 transistors on a die size of 21 mm² . Has a clock speed typical of 1-2Mhz slow for its day but competitive to its counterparts despite them running at faster clock speeds thanks to its simplistic design of its state machine implomented by combinatorial logic. Its not sequenced microcode like modern cpu design like most in it era it uses PLA which makes up 15% on the chips die.A programmable logic array is a kind of programmable logic device used to implement combinational logic circuits. The PLA has a set of programmable AND gate planes, which link to a set of programmable OR gate planes, which can then be conditionally complemented to produce an output. This layout allows for a large number of logic functions to be synthesized in the sum of products (and sometimes product of sums) canonical forms. The 6502 used this to instruction decoding and sequencing. The asynchronous design of the 6502 meant 50% of its clock cycle was available for memory access this was critical at a time affordable memory had access times of 400ns. The 6502 was linguistically engineered and efficiently manufactured and cheep a very important factor in its success.Has very few registers its registers included a 8bit wide accumulator register. Two 8 bit wide index registers. 8 bit wide status register. One 8 bit stack pointer and a 16 bit wide program counter. The stack address space is a hardwirered to a memory address range $0100–$01FF. Software addressed to the stack through four implied addressing modes instructions that pushed or pop the accumulator or the status register. The same subroutine calls all so using jump to subroutine JSR and return from subroutine.Index and stack registers use several address modes similar to those found on the PDP-8 accessing memory locations 0-255 with a 8 bit address saving a cycle normally required to fetch high order byte addresses. The indirect modes are useful for array processing and other looping. With the 5/6 cycle "(indirect),y" mode, the 8-bit Y register is added to a 16-bit base address read from zero page which is located by a single byte following the opcode. The Y register is therefore an index-register in the sense that it is used to hold an actualindex (as opposed to the X register in the 6800 where a base address was directly stored and to which an immediate offset could be added). Incrementing the index register to walk the array byte-wise takes only two additional cycles. With the less frequently used "(indirect,x)" mode the effective address for the operation is found at the zero page address formed by adding the second byte of the instruction to the contents of the X register. Using the indexed modes, the zero page effectively acts as a set of up to 128 additional (though very slow) address registers.The 6502 is capable of performing addition and subtraction in binary or binary coded decimal. Placing the CPU into BCD mode with the SED instruction results in decimal arithmetic, in which $99 + $01 would result in $00 and the carry flag being set. In binary mode (CLD), the same operation would result in $9A and the carry flag being cleared.Want more ? Michael Steil goes through a history of decapping and decoding 6502 well worth a watch.(better than watching football)

author: smackaay
author_rank: Regular Contributor
timestamp: January 31, 2013, 04:16:53 am
content: That was actually really good, thanks!

author: TerraHertz
author_rank: Super Contributor
timestamp: January 31, 2013, 06:35:17 am
content: Nice video, makes me nostalgic.Ah, the 6502! On which I learned assembly and serious code reversing, and made a living programming for many years.Some related sites:http://www.pagetable.com/?p=401Measuring the Entropy of the MOS 6502 CPUhttp://www.visual6502.org/JSSim/index.htmlThe Visual 6502http://www.arcfn.com/2013/01/a-small-part-of-6502-chip-explained.htmloverflow flaghttp://www.cs.columbia.edu/~sedwards/papers/edwards2009retrocomputing.pdfRetrocomputing on an FPGAReconstructing an 80’s-Era Home Computer with Programmable LogicThe author reconstructs a computer of his childhood, an Apple II+.

author: Sionyn
author_rank: Frequent Contributor
timestamp: January 31, 2013, 07:20:10 pm
content: and thank you for the nice commentsmore cpu design this time acorn and arm

author: saturation
author_rank: Super Contributor
timestamp: January 31, 2013, 08:05:15 pm
content: Thanks! I grew up on the Apple II,e and Commodore 64, a little TRS80, a little Timex Sinclair ZX81 and a lot of IBM PC, so I spoke 6502, Z80 and 8080/88, and all assembly at that too.Although more traditional in design for CPUs, 6502 was a prototype for what became RISC philosophy. KISS is good philosophy for working with systems, because as they grow they all become complex but in a Mandelbrot way.

author: PA0PBZ
author_rank: Super Contributor
timestamp: January 31, 2013, 08:30:09 pm
content: Oh yes, the 6502. Back from the time I knew nothing about microprocessors, and spend a good year's worth of newspaper delivery money to buy a KIM-1:Compare that with C+ or java