Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vf4ht5$pqst$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vf4ht5$pqst$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.tomockey.net!2.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Stephen Fuld <sfuld@alumni.cmu.edu.invalid>
Newsgroups: comp.arch
Subject: Re: MM instruction and the pipeline
Date: Sun, 20 Oct 2024 20:30:45 -0700
Organization: A noiseless patient Spider
Lines: 78
Message-ID: <vf4ht5$pqst$1@dont-email.me>
References: <venkii$23b6b$1@dont-email.me> <vep8rb$2d8ru$1@dont-email.me>
 <bf46a508f4e6bbe44846078a50af63b7@www.novabbs.org>
 <vf39a8$fr1q$1@dont-email.me>
 <aa58a1a08f09adf4539bcafef4e853d8@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 21 Oct 2024 05:30:46 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="42fb1e9f9f04771c0c95b70da8fbdd65";
	logging-data="846749"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/ZcETPpbJM7M7RUTEtNz9f94ZdhDZ2GsY="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:WsJmvhmik6BJ//8QYvlbXsE86TM=
In-Reply-To: <aa58a1a08f09adf4539bcafef4e853d8@www.novabbs.org>
Content-Language: en-US
Bytes: 4673

On 10/20/2024 5:25 PM, MitchAlsup1 wrote:
> On Sun, 20 Oct 2024 15:57:59 +0000, Paul A. Clayton wrote:
> 
>> On 10/16/24 5:14 PM, MitchAlsup1 wrote:
>>> On Wed, 16 Oct 2024 20:48:39 +0000, Paul A. Clayton wrote:
>>>
>>>>
>>>> Here is a question that I will leave to Mitch:
>>>>
>>>> Can a MM that has confirmed permissions commit before it has been
>>>> performed such that uncorrectable errors would be recognized not
>>>> on read of the source but on later read of the destination?
>>>
>>> A Memory Move does not <necessarily> read the destination. In
>>> order to make the data transfers occur in cache line sizes,
>>> The first and the last line may be read, but the intermediate
>>> ones are not read (from DRAM) only to be re-written. An
>>> implementation with byte write enables might not read any
>>> of the destination lines.
>>
>> I was referring to a following instruction reading the
>> destination.
>>
>>> Then there is the issue with uncorrectable errors at the
>>> receiving cache. The current protocol has the sender (core)
>>> not release his write buffer until LLC has replied that
>>> the data arrived without ECC trouble. Thus, the instruction
>>> causing the latent uncorrectable error is not retired until
>>> the data has arrived successfully at LLC.
>>
>> I was thinking primarily about uncorrectable errors in the
>> source. It would be convenient to software for MM to fail early on
>> an uncorrectable source error. It would be a little less
>> convenient (and possibly more complex in hardware) to generate an
>> ECC exception at the end of the MM instruction (or when it
>> pauses from a context switch).
> 
> As I describe above, all errors are detected at source read,
> precisely so that they can be detected or recovered.
> 
>> With source-signaled errors, MM might be used to scrub memory
>> (assuming the microarchitecture did not optimize out copies
>> onto self as nops☺).
>>
>> Not signaling the error until the destination is read some time
>> later prevents software from assuming the copy was correct at the
>> time of copying, but allows a copy to commit once all permissions
>> have been verified.
> 
> The real question, here, is: if you have corrupted data in memory
> and overwrite it, in its entirety, do you have to detect the error ??
> should you detect the error, or should overwriting the error make
> it "go away" ???
> 
>>>> I could see some wanting to depend on the copy checking data
>>>> validity synchronously, but some might be okay with a quasi-
>>>> synchronous copy that allows the processor to continue doing work
>>>> outside of the MM.
>>>
>>> As I mentioned before, Yes I intend to allow other instructions
>>> to operate concurrently with MM, but I also expect MM to consume
>>> all of L1 cache bandwidth. Just like LD L1-L2-miss operates
>>> concurrently with FDIV.
>>
>> For large copies, I could see having the copying done at L2 or
>> even L3 with distinct address generation (at least within a page,
> 
> As you get farther out than L1; you end up not having a TLB to
> translate page crossing addresses.

Yes, but once you translate the starting address of a page, which you 
can tell from the low order bits X bits (X depends on page size) being 
zero, you don't need to translate again until the next page crossing.


-- 
  - Stephen Fuld
(e-mail address disguised to prevent spam)