# Kenbak-1

El computador Kenbak-1 és considerat el primer "ordinador personal" disponible comercialment. Aquesta designació li va ser atorgada pel Computer History Museum l'any 1987 a través d'un concurs realitzat amb l'objectiu de registrar la història de la computació. Aquest equip va ser fabricat per John Blankenbaker (qui va formar la Kenbak Corporation) i va començar a comercialitzar l'any 1971. L'objectiu principal d'aquest equip era servir al mercat educacional, però, la seva comercialització no va ser cap èxit, ja que únicament se'n van vendre 40 equips a un cost de 750 dòlars.

## Introducció

L'equip Kenbak-1 representa el primer ordinador disponible comercialment basat en l'arquitectura Von Neumann i destinat per a ús personal. John V. Blankenbaker va dissenyar el Kenbak-1 i el va comercialitzar a través de la revista Scientific American al setembre de 1971. La majoria de les unitats (al voltant de 40) es van vendre per 750 dòlars. El nom de l'ordinador té el seu origen en la meitat del cognom de John Blankenbaker.
El computador kenbak-1 va ser dissenyat el 1970 i és anterior als microprocessadors, ja que va ser construït gairebé íntegrament a partir de components TTL. El primer microprocessador del món (Intel 4004) es va introduir el 1971.
A diferència de moltes màquines i motors de càlcul anterior, el Kenbak-1 és un veritable ordinador de programa emmagatzemat, ja que ofereix 256 bytes de memòria, una àmplia varietat d'operacions i una velocitat equivalent a 1 MHz Es compon d'una placa de circuit imprès formada per circuits integrats de petita i mitjana escala, dos registres de tipus MOS que implementen la memòria i interruptors i llums utilitzats per a entrada i sortida.
L'equip es va destinar per a ús educatiu, però la seva comercialització va esdevenir una lluita per convèncer usuaris no professionals en el camp de la computació que podien adquirir un ordinador real a cost reduït per a ús personal, cosa que en aquesta època no era gaire comú. Per això, únicament 40 d'aquestes màquines van ser construïdes i venudes abans que es deixessin de comercialitzar, i la raó per la qual no van tenir l'èxit esperat va ser, segons comenta el mateix John Blankenbaker, perquè el món simplement no estava llest per a la computació personal i el Kenbak-1 no tenia algunes capacitats crítiques (com ara la capacitat d'expansió i la E/S) que es necessitaven per fomentar la revolució.
El prototip de l'equip va començar a estar operatiu en la primavera de 1971 i es va realitzar una demostració en una convenció per a professors d'un institut. Aquesta màquina encara funciona i l'octubre de 2005 es va posar a prova a la Universitat de l'Estat de Montana. Les màquines fabricades diferien lleugerament del prototip però tenien el mateix conjunt d'instruccions i el mateix rendiment.
    * Per veure una imatge del prototip de l'ordinador Kenbak-1 (1971) accedeix a la URL: http://www.kenbak-1.net/index_files/image001.jpg (Lloc Oficial del Kenbak-1)

## Història

