up =   [2300,3500,4500,29000,134000,275000,1180000,3100000,4300000,7500000,8800000,9500000,21300000,22000000,42000000,47000000,54300000,105900000,220000000,241000000,291000000,463000000,758000000,592000000,731000000,789000000,904000000,1170000000,1700000000,1900000000,2000000000,2300000000];
up_y = [1971,1972,1974,1979,1982,   1985,  1989,   1993,   1996,   1997,   1997,   1999,   1999,    1999,    2000,    2008,    2003,    2003,     2003,     2006,     2006,     2007,     2008,     2004,     2008,     2007,     2009,     2010,      2006,      2008,      2010,      2010];

gpu = 1000000*[681, 956,1040,1400,2154,3000];
gpu_y =      [2006,2008,2009,2008,2009,2010];

moore   = zeros(20,1);
moore_y = zeros(20,1);
moore(1)   = 2300;
moore_y(1) = 1971;

for i = 2:20
    moore(i)   = 2*moore(i-1);
    moore_y(i) = moore_y(i-1) + 2;
end

semilogy(up_y,up,'x')
hold on
semilogy(gpu_y,gpu,'g+')
semilogy(moore_y, moore,'k');

title('Moores lov')
xlabel('舝');
ylabel('Transistorer')