<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.1//EN" "ep-patent-document-v1-1.dtd">
<ep-patent-document id="EP87303096B1" file="EP87303096NWB1.xml" lang="en" country="EP" doc-number="0241288" kind="B1" date-publ="19920304" status="n" dtd-version="ep-patent-document-v1-1">
<SDOBI lang="en"><B000><eptags><B001EP>..BE..DE..ESFR....IT....NLSE......................</B001EP><B005EP>J</B005EP><B007EP>DIM360   - Ver 2.5 (21 Aug 1997)
 2100000/1 2100000/2</B007EP></eptags></B000><B100><B110>0241288</B110><B120><B121>EUROPEAN PATENT SPECIFICATION</B121></B120><B130>B1</B130><B140><date>19920304</date></B140><B190>EP</B190></B100><B200><B210>87303096.9</B210><B220><date>19870409</date></B220><B240><B241><date>19890511</date></B241><B242><date>19910514</date></B242></B240><B250>en</B250><B251EP>en</B251EP><B260>en</B260></B200><B300><B310>8608776</B310><B320><date>19860410</date></B320><B330><ctry>GB</ctry></B330></B300><B400><B405><date>19920304</date><bnum>199210</bnum></B405><B430><date>19871014</date><bnum>198742</bnum></B430><B450><date>19920304</date><bnum>199210</bnum></B450><B451EP><date>19910514</date></B451EP></B400><B500><B510><B516>5</B516><B511> 5G 09G   1/16   A</B511><B512> 5G 06F  13/28   B</B512></B510><B540><B541>de</B541><B542>Bildsichtsystem mit Mikroprozessor</B542><B541>en</B541><B542>Microprocessor video display system</B542><B541>fr</B541><B542>Système d'affichage vidéo avec micro-ordinateur</B542></B540><B560><B561><text>EP-A- 0 094 042</text></B561><B561><text>FR-A- 2 509 492</text></B561><B561><text>US-A- 4 263 648</text></B561><B561><text>US-A- 4 326 202</text></B561><B562><text>ELECTRONICS volume 52, no.14, 5th July 1979, pages 136-139; L. Trottier et al.: "Transparent memory ends conflicts over CRT control"</text></B562><B562><text>ELECTRONIC DESIGN volume 27, no.16, 2nd August 1979, pages 90-93; C. Boisvert: "Simplify CRT-system design with transparent adressing - it comes on a controller chip"</text></B562></B560></B500><B700><B720><B721><snm>Mathieson, John