John Blankenbaker va començar el disseny d'un dispositiu de computació en l'hivern de 1949, quan encara era estudiant de física a Oregon State Collage (ara Universitat de l'Estat d'Oregon). La seva motivació principal va ser la necessitat de realitzar càlculs amb logaritmes de forma ràpida (ja que era una cosa molt tediós) per al laboratori de física setmanal. Es va inspirar en un article de mecànica que parlava sobre els dispositius de computació. Segons el mateix John Blankenbaker, l'article no deia molt, però comentava que la màquina usava centenars de tubs de buit però únicament feia servir dos dígits, 0 i 1. John Blankenbaker es va centrar en com escriure nombres amb només dos dígits: 0 i 1 i va començar a investigar com realitzar càlculs amb aquests nombres, però, després d'un temps investigant en aquests aspectes, va començar a preguntar-se com podria aconseguir això amb dispositius mecànics com relés. El disseny que va desenvolupar va ser un desastre i massa car, però va estimular el seu desig d'aprendre més sobre ordinadors.
L'estiu de 1951, John Blankenbaker va tenir l'oportunitat de treballar en Seac (National Bureau of Standards Eastern Automatic Computer) i, després de graduar el 1952, va treballar en Hughes Aircraft Company i va ser assignat a un departament de treball dedicat als equips digitals. Per a aquesta companyia va dissenyar la unitat aritmètica d'un processador de dades professionals i, en aquesta etapa de la seva vida es va adonar que en un ordinador només era necessari un flip-flop (biestable capaç d'emmagatzemar un 1 o un 0) amb la memòria suficient. La descripció d'aquesta idea va ser publicada el 1958 en l'article "Logically microprogrammed computers" del Grup IRE professional en equips electrònics, vol. CE-7, N º 2, pàg 103-109. En aquest moment, John Blankenbaker començar a pensar en la possibilitat que existissin equips simples que poguessin servir per a ús personal. El secret per dissenyar un ordinador simple era emmagatzemar la descripció d'un altre ordinador en la memòria i després avaluar el que l'equip de destinació era capaç de fer amb un programa. El principal objectiu de John Blankenbaker era aconseguir un ordinador per a ús personal el cost fos reduït.
La tardor de 1970, John Blankenbaker estava aturat i va decidir aprofundir en la investigació de com aconseguir un ordinador per a ús personal. Els principals criteris seguits van ser: baix cost, que tingués un objectiu educacional, i que fos capaç de satisfer les necessitats dels usuaris a través de senzills programes. La seva idea era un ordinador basat en circuits en sèrie i més lent, que reduís el cost econòmic. Causa de la seva petita grandària, el llenguatge de programació ha utilitzar per a la seva construcció seria el llenguatge màquina. També, per sobre de tot, havia de ser una màquina de programa emmagatzemat basada en l'arquitectura Von Neumann. John Blankenbaker en cap moment va considerar dissenyar un ordinador d'acord amb els principis dels computadors de lògica microprogramables. En lloc d'això, va decidir aplicar els seus coneixements al disseny d'un ordinador simple. Per mantenir un baix cost, va utilitzar interruptors i llums com a entrada i sortida de la màquina.
En el disseny es va fer molt èmfasi en l'ús de tantes parts estandarditzades com fos possible. L'objectiu inicial va ser aconseguir un cost de components de 150 dòlars per ordinador però la xifra real va ser de prop de 250 dòlars (xifra que amb un gran volum de producció podria haver-se reduït als 150 dòlars inicials). A la primavera de 1971, la placa de circuit imprès s'havia construït i el computador va ser ensamblat. La memòria era de dos registres de tipus MOS, cadascun de 1.024 bits, la lògica va ser implementada mitjançant circuits integrats de petita i mitjana escala i el microprocessador no havia estat anunciat encara ni tampoc el primer d'ells hauria suposat una millora en el disseny.
Els professionals estaven entusiasmats amb les seves característiques i tots ells coincidien que era un ordinador per a ús educacional. Potser per això, es va posar èmfasi en la comercialització d'aquest en escoles i la majoria de les unitats venudes per la Kenbak Corporation anaven destinades a aquest fi. Segons John Blankenbaker, possiblement hagués estat millor posar l'accent en aspectes més divertits i comercialitzar amb més èmfasi per a ús personal. A banda de tot això, en aquesta època, hi havia un problema amb la venda a les institucions educatives: el seu llarg cicle pressupostari.
Més tard, els drets de la Kenbak Corporation van ser venuts a la CTI Educational Corporation que van continuar la tasca. Per això, alguns dels computadors, l'equivalent funcional a les unitats originals, porten el nom d'aquesta Corporació (el nom del Kenbak-1 va passar a ser CTI 5050).
    * Per veure una imatge de l'inventor del Kenbak-1 (John Blankenbaker) accedeix a la URL: http://history-computer.com/ModernComputer/Personal/images/Blankenbaker.jpg (Història dels ordinadors)

