OpenCores
News
Nov 15, 2022Added the project logo to the project page.Sameer, Mohammed
Sep 19, 2022Made changes to enable separate VU sets for user mode and kernel mode.Sameer, Mohammed
Sep 19, 2022Expanded the working of the 'copyimm' instruction.Sameer, Mohammed
Sep 14, 2022Renamed instruction 'jmptblexec' as 'jmptbl'.Sameer, Mohammed
Sep 14, 2022Removed breakpoint registers from IDU and added there two more scratchpad registers. Renamed instruction 'goto' as 'jmp'.Sameer, Mohammed
Sep 13, 2022To Molecule system added device type "String search". This device can comprise of many, small, byte comparators running in parallel which will speed up string searches much faster than any processor bound searches. (edited)Sameer, Mohammed
Sep 12, 2022Removed instruction 'bytecmp' because I think byte comparison can be done by a combination of bit-shift instructions and bitwise-logic instructions.Sameer, Mohammed
Sep 12, 2022Changing the system quite a bit. Brought back the "load / store" system which has effected multiple instructions. Work not finished on this.Sameer, Mohammed
Sep 7, 2022In instruction 'setinstcfg' changed names of the first two fields and hence their effect.Sameer, Mohammed
Sep 7, 2022Added an address field to the header in the Molecule system.Sameer, Mohammed
Sep 7, 2022Set process-private data area to maximum 4 MB. Renamed "Scratchpad Page" as "Call Communications Page". In the Molecule system explained what the four serial lanes are about. (edited)Sameer, Mohammed
Sep 5, 2022To Molecule system added Packet Type "4096ByteMessage" and added new packet field "Packet Priority".Sameer, Mohammed
Sep 4, 2022Gave the Molecule I/O subsystem its own large section.Sameer, Mohammed
Sep 4, 2022Changed the breakpointing system and added the relevant text to the 'loadprocess' instruction.Sameer, Mohammed
Sep 4, 2022Renamed instruction 'takelock' as 'takeklock'.Sameer, Mohammed
Sep 3, 2022Renamed register 'Process Settings' to 'Process Status'.Sameer, Mohammed
Sep 3, 2022Changed the system for the number of vector units to use which has changed the arrangement of the instruction 'setinstcfg'.Sameer, Mohammed
Sep 2, 2022Consolidated process partitioning and process capabilities.Sameer, Mohammed
Sep 2, 2022Elaborated the section for Partitioning to include memory quotas.Sameer, Mohammed
Sep 2, 2022Renamed process descriptor element 'Capabilities Bitmap' to just a simple 'Capabilities'.Sameer, Mohammed
Sep 2, 2022Renamed instruction 'countofonebits' to 'getcountofonebits'. Added instruction 'getcountofzerobits'.Sameer, Mohammed
Aug 30, 2022In Molecule subsystem consolidated the message types in the field "Packet Data Type", added field "Packet Direction", changed one of the device types and changed the system of the field "Count Of Message Blocks Being Transferred". (edited)Sameer, Mohammed
Aug 29, 2022Renamed instruction 'setfromfirstzerobit' to 'setfromzerobit' and changed its working.Sameer, Mohammed
Aug 26, 2022In Molecule subsystem added the "Pulse" data transfer type.Sameer, Mohammed
Aug 26, 2022In Molecule subsystem, renamed "Data Type" as "Packet Data Type".Sameer, Mohammed
Aug 25, 2022Renamed "IEUs" to "Vector Units".Sameer, Mohammed
Aug 24, 2022Added capability 'CAP_PROCESS_TIMEOUTS'. (edited)Sameer, Mohammed
Aug 23, 2022Added "Client State" values for the kernel call 'channelWaitIO'.Sameer, Mohammed
Aug 23, 2022Added details of kernel call 'timerConfigure'.Sameer, Mohammed
Aug 22, 2022Removed instruction 'copyimm' from the list of vectorized instructions because the IEUs do not actually themselves copy to memory.Sameer, Mohammed
Aug 22, 2022Added field "do not update loop counter" to instruction 'setinstcfg'.Sameer, Mohammed
Aug 20, 2022Changed in "Data Type" field of Molecule subsystem.Sameer, Mohammed
Aug 19, 2022Made instruction 'setinstcfg' to be 128 bits long ( 16 bytes ) instead of the previous 136 bits.Sameer, Mohammed
Aug 19, 2022Renamed "Guarded Code" to "Serialized Code".Sameer, Mohammed
Aug 14, 2022Elaborated the Molecule subsystem.Sameer, Mohammed
Aug 14, 2022Added "Data / Program RAM interconnect" as one of the device types of Molecule thus making memory and I/O accessed through a common interface. (edited)Sameer, Mohammed
Aug 14, 2022Added "Assistant Kosmos SoC" to the device types in the Molecule subsystem.Sameer, Mohammed
Aug 13, 2022In description of Molecule subsystem, bifurcated the header description from the values it will carry.Sameer, Mohammed
Aug 3, 2022Renamed the incomplete "GPIO" device connection system as "Molecule" and elaborated it.Sameer, Mohammed
Aug 2, 2022Increased the count of GPIO pairs so that multiplexing is mostly avoided.Sameer, Mohammed
Aug 1, 2022Added elements in process descriptor for Guarded Code concept.Sameer, Mohammed
Aug 1, 2022Replaced one of the three cameras in the SoC with one low-power short-range Lidar.Sameer, Mohammed
Jul 31, 2022Renamed "Transactional Code" to "Guarded Code" to avoid confusion with channel transactions.Sameer, Mohammed
Jul 31, 2022Renamed some "Capabilities" and the channel types are now three.Sameer, Mohammed
Jul 29, 2022Added Capability 'CAP_PROCESS_USE_GOTO'.Sameer, Mohammed
Jul 28, 2022Removed support for Mutexes and added a section for Transactional Code that is to be elaborated soon.Sameer, Mohammed
Jul 28, 2022In IDU added register 'Main Process' Descriptor Address'. (edited)Sameer, Mohammed
Jul 27, 2022Replaced instruction 'memcmp' with the more general 'bytecmp'.Sameer, Mohammed
Jul 27, 2022Changed maximum number of IEUs from 64 to 32. Removed addresses from IEUs.Sameer, Mohammed
Jul 26, 2022Added some text about memory stacking, triple redundancy of the SoC and clock-less-ness of instruction execution.Sameer, Mohammed
Jul 26, 2022There is now only one page directory info in the process descriptor.Sameer, Mohammed
Jul 25, 2022Breakpoint setting in register 'Process Settings' trifurcated into one bit for breakpoint triggered at every instruction, one bit for trigger at specific instruction, one bit for trigger at specific datum access ( read or write ).Sameer, Mohammed
Jul 24, 2022Removed integer versions of instructions 'add', 'sub' and 'mul'.Sameer, Mohammed
Jul 24, 2022Added instruction 'memcmp' and removed instruction 'swintr'.Sameer, Mohammed
Jul 23, 2022Removed bit 'If Super Access Process' from Process Settings register because of the existence of Capabilities system.Sameer, Mohammed
Jul 21, 2022Did cleaning up of instructions 'takelock' and 'jmptblexec'. Made max number of computation units to be 64.Sameer, Mohammed
Jul 21, 2022Greatly modified the IPC and Mutex kernel calls.Sameer, Mohammed
Jul 20, 2022Beginning to change channel I/O IPC back to the old-style client-server model because the client requests are automatically serialized.Sameer, Mohammed
Jul 20, 2022Renamed "Call communications page" to a more general "Scratchpad page". Beginning to changing instruction 'takelock'.Sameer, Mohammed
Jul 20, 2022Made instruction 'takelock' a general purpose instruction callable by kernel code and user-mode code.Sameer, Mohammed
Jul 20, 2022Added fields 'Current Page Directory Page Number' and 'Original Page Directory Page Number' to the process descriptor. Added kernel call 'channelTriggerInterrupt'Sameer, Mohammed
Jul 20, 2022Added instruction 'swintr'.Sameer, Mohammed
Jul 19, 2022Added GPIO data prefix.Sameer, Mohammed
Jul 18, 2022Removed instruction 'loopnext' and consolidated its function into instruction 'goto'.Sameer, Mohammed
Jul 18, 2022Modified instruction 'jmptblexec' so that its operands are now not after the opcode but are taken from the call communications page.Sameer, Mohammed
Jul 18, 2022In instruction 'jmptblexec' changed first operand to "address of where limit-number of calls is stored" and elsewhere corrected formatting and extended names of the "Capabilities".Sameer, Mohammed
Jul 16, 2022Changed instruction 'loadprocess' from taking the new process' descriptor address as an immediate value to the new descriptor address to be found at a fixed word address in kernel space. This because it is not possible to know beforehand the addresses of the many process' descriptor addresses at run time. (edited)Sameer, Mohammed
Jul 16, 2022Added section for listing of all kernel calls.Sameer, Mohammed
Jul 16, 2022Changed wearable's wireless capability to be enabled from 4G mobile telephony to WiFi.Sameer, Mohammed
Jul 16, 2022Added bit 'If Super Access Process' in register 'Process Settings'.Sameer, Mohammed
Jul 15, 2022Adjusted the bit positions in instruction 'setinstcfg'.Sameer, Mohammed
Jul 14, 2022In register 'Process Settings' added bit 'If Breakpoint Enabled'. Unified data read and write breakpoint addresses into a single data access breakpoint address. Removing breakpointing bits from page table entry. (edited)Sameer, Mohammed
Jul 13, 2022Added to register 'Process Settings' the bit 'If In Interrupt' to indicate a process that is currently handling a interrupt.Sameer, Mohammed
Jul 12, 2022Completed the section 'User mode services and the IPC calls'.Sameer, Mohammed
Jul 12, 2022Added Process Descriptor field 'Debug Target Register State and Process Descriptor State Dump Address'. Added register 'Debugger Process Descriptor Address'. Added Capability 'CAP_RANDOM_GENERATE'. (edited)Sameer, Mohammed
Jul 11, 2022Elaborated process debugging by putting instruction execution breakpoint bit, data read breakpoint bit and data write breakpoint bit in the page table entry so that instructions can trigger these bits at page level and then the executing instruction will check the process' main process' descriptor fields that store the exact addresses for for particular instruction breakpoint, data read breakpoint and data write breakpoint.Sameer, Mohammed
Jul 11, 2022Prefixed the 'Scratchpad x' registers with "Computation". Simplified instruction 'takelock'.Sameer, Mohammed
Jul 11, 2022Beginning to add fields to the Process Descriptor. (edited)Sameer, Mohammed
Jul 11, 2022Added bit 'If Blocked' in the register 'Process Settings'. (edited)Sameer, Mohammed
Jul 11, 2022Now there are just two 'Data State Change Address For Notification' registers instead of four.Sameer, Mohammed
Jul 11, 2022The number processing method is now either integer or Posit. IEEE-754 is no longer there.Sameer, Mohammed
Jul 11, 2022Number of computation units will now sit in 10 bits which means the valid values are 0 to 1023 because if instruction 'setinstcfg' provides a zero as the number of computation units to use it should be taken as one computation unit to use. (edited)Sameer, Mohammed
Jul 9, 2022Removed the common breakpointing bit in the 'Process Settings' register and added four 'Data State Change Address For Notification x' registers.Sameer, Mohammed
Jul 8, 2022Added section to list the OS' "Capabilities" allotable to a process.Sameer, Mohammed
Jul 8, 2022Beginning to write about service calls. (edited)Sameer, Mohammed
Jul 5, 2022Added section about SoC interfacing.Sameer, Mohammed
Jul 3, 2022Removed reference to analog data-processing because the time spent in researching that element can be rather spent in researching on how to integrate the digital data-processing element with bio-computing element.Sameer, Mohammed
Jul 1, 2022The instruction 'takelock' will now take as its first operand the address of the word where is present the data structure containing the lock. This field was earlier the direct address of the data structure but I changed it because the kernel cannot hard-code the address of each such data structure.Sameer, Mohammed
Jun 30, 2022Removed instruction 'setbrkpnt' because program debugging is now a desktop function.Sameer, Mohammed
Jun 30, 2022Changed the number of bits for the number of computation units from 8 to 11 so that the instruction 'setinstcfg' can be set with the range of 1 to 1024 computation units.Sameer, Mohammed
Jun 29, 2022Added text about the various I/O interfaces to be fitted in Kosmos SoC.Sameer, Mohammed
Jun 29, 2022Added an offset field in the instructions 'setfromfirstzerobit' and 'unsetbitsat'.Sameer, Mohammed
Jun 29, 2022Added sections for instructions that can operate on a vector.Sameer, Mohammed
Jun 29, 2022Added instruction 'unsetbitsat'.Sameer, Mohammed
Jun 29, 2022Added section for OS error codes.Sameer, Mohammed
Jun 28, 2022Added instruction 'setfromfirstzerobit'.Sameer, Mohammed
Jun 28, 2022Added mention of Kosmos to be added with bio-electronic functionality in future. Consolidated the instructions for addition, subtraction and multiplication in integer, Posit and IEE 754 form to be done by three generic instructions - add, sub, mul - whose form is selected by the instruction 'setinstcfg'Sameer, Mohammed
Jun 26, 2022Changed name of projet to Kosmos.Sameer, Mohammed
Jun 12, 2022Added instruction 'setbrkpnt'.Sameer, Mohammed
Jun 12, 2022Edited text in the Memory Management section regarding the 'Code' page directory entry bit. (edited)Sameer, Mohammed
Jun 9, 2022Changed the instructions 'add', 'sub', 'mul' system to become three integer instructions and three real number instructions.Sameer, Mohammed
Apr 18, 2022In the instruction 'takelock' shortened the "byte offset..." field to eight bits. Removed the instructions 'setfirstzerobit' and 'appendonebit'. (edited)Sameer, Mohammed
Apr 10, 2022Modified the naming of operands in the instruction 'takelock'.Sameer, Mohammed
Apr 9, 2022Added mention of the Call Communications Page in the memory management section.Sameer, Mohammed
Apr 9, 2022Renamed project as Emerald.Sameer, Mohammed
Apr 3, 2022Added word "Address" to the breakpoint registers.Sameer, Mohammed
Apr 3, 2022Added mention of analog data-processing and Posit Numbering System in context of the SoC.Sameer, Mohammed
Mar 27, 2022In the Process Settings register combined the specific instruction and data breakpoint settings into one 1-bit setting.Sameer, Mohammed
Mar 27, 2022Added mention of stacked memory.Sameer, Mohammed
Mar 27, 2022Other than 32-bit data processing, now reduced the 256-bit data processing to 128-bit because it seems applications don't need more than this width and it will reduce the size of registers and logic.Sameer, Mohammed
Mar 25, 2022Changed maximum value in register 'Max Number of Computation Units' from 255 to 16.Sameer, Mohammed
Mar 14, 2022Retaining the vector processing to only 32-bit and 256-bit data and removing 64-bit and 128-bit processing so that the system becomes simpler. (edited)Sameer, Mohammed
Mar 5, 2022Added a lock address offset operand to the 'takelock' instruction.Sameer, Mohammed
Feb 15, 2022Brought back instruction and data breakpoint registers into the instruction issue unit and made them two each instead of three each.Sameer, Mohammed
Feb 14, 2022Removed register 'Current Process' from the instructions issue unit. Added "Native process' process descriptor" to the process page directory. Through the 'loadprocess' instruction already loading the new process' page directory and the process descriptor now being linked in the page directory at a fixed address the kernel can now directly find the current process' process descriptor's elements easily. Added instruction breakpoint addresses and data breakpoint addresses to the process descriptor. (edited)Sameer, Mohammed
Feb 10, 2022Added the instruction and data breakpoint system. May be enhanced.Sameer, Mohammed
Feb 10, 2022Begun modifying instructions for vector processor usage.Sameer, Mohammed
Feb 5, 2022Replaced the idea of Spice processsor of having NoC with the idea of it being a Vector Processor because the VP is a much simpler idea not requiring the OS kernel to control the executions units and not requiring inter-execution-unit communication protocol by hardware and the kernel.Sameer, Mohammed
Feb 4, 2022Added text about inclusion of the NoC concept.Sameer, Mohammed
Feb 4, 2022Added instruction 'mul'.Sameer, Mohammed
Feb 2, 2022Added instruction 'setfirstzerobit'.Sameer, Mohammed
Jan 31, 2022Removed instructions 'kcall', 'kexit', 'saveprocess' and 'runprocess' and replaced their functionality with the instructions 'movimm' and 'movreg'.Sameer, Mohammed
Jan 31, 2022Made register 'If In Kernel Mode' to become of 32 bits.Sameer, Mohammed
Jan 30, 2022There is only one Scratchpad register now.Sameer, Mohammed
Jan 27, 2022Renamed instruction 'loop-next' as 'loopnext' in keeping with the nomenclature in Spice of having the instruction name composed of continuous individual words.Sameer, Mohammed
Jan 26, 2022Removed instruction 'load-loop-counter' as its work can be done by instructions 'movimm' or 'movreg'.Sameer, Mohammed
Jan 26, 2022Removed instruction 'loop-forever' because of presence of the general purpose instruction 'goto'.Sameer, Mohammed
Jan 26, 2022Added back the instruction 'saveprocess'.Sameer, Mohammed
Jan 22, 2022Removed registers R3 and R4 because kernel calls and service calls can anyway use the Call Communications Page. So this will hasten up context saves and loads by removing two memory words.Sameer, Mohammed
Jan 21, 2022Added instructions 'goto' and 'takelock'. Shortened the 'Scratchpad x Registers' to 'Scratchpad x'.Sameer, Mohammed
Jan 17, 2022Updated sections Memory Management and of instruction 'jmptblexec'.Sameer, Mohammed
Jan 13, 2022Brought back the instruction 'kexit' because using 'runprocess' instruction would not only be slower to get process into user mode because it would load all the registers but also I think, when used for k mode to u mode transition, would put the OS into a hang. (edited)Sameer, Mohammed
Jan 11, 2022Removed instruction 'saveprocess' because full process context is anyway saved at process round-robin interrupt time and at other interrupts time.Sameer, Mohammed
Jan 8, 2022Removed register 'Scratchpad Register 3'. (edited)Sameer, Mohammed
Jan 7, 2022Renamed register 'If Fully In Kernel Mode' as 'If In Kernel Mode'.Sameer, Mohammed
Jan 6, 2022removed instruction 'resolve-ptr' as it duplicated 'load'.Sameer, Mohammed
Jan 4, 2022Removed the R5 and R6 registers because of the bringing back of the Call Communications Page.Sameer, Mohammed
Jan 4, 2022Brought back the concept of Call Communications Page.Sameer, Mohammed
Jan 3, 2022Renamed back register 'Generated Physical Page Address' to 'Generated Physical Address'.Sameer, Mohammed
Jan 3, 2022Removed instruction 'copyword' in favor of enhancing 'load' and 'store' because 'copyword' duplicated 'load' and 'store' and having separate data memory read and write access instructions will help simplify isolation of memory access faults. (edited)Sameer, Mohammed
Dec 31, 2021Changed a bit about the LED display interfaces and camera interfaces.Sameer, Mohammed
Dec 31, 2021Removed the idea of use of real-time clock. Employment of real world time has to be done through another way.Sameer, Mohammed
Dec 31, 2021Replaced idea of using USB with a customized "Controller for system bus and interrupts".Sameer, Mohammed
Dec 26, 2021Added instruction 'jmptblexec'.Sameer, Mohammed
Dec 26, 2021Added three scratchpad registers.Sameer, Mohammed
Dec 22, 2021Brought back 4G cell phone transceiver for the SoC instead of WiFi because cell phone has become universal and I think can also be specially enabled for operation without base station - I mean ad hoc networking.Sameer, Mohammed
Dec 20, 2021Renamed serviceInvoke() as serviceCall() to reflect uniformity with the 'kcall' processor instruction.Sameer, Mohammed
Dec 19, 2021Renamed register 'If In Kernel Mode' as 'If Fully In Kernel Mode'.Sameer, Mohammed
Dec 18, 2021Renamed instruction 'kenter' to 'kcall'.Sameer, Mohammed
Dec 17, 2021Removed the 'kexit' instruction.Sameer, Mohammed
Dec 16, 2021Beginning to make the calls serviceInvoke() and serviceReturnToClient() the universal calls to avail of kernel services and user-mode services.Sameer, Mohammed
Dec 16, 2021Removed the concept of Call Communications Page. Any parameters will be provided in the R registers. Added register R6.Sameer, Mohammed
Dec 13, 2021Renamed instructions 'load-r1' and 'store-r1' as 'load' and 'store' respectively.Sameer, Mohammed
Dec 10, 2021Added registers R4 and R5. Added instructions 'movimm' and 'movreg'. (edited)Sameer, Mohammed
Dec 9, 2021The size of a Process Descriptor is now 'x bytes', the x maybe 256 bytes or maybe 512 bytes and will be decided with further project development. Having a smaller Process Descriptor saves memory especially when one PD has to be copied to each child process in a client process system.Sameer, Mohammed
Dec 9, 2021Added 'Subservice Number' to serviceInvoke().Sameer, Mohammed
Dec 9, 2021Added info about discarding processor caching.Sameer, Mohammed
Dec 5, 2021Added register 'If In Kernel Mode'. (edited)Sameer, Mohammed
Dec 5, 2021Modified the page directory status bits and the process memory map. (edited)Sameer, Mohammed
Dec 3, 2021Modified the text in the IPC Calls section.Sameer, Mohammed
Dec 3, 2021In Spice OS' process management section added text about Process Partitioning.Sameer, Mohammed
Dec 1, 2021Changed kernel page tables limit from 32 MB to 64 MB.Sameer, Mohammed
Nov 30, 2021Changed instructions 'load-r1-mem' and 'store-r1' to include offset value in operand1.Sameer, Mohammed
Nov 30, 2021Added the 'mov-r1-r3' instruction.Sameer, Mohammed
Nov 25, 2021Added the 'copyword' instruction.Sameer, Mohammed
Nov 25, 2021Renamed register 'Current Page Directory' as 'Current Page Directory Page Number.Sameer, Mohammed
Nov 24, 2021Replaced the load and store pointer instructions with 'resolve-ptr' instruction.Sameer, Mohammed
Nov 24, 2021Added instructions 'mov-r1-r2' and 'mov-r2-r1'. Removed the memory load and store instructions in context of register R2. Removed instruction 'load-r2-imm'. (edited)Sameer, Mohammed
Nov 21, 2021Removed the two byte-copy instructions and put the order of register R1 first in the load and store instructions. (edited)Sameer, Mohammed
Nov 21, 2021Renamed register 'Generated Physical Address' to 'Generated Physical Page Address'. (edited)Sameer, Mohammed
Nov 18, 2021For page directory and page table, replaced the phrase 'Base Address' with 'Page number'. (edited)Sameer, Mohammed
Nov 17, 2021Added the 'Generated Physical Address' register. (edited)Sameer, Mohammed
Nov 17, 2021Changed the memory system including client process I/O buffer mapping.Sameer, Mohammed
Nov 16, 2021In 'Process memory map' section added entry for page tables for private data for a child process.Sameer, Mohammed
Nov 15, 2021Changed process priorities to be totally 16. (edited)Sameer, Mohammed
Nov 9, 2021Renamed instructions 'syscall' and 'sysexit' to 'kenter' and 'kexit' because they are more appropriate.Sameer, Mohammed
Nov 9, 2021Renamed instruction 'addonebit' to 'appendonebit' because that is more appropriate.Sameer, Mohammed
Nov 9, 2021Changed all references to "Syscall communications page" to a general "Call communications page".Sameer, Mohammed
Nov 9, 2021Changed text about kernel memory pools.Sameer, Mohammed
Nov 9, 2021Renamed "real-time timer" in the Processor Overview section to "real time clock".Sameer, Mohammed
Nov 7, 2021Removed mention of the separate AI unit. ML / AI can be perhaps done as sequential code if the processor instruction set is efficient and general purpose enough. (edited)Sameer, Mohammed
Nov 6, 2021Changed some text in the 'switchprocesses' instruction.Sameer, Mohammed
Oct 30, 2021Removed setting in page directory for native 4 MB I/O data page.Sameer, Mohammed
Oct 30, 2021Added the 'countofonebits' and 'addonebit' instructions and removed the 'inv' instruction. (edited)Sameer, Mohammed
Oct 26, 2021Added a line in the "Register set" section.Sameer, Mohammed
Oct 26, 2021Changed the description in the switchprocesses instruction section.Sameer, Mohammed
Oct 26, 2021Added paragraph about the wearable computer. Replaced LIDAR as the user input method with camera-based method.Sameer, Mohammed
Oct 25, 2021Added line about the bus system in the SoC.Sameer, Mohammed
Oct 24, 2021Added a separate code page table to the minimum pages of a process.Sameer, Mohammed
Oct 24, 2021Added process priorities.Sameer, Mohammed
Oct 24, 2021Added "Current Page Directory" register.Sameer, Mohammed
Oct 24, 2021Added to the "switchprocesses" instruction.Sameer, Mohammed
Oct 24, 2021Changed arrangement of the service call system and its memory management.Sameer, Mohammed
Oct 24, 2021Removed parameter 'Buffer' from serviceConnect() and added it to serviceInvoke().Sameer, Mohammed
Oct 23, 2021Made multiple changes to the Memory Management section. Still some to do. (edited)Sameer, Mohammed
Oct 23, 2021Used the general term "Multimedia processing" instead of "3D graphics unit". Added "AI unit". (edited)Sameer, Mohammed
Oct 22, 2021Changed the first parameter of the switchprocesses instruction.Sameer, Mohammed
Oct 22, 2021Added Current Process register and updated its consequent info in the section for the switchprocesses instruction.Sameer, Mohammed
Oct 15, 2021Added empty section for processor instructions for critical sections.Sameer, Mohammed
Oct 14, 2021Added section for camera receive data that cannot come in as an image.Sameer, Mohammed
Oct 14, 2021Renamed project to Spice.Sameer, Mohammed
Oct 11, 2021Changed a few things in the General Processor Overview section including removing USB and adding RAM controller, LIDAR and memory card controller. (edited)Sameer, Mohammed
Oct 11, 2021Added entry for the SoC subsystem of Real-time timer.Sameer, Mohammed
Oct 11, 2021Added the switchprocesses instruction. (edited)Sameer, Mohammed
Oct 11, 2021Changed parameters of IPC calls and added the serviceInquireClientBufferSize() function.Sameer, Mohammed
Oct 11, 2021Changed order of page directory entry bits.Sameer, Mohammed
Sep 26, 2021Replaced the standalone LED diode and the LDR with a second LED display and provision for a USB-connected camera, respectively.Sameer, Mohammed
Sep 21, 2021Removed text about multicore processor. Going back to the original idea of single core.Sameer, Mohammed
Sep 15, 2021Added statements in processor overview about LED, LDR, camera and screen.Sameer, Mohammed
Sep 11, 2021Added comment about the possibility of multicore processor.Sameer, Mohammed
Sep 7, 2021Added Expected Client Buffer Size as parameter to serviceAdd() and as return value from serviceConnect(). (edited)Sameer, Mohammed
Sep 7, 2021Added section for mutex priority inheritance.Sameer, Mohammed
Sep 7, 2021Renamed project to Sapphire.Sameer, Mohammed
Sep 6, 2021Added process memory map.Sameer, Mohammed
Sep 6, 2021Totally changed IPC calls and somewhat changed memory management. Will write more about the process memory map after saving this. Added the Process Status register. (edited)Sameer, Mohammed
Sep 4, 2021Modified OS calls to include non-blocking messaging. Changed OS service limit from 8 to 5 and changed service channel limit from 8 to 10. (edited)Sameer, Mohammed
Aug 27, 2021Added details about page table and about 4 KB client I/O buffers.Sameer, Mohammed
Jul 10, 2021Added empty section for thread scheduling.Sameer, Mohammed
Jun 29, 2021Added section for interrupt handling. (edited)Sameer, Mohammed
Jun 29, 2021Added text about memory banks.Sameer, Mohammed
Jun 28, 2021Added section about page directory status bits.Sameer, Mohammed
Jun 28, 2021Remove "mic" and "speaker" because these two can be done through USB connectivity.Sameer, Mohammed
Jun 27, 2021Replaced "multi-core" with "single core CPU". (edited)Sameer, Mohammed
Jun 25, 2021Renamed project to "Ad Astra".Sameer, Mohammed
Jun 23, 2021In system call msgAddService() only the first CBAA address is now retained. (edited)Sameer, Mohammed
Jun 20, 2021Renamed the loop instructionsSameer, Mohammed
Jun 19, 2021Clarified some text in the "Synchronous IPC" section.Sameer, Mohammed
Jun 17, 2021Did some text formatting.Sameer, Mohammed
Jun 12, 2021Added load and store instructions for byte copying.Sameer, Mohammed
Jun 11, 2021Added text about kernel memory allocator.Sameer, Mohammed
Jun 11, 2021Added sections for 5 KB page directory and page table entry. Sameer, Mohammed
Jun 7, 2021Added text about no kernel buffering.Sameer, Mohammed
Jun 7, 2021Removed "less-than compare value" as it is redundant.Sameer, Mohammed
Jun 5, 2021Added text about 4 MB data page and 4 KB page table.Sameer, Mohammed
Mar 4, 2021Added memory pointer instructions.Sameer, Mohammed
Feb 20, 2021Added A.OUT section about executable file format and added data types supported by Taar OS. (edited)Sameer, Mohammed
Feb 14, 2021Added OS details. (edited)Sameer, Mohammed
Dec 23, 2020Removed lookup instr because its work was anyway being done by load-mem instrs.Sameer, Mohammed
Dec 21, 2020Removed spinlocktake and spinlockrelease. Will have to get atomic oeprations done in some way.Sameer, Mohammed
Dec 21, 2020Added simple input and output pins, and timer.Sameer, Mohammed
Dec 11, 2020Replaced VGA with LED interface.Sameer, Mohammed
Nov 27, 2020Went back to Microkernel OS. Removed extra mem address lines.Sameer, Mohammed
Nov 27, 2020Replaced callcxt and exitcxt instructions with sysenter and sysexit.Sameer, Mohammed
Nov 26, 2020Changed type of OS to HybridSameer, Mohammed
Oct 14, 2020Added text about graphics processing.Sameer, Mohammed
Sep 14, 2020Removed HDMI and Ethernet.Sameer, Mohammed
Feb 20, 2020Modified storereg-* to store-*Sameer, Mohammed
Feb 20, 2020Changed listing of Taar from under "Processor" to under "System on chip"Sameer, Mohammed
Feb 20, 2020Renamed "loadreg-*" to "load-*". Replaced load-imm and load-mem for R1 to load-imm-r1, load-imm-r2, load-mem-r1, load-mem-r2.Sameer, Mohammed
Jan 27, 2020Removed TMR section.Sameer, Mohammed
Jan 17, 2020Added GPIO. Added "four milliseconds run time" in Hardware-assisted task scheduling.Sameer, Mohammed
Jan 13, 2020Removed CAN and added EthernetSameer, Mohammed
Dec 28, 2019Cleaned up the General Processor Overview section, including removing the AD / DA channel select lines. (edited)Sameer, Mohammed
Dec 24, 2019Changed some language in project intro. Removed GPIO and instead added DA, AD and their channel select lines.Sameer, Mohammed
Dec 24, 2019Added more details about Partitioning. Removed details about the processor's three app divisions.Sameer, Mohammed
Dec 19, 2019Removed register R4 as it was not necessary.Sameer, Mohammed
Dec 18, 2019Added "Instruction Interleaving" text to Hardware-assisted task scheduling sectionSameer, Mohammed
Dec 18, 2019Added { Serial access to memory and handshake lines } to Memory Management section (edited)Sameer, Mohammed
Dec 12, 2019Added Triple Modular Redundancy ( TMR )Sameer, Mohammed
Dec 2, 2019Added to "Memory Management" sectionSameer, Mohammed
Dec 2, 2019Added application of Taar in server systemsSameer, Mohammed
Nov 20, 2019Added Contributors section and changed some bit of the Intro sectionSameer, Mohammed
Nov 13, 2019Added "clockless". (edited)Sameer, Mohammed
Oct 10, 2019Added entry for SRTSameer, Mohammed
Oct 10, 2019Added entry for USB, GPIO, HDMI and cell phone modemSameer, Mohammed
Jun 25, 2019Removed "clockless" to reflect that the processor is from now a clocked oneSameer, Mohammed
Mar 11, 2019Added Vishal Zuluk's name to the general overview section. (edited)Sameer, Mohammed
Dec 17, 2018Added note about FPDSameer, Mohammed
Dec 16, 2018Added a credentials lineSameer, Mohammed
Dec 12, 2018Adding section for memory managementSameer, Mohammed
Dec 10, 2018Removed rotate instructions and added invert instructionSameer, Mohammed
Oct 26, 2018Adding info about hardware-assisted task schedulingSameer, Mohammed
Oct 21, 2018Added "offset" to loadreg-memSameer, Mohammed
Oct 16, 2018Added section about "Service-name directory".Sameer, Mohammed
Sep 17, 2018Removed line about usability in supercomputer needs.Sameer, Mohammed
Dec 26, 2017Added the missed part about Taar being clock-less and RISC-basedSameer, Mohammed
Dec 26, 2017Put in some more clarity about the project in the overview sectionSameer, Mohammed
Dec 25, 2017Added description of tasSameer, Mohammed
Dec 25, 2017adding storereg-byte and storereg-word instructionsSameer, Mohammed
Dec 25, 2017Changed the Overview to provide a broader understanding of the chipSameer, Mohammed
Dec 25, 2017Created the first overview for the projectSameer, Mohammed
Dec 20, 2017Since I don't know VHDL at the point I am changing language from "VHDL" to "others"Sameer, Mohammed