You are on page 1of 43

Computer Organization and Design

MIPS Edition 5th Edition Patterson


Solutions Manual
Visit to download the full and correct content document: https://testbankdeal.com/dow
nload/computer-organization-and-design-mips-edition-5th-edition-patterson-solutions-
manual/
4
Solutions
Chapter 4 Solutions S-3

4.1
4.1.1 The values of the signals are as follows:
RegWrite MemRead ALUMux MemWrite ALUop RegMux Branch
0 0 1 (Imm) 1 ADD X 0

ALUMux is the control signal that controls the Mux at the ALU input, 0 (Reg)
selects the output of the register file, and 1 (Imm) selects the immediate
from the instruction word as the second input to the ALU.
RegMux is the control signal that controls the Mux at the Data input to the
register file, 0 (ALU) selects the output of the ALU, and 1 (Mem) selects the
output of memory.
A value of X is a “don’t care” (does not matter if signal is 0 or 1)
4.1.2 All except branch Add unit and write port of the Registers
4.1.3 Outputs that are not used: Branch Add, write port of Registers
No outputs: None (all units produce outputs)
4.2
4.2.1 This instruction uses instruction memory, both register read ports, the ALU
to add Rd and Rs together, data memory, and write port in Registers.
4.2.2 None. This instruction can be implemented using existing blocks.
4.2.3 None. This instruction can be implemented without adding new control
signals. It only requires changes in the Control logic.
4.3
4.3.1 Clock cycle time is determined by the critical path, which for the given
latencies happens to be to get the data value for the load instruction: I-Mem
(read instruction), Regs (takes longer than Control), Mux (select ALU
input), ALU, Data Memory, and Mux (select value from memory to be
written into Registers). The latency of this path is 400 ps  200 ps  30 ps
 120 ps  350 ps  30 ps  1130 ps. 1430 ps (1130 ps  300 ps, ALU is
on the critical path).
4.3.2 The speedup comes from changes in clock cycle time and changes to the
number of clock cycles we need for the program: We need 5% fewer cycles
for a program, but cycle time is 1430 instead of 1130, so we have a speedup
of (1/0.95)*(1130/1430)  0.83, which means we actually have a slowdown.
S-4 Chapter 4 Solutions

