WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Data processing system with multiple display apparatus    

Get related patents on CD
United States Patent4428065   
Link to this pagehttp://www.wikipatents.com/4428065.html
Inventor(s)Duvall; William S. (Portola Valley, CA); English; William K. (Tokyo, JP)
AbstractA data processing system comprises a first selection device for selecting a plurality of characters of a first set, the characters of the first set each being defined by a bit map of first predetermined dimensions. A second selection device is capable of selecting a plurality of characters of a second set, the characters of the second set each being defined by a bit map of second predetermined dimensions greater than the first predetermined dimensions. A display device is capable of displaying the selected characters of the first and second sets, and a control device is responsive to the first and second selection devices for controlling the display device to display the selected characters of the first set in a first display area and the selected characters of the second set in a second display area, the first dislay area representing a page of text of characters of the first set, and the second display area representing a magnified portion of the page of text comprised of characters of the second set.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Drawing from US Patent 4428065
Data processing system with multiple display apparatus - US Patent 4428065 Drawing
Data processing system with multiple display apparatus
Inventor     Duvall; William S. (Portola Valley, CA); English; William K. (Tokyo, JP)
Owner/Assignee     Xerox Corporation (Stamford, CT)
Patent assignment
All assignments
Company News
Publication Date     January 24, 1984
Application Number     06/360,036
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     March 19, 1982
US Classification     707/7 345/551 345/671 434/157
Int'l Classification     G06F 003/14
Examiner     Chan; Eddie P.
Assistant Examiner    
Attorney/Law Firm     Carothers, Jr.; W. Douglas Smith; Barry Paul,
Address
Parent Case     This is a continuation of application Ser. No. 052,992, filed June 28, 1979.
Priority Data    
USPTO Field of Search     /7/24 364/200 MS File 364/900 MS File 340/728 340/731 340/798 340/751
Patent Tags     data processing multiple display
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4257044
Fukuoka
345/667
Mar,1981

[0 after 0 votes]
4242678
Somerville
345/472.2
Dec,1980

[0 after 0 votes]
4193119
Arase
704/2
Mar,1980

[0 after 0 votes]
4122533
Kubinak
715/535
Oct,1978

[0 after 0 votes]
4070710
Sukonick
345/533
Jan,1978

[0 after 0 votes]
4069511
Lelke
345/545
Jan,1978

[0 after 0 votes]
3893100
Stein
345/472.3
Jul,1975

[0 after 0 votes]
3878536
Gilliam
345/472.2
Apr,1975

[0 after 0 votes]
3735383
Naka
345/12
May,1973

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A data processing system permitting the simultaneous display of two different images representing the same page of text but displayed in different font character sizes in different areas of a display and comprising:

(1) first storage means (64) for storing character font data representative of a first set of characters, each character of said first set being represented as a bit map of first predetermined dimensions;

(2) second storage means (90) for storing character font data representative of a second set of characters, each character of said second set corresponding to a character in said first set but being represented as a bit map of second predetermined dimensions of greater arbitrary scale than said first predetermined dimensions in order to provide more geometric detail of characters in said first set of characters, said second set character font data stored in said second storage means in numerically ordered character strikes with a predetermined number of characters per strike;

(3) third storage means (60) coupled to said first and second storage means for storing bit map representations of preselected of said first and second sets of characters, said preselected first set characters representative of a selected stored page of text and said preselected second set characters representative of a portion of or aspects of a corresponding stored page of text;

(4) fourth storage means (92) for storing pages of text, each page comprising a character identification list representative of said preselected firt set characters for each stored page of text and their position on each page,

(5) fifth storage means (76) for storing a bit map generation control list and a second list representative of preselected second set characters based upon a character identification list for a selected stored page of text,

(6) display means (24) coupled to said third storage means for displaying said bit map representations in a display area thereof;