Flare Technology</snm><adr><str>Unit 0
The Paddocks
347, Cherry Hinton Road</str><city>Cambridge CB1 4DH</city><ctry>GB</ctry></adr></B721></B720><B730><B731><snm>AMSTRAD PUBLIC LIMITED COMPANY</snm><iid>00559293</iid><syn>PUBLIC LIMITED COMPANY, AMSTRAD</syn><adr><str>Brentwood House,
169 Kings Road</str><city>Brentwood,
Essex CM 14 4EF</city><ctry>GB</ctry></adr></B731></B730><B740><B741><snm>Abnett, Richard Charles</snm><sfx>et al</sfx><iid>00027531</iid><adr><str>REDDIE &amp; GROSE
16 Theobalds Road</str><city>London WC1X 8PL</city><ctry>GB</ctry></adr></B741></B740></B700><B800><B840><ctry>BE</ctry><ctry>DE</ctry><ctry>ES</ctry><ctry>FR</ctry><ctry>IT</ctry><ctry>NL</ctry><ctry>SE</ctry></B840><B880><date>19890208</date><bnum>198906</bnum></B880></B800></SDOBI><!-- EPO <DP n="1"> -->
<description id="desc" lang="en">
<p id="p0001" num="0001">This invention relates to a microprocessor video display system of the type in which a microprocessor CPU ( central processor unit ) and video control logic for producing the video image signal for display share a common video memory.</p>
<p id="p0002" num="0002">A Z80 microprocessor can be used in such an arrangement, with the video memory directly accessible by both the microprocessor CPU and the video control logic (VCL). In this situation, it is necessary to provide an arbitration scheme to cope with the situation where simultaneous memory accesses are attempted by both the CPU and the VCL. This situation is termed "contention".</p>
<p id="p0003" num="0003">The stardard solution to the problem of providing a piece of memory accessable by both the CPU and the VCL, an example of which is described in Electronics Volume 52, No. 14, pages 136-139, is to prevent access by the CPU to the video memory during video data read operations by the VCL. This is normally done with a signal called WAIT, which forces the CPU to suspend memory access cycles and go into an inactive state, and so prevents contention. However, this reduces the performance of the CPU because it must then spend part of its time inactive, with the result that the programs running on it run more slowly.</p>
<p id="p0004" num="0004">The present inventor has however appreciated that this inactivity can be avoided in normal circumstances. The invention is defined in the appended claims to which reference should now be made.</p>
<p id="p0005" num="0005">In a microcomputer system such as for example one based on the Z80 microprocessor and with a pixel-mapped video display, it is necessary for the video control logic to read data regularly from the video memory to convert it into the signals to drive the display device, which may be, for example, a television set. It is not possible for the VCL to delay data read operations, or there would be gaps visible in the displayed picture. The display system is therefore organised so that the time necessary for the given video data read operation, i.e. the time it takes for that data to be displayed on the video display device, corresponds to the time it<!-- EPO <DP n="2"> --> takes for twice that amount of data to be read from the video memory. The inventor has appreciated therefore, that it may be considered that a given video data read cycle has an interval of two video memory cycle times during which the video data read cycle may take place.</p>
<p id="p0006" num="0006">The inventor has also appreciated that it can be assumed that the CPU will not perform two video memory access cycles in a row, providing the video armory access rate and the CPU clock rate are substantially the same. This assumption is valid because the Z80 performs two basic types of memory cycle, the opcode fetch cycle and the data read or write cycle. The opcode fetch cycle is four clock periods long, and the memory read or write cycle is three clock periods long. Therefore, the shortest possible interval is between two consecutive memory read or write cycles, which will be three cycle times apart.</p>
<p id="p0007" num="0007">Thus in accordance with this invention in such a system the contention mechanism operates on the basis that during the first of the two video memory cycles available to the VCL for each pixel the video data ready cycle will occur, unless the CPU wishes to perform a video armory cycle, in which case the video data ready cycle is deferred until the second of the cycles times in its interval. If a video memory read cycle has taken place in the first of these two cycles then a CPU cycle may freely take place in the second. Therefore both the video display mechanism and the CPU have what is effectively non-delayed access to the video memory.</p>
<p id="p0008" num="0008">An example of the invention will now be described in more detail by way of example with reference to the accompanying drawing, in which:
<ul id="ul0001" list-style="none">
<li><u style="single">Figure 1</u> is a block diagram of the relevant part of a known microprocessor video display system, and</li>
<li><u style="single">Figure 2</u> is a block diagram of the corresponding part of a microprocessor video display system embodying the invention.</li>
</ul></p>
<p id="p0009" num="0009">Both figures illustrate a pixel-mapped video memory 10 accessible both by a Z80 CPU 12 and by video control logic (VCL) 14 which supplies data on an output 16 to a video display device (not shown) incorporating a cathode ray tube screen.<!-- EPO <DP n="3"> --></p>
<p id="p0010" num="0010">In the known arrangement of Figure 1, when the VCL 14 calls for a data item from the memory 10 it also sends a WAIT command 18 to the CPU, if the CPU is also attempting to address the video armory, to render the CPU inactive for one video memory access cycle so as to avoid any danger of contention. This is logical enough because the display device has to be fed an uninterrupted supply of data otherwise the display will have gaps in it.</p>
<p id="p0011" num="0011">In accordance with this invention the VLC does not send a WAIT command to the CPU but, as shown in Figure 2, the VCL makes an enquiry MREQ of the CPU as to whether the CPU is attempting to address video memory, and if it is the VCL defers its video memory read operation by one video memory cycle period. This goes contrary to the accepted practice because it introduces delay into the video data for the display.</p>
<p id="p0012" num="0012">However, because the video data can in fact be read from the video memory twice as fast as is necessary to supply the display, the present inventor has appreciated that a delay of just one video memory cycle period can be tolerated. Furthermore, because the video memory access rate is equal to the CPU clock rate, and each CPU operation cycle takes at least two CPU clock periods, only one of which will ever involve a video memory access, the CPU will never call for video memory access on two successive CPU clock periods.</p>
<p id="p0013" num="0013">Deferring of a VCL video memory read cycle will thus never arise on two successive video memory access cycles and the VCL will thus always be able to maintain delivery of video data at the required rate to the display.</p>
<p id="p0014" num="0014">In summary, therefore, the mechanism described and illustrated is used in a microcomputer application to allow the memory which holds the video display data to be read by both the microprocessor and the video display hardware. This it does in a manner which causes no reduction in the performance of the microprocessor, by interleaving the video read cycles between the microprocessor memory cycles in such a manner that a video read cycle may be shifted to allow the microprocessor immediate access to the memory. The standard mechanism to perform this would delay the microprocessor cycle, and therefore reduce the performance of the microprocessor.<!-- EPO <DP n="4"> --> In the present system the microprocessor CPU can have the maximum possible performance as it is not degraded by the video control logic.</p>
</description><!-- EPO <DP n="5"> -->
<claims id="claims01" lang="en">
<claim id="c-en-01-0001" num="">
<claim-text>1. A microprooessor video display system comprising a video memory (10), a CPU (12) capable of accessing the video memory for one clock period during operation cycles each lasting two or more CPU clock periods, video control logic (14) for accessing the video memory during selected video memory read cycles to provide data to a video display device, the video control logic being capable of accessing the video memory at a rate twice as fast as the rate at which data is required to be delivered to the video display device, characterised in that the video memory read cycle rate is substantially equal to the CPU clock rate, and in that when both the CPU and the video display device desire access to the video memory the operation of the video control logic is deferred by one video memory access period.</claim-text></claim>
<claim id="c-en-01-0002" num="">
<claim-text>2. A microprocessor video display system according to claim 1, characterised in that the CPU is comprised by a Z80 microprocessor.</claim-text></claim>
<claim id="c-en-01-0003" num="">
<claim-text>3. A microprocessor video display system according to claim 1 or 2, characterised in that the video memory is a pixel-mapped video memory.</claim-text></claim>
<claim id="c-en-01-0004" num="">
<claim-text>4. A method of operating a microprocessor video display system including a CPU, a video memory, video control logic, and a video display device, the method comprising the steps of accessing the video memory with the CPU for one clock period during an operation cycle lasting two or more CPU clock periods, reading data from the video memory with the video control logic at a read cycle rate twice as fast as the rate at which data is required to be delivered to the video display device, delivering data to the video display device at the required rate, characterised in that the read cycle rate is substantially equal to the CPU clock rate and by deferring the operation of the video control logic by one video memory access period when the CPU is accessing the video memory.</claim-text></claim>
</claims><!-- EPO <DP n="6"> -->
<claims id="claims02" lang="de">
<claim id="c-de-01-0001" num="">
<claim-text>1. Ein Mikroprozessor-Video-Anzeigesystem mit einem Video-Memory (10), einem zentralen Prozessor CPU (12), der so ausgelegt ist, daß er für ein Taktintervall während Betriebszyklen auf das Video-Memory zugreifen kann, die jeweils zwei oder mehr Taktzyklen des zentralen Prozessors dauern, einer Video-Steuerlogik (14) zum Zugreifen auf den Video-Speicher während ausgewählter Lesezyklen bezüglich des Video-Speichers, um Daten für eine Video-Anzeigeeinrichtung bereitzustellen, wobei die Video-Steuerlogik so ausgelegt ist, daß sie auf den Video-Speicher mit einer Geschwindigkeit zugreift, die doppelt so schnell ist wie die Geschwindigkeit, mit der Daten zur Video-Anzeigeeinrichtung geliefert werden, dadurch gekennzeichnet, daß die Lesezyklengeschwindigkeit bezüglich des Video-Speichers im wesentlichen dem Taktzyklus des zentralen Prozessors entspricht und daß dann, wenn sowohl der zentrale Prozessor als auch die Video-Anzeigeeinrichtung auf den Video-Speicher zugreifen wollen, der betrieb der Video-Steuerlogik um einen Zugriffszyklus bezüglich des Video-Speichers verzögert wird.</claim-text></claim>
<claim id="c-de-01-0002" num="">
<claim-text>2. Mikroprozessor-Video-Anzeigesystem gemäß Anspruch 1, dadurch gekennzeichnet, daß als zentraler Prozessor ein Z80-Mikroprozessor vorgesehen ist.<!-- EPO <DP n="7"> --></claim-text></claim>
<claim id="c-de-01-0003" num="">
<claim-text>3. Mikroprozessor-Video-Anzeigesystem gemäß einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß der Video-Speicher ein Pixel-Format aufweist.</claim-text></claim>
<claim id="c-de-01-0004" num="">
<claim-text>4. Verfahren zum Betreiben einer Mikroprozessor-Video-Anzeigeeinrichtung mit einem zentralen Prozessor, einem Video-Speicher, einer Video-Steuerlogik und mit einer Video-Anzeigeeinrichtung, wobei folgende Schritte vorgesehen sind: Zugreifen auf den Video-Speicher mittels des zentralen Prozessors für einen Taktzyklus während eines Betriebszyklus, der zwei oder mehr Taktzyklen des zentralen Prozessors dauert, Auslesen von Daten aus dem Video-Speicher mit der Video-Steuerlogik mit einer Lesezyklusgeschwindigkeit, die doppelt so schnell ist wie die Geschwindigkeit, mit der Daten zur Video-Anzeigeinrichtung zu übertragen sind, und Abgeben von Daten an die Video-Anzeigeeinrichtung mit der geforderten Geschwindigkeit, dadurch gekennzeichnet, daß die Lesezyklusgeschwindigkeiet im wesentlichen gleich ist der Taktgeschwindigkeit des zentralen Prozessors und daß der Betrieb der Video-Steuerlogik dann um eine Zugriffszeitspanne bezüglich des Video-Speichers verzögert wird, wenn der zentrale Prozessor auf den Video-Speicher zugreift.</claim-text></claim>
</claims><!-- EPO <DP n="8"> -->
<claims id="claims03" lang="fr">
<claim id="c-fr-01-0001" num="">
<claim-text>1. Système d'affichage vidéo à microprocesseur comprenant une mémoire vidéo (10), une CPU (12) capable d'accéder à la mémoire vidéo pendant une période d'horloge lors de cycles de fonctionnement qui durent chacun deux ou plus périodes d'horloge de la CPU, une logique de'commande vidéo (14) pour accéder à la mémoire vidéo pendant des cycles choisis de lecture de la mémoire vidéo pour fournir des données à un dispositif d'affichage vidéo, la logique de commande vidéo étant capable d'accéder à la mémoire vidéo à une fréquence double de celle à laquelle les données doivent être fournies au dispositif d'affichage vidéo, caractérisé en ce que la fréquence du cycle de lecture de la mémoire vidéo est à peu près égale à la fréquence d'horloge de la CPU, et en ce que lorsque la CPU et le dispositif d'affichage vidéo désirent accéder en même temps à la mémoire vidéo, le fonctionnement de la logique de commande vidéo est retardé d'une période d'accès à la mémoire vidéo.</claim-text></claim>
<claim id="c-fr-01-0002" num="">
<claim-text>2. Système d'affichage vidéo à microprocesseur selon la revendication 1, caractérisé en ce que la CPU comprend un microprocesseur Z80.</claim-text></claim>
<claim id="c-fr-01-0003" num="">
<claim-text>3. Système d'affichage vidéo à microprocesseur selon la revendication 1 ou 2, caractérisé en ce que la mémoire vidéo est une mémoire vidéo organisée en pixels.</claim-text></claim>
<claim id="c-fr-01-0004" num="">
<claim-text>4. Procédé de fonctionnement d'un système d'affichage vidéo à microprocesseur comprenant une CPU, une mémoire vidéo, une logique de commande vidéo et un dispositif d'affichage vidéo, ledit procédé comprenant les étapes d'accès à la mémoire vidéo par la CPU pendant une période d'horloge lors d'un cycle de fonctionnement qui dure deux ou plus périodes d'horloge de la CPU, de lecture de données provenant de la mémoire vidéo<!-- EPO <DP n="9"> --> par la logique de commande vidéo à une fréquence de cycle de lecture double de la fréquence à laquelle les données doivent être fournies au dispositif d'affichage vidéo, de fourniture des données au dispositif d'affichage vidéo à la fréquence requise, caractérisé en ce:que la fréquence de cycle de lecture est à peu près égale à la fréquence d'horlogue de la CPU et en ce que le fonctionnement de la logique de commande vidéo est retardé d'une période d'accès à la mémoire vidéo lorsque la CPU accède à la mémoire vidéo.</claim-text></claim>
</claims><!-- EPO <DP n="10"> -->
<drawings id="draw" lang="en">
<figure id="f0001" num=""><img id="if0001" file="imgf0001.tif" wi="107" he="216" img-content="drawing" img-format="tif"/></figure>
</drawings>
</ep-patent-document>