4.3.3 The cost is always the total cost of all components (not just those on the
critical path, so the original processor has a cost of I-Mem, Regs, Control,
ALU, D-Mem, 2 Add units and 3 Mux units, for a total cost of 1000  200
 500  100  2000  2*30  3*10  3890.
We will compute cost relative to this baseline. The performance relative
to this baseline is the speedup we previously computed, and our cost/
performance relative to the baseline is as follows:
New Cost: 3890  600  4490
Relative Cost: 4490/3890  1.15
Cost/Performance: 1.15/0.83  1.39. We are paying significantly more for
significantly worse performance; the cost/performance is a lot worse than
with the unmodified processor.

4.4
4.4.1 I-Mem takes longer than the Add unit, so the clock cycle time is equal to
the latency of the I-Mem:
200 ps
4.4.2 The critical path for this instruction is through the instruction memory,
Sign-extend and Shift-left-2 to get the offset, Add unit to compute the
new PC, and Mux to select that value instead of PC4. Note that the path
through the other Add unit is shorter, because the latency of I-Mem is
longer that the latency of the Add unit. We have:
200 ps  15 ps  10 ps  70 ps  20 ps  315 ps
4.4.3 Conditional branches have the same long-latency path that computes the
branch address as unconditional branches do. Additionally, they have a long-
latency path that goes through Registers, Mux, and ALU to compute the PCSrc
condition. The critical path is the longer of the two, and the path through PCSrc
is longer for these latencies:
200 ps  90 ps  20 ps  90 ps  20 ps  420 ps
4.4.4 PC-relative branches.
4.4.5 PC-relative unconditional branch instructions. We saw in part c that this
is not on the critical path of conditional branches, and it is only needed for
PC-relative branches. Note that MIPS does not have actual unconditional
branches (bne zero,zero,Label plays that role so there is no need for
unconditional branch opcodes) so for MIPS the answer to this question is
actually “None”.
4.4.6 Of the two instructions (BNE and ADD), BNE has a longer critical path so
it determines the clock cycle time. Note that every path for ADD is shorter
than or equal to the corresponding path for BNE, so changes in unit latency
Chapter 4 Solutions S-5

will not affect this. As a result, we focus on how the unit’s latency affects the
critical path of BNE.
This unit is not on the critical path, so the only way for this unit to become
critical is to increase its latency until the path for address computation
through sign extend, shift left, and branch add becomes longer than the
path for PCSrc through registers, Mux, and ALU. The latency of Regs, Mux,
and ALU is 200 ps and the latency of Sign-extend, Shift-left-2, and Add is
95 ps, so the latency of Shift-left-2 must be increased by 105 ps or more for
it to affect clock cycle time.
4.5
4.5.1 The data memory is used by LW and SW instructions, so the answer is:
25%  10%  35%
4.5.2 The sign-extend circuit is actually computing a result in every cycle, but its
output is ignored for ADD and NOT instructions. The input of the sign-
extend circuit is needed for ADDI (to provide the immediate ALU operand),
BEQ (to provide the PC-relative offset), and LW and SW (to provide the
offset used in addressing memory) so the answer is:
20%  25%  25%  10%  80%
4.6
4.6.1 To test for a stuck-at-0 fault on a wire, we need an instruction that puts that
wire to a value of 1 and has a different result if the value on the wire is stuck
at zero:
If this signal is stuck at zero, an instruction that writes to an odd-numbered
register will end up writing to the even-numbered register. So if we place
a value of zero in R30 and a value of 1 in R31, and then execute ADD
R31,R30,R30 the value of R31 is supposed to be zero. If bit 0 of the Write
Register input to the Registers unit is stuck at zero, the value is written to
R30 instead and R31 will be 1.
4.6.2 The test for stuck-at-zero requires an instruction that sets the signal to 1,
and the test for stuck-at-1 requires an instruction that sets the signal to 0.
Because the signal cannot be both 0 and 1 in the same cycle, we cannot test
the same signal simultaneously for stuck-at-0 and stuck-at-1 using only one
instruction. The test for stuck-at-1 is analogous to the stuck-at-0 test:
We can place a value of zero in R31 and a value of 1 in R30, then use ADD
R30,R31,R31 which is supposed to place 0 in R30. If this signal is stuck-at-1,
the write goes to R31 instead, so the value in R30 remains 1.
4.6.3 We need to rewrite the program to use only odd-numbered registers.
4.6.4 To test for this fault, we need an instruction whose MemRead is 1, so it has
to be a load. The instruction also needs to have RegDst set to 0, which is
the case for loads. Finally, the instruction needs to have a different result if
S-6 Chapter 4 Solutions

MemRead is set to 0. For a load, MemRead0 result in not reading memory,


so the value placed in the register is “random” (whatever happened to be at
the output of the memory unit). Unfortunately, this “random” value can be
the same as the one already in the register, so this test is not conclusive.
4.6.5 To test for this fault, we need an instruction whose Jump is 1, so it has to be
the jump instruction. However, for the jump instruction the RegDst signal is
“don’t care” because it does not write to any registers, so the implementation
may or may not allow us to set RegDst to 0 so we can test for this fault. As a
result, we cannot reliably test for this fault.
4.7
4.7.1
Sign-extend Jump’s shift-left-2
00000000000000000000000000010100 0001100010000000000001010000

4.7.2
ALUOp[1-0] Instruction[5-0]
00 010100

4.7.3
New PC Path
PC4 PC to Add (PC4) to branch Mux to jump Mux to PC

4.7.4
WrReg Mux ALU Mux Mem/ALU Mux Branch Mux Jump Mux
2 or 0 (RegDst is X) 20 X PC4 PC4

4.7.5
ALU Add (PC4) Add (Branch)
-3 and 20 PC and 4 PC4 and 20*4

4.7.6
Read Register 1 Read Register 2 Write Register Write Data RegWrite

4.8
4.8.1
Pipelined Single-cycle
350 ps 1250 ps

4.8.2
Pipelined Single-cycle
1750 ps 1250 ps

4.8.3
Stage to split New clock cycle time
ID 300 ps
Chapter 4 Solutions S-7

4.8.4
a. 35%

4.8.5
a. 65%

4.8.6 We already computed clock cycle times for pipelined and single cycle
organizations, and the multi-cycle organization has the same clock cycle
time as the pipelined organization. We will compute execution times
relative to the pipelined organization. In single-cycle, every instruction
takes one (long) clock cycle. In pipelined, a long-running program with
no pipeline stalls completes one instruction in every cycle. Finally, a multi-
cycle organization completes a LW in 5 cycles, a SW in 4 cycles (no WB), an
ALU instruction in 4 cycles (no MEM), and a BEQ in 4 cycles (no WB). So
we have the speedup of pipeline

Multi-cycle execution time is X


times pipelined execution time, Single-cycle execution time is X times
where X is: pipelined execution time, where X is:
a. 0.20*50.80*44.20 1250 ps/350 ps3.57

4.9
4.9.1
Instruction sequence Dependences
I1: OR R1,R2,R3 RAW on R1 from I1 to I2 and I3
I2: OR R2,R1,R4 RAW on R2 from I2 to I3
I3: OR R1,R1,R2 WAR on R2 from I1 to I2
WAR on R1 from I2 to I3
WAW on R1 from I1 to I3

4.9.2 In the basic five-stage pipeline WAR and WAW dependences do not cause
any hazards. Without forwarding, any RAW dependence between an
instruction and the next two instructions (if register read happens in the
second half of the clock cycle and the register write happens in the first
half). The code that eliminates these hazards by inserting NOP instructions
is:
Instruction sequence
OR R1,R2,R3
NOP Delay I2 to avoid RAW hazard on R1 from I1
NOP
OR R2,R1,R4
NOP Delay I3 to avoid RAW hazard on R2 from I2
NOP
OR R1,R1,R2
S-8 Chapter 4 Solutions

4.9.3 With full forwarding, an ALU instruction can forward a value to EX stage
of the next instruction without a hazard. However, a load cannot forward
to the EX stage of the next instruction (by can to the instruction after that).
The code that eliminates these hazards by inserting NOP instructions is:
Instruction sequence
OR R1,R2,R3
OR R2,R1,R4 No RAW hazard on R1 from I1 (forwarded)
OR R1,R1,R2 No RAW hazard on R2 from I2 (forwarded)

4.9.4 The total execution time is the clock cycle time times the number of cycles.
Without any stalls, a three-instruction sequence executes in 7 cycles (5 to
complete the first instruction, then one per instruction). The execution
without forwarding must add a stall for every NOP we had in 4.9.2, and
execution forwarding must add a stall cycle for every NOP we had in 4.9.3.
Overall, we get:
No forwarding With forwarding Speedup due to forwarding
(7  4)*180 ps  1980 ps 7*240 ps  1680 ps 1.18

4.9.5 With ALU-ALU-only forwarding, an ALU instruction can forward to the


next instruction, but not to the second-next instruction (because that would
be forwarding from MEM to EX). A load cannot forward at all, because it
determines the data value in MEM stage, when it is too late for ALU-ALU
forwarding. We have:

Instruction sequence
OR R1,R2,R3
OR R2,R1,R4 ALU-ALU forwarding of R1 from I1
OR R1,R1,R2 ALU-ALU forwarding of R2 from I2

4.9.6
Speedup with ALU-ALU
No forwarding With ALU-ALU forwarding only forwarding
(7  4)*180 ps  1980 ps 7*210 ps  1470 ps 1.35

4.10
4.10.1 In the pipelined execution shown below, *** represents a stall when an
instruction cannot be fetched because a load or store instruction is using
the memory in that cycle. Cycles are represented from left to right, and for
each instruction we show the pipeline stage it is in during that cycle:
Instruction Pipeline Stage Cycles
SW R16,12(R6) IF ID EX MEM WB 11
LW R16,8(R6) IF ED EX MEM WB
BEQ R5,R4,Lbl IF ID EX MEM WB
ADD R5,R1,R4 *** *** IF ID EX MEM WB
SLT R5,R15,R4 IF ID EX MEM WB
Chapter 4 Solutions S-9

We can not add NOPs to the code to eliminate this hazard – NOPs need to
be fetched just like any other instructions, so this hazard must be addressed
with a hardware hazard detection unit in the processor.
4.10.2 This change only saves one cycle in an entire execution without data
hazards (such as the one given). This cycle is saved because the last
instruction finishes one cycle earlier (one less stage to go through). If there
were data hazards from loads to other instructions, the change would help
eliminate some stall cycles.

Instructions Executed Cycles with 5 stages Cycles with 4 stages Speedup


5 459 358 9/8  1.13

4.10.3 Stall-on-branch delays the fetch of the next instruction until the branch
is executed. When branches execute in the EXE stage, each branch causes
two stall cycles. When branches execute in the ID stage, each branch only
causes one stall cycle. Without branch stalls (e.g., with perfect branch
prediction) there are no stalls, and the execution time is 4 plus the number
of executed instructions. We have:

Instructions Branches Cycles with branch Cycles with branch


Executed Executed in EXE in ID Speedup
5 1 4  5  1*2  11 4  5  1*1  10 11/10  1.10

4.10.4 The number of cycles for the (normal) 5-stage and the (combined EX/
MEM) 4-stage pipeline is already computed in 4.10.2. The clock cycle
time is equal to the latency of the longest-latency stage. Combining EX
and MEM stages affects clock time only if the combined EX/MEM stage
becomes the longest-latency stage:
Cycle time with 5 stages Cycle time with 4 stages Speedup
200 ps (IF) 210 ps (MEM  20 ps) (9*200)/(8*210)  1.07

4.10.5
New ID New cycle Old cycle
latency New EX latency time time Speedup
180 ps 140 ps 200 ps (IF) 200 ps (IF) (11*200)/(10*200)  1.10

4.10.6 The cycle time remains unchanged: a 20 ps reduction in EX latency has


no effect on clock cycle time because EX is not the longest-latency stage.
The change does affect execution time because it adds one additional stall
cycle to each branch. Because the clock cycle time does not improve but
S-10 Chapter 4 Solutions

the number of cycles increases, the speedup from this change will be below
1 (a slowdown). In 4.10.3 we already computed the number of cycles when
branch is in EX stage. We have:

Cycles with Execution time Cycles with Execution time


branch in EX (branch in EX) branch in MEM (branch in MEM) Speedup
a. 45 11*200 ps  45 12*200 ps  2400 ps 0.92
1*2  11 2200 ps 1*3  12

4.11
4.11.1
LW R1,0(R1) WB
LW R1,0(R1) EX MEM WB
BEQ R1,R0,Loop ID *** EX MEM WB
LW R1,0(R1) IF *** ID EX MEM WB
AND R1,R1,R2 IF ID *** EX MEM WB
LW R1,0(R1) IF *** ID EX MEM
LW R1,0(R1) IF ID ***
BEQ R1,R0,Loop IF ***

4.11.2 In a particular clock cycle, a pipeline stage is not doing useful work if it
is stalled or if the instruction going through that stage is not doing any
useful work there. In the pipeline execution diagram from 4.11.1, a stage
is stalled if its name is not shown for a particular cycles, and stages in
which the particular instruction is not doing useful work are marked in
blue. Note that a BEQ instruction is doing useful work in the MEM stage,
because it is determining the correct value of the next instruction’s PC in
that stage. We have:
Cycles per loop Cycles in which all stages % of cycles in which all stages
iteration do useful work do useful work
8 0 0%

4.12
4.12.1 Dependences to the 1st next instruction result in 2 stall cycles, and the stall
is also 2 cycles if the dependence is to both 1st and 2nd next instruction.
Dependences to only the 2nd next instruction result in one stall cycle. We
have:
CPI Stall Cycles
1  0.35*2  0.15*1  1.85 46% (0.85/1.85)

4.12.2 With full forwarding, the only RAW data dependences that cause stalls are
those from the MEM stage of one instruction to the 1st next instruction.
Even this dependences causes only one stall cycle, so we have:
CPI Stall Cycles
1  0.20  1.20 17% (0.20/1.20)
Chapter 4 Solutions S-11

4.12.3 With forwarding only from the EX/MEM register, EX to 1st dependences
can be satisfied without stalls but any other dependences (even when
together with EX to 1st) incur a one-cycle stall. With forwarding only from
the MEM/WB register, EX to 2nd dependences incur no stalls. MEM to 1st
dependences still incur a one-cycle stall, and EX to 1st dependences now
incur one stall cycle because we must wait for the instruction to complete
the MEM stage to be able to forward to the next instruction. We compute
stall cycles per instructions for each case as follows:
EX/MEM MEM/WB Fewer stall cycles with
0.2  0.05  0.1  0.1  0.45 0.05  0.2  0.1  0.35 MEM/WB

4.12.4 In 4.12.1 and 4.12.2 we have already computed the CPI without forwarding
and with full forwarding. Now we compute time per instruction by taking
into account the clock cycle time:
Without forwarding With forwarding Speedup
1.85*150 ps  277.5 ps 1.20*150 ps  180 ps 1.54

4.12.5 We already computed the time per instruction for full forwarding in
4.12.4. Now we compute time-per instruction with time-travel forwarding
and the speedup over full forwarding:
With full forwarding Time-travel forwarding Speedup
1.20*150 ps  180 ps 1*250 ps  250 ps 0.72

4.12.6
EX/MEM MEM/WB Shorter time per instruction with
1.45*150 ps  217.5 1.35*150 ps  202.5 ps MEM/WB

4.13
4.13.1
ADD R5,R2,R1
NOP
NOP
LW R3,4(R5)
LW R2,0(R2)
NOP
OR R3,R5,R3
NOP
NOP
SW R3,0(R5)
S-12 Chapter 4 Solutions

4.13.2 We can move up an instruction by swapping its place with another


instruction that has no dependences with it, so we can try to fill some
NOP slots with such instructions. We can also use R7 to eliminate WAW
or WAR dependences so we can have more instructions to move up.
I1: ADD R5,R2,R1
I3: LW R2,0(R2) Moved up to fill NOP slot
NOP
I2: LW R3,4(R5)
NOP Had to add another NOP here,
NOP so there is no performance gain
I4: OR R3,R5,R3
NOP
NOP
I5: SW R3,0(R5)

4.13.3 With forwarding, the hazard detection unit is still needed because it must
insert a one-cycle stall whenever the load supplies a value to the instruction
that immediately follows that load. Without the hazard detection unit, the
instruction that depends on the immediately preceding load gets the stale
value the register had before the load instruction.
Code executes correctly (for both loads, there is no RAW dependence between the load and the
next instruction).

4.13.4 The outputs of the hazard detection unit are PCWrite, IF/IDWrite, and
ID/EXZero (which controls the Mux after the output of the Control
unit). Note that IF/IDWrite is always equal to PCWrite, and ED/ExZero
is always the opposite of PCWrite. As a result, we will only show the value
of PCWrite for each cycle. The outputs of the forwarding unit is ALUin1
and ALUin2, which control Muxes that select the first and second input
of the ALU. The three possible values for ALUin1 or ALUin2 are 0 (no
forwarding), 1 (forward ALU output from previous instruction), or 2
(forward data value for second-previous instruction). We have:

First five cycles


Instruction sequence 1 2 3 4 5 Signals
ADD R5,R2,R1 IF ID EX MEM WB 1: PCWrite=1, ALUin1=X, ALUin2=X
LW R3,4(R5) IF ID EX MEM 2: PCWrite=1, ALUin1=X, ALUin2=X
LW R2,0(R2) IF ID EX 3: PCWrite=1, ALUin1=0, ALUin2=0
OR R3,R5,R3 IF ID 4: PCWrite=1, ALUin1=1, ALUin2=0
SW R3,0(R5) IF 5: PCWrite=1, ALUin1=0, ALUin2=0

4.13.5 The instruction that is currently in the ID stage needs to be stalled if it


depends on a value produced by the instruction in the EX or the instruction
in the MEM stage. So we need to check the destination register of these two
instructions. For the instruction in the EX stage, we need to check Rd for
R-type instructions and Rd for loads. For the instruction in the MEM stage,
the destination register is already selected (by the Mux in the EX stage) so we
need to check that register number (this is the bottommost output of the EX/
MEM pipeline register). The additional inputs to the hazard detection unit
Chapter 4 Solutions S-13

are register Rd from the ID/EX pipeline register and the output number of
the output register from the EX/MEM pipeline register. The Rt field from the
ID/EX register is already an input of the hazard detection unit in Figure 4.60.
No additional outputs are needed. We can stall the pipeline using the three
output signals that we already have.
4.13.6 As explained for part e, we only need to specify the value of the PCWrite
signal, because IF/IDWrite is equal to PCWrite and the ID/EXzero signal
is its opposite.We have:

First five cycles


Instruction sequence 1 2 3 4 5 Signals
ADD R5,R2,R1 IF ID EX MEM WB 1: PCWrite=1
LW R3,4(R5) IF ID *** *** 2: PCWrite=1
LW R2,0(R2) IF *** *** 3: PCWrite=1
OR R3,R5,R3 *** 4: PCWrite=0
SW R3,0(R5) 5: PCWrite=0

4.14
4.14.1
Pipeline Cycles
Executed Instructions 1 2 3 4 5 6 7 8 9 10 11 12 13 14

LW R2,0(R1) IF ID EX MEM WB
BEQ R2,R0,Label2 (NT) IF ID *** EX MEM WB
LW R3,0(R2) IF ID EX MEM WB
BEQ R3,R0,Label1 (T) IF ID *** EX MEM WB
BEQ R2,R0,Label2 (T) IF *** ID EX MEM WB
SW R1,0(R2) IF ID EX MEM WB

4.14.2
Pipeline Cycles
Executed Instructions 1 2 3 4 5 6 7 8 9 10 11 12 13 14

LW R2,0(R1) IF ID EX MEM WB
BEQ R2,R0,Label2 (NT) IF ID *** EX MEM WB
LW R3,0(R2) IF *** ID EX MEM WB
BEQ R3,R0,Label1 (T) IF ID EX MEM WB
ADD R1,R3,R1 IF ID EX MEM WB
BEQ R2,R0,Label2 (T) IF ID EX MEM WB
LW R3,0(R2) IF ID EX MEM WB
SW R1,0(R2) IF ID EX MEM WB

4.14.3
LW R2,0(R1)
Label1: BEZ R2,Label2 ; Not taken once, then taken
LW R3,0(R2)
BEZ R3,Label1 ; Taken
ADD R1,R3,R1
Label2: SW R1,0(R2)
S-14 Chapter 4 Solutions

4.14.4 The hazard detection logic must detect situations when the branch
depends on the result of the previous R-type instruction, or on the result
of two previous loads. When the branch uses the values of its register
operands in its ID stage, the R-type instruction’s result is still being
generated in the EX stage. Thus we must stall the processor and repeat
the ID stage of the branch in the next cycle. Similarly, if the branch
depends on a load that immediately precedes it, the result of the load
is only generated two cycles after the branch enters the ID stage, so we
must stall the branch for two cycles. Finally, if the branch depends on
a load that is the second-previous instruction, the load is completing
its MEM stage when the branch is in its ID stage, so we must stall the
branch for one cycle. In all three cases, the hazard is a data hazard.
Note that in all three cases we assume that the values of preceding
instructions are forwarded to the ID stage of the branch if possible.
4.14.5 For part a we have already shows the pipeline execution diagram for the
case when branches are executed in the EX stage. The following is the
pipeline diagram when branches are executed in the ID stage, including
new stalls due to data dependences described for part d:

Pipeline Cycles
Executed Instructions 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
LW R2,0(R1) IF ID EX MEM WB
BEQ R2,R0,Label2 (NT) IF *** ***ID EX MEM WB
LW R3,0(R2) IF ID EX MEM WB
BEQ R3,R0,Label1 (T) IF *** *** ID EX MEM WB
BEQ R2,R0,Label2 (T) IF ID EX MEM WB
SW R1,0(R2) IF ID EX MEM WB

Now the speedup can be computed as:


14/15  0.93

4.14.6 Branch instructions are now executed in the ID stage. If the branch
instruction is using a register value produced by the immediately preceding
instruction, as we described for part d the branch must be stalled because
the preceding instruction is in the EX stage when the branch is already
using the stale register values in the ID stage. If the branch in the ID stage
depends on an R-type instruction that is in the MEM stage, we need
forwarding to ensure correct execution of the branch. Similarly, if the
branch in the ID stage depends on an R-type of load instruction in the
WB stage, we need forwarding to ensure correct execution of the branch.
Overall, we need another forwarding unit that takes the same inputs as the
one that forwards to the EX stage. The new forwarding unit should control
two Muxes placed right before the branch comparator. Each Mux selects
between the value read from Registers, the ALU output from the EX/
MEM pipeline register, and the data value from the MEM/WB pipeline
register. The complexity of the new forwarding unit is the same as the
complexity of the existing one.
Chapter 4 Solutions S-15

4.15
4.15.1 Each branch that is not correctly predicted by the always-taken predictor
will cause 3 stall cycles, so we have:
Extra CPI
3*(1 − 0.45)*0.25  0.41

4.15.2 Each branch that is not correctly predicted by the always-not-taken


predictor will cause 3 stall cycles, so we have:
Extra CPI
3*(1 − 0.55)*0.25  0.34

4.15.3 Each branch that is not correctly predicted by the 2-bit predictor will
cause 3 stall cycles, so we have:
Extra CPI
3*(1 − 0.85)*0.25  0.113

4.15.4 Correctly predicted branches had CPI of 1 and now they become ALU
instructions whose CPI is also 1. Incorrectly predicted instructions that
are converted also become ALU instructions with a CPI of 1, so we have:

Speedup from
CPI without conversion CPI with conversion conversion
1  3*(1-0.85)*0.25  1.113 1  3*(1-0.85)*0.25*0.5  1.056 1.113/1.056  1.054

4.15.5 Every converted branch instruction now takes an extra cycle to execute,
so we have:

CPI without Cycles per original instruction with


conversion conversion Speedup from conversion
1.113 1  (1  3*(1 − 0.85))*0.25*0.5  1.181 1.113/1.181  0.94

4.15.6 Let the total number of branch instructions executed in the program be
B. Then we have:

Correctly
predicted Correctly predicted non-loop-back Accuracy on non-loop-back branches
B*0.85 B*0.05 (B*0.05)/(B*0.20)  0.25 (25%)

4.16
4.16.1
Always Taken Always not-taken
3/5  60% 2/5  40%
S-16 Chapter 4 Solutions

4.16.2
Predictor value at Correct or
Outcomes time of prediction Incorrect Accuracy
T, NT, T, T 0,1,0,1 I,C,I,I 25%

4.16.3 The first few recurrences of this pattern do not have the same accuracy as
the later ones because the predictor is still warming up. To determine the
accuracy in the “steady state”, we must work through the branch predictions
until the predictor values start repeating (i.e., until the predictor has
the same value at the start of the current and the next recurrence of the
pattern).

Predictor value Correct or Incorrect Accuracy in


Outcomes at time of prediction (in steady state) steady state
T, NT, T, T, NT 1st occurrence: 0,1,0,1,2 C,I,C,C,I 60%
2nd occurrence: 1,2,1,2,3
3rd occurrence: 2,3,2,3,3
4th occurrence: 2,3,2,3,3

4.16.4 The predictor should be an N-bit shift register, where N is the number
of branch outcomes in the target pattern. The shift register should be
initialized with the pattern itself (0 for NT, 1 for T), and the prediction is
always the value in the leftmost bit of the shift register. The register should
be shifted after each predicted branch.
4.16.5 Since the predictor’s output is always the opposite of the actual outcome of
the branch instruction, the accuracy is zero.
4.16.6 The predictor is the same as in part d, except that it should compare its
prediction to the actual outcome and invert (logical NOT) all the bits in
the shift register if the prediction is incorrect. This predictor still always
perfectly predicts the given pattern. For the opposite pattern, the first
prediction will be incorrect, so the predictor’s state is inverted and after
that the predictions are always correct. Overall, there is no warm-up
period for the given pattern, and the warm-up period for the opposite
pattern is only one branch.

4.17
4.17.1

Instruction 1 Instruction 2
Invalid target address (EX) Invalid data address (MEM)

4.17.2 The Mux that selects the next PC must have inputs added to it. Each input
is a constant address of an exception handler. The exception detectors
Chapter 4 Solutions S-17

must be added to the appropriate pipeline stage and the outputs of these
detectors must be used to control the pre-PC Mux, and also to convert to
NOPs instructions that are already in the pipeline behind the exception-
triggering instruction.
4.17.3 Instructions are fetched normally until the exception is detected. When
the exception is detected, all instructions that are in the pipeline after
the first instruction must be converted to NOPs. As a result, the second
instruction never completes and does not affect pipeline state. In the cycle
that immediately follows the cycle in which the exception is detected, the
processor will fetch the first instruction of the exception handler.
4.17.4 This approach requires us to fetch the address of the handler from memory.
We must add the code of the exception to the address of the exception
vector table, read the handler’s address from memory, and jump to that
address. One way of doing this is to handle it like a special instruction that
computer the address in EX, loads the handler’s address in MEM, and sets
the PC in WB.
4.17.5 We need a special instruction that allows us to move a value from the
(exception) Cause register to a general-purpose register. We must first
save the general-purpose register (so we can restore it later), load the
Cause register into it, add the address of the vector table to it, use the
result as an address for a load that gets the address of the right exception
handler from memory, and finally jump to that handler.

4.18
4.18.1
ADD R5,R0,R0
Again: BEQ R5,R6,End
ADD R10,R5,R1
LW R11,0(R10)
LW R10,1(R10)
SUB R10,R11,R10
ADD R11,R5,R2
SW R10,0(R11)
ADDI R5,R5,2
BEW R0,R0,Again
End:
S-18 Chapter 4 Solutions

4.18.2

4.18.3 The only way to execute 2 instructions fully in parallel is for a load/store
to execute together with another instruction. To achieve this, around each
load/store instruction we will try to put non-load/store instructions that
have no dependences with the load/store.
ADD R5,R0,R0 Note that we are now computing ai before we check whether we
Again: ADD R10,R5,R1 should continue the loop. This is OK because we are allowed to
BEQ R5,R6,End “trash” R10. If we exit the loop one extra instruction is executed, but
LW R11,0(R10) if we stay in the loop we allow both of the memory instructions to
ADD R12,R5,R2 execute in parallel with other instructions
LW R10,1(R10)
ADDI R5,R5,2
SUB R10,R11,R10
SW R10,0(R12)
BEQ R0,R0,Again
End:
Chapter 4 Solutions S-19

4.18.4

4.18.5

CPI for 1-issue CPI for 2-issue Speedup


1.11 (10 cycles per 9 instructions). 1.06 (19 cycles per 18 instructions). Neither 1.05
There is 1 stall cycle in each of the two LW instructions can execute in
iteration due to a data hazard parallel with another instruction, and SUB
between the second LW and the stalls because it depends on the second LW.
next instruction (SUB). The SW instruction executes in parallel with
ADDI in even-numbered iterations.

4.18.6
CPI for1-
issue CPI for 2-issue Speedup
1.11 0.83 (15 cycles per 18 instructions). In all iterations, SUB is stalled 1.34
because it depends on the second LW. The only instructions that
execute in odd-numbered iterations as a pair are ADDI and BEQ.
In even-numbered iterations, only the two LW instruction cannot
execute as a pair.

4.19
4.19.1 The energy for the two designs is the same: I-Mem is read, two registers
are read, and a register is written. We have:
140 pJ  2*70 ps  60 pJ  340 pJ
S-20 Chapter 4 Solutions

4.19.2 The instruction memory is read for all instructions. Every instruction also
results in two register reads (even if only one of those values is actually
used). A load instruction results in a memory read and a register write,
a store instruction results in a memory write, and all other instructions
result in either no register write (e.g., BEQ) or a register write. Because
the sum of memory read and register write energy is larger than memory
write energy, the worst-case instruction is a load instruction. For the
energy spent by a load, we have:
140 pJ  2*70 pJ  60 pJ  140 pJ  480 pJ

4.19.3 Instruction memory must be read for every instruction. However, we


can avoid reading registers whose values are not going to be used. To do this, we
must add RegRead1 and RegRead2 control inputs to the Registers unit to enable or
disable each register read. We must generate these control signals quickly to avoid
lengthening the clock cycle time. With these new control signals, a LW instruction
results in only one register read (we still must read the register used to generate the
address), so we have:
Energy before change Energy saved by change % Savings
140 pJ  2*70 pJ  60 pJ  140 pJ  480 pJ 70 pJ 14.6%

4.19.4 Before the change, the Control unit decodes the instruction while register
reads are happening. After the change, the latencies of Control and Register Read
cannot be overlapped. This increases the latency of the ID stage and could affect
the processor’s clock cycle time if the ID stage becomes the longest-latency stage.
We have:
Clock cycle time before change Clock cycle time after change
250 ps (D-Mem in MEM stage) No change (150 ps  90 ps  250 ps)

4.19.5 If memory is read in every cycle, the value is either needed (for a load
instruction), or it does not get past the WB Mux (or a non-load instruction that
writes to a register), or it does not get written to any register (all other instructions,
including stalls). This change does not affect clock cycle time because the clock
cycle time must already allow enough time for memory to be read in the MEM
stage. It does affect energy: a memory read occurs in every cycle instead of only in
cycles when a load instruction is in the MEM stage.

I-Mem
active I-Mem Clock cycle
energy latency time Total I-Mem energy Idle energy %
140 pJ 200 ps 250 ps 140 pJ  50 ps*0.1*140 3.5 pJ/143.5 pJ  2.44%
pJ/200 ps  143.5 pJ
Another random document with
no related content on Scribd:
SECONDARY OR REMOTE RESULTS OF
LIVER DISEASE.

In gout: Arrest of oxidation of proteids into urea. Deposits of biurate of lime on


joints, and other disorders. Urinary calculi containing urates, cystine, xanthine,
etc., also from imperfect oxidation of albuminoids. Oxalic acid represents a similar
arrest. Kidney degenerations from irritating urates and oxalates. Fatty kidney from
excessive glycogenesis. Digestive disorders from excess or deficiency of bile or
torpid liver. Nervous disorders, dullness, lameness, vertigo, spasms, irritability
from hepatic inactivity and resulting poisons. Sore throat and bronchitis from
hepatic derangement. Skin eruptions in tardy or imperfect action of the liver.
Treatment: Abundant water, succulent vegetables, ensilage, fresh grains, balanced
ration, in carnivora and omnivora oat meal, buttermilk, clear meat juice, avoid
sweets, gravies, spiced animal food. Dangers for pampered horses, dogs, and old
improved meat producing animals. Open air exercise. Laxatives with alkalies,
salines, mercurous and mercuric chloride, pilocarpin, chlorides, iodides, bromides,
nitro-muriatic acid, ipecacuan, euonymus, bitters.

Among the many secondary results of hepatic disorder, and which


are habitually described as affections of other organs a few may be
mentioned as indicating the wide range of influence exercised by the
liver in disease as well as in health.
Gout as it appears in fowls and omnivora is directly due to the
arrest of the transformation of the albuminoids into urea. Circulating
in the system in the form of the less perfectly oxidized and less
soluble uric acid, it determines deposits of biurate of lime around the
joints, with local inflammations, and disorders of circulation and
innervation, and altered spirit, temper, etc.
Urinary calculi in the same animals, are composed largely of urate
of lime, cystine, xanthine and other nitrogenous products
representing various stages of oxidation short of the final transition
into urea and ammonia. Recognizing the active rôle which the
urinary bacteria fill in this respect we must still acknowledge the
great importance, as causative agents, of an excess in the urine of
these comparatively insoluble products.
The oxalic acid found in certain calculi points in the same
direction, as this acid, both in the body and in the laboratory, is
found to result from the oxidation of uric acid (Wohler, Schenck,
Hutchinson).
Degenerations of the Kidneys are to be largely traced to the same
hepatic source. The uric acid diathesis, and the oxalic acid diathesis,
both the result of imperfect liver function, are among the most
frequent causes of irritation of the kidneys, by which channel they
are eliminated from the body. Hence acute and chronic nephritis, as
well as nephritic calculi result from morbid conditions which have
their starting point in the imperfect function of the liver. Again fatty
degeneration of the kidney is very liable to result from derangement
of the glycogenic function of the liver, the tendency to the formation
of fat and the constant irritation caused by the passage of the sugar
contributing to the tissue degradation. In such cases albuminuria is a
not uncommon accompaniment.
Derangements of the Digestive Organs may be said to be a
necessary result of hepatic disorder. Excessive secretion of bile
stimulates peristalsis and may induce diarrhœa, while diminished
secretion tends to constipation, light colored, fœtid stools, intestinal
fermentations and poisoning by the irritant products. A torpid
hepatic circulation means congestion of the whole portal system,
indigestions, colics, chronic muco-enteritis, intestinal hemorrhages,
hemorrhoids, etc.
Derangements of the Nervous System. In this connection may be
named the lameness of the right shoulder which accompanies certain
disorders of the liver, the extreme dullness and depression that
attends on others, the sluggish pulse that appears in certain types,
the unsteadiness of gait (giddiness) in others, the muscular cramps,
and irritability in still others. These appear to be due in some
instances to the nervous sympathy of one part with another, whilst at
other times they as manifestly depend on the circulation in the blood
of partially oxidized and other morbid products of hepatic disorder
which prove direct poisons to the nervous system.
Derangements of the circulation, like extreme rapidity, or slowness
of the pulse, irregularities in rhythm and intermissions, may be
charged more directly on the nervous affection, though primarily
determined by hepatic disorder.
On the part of the Respiratory Organs, affections of a chronic
type, like sore throat and bronchitis may often be traced to hepatic
torpor or disorder.
Skin Diseases are notoriously liable to come from inactive or
disordered liver, the irritant products circulating in the skin or
sweating out through it, giving rise to more or less irritation. The
result may be a simple pruritus, an urticaria, an eruption of papules,
vesicles or even pustules. In any such cases it is proper to look for
other indications of liver disease,—pale color and offensive odor of
the fæces, muco-enteritis, indigestion, icterus or yellow patches on
the mucous membranes, tenderness on percussion over the asternal
ribs, muscular neuralgia, nervous disorder, the passage of bile,
hæmoglobin, albumen, sugar or other abnormal elements in the
urine, etc.
TREATMENT OF SECONDARY AND
FUNCTIONAL DISEASES OF THE LIVER.
Diet. Many hepatic disorders, and especially those that are
exclusively or mainly functional may be corrected by diet alone.
Prominent among dietary influences is the abundant supply of water.
The succulent grasses of spring and early summer constitute the
ideal diet, hastening and increasing elimination, and lessening the
density of the bile, even to the extent of dissolving biliary calculi and
concretions. Upon dry winter feeding such calculi are common
especially in ruminants, whereas after a month or two at pasture they
are extremely rare. In winter the same good may be arrived at by the
use of ensilage, brewer’s grains, roots, fruits, or even scalded hay or
bran. The two extremes of highly albuminous and highly
carbonaceous or saccharine food are to be avoided or used only in
limited amounts. In the one class are clover, alfalfa, sainfoin,
vetches, cowpea, lespedeza, especially in the form of hay, beans,
peas, cotton seed, gluten-meal, rape and linseed cake. In the other
are wheat, buckwheat, Indian corn, sorghum, sweet-corn and
cornstalks. Some agents like beets which are rich in saccharine
matter may be actually beneficial by reason of their laxative and
cholagogue action. In the carnivora the food should be largely of
simple mush of oatmeal, wheat seconds, or barley meal, skimmilk or
buttermilk. If it is needful to tempt the appetite in a fleshfed animal
this should not be done by rich, fat gravies, highly spiced animal
food, or rich saccharine puddings, but rather by the addition of a
little pure juice of lean meat, or some well skimmed beef tea.
It is as important to regulate the quantity as the quality of the food
as the heavy feeder will over-charge the liver as much by an excess of
otherwise wholesome food, as will the ordinary animal by the
indigestible and unwholesome articles. As a rule the improved
breeds of meat producing animals, have acquired such facility in fat
production that much of the surplus is largely and profitably
disposed of in this way, and in their short lives little obvious evil
comes of the overfeeding, but in cases in which this outlet proves
insufficient, as in horses and dogs that are highly fed on stimulating
or saccharine diet, and which are kept for the natural term of their
lives, with little exercise, the evil tends to reach a point of danger.
Nursing mothers and dairy cows find a measure of safety in the free
flow of milk and the yield of butter, but breeding cows that have been
improved till they have no longer a capacity for milking, but must
have their calves raised on the milk of other and milking strains are
correspondingly liable to suffer.
Exercise in the Open Air. As enforced idleness, on a full diet and in
a warm and moist environment is a main cause of hepatic disorder,
so abundant exercise in the open air and especially in a cool season is
beneficial in a marked degree. Beside the bracing effect on the
digestive organs and the improvement of the general tone of the
system, the action of the muscles in hastening the circulation greatly
favors the removal and elimination of waste matters. Still more
advantageous is the increased activity of the respiration and the
aspiratory power of the chest in at once unloading the portal system
and the liver by hastening the progress of the hepatic blood into the
vena cava and right heart, and in furnishing an abundant supply of
oxygen for the disintegration of the albuminoids and amylaceous
products. Such exercise must of course be adapted to the condition of
the animal and its power of sustaining muscular work, but
judiciously employed, it is one of the most effective agencies in
correcting and improving hepatic disorder or hepatic torpor. Idle
horses, the victims of obstinate habits of constipation, muco-enteric
irritation, indigestion, nervous, urinary or cutaneous disorders will
often be greatly benefited or entirely restored by systematic exercise.
This is one of the great advantages of a run at pasture, as the subject
secures at once the laxative cholagogue diet, an abundant supply of
oxygen, a better tone of the muscular and general system, and a more
perfect disintegration of albuminoids. Sea air with its abundance of
ozone is especially advantageous.
In the carnivora while we cannot send them to grass, much can be
done in the way of systematic exercise, and in the case of city dogs a
change to the country, where they can live out of doors and will be
tempted to constant exercise and play, will go far to correct a faulty
liver.
Laxatives. Cholagogues. When a free action of bowels and liver
cannot be secured by succulent food and exercise, we can fall back on
medicinal laxatives. These are advantageous in various ways. Some
laxatives like podophyllin, aloes, colocynth, rhubarb, senna, jalap,
and taraxacum act directly on the liver in increasing the secretion of
bile. These may be used for a length of time in small doses and in
combination with the alkalies. Other aperients act directly on the
bowel carrying away the excess of bile, the albuminoids and
saccharine matter that would otherwise be absorbed, and by a
secretion from the portal veins, abstracting nitrogenous and
saccharine elements which would otherwise overtax the liver to
transform them. Thus indirectly these also act as cholagogues by
withholding the excess of material on which it has to operate, and by
rousing its functions sympathetically with those of the bowels. Thus
sulphates of magnesia and soda, and tartrates and citrates of the
same bases, given in the morning fasting, dissolved in a large
quantity of warm water and conjoined with sodium chloride,
ammonium chloride, sodium carbonate or other alkaline salts, or
with one or more of the vegetable cholagogues above mentioned,
may be continued for a length of time until the normal functions
have been re-established, and will maintain themselves irrespective
of this stimulus.
Calomel (and even mercuric chloride in small doses), though it is
not experimentally proved to be a direct cholagogue, is one of the
very best correctives of impaired hepatic function. It expels the bile
from the duodenum and bowels generally, thereby preventing its
reabsorption; it proves antiseptic to the ingesta; it eliminates much
of the peptone, saccharine and fatty matter from the intestines and
portal system thus relieving the liver materially; and it is supposed
further to modify the other liver functions by a direct action on the
hepatic cells, and by reducing the cohesion of fibrine, and promoting
the disintegration of albumen. Certain it is that calomel gives most
substantial relief in many torpid and other disorders of the liver and
as it is not in itself an active liver stimulant but has rather a soothing
action on that gland it can be safely resorted to in states of hepatic
irritation in which the more direct cholagogues would prove more or
less hurtful.
In some forms of hepatic disorder where a speedy and abundant
secretion is demanded, pilocarpin may be employed, with great
caution so as not to reduce the strength unduly by the attendant
diaphoresis, diuresis, salivation or diarrhœa.
Alkalies have long been recognized as of great clinical value in
hepatic disorders. Though carbonate of soda decreases the secretion
of bile, (Nasse, Röhrig), yet the alkalies generally appear to promote
oxidation, and to hasten the disintegration of albumen and the
albuminoids. They increase the disintegration of sulphur compounds
materially adding to the sulphates and urea in the urine. They
further tend to increase the hippuric acid, carbonate of soda (2 drs.)
even determining the abundant excretion of this acid in man (Nasse).
It may be concluded that the acknowledged value of alkalies in these
diseases, is largely due to their hastening of the metabolic processes
in albuminoids. Small doses of sodium carbonate further stimulate
the gastric secretion and may thus benefit by rendering the process
of digestion more complete and satisfactory.
Chlorine, Iodine, Bromine and their Salts. These halogens are of
great value in many hepatic disorders. The universal craving for
sodium chloride indicates the need of its elements in the animal
body, and whether this is mainly the supply of chlorine for the
hydrochloric acid of the gastric juice, or to fulfill its uses in favoring
the oxidation and disintegration of the nitrogenous matters in the
blood and tissues, or for other more or less obscure uses, it is well to
recognize and act upon the indication. The various mineral waters
which are held in high esteem in liver affections contain a large
proportion of sodium chloride. As a medicinal agent ammonium
chloride maintains an equally high position. Large doses thrice a day,
so as to induce diaphoresis and diuresis greatly relieve hepatic
congestions. This agent determines a great increase in the urea
eliminated so that it is even more effective in the same direction,
than sodium chloride. Free chlorine is also effective in hepatic torpor
and congestion, and to this in part may be attributed the great value
of nitro-muriatic acid.
Bromide and iodide of potassium have been found to be effective
in reducing hepatic enlargement and thus in conducing to a more
healthy activity of the liver.
Ipecacuanha, Euonymus, etc. These agents are more or less
hepatic stimulants and may be found beneficial as combined with the
laxative or alkaline agents in securing a better functional activity in
cases of torpor or deranged function.
Tonics, Bitters. Tonics are often useful when the health has been
undermined by long continued hepatic disorder. The iron tonics are
as a rule contraindicated as tending to check secretion of bile, unless
they can be given with alkalies. Iron sulphate or chloride, combined
with sodium or potassium carbonate so as to establish a mutual
decomposition will obviate this objection. The vegetable bitters
(gentian, cascarilla, calumba, salicin, serpentaria, aloes, nux vomica)
combined with alkalies are often of great value. Quinia, like opium,
checks secretion and is to be avoided or used with judgment and in
combination with cholagogues.
HÆMOGLOBINÆMIA. AZOTÆMIA.
AZOTURIA. HÆMOGLOBINURIA. TOXÆMIA
FROM IMPERFECT HEPATIC FUNCTION.

Definition. Theories, of hysteria, uræmia, spinal myelitis, myelo-renal


congestion, rheumatic lumbago, myosito-myelo-nephritis, rheumatic chill with
destruction of muscle albuminoids. Yet it occurs in our semi-tropical midsummer
with a temperature of 80 or 90, in spring and autumn, and rarely even in the cold,
damp stable in midwinter in the absence of exercise. Constant conditions: One or
more days absolute rest, preceding steady work, a strongly nitrogenous ration,
continued during the rest, sudden active exertion accelerated breathing and
unloading of peptones and proteids from portal vein and liver into the general
circulation. Sanguineous albuminuria from excess of albuminous food, free
ingestion of water, suppressed milk secretion, forced marches. Transfusion of
blood. Excess of albumen dangerous, excess of red globules not dangerous. The
blood concentration of diuresis or diaphoresis is not dangerous. Continuous
muscle decomposition from work bars the disease. Stable miasm untenable. Poison
may be drawn suddenly from the enormous mass of blood in the liver, spleen and
portal system. The absence of icterus antagonizes the bile theory. Benzoic acid,
unaltered peptones, and glycogen are examples of elements destructive to blood.
Normal destruction of red globules in liver, spleen and bone marrow. Sudden
access of resulting hæmoglobin to the blood. Other products of disintegrated
globules. Poisons from food, and antitoxic action of liver in presence of glycogen.
Carbon dioxide favors solution of red globules. Theories of hæmoglobinæmia in
man. Lesions: Blood black, diffluent, iridescent, has no avidity for oxygen, with
excess of urea and extractives, serum of clot red, globules, small, pale, distorted,
not sticky, extravasations, liver, enlarged, congested, blood gorged, spleen
congested, swollen: Lumbar or gluteal muscles pale, infiltrated, with loss of
striation; bone marrow congested, hemorrhagic; kidneys congested infarcted;
urine dark brown or red, with excess of urea and hæmoglobin. End of spinal cord
has congestion or infiltration. Symptoms: History of high condition, constant
work, high feeding, a day’s rest, then exercise and attack. To full life, follows
flagging, droops, moves one or both hind limbs stiffly, knuckles, drags toes,
crouches, trembles, perspires, breathes rapidly, is tender on back, loins, croup or
thigh, muscles firm, paretic, and drops unable to rise. Urine retained, brown, red
or black, sometimes glairy, later may have casts. Appetite may return. In mild
cases, stiffness, lameness, with or without visible muscular lesions or tremors.
Urine glairy, dense, with excess of urea and nitrogenous products. Recover under
careful feeding and exercise, and relapse under original causes. Progress: May
recover under rest. In bad cases accelerated breathing and recumbency forbid rest
and recovery. Recovery in a few hours or after a week. Urinary casts with renal
epithelium, imply nephritis and grave conditions. In persistent paresis, muscles
waste. Modes of death. Mortality 20 per cent. Diagnosis, by history of onset, etc.
Prevention: When highly fed and hard worked, give daily exercise, with
comparative rest, reduce ration, and give laxative or diuretic. Plenty of water.
Treatment: Rest, sling, diffusible stimulants, bleeding, bromides, water ad libitum,
fomentations, unload liver and portal vein, purgative, eserine, barium chloride,
enemata, diuretics, for remaining paresis, derivatives, strychnia, diet, laxative,
non-stimulating, restore to work gradually.

Definition. An acute auto-poisoning occurring in plethoric horse


on being subjected to active exertion after a period of idleness, and
manifested by great nervous excitement and prostration, paresis
commencing with the hind limbs and the passage of hæmoglobin in
the urine.
Nature and Causes. The most varied conclusions as to the nature
of this disease have been put forward by different authors. In
England, Haycock called it hysteria, mistakenly supposing that it was
confined to mares, and Williams attributed it to uræmic poisoning,
conveniently ignoring the fact that the sudden manifestation of the
most extreme symptoms in an animal which just before was in the
highest apparent health and spirits contradicted the conclusion. In
France (Trasbot) and Southern Europe (Csokor) it has been looked
on as a spinal myelitis, a conclusion based on the disturbed
innervation of the posterior extremities in the great majority of
cases, but which is not always sustained by the pathological anatomy
of the cord. In Germany veterinarians have viewed the disease from
widely different standpoints. Haubner calls it myelo-renal-
congestion (Nièren-Rückenmarks): Weinmann, a rheumatic
lumbago; Dieckerhoff defines it as an acute general disease of horses,
manifested by a severe parenchymatous inflammation of the
skeleton muscles, with a bloody infiltration of the bone marrow,
especially of the femur, and with acute nephritis and
hæmoglobinuria. He attributes the attack to exposure to cold. If this
were the real cause the attack would be far more common in very
cold weather when the horse is suddenly exposed to cold drafts
between open doors and windows, than when he is harnessed and
driven so as to generate and diffuse animal heat. Yet attacks in the
stable are virtually unknown, and in almost every instance the onset
occurs during a short drive. Friedberger and Fröhner say that the
epithet rheumatismal may be correctly applied to almost all cases
that we meet in practice. They quote Goring as having produced the
disease experimentally by exposure to cold, and go on to explain that
rest in the stable before the attack causes the extreme sensitiveness
to cold that is generated by a warm environment. The implication of
the lumbar, pelvic and femoral muscles they explain by the
stimulation of the nutritive metamorphosis by the action of cold on
the sensitive nerves of the skin. The effect of this cutaneous irritation
is exaggerated by the heat of the stable to which they have been
previously subjected. The products of the destruction of the
albuminoids of the muscles, pass into the blood as hæmoglobin, and
produce the ulterior phenomena. The muscles of the hind quarters
especially suffer because of their greater exposure and because they
are subjected to the hardest work in propelling the animal machine.
In this connection they quote the experiments of Lassar and
Nassaroff in which sudden exposure to cold determines
parenchymatous degeneration of muscles; also the cases of
paroxysmal or winter hæmoglobinuria in certain susceptible men
whenever they are exposed to an extremely low temperature.
There are serious objections to the acceptance of this as the
essential cause, among which the following may be named:
1st. The disease is not confined to the cold season but occurs also
at midsummer when the outdoor temperature is even higher than it
is in the stable.
2d. In our Northern States it appears to be more common in spring
and autumn or early winter, when the extreme colds have either
already passed, or have not yet set in, but when the abrupt changes
of weather (rain-storms, etc.) are liable to shut up the animal indoors
for a day or more at a time.
3d. The popular names quoted with approval by these authors—
Monday disease, Easter disease, Whitsuntide disease—indicate the
prevalence in Europe also, of the malady in the milder, or more
temperate seasons rather than during the prevalence of extreme
cold.
4th. The fact that the disease rarely or never occurs in the stable,
no matter how cold the season, how open the wooden walls or floor,
nor how strong the draft between doors or windows, shows that the
theory of cold as the sole or main cause must be discarded.
It is not necessary to ignore the action of cold as a concurrent
factor in certain cases, or as a stimulant to reflex vaso-motor paresis,
to muscular metamorphosis and the increase of hæmoglobin in the
blood. It is only necessary that this should be held as subordinate
and non-essential to the final result. Several other factors that are
accorded a subordinate place by these writers, are so constant and so
manifestly essential that they must be allotted a much more
important position in the list of causes.
A period of rest is a constant precursor of an attack. The more
extended the inquiry the more certain we become that a short rest is
a prerequisite to equine hæmoglobinæmia. The horse that is kept at
daily steady work may be said to be practically exempt. Even the
non-professional observer recognizes the fact and names the disease
after the weekly or yearly holiday or rest day which was the occasion
of it. To him it is the Monday morning disease, the disease of the day
following Thanksgiving, Christmas, New Year, or Fourth of July. It is
the disease of wet weather, of heavy snowfalls, of the blizzard, or of
the owner’s absence from home, of any time that entails one or two
days of absolute inactivity in the stall.
But again the affection does not appear in the horse that is
absolutely idle for a length of time. It is the short period of rest in
an interval of otherwise continuous work that determines it.
In short the subject must be in good muscular condition and with a
hearty, vigorous appetite and good digestion. The short unwonted
rest interrupts the disposal of the rich products of a vigorous
digestion, and tends to overload the portal veins, the liver, the blood
and tissues with an excess of proteids. The condition of the animal is
so far one of plethora.
Another feature that bears this out is that the attack comes only in
the animal that is heavily fed on a strongly nitrogenous
ration. It is not the disease of the horse kept on straw, or hay, or
which receives a limited amount only of grain. It does not occur in
the animal which has its grain suspended or materially reduced
during the one or two days of idleness. It does not select the horse
that has had a laxative either in the form of food or medicine. This
last may increase the sensitiveness to cold, but it certainly lessens the
tendency to hæmoglobinæmia. The most rational explanation
appears to be that it affords this protection by interfering with the
thoroughness of digestion and absorption, by securing elimination
from the portal veins and liver, and by reducing the amount of
albuminoids in the blood.
A blood abnormally rich in albuminoids, as it is in the transient
plethora induced by a short period of rest, in the well-conditioned
working horse, without any restriction of his diet, may therefore be
set down as one of the most important factors in producing
hæmoglobinæmia. Nor is this without approximate examples in
human pathology. Von Bamberger has shown that “hæmatogenous
albuminuria” will occur in healthy individuals when there is an
excess of albumen in the blood-plasma, as after a too free use of
albuminous food, or after suppression of the milk secretion
(Landois). A similar result comes from increase of blood pressure, as
after drinking freely, or when, under emotion or violent exertion, the
heart’s action is increased in force and the blood is thrown with
greater impetus into the large renal arteries. Senator has found
albuminous urine to attend and follow, for several days, upon forced
marches made by young recruits. Here the muscular work is added to
the increased blood tension superinduced by the more active
contractions of the heart.
In this connection it is interesting to trace the changes in the blood
after transfusion. The dilatability of the capillaries enables the
system to accommodate itself to a very great increase in the volume
of blood An increase of 83 per cent. may be borne without serious
results, but above this limit there is increasing risk and an increase of
150 per cent. entails immediate danger to life. In the restoration of
the blood to its normal condition, the secretion of water sets in
promptly leaving an excess of albuminoids and blood globules. The
next change is in the albuminoids which in two days are almost
entirely transformed into urea. This leaves the blood abnormally rich
in globules (Panum, Lesser, Worm-Müller), the red globules break
up much more slowly and may still be in excess after the lapse of a
month (Tscherjew).
In this light, temporary plethora cannot of itself be accepted as the
main or essential cause of the disease. It must be admitted to be a
more constant and important factor than the mere exposure to cold,
but of itself it is inadequate to the production of hæmoglobinæmia.
In the absence of exertion the general plethora fails to produce the
specific disease; again, after transfusion a plethora of albumen lasts
for one or two days, but hæmoglobinæmia sets in only in the first few
minutes after the animal starts out from the stable, (never after an
hour or two at work): once more, excess of globules may last for a
month, but with steady work there is no danger of this disease, after
the first mile or two has been traversed, on the first day of the
resumption of labor.
A similar plethora of albuminoids and globules may be induced in
a plethoric animal by a profuse diarrhœa, diuresis or perspiration,
the blood having been robbed of its watery constituents, and
concentrated especially as regards its globules and albuminoids, but
hæmoglobinæmia never occurs as the result of such an artificial
concentration. On the contrary a free secretion by the bowels or
kidneys is of the greatest value in cutting short its progress after it
has set in.
The doctrine of poisoning by hæmoglobin produced by excessive
work and disintegration of the muscles is equally insufficient to
account for an attack. Excess of muscular work and of muscle-
decomposition-products, would not reach its maximum within the
first few minutes after the animal has started from the stable, but,
other things being equal, would increase with the continuance of
work and the accumulation in the blood of a constantly increasing
amount of these products. The sharp line of restriction by which the
attack is limited to the initial period of work, while it is never seen
after hard work continued for hours in succession, rules out this
from the list of essential causes. It may be that the products of
muscular decomposition aggravate the attack, but to set them down
as the cause of the attack is to beg the whole question and to
contradict the truth that continuous and severe muscular work with
its consequent increase of waste products is a direct bar to the
development of the disease. It should be noted in this connection
that the increase in the waste of nitrogenous bodies, as shown by the
increase of urea, is dependent far more on the amount of nitrogenous
matters ingested than on the muscle work or decomposition. In
eleven hours just before ascending the Faulhorn, Fick passed 21.686
grs. of urea per hour; in eight hours ascending the hill, 12.43 grs. per
hour; and in six hours after the ascent he passed 13.39 grs. per hour.
A general survey of the field shows that it is not the simple
increase of any normal waste product in the blood which determines
hæmoglobinæmia, and on the other hand the suddenness and
severity of the attack bears all the marks of a profound poisoning.
The nature of the poison has not yet been definitely ascertained, yet
one or two hypothesis may be hazarded, as furnishing a working
theory, in anticipation of the actual demonstration which may be
expected in the early future.
The action of a stable miasm as claimed by some writers is
contradicted by the fact that the disease does not develop so long as
the animal is left to inhale that miasm, and on leaving the stable, the
life and vigor are usually remarkable.
The morbific agent must be sought in some source from which it
can be supplied with great rapidity under the stimulus of a short but
active exertion. The chylopoietic viscera furnish such a source. The
healthy liver contains one-fourth of the entire mass of the blood. The
torpid congested liver of the vigorous high conditioned horse, after a
short period of idleness, on full, rich feeding, must hold much more
than this normal ratio. The spleen, the natural store-house or safety
valve of the portal veins, is also gorged with this liquid in the high
fed, idle animal. This organ which is always turgescent after meals, is
especially so in the over-fed horse, which for twenty-four hours has
been denied the opportunity of working off by exercise, the
superfluous products of an active digestion and absorption. Then the
whole of the portal veins and the capillaries in which they originate
are surcharged with rich blood which cannot make its way with the
necessary dispatch through the inactive liver.
In this condition there is incomparably more than a quarter of the
entire mass of blood, enriched to the highest degree in proteids,
ready to be discharged through the liver and hepatic veins into the
general circulation. Under the action of the hurried breathing and
circulation, caused by the sudden and active exertion, this whole
mass of rich blood is speedily unloaded on the right heart, the lungs
and the systemic circulation. One can hardly conceive of a more
effective method of inducing a sudden plethora, with an excess of
both globules and albuminoids.
The presence of actual poisons in such blood is not so easily
certified.
The absorption of bile elements and especially of taurocholic acid,
which is a solvent of the red blood globules, and would set free their
globulin might account for the characteristic condition of the blood.
The powerful aspiratory action of the chest, would speedily empty
the whole of the liver blood vessels, and lessening their tension below
that of the biliary radicals would determine an active absorption of
bile or of the more diffusible of the bile elements. A manifest
objection to this view is the absence of an icteric tint in the mucous
membranes of the affected animals. The visible mucosæ are of a
brownish red hue, such as might come from hæmoglobin dissolved
in the blood serum, rather than the yellow tint which might be
expected from bile pigment. The theory of poisoning by bile acids
therefore, would require an explanation of concurrent suppression or
decomposition of the bile pigments.
Other sources, however, offer solvents for hæmoglobin, benzoic
acid, which is derived from a cellulose in the fodders, and forms the
source of hippuric acid, dissolves red globules (Landois). In the over-
fed horse with active digestion, but inactive body and liver, this must
accumulate in the liver, spleen and portal system, and when
suddenly drawn into the blood without time for oxidation in the liver
it will contribute to the condition of hæmoglobinæmia.
Peptones, being very diffusible, are very rapidly absorbed, but they
are not found, in healthy conditions, in the portal vein (Neumeister).
These are manifestly transformed into albumen in the intestinal
mucosa (Salvioli), or taken up by the very numerous leucocytes and
transformed or carried elsewhere (Hoffmeister). But peptones
injected into the blood of the dog render it incoagulable, and in large
quantity are fatal (Landois). An excess of glycogen dissolves the red
globules, and the conditions of heavy feeding and torpid liver, are
calculated to produce this in great excess and to store it in the liver
cells.
Under the extra vigorous aspiratory force of the chest, these highly
diffusible agents, present in great excess, are likely to be drawn on
through the mucosa, into the portal vein, liver, and cava, without an
opportunity for complete transformation by leucocytes or liver cells.
These would tend to rob the blood globules of their normal
physiological vigor, would unfit them for maintaining the healthy
functions of lungs, kidneys, brain or muscle, and would unfit the
globules for successful resistance to solvents and other inimical
influences.
Again it is an important function of the liver, spleen and red bone
marrow to disintegrate worn out or abnormal red globules. These are
taken up by the white blood corpuscles of the hepatic capillaries, by
the cells of the spleen and the bone marrow and are stored up chiefly
in the capillaries of the liver, in the spleen, and in the marrow of
bone. They are transformed, partly into colored and partly into
colorless proteids, and are either deposited in the granular form, or
are dissolved (Landois). Quincke says: “That the normal red blood
globules and other particles suspended in the blood stream are not
taken up in this way, may be due to their being smooth and polished.
As the corpuscles grow older and become more rigid, they, as it were,
are caught by the amœboid cells. As cells containing blood corpuscles
are very rarely found in the general circulation, one may assume that
the occurrence of these cells within the spleen, liver, and marrow of
bone, is favored by the slowness of the circulation in these organs.”
From this chain of normal processes of blood disintegration, we may
reasonably infer, a greatly exaggerated work of blood destruction
when, in connection with an increased density of the plasma, and the
presence in the portal blood of poisonous products of digestion, the
red globules have been altered in density, in outline and in vitality, so
that they become ready victims of the amœboid cells of blood and
tissues. Then the stagnant condition of this altered blood in the
compulsorily idle animal favors the greatest excess of this
destruction and the storing up of an increased quantity of
hæmoglobin and other products, to be poured suddenly into the
general circulation as soon as the movement of the blood is
quickened by exercise.
This destruction of the red blood globules by disintegration
contributes to the formation of numerous decomposition-products,
like succinic, formic, acetic, butyric and lactic acids, inosite, leucin,
xanthine, hypoxanthin, and uric acid, some of which are strongly
toxic. The tendency will be to lower the vitality of the red globules
and thus to render them the easier victims of the leucocytes and of
the liver, spleen and marrow cells. Even the freed hæmoglobin
appears to exert a solvent action on the red blood globules. These
are, of course, most concentrated and effective in the seat of their
production, yet when drawn suddenly in large amount, into the
general circulation, by the vigorous aspiratory action of the chest,
they may prove seriously detrimental to the blood at large.
Again a variety of toxic matters are introduced into the system in
the food and others are developed from the food in the stomach and
intestine. Brieger found in the gastric peptones a potent alkaloid
having the effect of urari, and which in excess would determine
muscular paralysis. The alkaloidal and other poisons produced by
fermentations in the intestines have to be safely disposed of. The
ptomaines, if not too abundant, are arrested or even decomposed in
the liver which thus stands as a guardian, at the outlet of the portal
system, to protect the body at large. But this antitoxic function of the
liver is only exercised in the presence of glycogen (Rogers, Landois),
and forced muscular movement soon removes all glycogen from the
liver of the dog (Landois). Again glycogenesis in the liver is now
believed to be dependent on a ferment produced by the pancreas. If
therefore, the sudden active exercise and the aspiratory action of the
chest freed the liver of its glycogen, and hurried the alkaloidal and
other poisons through its capillaries too rapidly to allow of the
protective action of the liver cells, or if the pancreas as well as the
liver had become torpid and had failed to produce the requisite
amount of glycogen-ferment for the liver, the poisoning of the blood
and system at large would be imminent.
Not to mention the other toxic products which come from
imperfect metamorphosis in the liver, it may be noted that a venous
condition of the blood or an excess of carbon dioxide contributes
greatly to the solubility of the red blood globules. It also tends greatly
to modify the fibrinogenous elements. Thus the blood of a suffocated
animal fails to coagulate or coagulates loosely, and the blood of the
portal vein of a suffocated horse is strongly toxic (Sauson). Now the
conditions attendant on the onset of equine hæmoglobinæmia are
such as to give free scope to both of these inimical influences. The
great mass of blood in the portal vein, spleen and liver is venous
blood strongly charged with carbon dioxide, and by the sudden,
active exertion this is forced rapidly through the liver and lungs
without time for full æration, so that the whole mass of the
circulating blood is speedily reduced below par, and laid specially
open to the action of blood solvents. By the same action the systemic
blood is charged with poisons, direct from the food, and fermenting
ingesta, and from the overworked spleen and liver whose functions
are profoundly impaired, and later from other important organs, the
healthy functional activity of which can no longer be maintained by
the deteriorated blood supplied to them.
Hæmoglobinæmia in dogs has been produced experimentally by
the injection of water into the veins the mere dilution of the plasma
dissolving out the coloring matter from the red globules (Hayem);
also by the inhalation of arseniureted hydrogen (Naunyn and
Stadelman); by the ingestion of toluylendiamine, or phosphorus
(Afanassiew, Stadelman); by snake venom, septicæmia, influenza,
contagious pneumonia, petechial fever, anthrax, etc. These cannot be
looked on as causes of the acute hæmoglobinæmia in the horse, but
they serve as illustrations of changes in the plasma, and poisons in
the blood determining the escape of hæmoglobin from the cells.
Ralfe recognizes two forms of hæmoglobinæmia in man:
1st. That in which the hæmoglobin is simply dissolved out of the
blood globules, the solution taking place chiefly in parts exposed to
cold.
2d. A more severe form in which the dissolution is general and
probably attended by some destruction of red globules in the liver,
spleen and even in the kidneys. The general opinion appears to be
that the attacks are due to some nervous disturbance, which causes
vaso-motor disorder and it is supposed that there is an exaggerated
sensibility of the reflex nervous system. It has been suggested that
peripheral irritation causes irritation of the vaso-motor centre, and
in turn this causes local asphyxia in the part stimulated, under which
conditions the red globules part with their hæmoglobin (Roberts).
Murri holds that the disease depends on an increased irritability of
the vaso-motor reflex centre, and the formation, owing to the
disorder of the blood forming organs, of corpuscles unable to
withstand exposure to cold or carbon dioxide.
While it is not assumed to point out the actual poisons of
hæmoglobinæmia in the horse the above suggestions may offer
valuable hints as to the lines of inquiry that may be followed with the
best hope of reaching definite results.
Lesions. These are especially found in the blood, liver, spleen,
muscles, bone marrow and kidneys. The spinal cord and nerve
trunks are occasionally affected.
The blood is charged with carbon dioxide and is black, tarry,
comparatively incoagulable remaining in the veins and showing an
iridescent reflection. It does not absorb oxygen readily though
exposed to the air, and thus bears a strong general resemblance to
the blood of anthrax. It contains an abnormal proportion of urea and
allied extractive matters which greatly increase its density, and
interfere with the healthy exercise of the different cell organisms and
functions. These are not due to excessive muscular activity as stated
by Friedberger and Fröhner, but are derived mainly from the
abundant products of digestion. When the shed blood coagulates it
forms a soft clot without buff and the expressed serum is reddish
from the presence of hæmoglobin, and of hæmatoidin crystals. The
uncoagulated blood drawn over a sheet of white paper stains it
deeply by reason of the same coloring matters in solution. The red
corpuscles may be paler than natural, some even entirely colorless,
and they are often notched or broken up in various irregular forms.
They have lost the natural tendency of the shed equine blood to stick
together, to collect in rouleaux and precipitate to the bottom of the
vessel, so that no buffy coat is formed, should the blood coagulate.
The white corpuscles are relatively increased. Finally the coloring
matters contained in the plasma are imbibed by the different tissues
and give a brown or reddish tinge to such as are naturally white.
Limited blood extravasations are not uncommon especially in the
more vascular organs like the muscles, liver, spleen and kidneys.
The liver is more or less congested and enlarged, friable, yellow, or
mottled yellow and red and exudes black blood freely when incised.
The bile is thick, viscid and dark green, as in cases of experimental
intravenous injection of hæmoglobin.
The spleen is also swollen and congested with blood, and the pulp
is very high colored from the excess of hæmoglobin and other
products of blood destruction. The muscles of the croup are usually

You might also like