Vector transfer system generating address error exception when vector to be transferred does not start and end on same memory page

   
   

A vector transfer unit for handling transfers of vector data between a memory and a data processor in a computer system. Vector data transfer instructions are posted to an instruction queue in the vector transfer unit. Program instructions for performing a burst transfer include determining the starting address of the vector data to be transferred, the ending address of the vector data to be transferred, and whether the ending address of the vector data to be transferred is within the same virtual memory page as the starting address. The ending address of the vector data to be transferred is determined based on the number of data elements to be transferred, the stride of the vector data to be transferred, and the width of the vector data elements to be transferred. When the amount of data to be transferred is divisible by a factor of two, the multiplication of the stride and width of the data elements is carried out by shifting. An address error exception occurs when the ending address of the vector data to be transferred is not within the same virtual memory page as the starting address. The ending address of the vector data to be transferred is determined in parallel with determining the starting address of the vector data to be transferred.

Een vectoroverdrachteenheid voor de behandeling van overdrachten van vectorgegevens tussen een geheugen en een gegevensbewerker in een computersysteem. De vector instructies van de gegevensoverdracht worden gepost aan een instructierij in de vectoroverdrachteenheid. De instructies van het programma voor het uitvoeren van een uitbarstingsoverdracht omvatten het bepalen van het beginnende adres van de vector over te brengen gegevens, het beëindigende adres van de vector over te brengen gegevens, en of het beëindigende adres van de vector over te brengen gegevens binnen de zelfde virtueel geheugenpagina zoals het beginnende adres is. Het beëindigende adres van de vector over te brengen gegevens wordt gebaseerd op het aantal over te brengen gegevenselementen bepaald, de pas van de vector over te brengen gegevens, en de breedte van de vectorover te brengen gegevenselementen. Wanneer de hoeveelheid over te brengen gegevens door een factor van twee verdeelbaar is, wordt de vermenigvuldiging van de pas en de breedte van de gegevenselementen uitgevoerd door te verschuiven. Een uitzondering van de adresfout komt voor wanneer het beëindigende adres van de vector over te brengen gegevens niet binnen de zelfde virtueel geheugenpagina zoals het beginnende adres is. Het beëindigende adres van de vector over te brengen gegevens wordt bepaald parallel met het bepalen van het beginnende adres van de vector over te brengen gegevens.

 
Web www.patentalert.com

< Using an expert proxy server as an agent for wireless devices

< Trusted construction of message endpoints in a distributed computing environment

> Adjunct use of instant messenger software to enable communications to or between chatterbots or other software agents

> Method and apparatus for detecting strobe errors

~ 00113