(7) segmenting means (62, 78) coupled to said third storage means for defining first and second segments (DCB's) of said bit map representations in said third storage means to thereby define first and second display sections (66, 74 or 96) in predetermined locations of said display area;

(8) display control means (26) coupled to said third storage means and to said display means for controlling said display means to display said preselected first and second set characters in said display area in accordance with the character font data stored in said bit map representations in said third storage means, said first display section (66) representing said preselected first set characters for a selected page of text, and said second display section (74 or 96) representing said preselected second set characters;

(9) data control means (CPU 10) coupled to said first, second, third, fourth and fifth storage means for controlling the processing and handling of character font data for a selected page of text, said data control means comprising

(i) means for accessing from said first storage means said preselected first set characters in their ordered visual display sequence in accordance with the character identification list for said selected page of text and for transferring said preselected first set characters from said first storage means into said first segment in said third storage means for display in said first display section;

(ii) means for creating said display bit map generation control list (FIG. 7) in said fifth storage means based upon said character identification list for said selected page of text, said control list representative of said preselected second set characters for said selected page of text and to be displayed in said second display section in their ordered visual display sequence;

(iii) means for sorting through said control list (FIG. 7) in said fifth storage means and rearranging said preselected second set characters in said control list into said second list (FIG. 8) representative of an ordered sequence in which said preselected second set characters appear in said second storage means in said numerically ordered character strikes;

(iv) means for examining said second list to generate character strike selection signals representative of said selected character strikes in said second storage means that have the character font data for all said preselected second set characters in said second list;

(v) means for selecting said preselected second set characters from each accessed, selected character strike and for transferring the selected of said preselected second set characters into said second segment in said third storage means for display in said second display section;

(10) transfer means (22) coupled to said data control means and said second and fifth storage means and responsive to said character strike selection signals from said data control means to sequentially access from said second storage means, in ascending order, selected character strikes;

(11) data buffer means (68, 70, 72) coupled to said data control means and to said second and third storage means to sequentially receive and store said selected character strikes accessed by said transfer means, and for transmitting the selected of said preselected second set characters into said second segment in said third storage means under the control of said data control means for display in said second display section.

2. The data processing system of claim 1 wherein said data buffer means is capable of receiving and storing a presently accessed character strike from said second storage means concurrently with the storage of a previously accessed character strike from said second storage means, the selection and transfer to said third storage means of said selected of said preselected second set characters from said previous accessed character strike occurring simultaneously with the access and transfer to said data buffer means of said presently accessed character strike.

3. The data processing system of claim 1, wherein said first and third storage means is a solid-state random access memory.

4. The data processing system of claim 3, wherein said second storage means is a magnetic disk random access memory.

5. The data processing system of claim 1, wherein the first set of characters include a plurality of character sub-sets, and all of the characters of a predetermined one of said sub-sets are represented by a single character font bit map in said first storage means.

6. The data processing system of claim 5, wherein the plurality of character sub-sets include Hiragana, Katakana, Romaji and Kanji character sub-sets, and said predetermined one character sub-set is the Kanji character sub-set.

7. The data processing system of claim 6, wherein the second set of characters include Hiragana, Katakana, Romaji and Kanji character sub-sets.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

This invention relates to data processing and, more particularly, to a data processing system of the general type comprising first selection means for selecting a plurality of characters of a first set, second selection means for selecting a plurality of characters of a second set, display means for displaying the selected characters of the first and second sets, and control means responsive to the first and second selection means for controlling said display means to display the selected characters of said first set in a first display area and the selected characters of said second set in a second display area.

An example of the above-type of data processing system used to process Japanese language text is described in U.S. Pat. No. 4,193,119 filed on Mar. 25, 1977 in the names of Shingo Arase and Roy J. Lahr for Apparatus for Assisting in the Transposition of Foreign Language Test and assigned to the assignee of the present invention. As described in that system, a display is divided into two discrete display areas. A first display area is used to display a portion of the Japanese text being created and which may be composed of Hiragana, Katakana, Romaji and Kanji characters. The second display area is used to display Kanji characters having a sound similarity to a phonetic Japanese character or characters (e.g. Hiragana or Katakana) just selected and made to appear in the first text display area. A desired one or more Kanji characters may then be selected for substitution into the text display area in place of the similarly sounding Japanese phonetic character or characters that last appeared in the text.

It would be desirable to provide a data processing system of the general type described in U.S. Pat. No. 4,193,119, where the concept of providing multiple display areas could be expanded to display in a first display area the complete page of text being created to thereby enable page formatting and the like, and in addition to display in a second display area a magnified portion of the page of text being created to thereby facilitate editing and verification of the text. It would also be desirable to provide a third display area for Kanji selection, as is done in the second display area of the system of U.S. application Ser. No. 781,266. It would further be desirable if the second display area for magnified viewing could be made adjustable in terms of its dimensions.

SUMMARY OF THE INVENTION

In accordance with one aspect of the invention, a data processing system is provided comprising first selection means for selecting a plurality of characters of a first set, said characters of said first set each being defined by a bit map of first predetermined dimensions; second selection means for selecting a plurality of characters of a second set, said characters of said second set each being defined by a bit map of second predetermined dimensions greater than said first predetermined dimensions; display means for displaying the selected characters of said first and second sets; and control means responsive to said first and second selection means for controlling said display means to display the selected characters of said first set in a first display area and the selected characters of said second set in a second display area, said first display area representing a page of text of characters of said first set, and said second display area representing a magnified portion of said page of text comprised of characters of said second set.

In accordance with the preferred embodiment, the first set of characters include Hiragana, Katakana and Romaji characters, as well as a single "dummy" character representative of all Kanji characters. All of these characters of the first set are of first predetermined dimensions, e.g., a bit map 7 bits wide by 7 bits high. These characters appear in a first display area which is preferably a full page display to thereby enable page formatting and the like. The Kanji characters normally cannot be legibly reproduced in the full page display area, due to the size of the bit map, the normal resolution capabilities of contemporary display devices and the complexity of these characters. Consequently, a single "dummy" character bit map is used to represent all Kanji characters of the first set.

The second set of characters preferably include Hiragana, Katakana, Romaji and Kanji characters.. In the preferred embodiment, the bit map dimensions for each character of the second set, including all the Kanji characters, are 18 bits wide by 20 bits high. The Kanji character subset is thus capable of being legibly reproduced in the second display area. The purpose of the second display area is to display a magnified portion of the text being created and which is displayed in the first display area.

In accordance with a further aspect of the invention, the control means includes means for selectively adjusting the dimensions of the second display area. In this manner, a "window" defining the second display area may be expanded to include as much of the text being created as is necessary and required for easy text editing, creation and viewing. In accordance with this aspect, it is posssible, if desired, to enlarge the second display area to encompass the entire display so that only a magnified portion of the full page of text being created is displayed. Alternately, a second display area need not be used at all, the viewer relying solely upon the text as depicted in the full page area. When both display areas are used, it is possible to enlarge the window defining the second display area to overlap that portion of the first display area not presently containing text.

In accordance with a still further aspect of the invention, the control means includes means for controlling the display means to display preselected Kanji characters in a third display area, so as to enable easy Kanji selection for substitution in the text in place of similarly sounding Hiragana and Katakana phonetics, such as is accomplished in the system described in U.S. Pat. No. 4,193,119.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects and advantages of the present invention will be described below with reference to the accompanying drawings, wherein:

FIG. 1 is a perspective view of a data processing system of the present invention;

FIG. 2 is a block diagram representation of the data processing system of FIG. 1;

FIG. 3 is a representation of various storage areas in the main memory depicted in FIG. 2;

FIG. 4 is a representation of various storage areas on the surfaces of a magnetic recording disk included in the disk drive depicted in FIG. 2;

FIG. 5 is a top plan view of the array of keys included in the keyboard depicted in FIG. 2;

FIG. 6 shows an exemplary image display on the display device depicted in FIG. 2;

FIG. 7 shows a hypothetical display bit map generation control list stored in the main memory of FIGS. 2 and 6, wherein the characters appear in an ordered visual presentation sequence;

FIG. 8 shows the display bit map generation control list of FIG. 7, wherein the characters are sorted into an ordered storage sequence;

FIGS. 9-11 depict the sequence of operations during which large character strikes for display are loaded from the disk into data buffers defined in the main memory of FIGS. 2 and 3, and then from the data buffers into the bit map data portion of the main memory;

FIG. 12 is a block diagram representation of the control section of the CPU shown in FIG. 2;

FIG. 13 is a block diagram representation of the data section of the CPU shown in FIG. 2;

FIG. 14 is a block diagram representation of the display controller shown in FIG. 2; and

FIG. 15 is a block diagram representation of the disk drive controller shown in FIG. 2.

DESCRIPTION OF THE PREFERRED EMBODIMENT

At the outset of this description, it must be stated that the term "character" as used herein is meant to imply not only recognizable alphanumerics and language character forms, but also any graphical or symbolic representation of any size, shape or geometric orientation.

Referring now to FIGS. 1 and 2, a data processing system of the present invention is shown. The system includes a central processing unit (CPU) 10 that is comprised of a data section 12 and a control section 14. The system also comprises a main memory 16 and a plurality of peripheral devices, some of which having associated controllers. More specifically, the system comprises a keyboard 18, a disk drive 20 with associated disk drive controller 22, a display device 24 with associated display controller 26, a cursor unit 28 with associated cursor unit controller 29, a raster output scanned (ROS) printer 30 with associated ROS printer controller 32, and a communications network 34 with associated network controller 36. The keyboard 18 is unencoded and does not require a separate controller.

Information is transferred to and from the data section 12 of the CPU 10 by means of a main data transfer bus 38. The preferred processor 10 is designed to handle 16-bits of parallel data, and so the bus 38 is comprised of 16 parallel lines. The data bus 38 is connected not only to the CPU data section 12, but also to the main memory 16 through a driver and parity circuit 40 and a 32-bit memory data bus 42. Additionally, the data bus 38 is connected to the disk drive controller 22, the display controller 26, the cursor unit controller 29, the ROS printer controller 32 and the network controller 36, as well as to the keyboard 18.

Information is thus applied directly onto the data bus 38 from the keyboard. On the other hand, the disk drive 20, display device 24, cursor unit 28, ROS printer 30 and communications network 34 are each input/output peripheral devices and information is transferred to and from such devices through and by means of their respective controllers 22, 26, 29, 32 and 38. Thus, a suitable bus 44 is connected between the disk drive 20 and its controller 44, a bus 46 is connected between the display device 24 and its controller 26, a bus 17 is connected between the cursor unit 28 and its controller 29, a bus 48 is connected between the ROS printer 30 and its controller 32, and a bus 50 is connected between the communications network 34 and its controller 36. The nature and constitution of many of the signals transferred along the busses 44, 46, 47, 48 and 50 will be described below.

The disk drive controller 22, display controller 26 and network controller 36 are each capable of generating one or more task request signals in the form of "wake-up" commands whenever it requires one or more services to be performed by the CPU 10. The cursor unit controller 29 and ROS printer controller 32 do not employ the use of task requests. The disk controller 22 is capable of generating two task request signals i.e. KSEC (Disk Sector Task) and KWD (Disk Word Task). These signals are applied along respective task request lines 52 to the CPU control section 14. The display controller 26 is capable of generating three task request signals associated with the display of data, i.e., DWT (Display Word Task), DHT (Display Horizontal Task) and DVT (Display Vertical Task) that are applied along respective task request lines 52 to the CPU control section 14. Additionally, the display controller generates a CURT (Cursor Task) task request signal periodically to enable the CPU 10 to execute a program routine associated with the handling of cursor data. The network controller 36 is capable of generating a single task request signal, i.e., NET (Network Task) that is applied along a respective line 52 to the CPU control section 14.

Other task request signals are generated internally of the CPU 10 and include MPT (Main Program Task), MRT (Memory Refresh Task) and PART (Parity Task). The MPT task request signal is associated with the main microprogram routine stored in the CPU control section 14 and is always true, i.e., the main microprogram routine is always requesting service. The MRT task request signal goes true every 38.08 is in order to refresh information stored in the main memory 16. Lastly, the PART task request signal goes true whenever a parity error is detected by the parity circuit 40.

In order for each of the controllers 22, 26 and 36 to be informed when the CPU 10 is executing instructions relating to the requested service, the control section 14 includes means to be described below for applying "task-active" status signal back to the controller. These task active signals are applied on lines 54 from the control section 14 to the controllers 22, 26 and 36, as shown in FIG. 2. There are two task-active lines 54 connected to the disk controller 22 (associated with the KSEC and KWD tasks), four task active lines connected to the display controller 26 (associated with the DWT, DHT, DVT and CURT tasks) and one task-active line 54 connected to the network controller 36 (associated with the NET task).

Referring now in more detail to the CPU 10, and in particular to the control section 14 thereof, it must be stated generally that the control section 14 applies instructions to the data section 12 for execution thereby. Additionally, instructions in the form of control signals are applied along respective control lines 56 to the various I/O controls 22, 26, 29, 32 and 36 for execution thereby. The instructions are forwarded in accordance with a particular sequence or routine to be carried out and identified with a particular task to be serviced. The control section includes means to be described below for determining which of a plurality of wake-up task request signals applied to the control section 14 has the highest current priority value. More specifically, each of the plurality of tasks to be serviced is preassigned a unique priority value. Thus, performing a requested service for the display controller 26 may be of higher priority than performing a requested service for the network controller 36. The control section 14 forwards instructions associated with the highest current task to serviced to the data section 12 and respective I/O controller for execution.

As indicated above, there are no task request signals supplied from the cursor unit controller 29 and the ROS printer controller 32. Rather a program routine associated with the processing of cursor information is processed in response to the CURT task request signal initiated by the display controller 26. The printing task is initiated by the operator depressing a command key on the keyboard 18. This will cause a number of selectable commands to be displayed on the display device 24 in a key top area 96 (FIG. 6). One of the commands is a print command which can then be selected by hitting a key on the keyboard 18 corresponding to the location of the print command in the key top area. This entire concept will be described in more detail below in connection with the description of FIG. 6. At this time, however, it should be noted that the print command signal generated by the keyboard 18 is interpreted by the CPU 10 as a "Print Task Request" which is then serviced in the manner described above.

Referring now in more detail to FIG. 12, the control section 14 of the CPU 10 includes a priority encoder 158 which has task request inputs connected to the various task request lines 52 from the I/O controllers 22, 26 and 36, as well as to various output lines 162 from the decoders 160 for receipt of the internally generated task request signals alluded to above, e.g., MRT. The task request signal MPT, which requests servicing the main program, is manifest by the grounded line 164 and is always true (low). Thus, the main program is always requesting service. The priorty encoder 158 includes circuitry (not shown) for generating a multi-bit control signal on a respective plurality of lines 166 related to the highest priority wakeup-task request signal currently applied as an input to the encoder 158. The priority encoder 158 includes a further input for receiving a RESET signal on a line 168 from an initialize circuit 170 to be described in more detail below.

Now then, the control signal developed on lines 166 is applied to respective inputs of a current task register 172 which responds to such control signal for generating a multibit address signal that is applied in bit-parallel format on a respective plurality of lines from the register 172 to respective inputs of an address memory 176. The address memory 176 includes a plurality of storage locations, preferably defined by a respective plurality of multi-bit registers (not shown). There are preferably a number of registers included in the address memory 176 equal to and respectively associated with the plurality of tasks capable of being performed by the CPU 10, as alluded to above. Each register in the address memory 176 is addressed by a unique multi-bit code defined by the address signal applied thereto from the current-task register 172 on lines 174.

In accordance with the preferred embodiment, each of the registers in address memory 176 is capable of storing the next address of an executable microinstruction stored in a microinstruction memory 78. In this respect, each of the plurality of address memory registers may be thought of as a program counter for its respective task to be serviced relative to the corresponding microinstruction routine stored in the instruction memory 178.

Each instruction stored in the memory 178 is accessed in response to a corresponding address signal applied on address lines 180 from the address memory 178. Each instruction includes an instruction field preferably comprised of twenty-two bits, and a next-address field preferably comprised of ten bits. The specific constitution of the 22-bit instruction field, if desired, may be obtained through a review of Appendix A to and forming part of this specification. The instruction field is loaded into an instruction register 182 on lines 184 and is then applied through appropriate decoders 160 (also described in more detail in Appendix A) to the data section 12 of the CPU 10. Certain of these decoded instructions are also forwarded to the I/O controllers 22, 26 and 36. The next-address field is fed back on lines 186 to the currently addressed register in the address memory 176. In this manner, each of the plurality of registers in the memory 176 will always contain the address of the next microinstruction stored in the instruction memory 178 to be executed in accordance with the particular task to be serviced.

A portion of the twenty-two bit instruction field of each microinstruction may be dedicated to various special functions, some of which are applied on control lines 188 to respective ones of the I/O controllers 22, 26 and 36 for controlling same, and some of which are applied on control lines 190 to address modifier circuits 192 for branching. In accordance with the preferred embodiment, there is a four-bit special function "sub-field" in the instruction field of each microinstruction, wherein two of the sixteen four-bit codes capable of being defined are respectively representative of "TASK" and "BLOCK" functions. A TASK signal component of an accessed instruction, upon being decoded by an appropriate one of the decoders 160, is applied on a line 194 to the current task register register 172 for enabling the register to load an address signal, representing the current highest priority task requesting service. This address signal is then applied to the address memory 176. A decoded BLOCK signal is applied on another line 194 to the current task register 172 for disabling same.

The multi-bit address signal developed at the output of the current task register 172, in addition to being applied to the address memory 176 on lines 174, is also applied on lines 196 to a task-active decoder 198. The decoder 198 responds to the address signal output of the register 172 and generates one of the plurality of TASK-ACTIVE signals alluded to earlier on its respective line 54, dependent upon the current highest priority task to be serviced. The decoder 198 includes a delay circuit for delaying the application of a TASK-ACTIVE signal to the respective I/O controller by one clock cycle of the processor. In this manner, the appropriate TASK-ACTIVE signal will be generated at a time corresponding to the execution of instructions related to the task being serviced.

The control section 14 as shown in FIG. 12 also includes a clock generator 200 for generating appropriate CLOCK signals for application to the current-task register 172 on a line 202, the task-active decoder 198 on a line 204, the address memory 176 on a line 206, and the initialization circuit 170 on a line 208.

Still referring to FIG. 12, the initialization circuit 170 is responsive to a START signal generated when the system is turned on by the operator. Upon receipt of the START signal, conventional circuitry in the circuit 170 causes a RESET signal to be generated which is applied to the priority encoder 158 on line 168, to the current task register 172 on a line 210, to the task-active decoder 198 on a line 212, to the instruction memory 178 on a line 214, to the instruction register 182 and decoders 160 on a line 216, and to the address modifier 192 on a line 218. Upon receipt of a RESET signal, these various components of the control section 14 are reset.

The initialization circuit 170, in response to a START signal, also generates a multi-bit initialization address signal on a respective plurality of lines 220. In a preferred embodiment of the invention, their are sixteen possible tasks and associated registers in address memory 76. Thus, the initialization address signal is a four-bit signal that is initially zero, i.e., 0000, and is incremented by one at the rate of the CLOCK signal pulses applied on line 208. The RESET signal is maintained for sixteen cycles, i.e., sixteen CLOCK signal pulses, at which time the initialization address on lines 220 will increment from zero (0000) to fifteen (1111). The address signal output of the current task register 172 during initialization is identical to the initialization address signal. During initialization, the address signal output of the current task register 172 is applied through an AND-gate 222, which is enabled by a RESET signal from the initialization circuit 170, to the address memory 176. In this manner, the address signal (0000) will be loaded into register number zero in the address memory 176, the address signal one (0001) into register number one, and so on. This process initializes the address memory by setting the various registers therein at their respective starting values.

Further details of the preferred CPU control section 14, if desired, may be obtained through a review of of the manual entitled "ALTO: A Personal Computer System Hardware Manual", January, 1979 available from Xerox Corporation, 3333 Coyote Hill Road, Palo Alto, CA 94304 as well as U.S. Pat. No. 4,103,330.

Referring now to FIG. 13, the data section 12 of the CPU 10 preferably includes a number of 16-bit registers, such as a pair of 32 word register files (R register file 224 and S register file 226) and a number of single word registers (T register 228, L register 230, M register 232, memory address register (MAR) 234 and instruction register (IR) 236). The data section 12 also includes an arithmetic logic unit (ALU) 238, a pair of multiplexers 240 and 242, a PROM 244, a shifter 246, a constant memory 248 and a main memory decode and control circuit 250.

As shown in FIG. 13, the multiplexer 242 has a first data input connected to the data bus 38 for receiving data therefrom and a second data input connected to the output of the ALU 238. A control input of the multiplexer 242 is connected to an output of the PROM 244 for controlling the multiplexer in terms of which data input is to be applied at its output. The output of the multiplexer 242 is connected to the T register 228. Load control of the T register is accomplished by a control signal from the control section 14, while the output of the T register 228 is connected to the ALU 238. The ALU 238 is restricted by an output of the PROM 244 into 16 possible arithmetic and logic functions. The PROM 244 is controlled by 4 control lines from the control section 14 of the CPU 10. The output of the ALU 238 is connected to inputs of the L register 230, M register 232 and MAR 234, as well as to the multiplexer 242, as indicated above.

A load control output of the L register 230 is connected to a second input of the M register 232 for controlling the loading of data therein, whereas a second inverted output of the L register 230 is connected to an inverted input of the shifter 246, which is capable of left and right shifts by one place and cycles of eight. Load control of the L register 230 is effected by a load control signal applied from the control section 14. The output of the shifter 246 is connected to an inverted data input of the R register file 224, whereas the output of the M register 232 is connected to an inverted data input of the S register file 226. The outputs of both register files 224 and 226 are connected to the data bus 38. The various functions of the shifter 246 are controlled by control signals from the control section 14. The register files 224 and 226 also receive control signals from the output of the multiplexer 240 and are addressed by address control signals from the control section 14. The multiplexer 240 itself receives various input control signals from the control section 14.

The MAR 234 has its output connected to the memory address bus 80 for applying a 16-bit address signal to the main memory 16. Additionally, this 16-bit address is applied to the decode and control circuit 250 which applies control signals to the main memory 16 on lines 82. These control signals are associated with the manner in which the 16-bit values stored in main memory are transferred over the 32-bit memory data bus 42 to the drivers and parity circuit 40.

The instruction register 236 is used by an emulator microcode routline to hold the current emulated microinstruction. The input of IR 236 is thus connected to the data bus 38, as is a 16-bit output. Additionally, various output bits (1-4) of the 16-bit output are connected on output lines to the multiplexer 240. Lastly, the constant memory 248 is preferably a 256 word by 16-bit PROM that holds arbitrary constants. The constant memory output is connected to the data bus 38 and is addressed by control signals from the control section 14, as shown.

Further details of the preferred data section 12, if desired, may be obtained through a review of of the manual entitled "ALTO: A Personal Computer System Hardward Manual", January, 1979 available from Xerox Corporation, 3333 Coyote Hill Road, Palo Alto, CA 94304, and details of an earlier alternative embodiment may be obtained through a review of U.S. Pat. Nos. 4,103,331 and 4,148,098.

Reference is now had to FIG. 3 where the main memory 16 will be described in more detail. At the outset, it should be noted that memory 16 is preferably an 850 .mu.s error corrected semiconductor memory capable of storing 65,536 16-bit words. A first section 60 of the memory 16 is capable of defining and storing a bit map representation of an image to be displayed on the display device 24, or a "slice" or segment of an image or page to be printed on the ROS printer 30. This slice may be either lengthwise or widthwise in orientation, but is desirably widthwise. In accordance with the preferred embodiment, the resolution capabilities of the printer 30-are significantly greater than that of the display device 24. Accordingly, it is not possible to create an entire bit map for a page to be printed in the bit map data section 60. Consequently, the bit map for a page to be printed is created on a disk in the disk drive 20 and then transferred in widthwise slices, each a predetermined number of bits in length. The slices are transferred to the memory 16 and then to the ROS printer controller 32 one slice at a time, as will be discussed in more detail below.

A second section 62 of the main memory 16 is adapted to store "display control blocks" and "disk command blocks", both referred to generically as "DCB's". The purpose of DCB's will be described below in connection with a description of the display controller 26 and the disk drive controller 22.

A third section 64 of the main memory 16 is adapted to store character font data for a first set of characters, i.e., "small" characters for display. These small display characters preferably comprise Romaji (English alphanumerics), Katakana and Hiragana character sub-sets, wherein each character is desirably defined by a 7.times.7 bit map matrix. Additionally, due to this relative small scale and the degree of complexity of the Kanji character sub-set, a single "dummy" Kanji character comprised of a predetermined 7.times.7 bit map matrix pattern is included in the small display character set (see character numbered 65 in FIG. 6). Desirably, only small display characters are displayed in a first page display area 66 on the display device which is used for page formatting purposes and the like. This concept will be discussed in more detail below relative to FIG. 6.

A fourth storage section 68 of the main memory 16 defines a pair of data buffers 70 and 72 (FIGS. 9-11). The purpose of these data buffers is to receive "strikes" of large display characters from the disk drive