OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [trunk/] [doc/] [history] - Diff between revs 6 and 26

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 6 Rev 26
Line 1035... Line 1035...
transfer mechanism accesses physical memory and not virtual memory
transfer mechanism accesses physical memory and not virtual memory
(this is typically the case with DMA). So the kernel will no longer
(this is typically the case with DMA). So the kernel will no longer
rely on the disk driver (and possibly the disk hardware) to transfer
rely on the disk driver (and possibly the disk hardware) to transfer
multiple blocks in a single call, but split them up into single block
multiple blocks in a single call, but split them up into single block
transfers. Done - the "expansion swap" is now running.
transfers. Done - the "expansion swap" is now running.
 
 
 
----------------------------------------------------------------
 
 
 
In the meantime...
 
 
 
  - experiments with porting ECO32 to another FPGA board
 
  - splitting the project (separating the OS part)
 
  - experiments with a pipelined version of ECO32
 
 
 
----------------------------------------------------------------
 
 
 
03-Feb-2014
 
Project "ECO32" created on OpenCores, based on version eco32-0.22:
 
http://opencores.org/project,eco32
 
 
 
18-Feb-2014
 
Several changes in the simulator:
 
a) There are two independent identical timer/counters
 
available, of course with different interrupts and I/O
 
addresses (see below).
 
b) The timer/counters are readable, so that they can
 
be used for short-time measurements. They count clock
 
cycles (no pre-scaling any longer). This change will
 
affect all programs which use the timer/counters.
 
c) The simulation timing model is completely based on
 
clock cycles (and does no longer try to function in
 
some sort of "real-time"). As there is no real clock
 
within the simulator, but the natural time unit is
 
one instruction, the simulation time is incremented
 
by the CPI value (clock cycles per instruction) every
 
instruction. I measured the CPI value in the real ECO32
 
implementation: it's a horrible 18 cycles per instruction,
 
yielding an instruction rate of about 2.8 MIPS. There is
 
so much room for improvements...
 
d) I changed the resolution of the simulation timers to
 
microseconds. All timing constants had to be adapted and
 
can now be specified more precisely. They are automatically
 
scaled to clock cycles (see above).
 
e) The addressing scheme for peripherals of the same sort
 
has changed slightly. Virtual addresses of I/O devices have
 
the form 0xFxxyyrrr, where xx is the device type, yy is the
 
device number, and rrr is the register within the device
 
(must be a word address). This change could affect existent
 
programs which use more than one terminal.
 
f) The ECO32 simulation got a new peripheral, called the
 
"shutdown device". A write to address 0xFF100000 results
 
in terminating the simulation run, with the lower 8 bits
 
of the data written supplied as exit status.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.