A multithreaded (MT) processor comprising a processor architecture including hardware structures and software, the architecture configured for the MT processor to execute several tasks, each task having, for every hardware shared resource from a predetermined set of hardware shared resources in the MT processor, one associated artificial time delay that is introduced when said task accesses said hardware shared resource,
- the processor architecture including:
- one or both of an at least partially hardware based structure and software configured to establish, for every hardware shared resource in the predetermined set of hardware shared resources and each task to be artificially time delayed, the artificial time delay to be applied to each access of said task to said hardware shared resource;
- one or both of an at least partially hardware based structure and software configured to verify if a request is ready to be sent to said shared resource;
- one or both of an at least partially hardware based structure and software configured to verify if the shared resource is ready to accept said request;
- one or both of an at least partially hardware based structure and software configured to delay said request by the artificial delay established for said shared resource;
- and
- one or both of an at least partially hardware based structure and software configured to allow the request of the task to access said shared resource.