xref: /openbsd/share/man/man4/man4.hppa/cpu.4 (revision 4bdff4be)
1.\" $OpenBSD: cpu.4,v 1.1 2022/07/11 03:11:49 daniel Exp $
2.\"
3.\" Copyright (c) 2002 Michael Shalayeff
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18.\" IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT,
19.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21.\" SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
25.\" THE POSSIBILITY OF SUCH DAMAGE.
26.\"
27.Dd $Mdocdate: July 11 2022 $
28.Dt CPU 4 hppa
29.Os
30.Sh NAME
31.Nm cpu
32.Nd HP PA-RISC CPU
33.Sh SYNOPSIS
34.Cd "cpu*       at mainbus0 irq 31"
35.Sh DESCRIPTION
36The following table lists the
37.Tn PA-RISC
38CPU types and their characteristics, such as TLB, maximum
39cache sizes (where the
40.Sq *
41character means on-chip) and
42.Tn HP 9000/700
43machines they were used in (see also
44.Xr intro 4
45for the reverse list).
46.Bl -column "7100LC" "1.1e" "MHz max" "2048 L1D*" "TLB" "BAT" "C3650, C3700, C3750"
47.It Sy CPU Ta Sy PA Ta Sy Clock Ta Sy Caches Ta Sy TLB Ta Sy BAT Ta Sy Models
48.It Ta Ta MHz max Ta KB max Ta Ta Ta ""
49.It 7000 Ta 1.1a Ta 66 Ta 256 L1I Ta 96I Ta 4I Ta 705, 710, 720
50.It Ta Ta Ta 256 L1D Ta 96D Ta 4D Ta 730, 750
51.It 7100 Ta 1.1b Ta 100 Ta 1024 L1I Ta 120 Ta 16 Ta 715/33/50/75
52.It Ta Ta Ta 2048 L1D Ta Ta Ta 725/50/75
53.It Ta Ta Ta Ta Ta Ta {735,755}/100
54.It Ta Ta Ta Ta Ta Ta 742i, 745i, 747i
55.It 7150 Ta 1.1b Ta 125 Ta 1024 L1I Ta 120 Ta 16 Ta 735/125, 755/125
56.It Ta Ta Ta 2048 L1D Ta Ta Ta ""
57.It 7100LC Ta 1.1c Ta 100 Ta 1 L1I* Ta 64 Ta 8 Ta 712/60/80/100
58.It Ta Ta Ta 1024 L2I Ta Ta Ta 715/64/80/100
59.It Ta Ta Ta 1024 L2D Ta Ta Ta 715/100XC
60.It Ta Ta Ta Ta Ta Ta 725/64/100
61.It Ta Ta Ta Ta Ta Ta 743i, 748i
62.It Ta Ta Ta Ta Ta Ta SAIC
63.It 7200 Ta 1.1d Ta 140 Ta 2 L1* Ta 120 Ta 16 Ta C100, C110
64.It Ta Ta Ta 1024 L2I Ta Ta Ta J200, J210
65.It Ta Ta Ta 1024 L2D Ta Ta Ta ""
66.It 7300LC Ta 1.1e Ta 180 Ta 64 L1I* Ta 96 Ta 8 Ta A180, A180C
67.It Ta Ta Ta 64 L1D* Ta Ta Ta B132, B160, B180
68.It Ta Ta Ta 8192 L2 Ta Ta Ta C132L, C160L
69.It Ta Ta Ta Ta Ta Ta 744, 745, 748
70.It Ta Ta Ta Ta Ta Ta RDI PrecisionBook
71.It 8000 Ta 2.0 Ta 180 Ta 1024 L1I Ta 96 Ta Ta C160, C180
72.It Ta Ta Ta 1024 L1D Ta Ta Ta J280, J282
73.It 8200 Ta 2.0 Ta 300 Ta 2048 L1I Ta 120 Ta Ta C200, C240
74.It Ta Ta Ta 2048 L1D Ta Ta Ta J2240
75.It 8500 Ta 2.0 Ta 440 Ta 512 L1I* Ta 160 Ta Ta A400, A500, C360
76.It Ta Ta Ta 1024 L1D* Ta Ta Ta B1000, B2000, C3000
77.It Ta Ta Ta Ta Ta Ta J5000, J7000
78.It 8600 Ta 2.0 Ta 550 Ta 512 L1I* Ta 160 Ta Ta A400, A500, C3600
79.It Ta Ta Ta 1024 L1D* Ta Ta Ta B2000, B2600
80.It Ta Ta Ta Ta Ta Ta J5600, J6000, J7600
81.It 8700 Ta 2.0 Ta 875 Ta 768 L1I* Ta 240 Ta Ta A400, A500, J6700
82.It Ta Ta Ta 1536 L1D* Ta Ta Ta C3650, C3700, C3750
83.El
84.Sh FLOATING-POINT COPROCESSOR
85The following table summarizes available floating-point coprocessor
86models for the 32-bit
87.Tn PA-RISC
88processors.
89.Bl -column "Sterling I MIU (ROC w/Weitek)" "712/60/80/100"
90.It Sy FPU Ta Sy Model
91.It Indigo Ta ""
92.It Sterling I MIU (TYCO) Ta ""
93.It Sterling I MIU (ROC w/Weitek) Ta ""
94.It FPC (w/Weitek) Ta ""
95.It FPC (w/Bit) Ta ""
96.It Timex-II Ta ""
97.It Rolex Ta 725/50, 745i
98.It HARP-I Ta ""
99.It Tornado Ta J2x0,C1x0
100.It PA-50 (Hitachi) Ta ""
101.It PCXL Ta 712/60/80/100
102.El
103.Sh SUPERSCALAR EXECUTION
104The following table summarizes the superscalar execution capabilities
105of 32-bit
106.Tn PA-RISC
107processors.
108.Bl -column "7100LC" "2 integer ALU" "4-way superscalar"
109.It Sy CPU Ta Sy Units Ta Sy Bundles
110.It 7100 Ta 1 integer ALU Ta load-store/fp
111.It Ta 1 FP Ta int/fp
112.It Ta Ta branch/*
113.It 7100LC Ta 2 integer ALU Ta load-store/int
114.It Ta 1 FP Ta load-store/fp
115.It Ta Ta int/fp
116.It Ta Ta branch/*
117.It 7200 Ta 2 integer ALU Ta load-store/int
118.It Ta 1 FP Ta load-store/fp
119.It Ta Ta int/int
120.It Ta Ta int/fp
121.It Ta Ta branch/*
122.It 7300LC Ta 2 integer ALU Ta load-store/int
123.It Ta 1 FP Ta load-store/fp
124.It Ta Ta int/fp
125.It Ta Ta branch/*
126.It 8x00 Ta 2 integer ALU Ta 4-way superscalar
127.It Ta 2 shift/merge Ta ""
128.It Ta 2 load/store Ta ""
129.It Ta 2 FPU mul/add Ta ""
130.It Ta 2 FPU div/sqrt Ta ""
131.El
132.Pp
133In conclusion, all of the above CPUs are dual-issue, or 2-way superscalar,
134with the exception that on CPUs with two integer ALUs only one of these
135units is capable of doing shift, load/store and test operations.
136Additionally, there are several kinds of restrictions placed upon the
137superscalar execution:
138.Pp
139For the purpose of showing which instructions are allowed to proceed
140together through the pipeline, they are divided into classes:
141.Bl -column "fsys" "FTEST and FP status/exception"
142.It Sy Class Ta Sy Description
143.It flop Ta floating point operation
144.It ldst Ta loads and stores
145.It flex Ta integer ALU
146.It mm Ta shifts, extracts and deposits
147.It nul Ta might nullify successor
148.It bv Ta BV, BE
149.It br Ta other branches
150.It fsys Ta FTEST and FP status/exception
151.It sys Ta system control instructions
152.El
153.Pp
154For CPUs with two integer ALUs (7100LC, 7200, 7300LC), the following
155table lists the instructions which are allowed to be executed
156concurrently:
157.Bl -column "flex" "flop/ldst/flex/mm/nul/br/fsys"
158.It Sy First Ta Sy Second instruction
159.It flop Ta + ldst/flex/mm/nul/bv/br
160.It ldst Ta + flop/flex/mm/nul/br
161.It flex Ta + flop/ldst/flex/mm/nul/br/fsys
162.It mm Ta + flop/ldst/flex/fsys
163.It nul Ta + flop
164.It sys Ta never bundled
165.El
166.Pp
167ldst + ldst is also possible under certain circumstances, which is then
168called "double word load/store".
169.Pp
170The following restrictions are placed upon the superscalar execution:
171.Pp
172.Bl -bullet -compact
173.It
174An instruction that modifies a register will not be bundled with another
175instruction that takes this register as operand.
176Exception: a flop can be bundled with an FP store of the flop's result register.
177.It
178An FP load to one word of a doubleword register will not be bundled with
179a flop that uses the other doubleword of this register.
180.It
181A flop will not be bundled with an FP load if both instructions have the
182same target register.
183.It
184An instruction that could set the carry/borrow bits will not be bundled
185with an instruction that uses
186carry/borrow bits.
187.It
188An instruction which is in the delay slot of a branch is never bundled
189with other instructions.
190.It
191An instruction which is at an odd word address and executed as a target
192of a taken branch is never bundled.
193.It
194An instruction which might nullify its successor is never bundled with
195this successor.
196Only if the successor is a flop instruction is this bundle allowed.
197.El
198.Sh PERFORMANCE MONITOR COPROCESSOR
199The performance monitor coprocessor is an optional,
200implementation-dependent coprocessor which provides a minimal common
201software interface to implementation-dependent performance monitor hardware.
202.Sh DEBUG SPECIAL UNIT
203The debug special function unit is an optional,
204architected SFU which provides hardware assistance for software debugging
205using breakpoints.
206The debug SFU is currently defined only for Level 0 processors.
207.Sh SEE ALSO
208.Xr asp 4 ,
209.Xr intro 4 ,
210.Xr lasi 4 ,
211.Xr mem 4 ,
212.Xr pdc 4 ,
213.Xr wax 4
214.Rs
215.%T PA-RISC 1.1 Architecture and Instruction Set Reference Manual
216.%A Hewlett-Packard
217.%D May 15, 1996
218.Re
219.Rs
220.%T PA7100LC ERS
221.%A Hewlett-Packard
222.%D March 30 1999
223.%N Public version 1.0
224.Re
225.Rs
226.%T Design of the PA7200 CPU
227.%A Hewlett-Packard Journal
228.%D February 1996
229.Re
230.Rs
231.%T PA7300LC ERS
232.%A Hewlett-Packard
233.%D March 18 1996
234.%N Version 1.0
235.Re
236.Sh HISTORY
237The
238.Nm
239driver was written by
240.An Michael Shalayeff Aq Mt mickey@openbsd.org
241for the HPPA
242port for
243.Ox 2.5 .
244