## Visió general de la funcionalitat

El computador Kenbak-1 operava de la mateixa manera que altres màquines basades en llenguatge màquina de l'època. Aquest ordinador té 8 commutadors en el panell frontal amb els quals es pot introduir el valor d'1 byte, i aquest byte pot ser emmagatzemat en qualsevol posició de memòria de les 256 existents mitjançant els botons de "Store Address" o "Store Data". Les dades en memòria poden ser verificats i mostrats mitjançant un banc de 8 llums amb els botons "Read Address" o "Read Data". Una vegada que un programa en codi màquina s'introdueix en el vostre ordinador pot ser executat mitjançant el botó "Start" o detingut mitjançant el botó "Stop", o fins i tot pot executar diverses instruccions al mateix temps. Un programa en execució es pot comunicar amb l'operador de mostrar qualsevol valor d'un byte a través de les llums, o pot rebre dades d'entrada aturant-se a l'espera de dades des de l'operador d'entrada, i l'operador pot reprendre l'execució després d'ajustar els botons necessaris.

## Com va ser dissenyat

El Kenbak-1 és una equip d'execució en "sèrie". En lloc de sumar o restar un byte a la vegada de forma paral·lela, les operacions aritmètiques i lògiques es realitzen sobre bytes d'1 bit d'informació al mateix temps, a través d'un sumador en sèrie. La majoria de les calculadores del moment utilitzaven aquest tipus d'aritmètica també, amb la finalitat de "salvar" els transistors, però a costa de la velocitat. Els 256 bytes de memòria del Kenbak-1 es van organitzar en dos registres de canvi en "sèrie" de 1024 bits cada un d'ells pels quals circulava la informació (les dades) de manera contínua.

## Principals Components

A la part interior de l'ordinador Kenbak-1 hi ha les diferents parts d'aquest. A la part inferior està situada la placa base amb 132 circuits integrats. Les dues fonts d'alimentació, una per a 5 volts i una altra per -12 volts, cobreixen la part posterior i envolten la placa. L'energia dissipada per la unitat requereix un petit ventilador que es troba a la part posterior esquerra. El corrent d'aire produïda per aquest ventilador es dirigeix als dos registres MOS utilitzats per a la memòria. L'aire, després de passar per les fonts d'alimentació surt per darrere d'aquestes.
Al tauler frontal es troben les llums i els interruptors que estan connectats per cables a la placa lògica. En lloc de LEDs es van utilitzar llums incandescents (bombetes T-1) que eren més brillants. Es va realitzar una modificació total de la unitat i es va fer d'acer. Això va proporcionar una protecció excel·lent excepte per als interruptors que es troben a la part davantera. El rellotge treballa a 1 MHz i el genera un multivibrador.
Es van realitzar diverses modificacions de caràcter tècnic i cosmètic des de la presentació del prototip fins que es van fabricar les unitats a comercialitzar. Al principi, hi havia un botó vermell que servia per emmagatzemar les dades en memòria, però es va eliminar, i, en el seu lloc, es va col·locar un interruptor de palanca per bloquejar la memòria davant els canvis que es realitzessin des del panell frontal. Altres parts es van redissenyar i recol·locar per adquirir una millor visibilitat. A més, es va instal·lar una ranura en el panell frontal per poder inserir en un futur una targeta perforada, però això no va poder dur a terme mai a causa del poc èxit de comercialització.
A la cantonada posterior esquerra de l'ordinador, on es troba el ventilador, s'ubiquen els dos registres MOS que s'utilitzen per a la memòria. Aquests registres eren molt fiables i una mostra d'això era que amb 70 volts de corrent altern l'equip era capaç de continuar funcionant.
    * Per veure una imatge de la vista interior de l'ordinador Kenbak-1 accedeix a la URL: http://www.kenbak-1.net/index_files/image011.jpg (Lloc Oficial del Kenbak-1)

