diff --git a/Cicm.Database/Operations/Processor.cs b/Cicm.Database/Operations/Processor.cs
index f3858c3c..1c160d00 100644
--- a/Cicm.Database/Operations/Processor.cs
+++ b/Cicm.Database/Operations/Processor.cs
@@ -390,7 +390,7 @@ namespace Cicm.Database
Process = dataRow["process"] == DBNull.Value ? null : (string)dataRow["process"],
ProcessNm = dataRow["process_nm"] == DBNull.Value ? 0 : (float)dataRow["process_nm"],
DieSize = dataRow["die_size"] == DBNull.Value ? 0 : (float)dataRow["die_size"],
- Transistors = dataRow["transistors"] == DBNull.Value ? 0 : (ulong)dataRow["transistors"],
+ Transistors = dataRow["transistors"] == DBNull.Value ? 0 : (long)dataRow["transistors"],
AddressBus = dataRow["addr_bus"] == DBNull.Value ? 0 : (int)dataRow["addr_bus"],
DataBus = dataRow["data_bus"] == DBNull.Value ? 0 : (int)dataRow["data_bus"],
Simd = dataRow["SIMD_registers"] == DBNull.Value ? 0 : (int)dataRow["SIMD_registers"],
diff --git a/Cicm.Database/Schemas/Processor.cs b/Cicm.Database/Schemas/Processor.cs
index dfbe8ce0..4dc66987 100644
--- a/Cicm.Database/Schemas/Processor.cs
+++ b/Cicm.Database/Schemas/Processor.cs
@@ -91,6 +91,6 @@ namespace Cicm.Database.Schemas
/// How many simultaneos threads can run on each processor core
public int ThreadsPerCore;
/// How many transistors in package
- public ulong Transistors;
+ public long Transistors;
}
}
\ No newline at end of file
diff --git a/cicm_web/Models/Processor.cs b/cicm_web/Models/Processor.cs
index ad64dc88..37cdbe18 100644
--- a/cicm_web/Models/Processor.cs
+++ b/cicm_web/Models/Processor.cs
@@ -28,19 +28,77 @@
// Copyright © 2003-2018 Natalia Portillo
*******************************************************************************/
+using System;
using System.Collections.Generic;
+using Cicm.Database.Schemas;
namespace cicm_web.Models
{
public class Processor
{
- public int Id;
- public string Name;
+ public int AddressBus;
+ public Company Company;
+ public int Cores;
+ public int DataBus;
+ public float DieSize;
+ public int Fpr;
+ public int FprSize;
+ public int Gpr;
+ public int GprSize;
+ public int Id;
+ public InstructionSet InstructionSet;
+ public InstructionSetExtension[] InstructionSetExtensions;
+ public DateTime Introduced;
+ public float L1Data;
+ public float L1Instruction;
+ public float L2;
+ public float L3;
+ public string ModelCode;
+ public string Name;
+ public string Package;
+ public string Process;
+ public float ProcessNm;
+ public int Simd;
+ public int SimdSize;
+ public double Speed;
+ public int ThreadsPerCore;
+ public long Transistors;
public static Processor GetItem(int id)
{
Cicm.Database.Schemas.Processor dbItem = Program.Database?.Operations.GetProcessor(id);
- return dbItem == null ? null : new Processor {Name = dbItem.Name, Id = dbItem.Id};
+ return dbItem == null
+ ? null
+ : new Processor
+ {
+ AddressBus = dbItem.AddressBus,
+ Name = dbItem.Name,
+ Company = Company.GetItem(dbItem.Company.Id),
+ Cores = dbItem.Cores,
+ DataBus = dbItem.DataBus,
+ DieSize = dbItem.DieSize,
+ Fpr = dbItem.Fpr,
+ FprSize = dbItem.FprSize,
+ Gpr = dbItem.Gpr,
+ GprSize = dbItem.GprSize,
+ InstructionSet = dbItem.InstructionSet,
+ InstructionSetExtensions = dbItem.InstructionSetExtensions,
+ Introduced = dbItem.Introduced,
+ L1Data = dbItem.L1Data,
+ L1Instruction = dbItem.L1Instruction,
+ L2 = dbItem.L2,
+ L3 = dbItem.L3,
+ ModelCode = dbItem.ModelCode,
+ Package = dbItem.Package,
+ Process = dbItem.Process,
+ ProcessNm = dbItem.ProcessNm,
+ Simd = dbItem.Simd,
+ SimdSize = dbItem.SimdSize,
+ Speed = dbItem.Speed,
+ ThreadsPerCore = dbItem.ThreadsPerCore,
+ Transistors = dbItem.Transistors,
+ Id = dbItem.Id
+ };
}
public static Processor[] GetAllItems()
@@ -52,7 +110,36 @@ namespace cicm_web.Models
List items = new List();
foreach(Cicm.Database.Schemas.Processor dbItem in dbItems)
- items.Add(new Processor {Id = dbItem.Id, Name = dbItem.Name});
+ items.Add(new Processor
+ {
+ AddressBus = dbItem.AddressBus,
+ Name = dbItem.Name,
+ Company = Company.GetItem(dbItem.Company.Id),
+ Cores = dbItem.Cores,
+ DataBus = dbItem.DataBus,
+ DieSize = dbItem.DieSize,
+ Fpr = dbItem.Fpr,
+ FprSize = dbItem.FprSize,
+ Gpr = dbItem.Gpr,
+ GprSize = dbItem.GprSize,
+ InstructionSet = dbItem.InstructionSet,
+ InstructionSetExtensions = dbItem.InstructionSetExtensions,
+ Introduced = dbItem.Introduced,
+ L1Data = dbItem.L1Data,
+ L1Instruction = dbItem.L1Instruction,
+ L2 = dbItem.L2,
+ L3 = dbItem.L3,
+ ModelCode = dbItem.ModelCode,
+ Package = dbItem.Package,
+ Process = dbItem.Process,
+ ProcessNm = dbItem.ProcessNm,
+ Simd = dbItem.Simd,
+ SimdSize = dbItem.SimdSize,
+ Speed = dbItem.Speed,
+ ThreadsPerCore = dbItem.ThreadsPerCore,
+ Transistors = dbItem.Transistors,
+ Id = dbItem.Id
+ });
return items.ToArray();
}