1 .\" $NetBSD: cpu.4,v 1.1 2004/09/22 16:38:26 jkunz Exp $
3 .\" $OpenBSD: cpu.4tbl,v 1.19 2004/04/08 16:17:09 mickey Exp $
5 .\" Copyright (c) 2002 Michael Shalayeff
6 .\" All rights reserved.
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\" notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\" notice, this list of conditions and the following disclaimer in the
15 .\" documentation and/or other materials provided with the distribution.
17 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 .\" IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT,
21 .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23 .\" SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
25 .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
26 .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27 .\" THE POSSIBILITY OF SUCH DAMAGE.
36 .Cd "cpu* at mainbus0 irq 31"
38 The following table lists the
40 CPU types and their characteristics, such as TLB, maximum
43 machines they were used in (see also
45 for the reverse list).
55 CPU:PA:Clock:Caches:TLB:BTLB:Models
58 7000:1.1a:66 : 256 L1I:96I:4 I:705,710,720
59 : : : 256 L1D:96D:4 D:730,750
60 7100:1.1b:100:1024 L1I:120:16:715/33/50/75
61 : : :2048 L1D: : :725/50/75
62 : : : : : :{735,755}/100
63 : : : : : :742i, 745i, 747i
64 7150:1.1b:125:1024 L1I:120:16:{735,755}/125
66 7100LC:1.1c:100: 1 L1I:64:8:712/60/80/100
67 : : :1024 L2I: : :715/64/80/100
68 : : :1024 L2D: : :715/100XC
72 7200:1.1d:140: 2 L1 :120:16:C100,C110
73 : : :1024 L2I: : :J200,J210
75 7300LC:1.1e:180: 64 L1I:96:8:A180,A180C
76 : : : 64 L1D: : :B132,B160,B180
77 : : :8192 L2: : :C132L,C160L
78 : : : : : :744, 745, 748
79 : : : : : :RDI PrecisioBook
82 .Sh FLOATING-POINT COPROCESSOR
83 The following table summarizes available floating-point coprocessor
96 Sterling I MIU (TYCO):
97 Sterling I MIU (ROC w/Weitek):
108 .Sh SUPERSCALAR EXECUTION
109 The following table summarizes the superscalar execution capabilities
121 7100:1 integer ALU:load-store/fp
124 7100LC:2 integer ALU:load-store/int
128 7200:2 integer ALU:load-store/int
133 7300LC:2 integer ALU:load-store/int
140 In conclusion, all of the above CPUs are dual-issue, or 2-way superscalar,
141 with the exception that on CPUs with two integer ALUs only one of these
142 units is capable of doing shift, load/store, and test operations.
143 Additionally, there are several kinds of restrictions placed upon the
144 superscalar execution:
146 For the purpose of showing which instructions are allowed to proceed
147 together through the pipeline, they are divided into classes:
156 flop:floating point operation
157 ldst:loads and stores
159 mm:shifts, extracts and deposits
160 nul:might nullify successor
163 fsys:FTEST and FP status/exception
164 sys:system control instructions
168 For CPUs with two integer ALUs (7100LC, 7200, 7300LC), the following
169 table lists the instructions which are allowed to be executed
178 First:Second instruction
179 flop: + ldst/flex/mm/nul/bv/br
180 ldst: + flop/flex/mm/nul/br
181 flex: + flop/ldst/flex/mm/nul/br/fsys
182 mm: + flop/ldst/flex/fsys
188 ldst + ldst is also possible under certain circumstances, which is then
189 called "double word load/store".
191 The following restrictions are placed upon the superscalar execution:
195 An instruction that modifies a register will not be bundled with another
196 instruction that takes this register as operand.
197 Exception: a flop can be bundled with an FP store of the flop's result register.
199 An FP load to one word of a doubleword register will not be bundled with
200 a flop that uses the other doubleword of this register.
202 A flop will not be bundled with an FP load if both instructions have the
203 same target register.
205 An instruction that could set the carry/borrow bits will not be bundled
206 with an instruction that uses
209 An instruction which is in the delay slot of a branch is never bundled
210 with other instructions.
212 An instruction which is at an odd word address and executed as a target
213 of a taken branch is never bundled.
215 An instruction which might nullify its successor is never bundled with
217 Only if the successor is a flop instruction is this bundle allowed.
219 .Sh PERFORMANCE MONITOR COPROCESSOR
220 The performance monitor coprocessor is an optional,
221 implementation-dependent coprocessor which provides a minimal common
222 software interface to implementation-dependent performance monitor hardware.
223 .Sh DEBUG SPECIAL UNIT
224 The debug special function unit is an optional,
225 architected SFU which provides hardware assistance for software debugging
227 The debug SFU is currently defined only for Level 0 processors.
234 .Pa http://www.openpa.net/
236 .%T PA-RISC 1.1 Architecture and Instruction Set Reference Manual
244 .%N Public version 1.0
247 .%T Design of the PA7200 CPU
248 .%A Hewlett-Packard Journal
260 driver was written by
261 .An Michael Shalayeff Aq mickey@openbsd.org
262 for the HPPA port for