### La Placa Base

    La placa base es compon de circuits integrats. Aquest component principal, era una placa de doble cara dissenyada mitjançant estàndards i normes molt conservadores. A la part superior de la placa s'hi munten els components. Les grans àrees de color platejat són les fonts d'alimentació i la presa de terra. Les entrades i sortides lògiques dels circuits integrats i altres components estan connectats per cinquanta mil camins. Com a nota addicional del disseny realitzat, no es van utilitzar camins entre els pins dels circuits integrats. Al costat oposat de la placa, els recorreguts del senyal s'ubiquen en direcció oposada a la que circulen de manera horitzontal.
    La zona de dalt a la dreta manté l'"estat" lògic. Hi ha 32 estats (tot i que no tots es fan servir) ia cada estat se li va assignar una tasca específica com, per exemple, la localització de la següent instrucció. La lògica determina el següent estat. Aquesta lògica de processament es troba al centre ia l'esquerra es troba la memòria i circuits de rellotge. Les entrades i sortides se situen al voltant de la part inferior.
    * Per veure una imatge de la placa base d'una Kenbak-1 accedeix a la URL: http://www.kenbak-1.net/index_files/image015.jpg (Lloc Oficial del Kenbak-1)

## Instruccions en Memòria

Els següents registres d'un byte cada un d'ells van ser assignats a les adreces de memòria:
* Registre A --> adreça de memòria 000
* Registre B --> adreça de memòria 001
* Registre X --> adreça de memòria 002
* Registre P --> adreça de memòria 003 (comptador de programa)
* Registre de Sortida --> adreça de memòria 200
* Registre d'Entrada --> adreça de memòria 377
També, les posicions de memòria 201, 202 i 203 van ser assignades a mantenir els bits de desbordament i transport dels registres A, B i X respectivament.
El format general de les instruccions era de doble byte on el primer byte era l'ordre i el segon byte podia ser una constant, adreça de memòria o un punter a una adreça de memòria. Les instruccions podien començar en una direcció parell o senar.
Les maneres d'adreçament de memòria eren:
* Immediat (constant)
* Directe a memòria
* Indirecte
* Indexat
* Indirecte indexat
Per a les operacions indexades, es feia servir el contingut del registre X. Per a les operacions de sumar, restar, carregar i emmagatzemar s'utilitzaven els registres A, B i X. El registre A també podia emmagatzemar els resultats de les operacions lògiques or, and i not.
Les instruccions de salt es testen mitjançant els registres A, B i X per als següents salts: diferent de zero, zero, menor que zero, major o igual a zero i més gran que zero. Un salt també podia ser incondicional. Eren possibles dues maneres d'adreçament: Directe (a memòria) i indirecte. Aquestes instruccions de salt també podien ser especificades mitjançant adreces de retorn que permetessin el retorn a les subrutines.
Hi havia una classe d'instruccions de control de bit que permetien establir en memòria un 0 o un 1. Altres instruccions d'aquesta classe permetien que, mitjançant un bit en memòria es comprova si es complia la condició per fer el salt a la següent instrucció.
Els registres A i B permetien realitzar rotacions o desplaçaments cap a l'esquerra o dreta. Finalment, hi havia instruccions de tipus No-Op i interrupcions. Aquest tipus d'ús feia servir bytes individuals. Com que els registres es podien adreçar, era possible fer moltes més operacions especialitzades de manera més simple. El full de codificació que resumeix tot aquesta informació i ajuda per escriure programes es mostra a la pàgina http://www.kenbak-1.net/index_files/page0009.htm.

## El Prototip

El prototip i les unitats de producció van ser molt similars, però els components de les unitats produïdes es van ordenar millor que en el prototip.
Un punt important que es va tenir en compte en el disseny de cada unitat era evitar peces especials. Per exemple, els transformadors de la font d'alimentació eren transformadors de filament de tubs de buit. Es van adquirir diverses normes estàndard i només van ser necessàries unes poques parts específiques com el panell frontal i el panell posterior.
La placa base, i la font d'alimentació a la placa de circuit imprès també van haver de ser dissenyades de forma específica. Es cableja des de la font d'alimentació i des del panell frontal per poder establir aquestes parts.
En el prototip van sorgir alguns errors que no s'havien abordat i provat abans de la seva construcció. A més, es van necessitar una sèrie de cables pontejats per corregir errors lògics menors.
    * Per veure una imatge de la vista interior d'un prototip del Kenbak-1 accedeix a la URL: http://www.kenbak-1.net/index_files/image017.jpg (Lloc Oficial del Kenbak-1)

