Intel 8008

Izvor: Wikipedija

Intel 8008 ime je za rani bit-orijentirani mikroprocesor kojeg je dizajnirala i prozvodila tvrtka Intel. Na tržištu se pojavilo na travnju 1972. godine. Intel 8008 pripada porodici 8-bitnih mikroprocesora s 14-bitnim adresnom sabirnicom koja je omogućavala pristupu ukupno 16 KB memorije. Intel je prvotno nazvao svoj prozvod 1201, jer je ovaj mikroprocesor bio razvijen za klijenta Computer Terminal Corporation (CTC) koji su htjeli imati minijaturni sklop koji bi sadržavao instrukcijski skup za svoj novi programbilni zaslon Datapoint 2200. Razvoj ovog integriranog kruga zaostajao je u vremenu i kada je bio završen proizvod nije zadovoljavao potrebama tvrtke CTC. Zbog loših performansi, CTC je razvio svoj vlastiti procesor rabeći diskretne TTL krugove. Zbog neekluzivnog ugovora s tvrtkom CTC, Intel je kasnije počeo prodavati procesor 1201 koji je bio preimenovan u Intel 8008 za široko tržište. Intel 8008 ugrađen je u prva mikroračunala kao US SCELBI kit, francuski Micral N, kanadski MCM/70 te u prvim Hewlett-Packardovim zaslonima iz obitelji 2640. Intel 8008 otvorio je tržište mikroprocesora, i Intel je iz svog znanja u razvijanju Intela 8008 uspio stvoriti nasljednike kao Intel 8080.

Povijest[uredi | uredi kôd]

Arhitektura[uredi | uredi kôd]

i8008 microarhitektura
Registri u Intel 8008
13 12 11 10 09 08 07 06 05 04 03 02 01 00 (bit position)
Glavni egistri
  A Akumulator
  B B registar
  C C registar
  D D registar
  E E registar
  H H registar (indirect)
  L L registar (indirektni)
Programski brojač
PC Programski Counter
Push-down adreasa pozivnog stoga
AS Poziv nivo 1
AS Poziv nivo 2
AS Poziv nivo 3
AS Poziv nivo 4
AS Poziv nivo 5
AS Poziv nivo 6
AS Pozvi level 7
Statusni registar
  C P Z S Zastavice


Intel 8008 izveden je u 10 μm poboljšanjem silicijskim vratima u tzv. PMOS logici. Prve inačice Intela 8008 mogle su raditi na frekvencijama do 0.5 MHz. U kasnijim izvedbama Intela 8008 (8008-1) brzina rada se povećala na maksimum do 0.8 MHz. Naredbama je trebalo između 5 and 11 T-koraka, a svaki T-korak trajao u dužini od dva otkucaja untrašnjeg sata[1] Prebacivanje podataka iz registara u registar i operaacije ALU trajale su 5 (20 μs at 0.5 MHz), prebacivanje podataka iz registera u memoriju trajale su 8T (32 μs), dok pozivi i skokovi su trošili 11 T-koraka (44 μs).[2] Intel 8008 bio je malo sporiji po broju istrukcija u sekudi (36.000 do 80.000 pri 0.8 MHz) nego četverobitni Intel 4004 ili Intel 4040.[3] No činjanica da je Intel 8008 mogao obraditi 8 bita u jedno vrijeme, te je mogao pristupiti većoj količini RAMa davalo je veću prednost 8008 za mnoge aplikacije. Intel 8008 imao je 3.500 tranzistora[4][5][6]

Primjer programa[uredi | uredi kôd]

Sledeće je primjer u asembleru za Intel 8008 koji sadrži izvorni kod za rutinu MEMKOPI (kopiranje odnosno presliku) memorijskog bloka neke zadane veličine s jednog mjesta na drugo mjesto. Asemblerski program je napisan u NASM stilu.


                   
                   
                   
                   
                   
                   
                   
                   
                   
001700 000        
001701 000        
001702 000        
001703 000        
001704 000        
001705 000        
                   
                   
002000 066 304    
002002 056 003    
002004 327        
002005 060        
002006 317        
002007 302        
002010 261        
002011 053        
002012 302        
002013 024 001    
002015 320        
002016 301        
002017 034 000    
002021 310        
002022 066 300    
002024 056 003    
002026 347        
002027 060        
002030 337        
002031 302        
002032 206        
002033 360        
002034 301        
002035 215        
002036 350        
002037 307        
002040 066 302    
002042 056 003    
002044 347        
002045 060        
002046 337        
002047 364        
002050 353        
002051 330        
002052 302        
002053 206        
002054 360        
002055 301        
002056 215        
002057 350        
002060 373        
002061 104 007 004
002064             
; MEMKOPI --
; Preskikaj blok memorije s izvora na odredište u memoriju
;
; Ulazni parametri 
;       IZV: 14-bit adresa početka memorijskog bloka
;       ODR: 14-bit adresa odredišta memorijskog bloka
;       BRJ: 14-bit brojač preslikanih bajtova
 
            ORG     1700Q       ;Podatci na 001700q
IZV         DFB     0           ;IZV, niži bajt
            DFB     0           ;     viši bajt
ODR         DFB     0           ;ODR, niži bajt
            DFB     0           ;     viši bajt
BRJ         DFB     0           ;BRJ, niži bajt
            DFB     0           ;     viši bajt
 
            ORG     2000Q       ;Program je na 002000q
MEMKOPI     LLI     BRJ+0       ;HL = addr(BRJ)
            LHI     BRJ+1
            LCM                 ;BC = BRJ
            INL
            LBM
PETLJA      LAC                 ;Ako je BC = 0,
            ORB
            RTZ                 ;Vrati se nazad u Operacijski sustav
DECCNT      LAC                 ;BC = BC - 1
            SUI     1
            LCA
            LAB
            SBI     0
            LBA
GETIZV      LLI     SRC+0       ;HL = addr(IZV)
            LHI     SRC+1
            LEM                 ;DE = IZV
            INL
            LDM
            LAC                 ;HL = DE + BC
            ADE
            LLA
            LAB
            ACD
            LHA
            LAM                 ;Učitaj A od (HL)
GETODR      LLI     ODR+0       ;HL = addr(ODR)
            LHI     ODR+1
            LEM                 ;DE = ODR
            INL
            LDM
            LLE                 ;HL = DE
            LHD
            LDA                 ;D = A
            LAC                 ;HL = HL + BC
            ADL
            LLA
            LAB
            ACH
            LHA
            LMD                 ;Spremi D u (HL)
            JMP     PETLJA      ;Ponovi petlju
            END

Izvori[uredi | uredi kôd]

  1. MCS-8 Micro Computer Set Users Manual (PDF). Intel Corporation. 1972. Inačica izvorne stranice (PDF) arhivirana 27. rujna 2007. Pristupljeno 4. prosinca 2010.
  2. Intel 8008 Opcodes. Pristupljeno 4. prosinca 2010.
  3. Intel 8008 (i8008) microprocessor family. CPU World. 2003–2010. Pristupljeno 4. prosinca 2010.
  4. Intel. Gordon Moore and Moore's Law. Inačica izvorne stranice arhivirana 4. rujna 2009. Pristupljeno 28. lipnja 2009.
  5. Intel (2012). "Intel Chips: timeline poster".
  6. Intel (2008). "Microprocessor Quick Reference Guide".