## Les Unitats de Producció

Les unitats que es van fabricar tenen una placa coberta a l'interior del panell frontal que tanca una ranura estreta a la part superior de la dreta. Aquesta ranura és una inversió per a una possible ampliació futura basada en un lector de targetes perforades, que no es va arribar a desenvolupar mai. Aquesta unitat es trobava ja des de la primera producció però, com ja s'ha dit, mai es va acabar. En l'actualitat, John Blankenbaker, pretén acabar la màquina, encara que està trobant limitacions degudes a l'escassetat de peces.
Els interruptors i llums permeten dues representacions numèriques. L'agrupació de quatre colors en els interruptors indica el sistema numèric hexadecimal, mentre que la separació física de tres suggereix el sistema de numeració octal. Aquest últim sistema va ser utilitzat pels estudiants, ja que, tres bits eren més fàcils d'introduir que quatre. Els estudiants es van interessar per les fulles de codificació per escriure en llenguatge assemblador però compilaven les instruccions de la màquina de forma manual.
Les dades, les instruccions i les adreces s'introduïen durant la primera neteja del registre d'entrada (adreça de memòria 377) amb la tecla "Clear" i després s'establien els bits individuals. Per configurar una adreça de memòria al valor correcte en el registre d'entrada, es feia servir la tecla "Set Address". Per emmagatzemar la informació que estava en el registre d'entrada dins de la memòria en la direcció establerta prèviament, es feia servir la tecla "Store". Per llegir el contingut de la memòria inclosos els registres A, B, X i P, s'establia primer la direcció i després es feia servir la tecla "Read Memory". Totes aquestes operacions es realitzaven mentre l'ordinador no estava en funcionament. La lectura o l'emmagatzematge en memòria avançava de forma automàtica de registre de direcció en registre de direcció, és a dir, d'un en un. Per iniciar operacions automàtiques, es feia servir la tecla "Run". L'equip s'aturava amb la tecla "Stop". Prement les tecles "Stop" i "Executar" l'equip executava una instrucció. Mentre que l'equip estava en funcionament, es podien realitzar operacions d'entrada en el registre "Input", a més, les vuit llums de dades mostraven el contingut de la memòria en la posició 200 (registre de sortida).
    * Per veure una imatge de la vista exterior d'una unitat de producció accedeix a la URL: http://www.kenbak-1.net/index_files/image019.jpg (Lloc Oficial del Kenbak-1)

## Selecció del Kenbak-1 com el primer PC

El Museu de la Computació de Boston durant l'any 1986 es va proposar registrar la història de la computació a través d'un concurs. Així, va publicitar aquest esdeveniment per Estats Units durant un temps, sol·licitant al públic que contribuís amb aquesta iniciativa. Finalment, va recollir un total de 316 mostres i de totes elles va assignar el títol de "Primer Computador Personal" al Kenbak-1. La seva elecció va sorprendre a molts pel fet que es tractava d'un model s'abandoni que fins i tot va precedir l'ordinador Altair (el Kenbak-1 es va crear 4 anys abans que aquesta última).

## Kenbak-1 Sèries 2

Es tracta d'una versió posterior a la inicial que està construïda amb peces de major qualitat. En aquesta nova versió cada component és nou i s'inclou actualment en un kit on s'incorporen tots els components excepte el cable d'alimentació. Aquest kit és funcional i és idèntic al computador Kenbak-1 original. Tot i això el kit inclou una llista de les diferències existents.
    * Per veure una imatge del Kenbak-1 Sèries 2 accedeix a la URL: http://www.kenbakkit.com/images/070612-Kenbak_main_DSC_0110.jpg (Kenbak-1 Sèries 2)

## Inconvenients

Entre els principals inconvenients que presenta aquesta màquina es troba el seu criticat sistema d'entrada i sortida (criticat per tots aquells que aspiraven a posseir el títol que va ser atorgat al Kenbak-1) i la inexistència de possibilitats d'expansió per a la memòria. El primer inconvenient esmentat, és perquè la màquina no presenta una interfície d'entrada i sortida de dispositius tal com i, a causa del segon inconvenient molts sostenen que en realitat no és un ordinador útil. Per contra, la memòria de 256 bytes permet realitzar alguns programes força complexos, sempre que l'entrada i sortida del panell frontal sigui possible.

## Referències

* ↑ «The George R. Stibitz Computer Pioneer Award». Arxivat de l'original el 13 setembre 2008. [Consulta: 5 agost 2008]. Arxivat de setembre 13, 2008, a Wayback Machine.
* ↑ «Kenbak-1 The Training Computer». Computerworld, 17-11-1971, p. 43 [Consulta: 25 maig 2014].
* ↑ «Timeline of Computer History». Computer History Museum. [Consulta: 22 juliol 2008].
* ↑ BBC News, November 6, 2015
* ↑ «Kenbak-1». [Consulta: 19 novembre 2015].
* 1 2 p. 52, "The First Personal Computer", Popular Mechanics, January 2000.
* 1 2 Robert R Nielsen, Snr. «Inside the Kenbak-1», 2005. [Consulta: 8 novembre 2015].
* 1 2 «Technical».
* 1 2 Bill Wilson. «The man who made 'the world's first personal computer'». BBC News, 06-11-2015.
* ↑ Erik Klein. «Kenbak Computer Company Kenbak-1». Old-computers.com. Arxivat de l'original el 20 de novembre 2010. [Consulta: 25 maig 2014].

## Bibliografia

Hi havia molts documents per ajudar a un usuari amb l'aprenentatge d'un programa de Kenbak-1 i per a reparar i comprendre el seu circuit. Aquí se'n mostren alguns:
* Brochures and Sales Docs : http://www.compusaur.com/kenrepofiles/Brochure.pdf%5BEnllaç+no+actiu%5D
* Laboratory Exercises : http://www.compusaur.com/kenrepofiles/LabExer.pdf%5BEnllaç+no+actiu%5D
* Programming Reference Guide : http://www.compusaur.com/kenrepofiles/ProgRef.pdf%5BEnllaç+no+actiu%5D
* Theory of Operation : http://www.compusaur.com/kenrepofiles/TheoryOfOperation.pdf%5BEnllaç+no+actiu%5D
* John V. Blankenbaker Biography : http://www.compusaur.com/kenrepofiles/blankenbakerbio86.pdf%5BEnllaç+no+actiu%5D
* Second John V. Blankenbaker Biography : http://www.compusaur.com/kenrepofiles/blankenbakerbio2.pdf%5BEnllaç+no+actiu%5D
* Robert R. Nielsen Sr Biography Excerpts : http://www.compusaur.com/kenrepofiles/bioNIELSEN2.pdf%5BEnllaç+no+actiu%5D
* http://www.computerhistory.org/timeline/?year=1971 - Història dels ordinadors
* http://www.old-computers.com/museum/computer.asp?st=1&c=1259 Arxivat 2010-11-20 a Wayback Machine. - Museu d'antics ordinadors

## Vegeu també

* Micral

## Enllaços externs

* http://history-computer.com/ModernComputer/Personal/Kenbak-1.html Arxivat 2019-06-29 a Wayback Machine. - Article sobre el Kenbak-1
* http://www.kenbakkit.com/index.html - Kenbak-1 Sèries 2
* http://www.neocomputer.org/kenbak/kenbak1-JS.html - Simulador del Kenbak-1 per comprendre el funcionament de la mateixa
* http://www.youtube.com/watch?v=lxsdL_OWumw - Kenbak-1 vídeo