• No se han encontrado resultados

1232345 13

N/A
N/A
Protected

Academic year: 2022

Share "1232345 13"

Copied!
46
0
0

Texto completo

(1)

COMPUTERS ORGANIZATION

2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING

UNIT 2 – CONTROL UNIT

JOSÉ GARCÍA RODRÍGUEZ

(2)

Central Process Unit



Introduction



Buses use



Stages in the Instructions Execution

 Introduction

 Establishment of the stages

 Data path

Control Unit

The processor



Control Unit

 Control signals identification

 Control signals activation



Design of the Control Unit

 States Table Method

 Sequence Counter Method

 Machine abstraction



Conclusions

(3)

Introduction



Way of working of the instructions execution



Control Unit Design

The processor

Unidad de proceso

Dirección Datos proceso

Unidad de Control

Unidad de Memoria

Datos

Lectura Escritura

(4)

Chosen Instructions Set

Instructions

Type 1 Format 7 0

OPC 8 bits

Operation Syntax Description Op. Code

Operation Syntax Description Op. Code

Addition ADD r1 A A+ r1 30h, 31h, 32h, 33h, 45h Subtraction SUB r1 A A r1 18h, 19h, 1Ah, 1Bh, 46h

And ANA r1 A Aand r1 20h, 21h, 22h, 23h, 48h

Or ORA r1 A Aor r1 24h, 25h, 26h, 27h, 49h

(5)

Chosen Intructions Set

Instructions

Type 2 Format

15 8 7 0

OPC Data

8 bits 8 bits

Operation Syntax Description Op. Code

Immediate Addition ADI data A A+data 35h

Immediate Subtract. SUI data A Adate 36h

Immediate And ANI data A Aand date 68h

Immediate Or ORI data A Aor date 69h

(6)

Chosen Instructions Set

Instructions

Type 3 Format

23 16 15 8 7 0

OPC DisplacementL displacementH

8 bits 8 bits 8 bits

Operation Syntax Description Op. Code

Load LDA addr A ←M(addr) 70h

Store STA addr M(addr) A 71h

Unconditional Jump JMP addr PC ←addr 74h

Jump if FZ=1 JZ addr If FZ =1 PC addr 72h

(7)

Data path with a single bus

Buses use  8 bits single bus for data

 16 bits single bus for address

 Temporal registers are needed to free the bus

A TEMP

R. B.

Memory HL

ALU

(8)

Data path with two buses

Buses use  Two 8 bits buses

 Memory communication using HL

 Bus link

A

B. R. HL Memoria

Enlace ALU

(9)

Data path with 3 buses

Buses use  Three 8 bits buses

 Memory communication using HL

 Bus link

Enlace

A

B. R. HL Memoria

ALU

(10)

Instructions Execution Stages

Introduction  Flank fired design.

 Each stage will go on for one clock cycle.

 Duration for a clock cycle will depend on the lowest action’s duration.

Instruction look up

Decoding

Operand look

Execution

action’s duration.

 A read and a write

operation in the register bank can not be done in the same clock cycle.

Operand look up

Execution

Result Store

Next instruction preparation

(11)

Considerations



Basic functions of MaNoTas:

 Access to Registers Bank

 Access to Memory

 ALU Operations



Assumptions:

The time for these functions is equal to a clock cycle.

Execution Stages

 The time for these functions is equal to a clock cycle.

 Others elements’ cost is zero.



Actions bound to a stage are done in parallel.



Actions bound to successive stages are done

serially.

(12)

Stages

Execution Stages

IR←M[PC]

PC←PC + 1

Decoding

TEMP←r1 L←M[PC]

PC ←PC+1

(Z)=1

Stage 1

Stage 2

Stage 3

ADD,SUB,ANA,ORA

LDA,STA,JMP JZ

TEMP←M[PC]

PC ←PC+1 ADI,SUI,ANI,ORI

PC Pc+1 PC Pc+1

PC ←PC+1

A←A op TEMP

A←M(HL) M(HL)←A

Stage 4

Stage 5

STA LDA

H←M[PC]

PC ←PC+1 PC ←PC+1

A←A op TEMP

PC←HL+1

Stage 6

JMP

L←M[PC]

PC ←PC+1

H←M[PC]

PC ←PC+1

PC←HL+1 si

(13)

Stages Establishment (1)



Stage1: Instruction look up

 IR ← M[PC]

 PC ← PC + 1

Execution Stages



Stage 2. Decoding

 This two stages are common to all instructions

(14)

Stages Establishment (2)



Stage 3: Operands obtaining and code evaluation for the Z condition.

 Case I. Arithmetic-Logic Instructions

 Direct to register addressing mode

 TEMP ← r1

 Immediate addressing mode

Execution Stages

 Immediate addressing mode

 TEMP ← M[PC] (TEMP ← data)

 PC ← PC +1

 Case II. Reference to memory instructions and unconditional jump

 L ← M[PC] (L ← AddrL)

 PC ← PC +1

 Case III. Conditional jump instruction

 Z?

(15)

Stages Establishment (3)



Stage 4: Operands obtaining, execution and end of Arithmetic-Logic instructions.

 Case I. Arithmetic-Logic Instructions

 A ← A op TEMP

 Case II. Reference to memory instructions and unconditional

Execution Stages

jump

 H ← M[PC] (H ← AddrH)

 PC ← PC +1

 Case III. Conditional jump instruction

 L ← M[PC] (L ← AddrL)

(16)

Stages Establishment (4)



Stage 5: End of access to memory

instructions and unconditional jump and operand obtaining.

 Case I. Reference to memory instructions

 Load instruction

 A ← M[HL]

Execution Stages

 A ← M[HL]

 Store instruction

 M[HL] ← A

 Case II. Unconditional jump instruction

 PC ← HL +1

 Case III. Conditional jump instruction

 H ← M[PC] (H ← AddrH)

 PC ← PC +1

(17)

Stages Establishment (5)



Stage 6: End of unconditional jump instruction.

 PC ← HL +1

Execution Stages

(18)

Final stages diagram

Execution Stages

RI←M[PC]

PC←PC + 1

Decoding Z evaluation

TEMP←r1 L←M[PC]

PC←PC+1

Stage 1

Stage 2

Stage 3

ADD,SUB,ANA,ORA

LDA,STA,JMP JZ if Z=1

TEMP←M[PC]

PC←PC+1 ADI,SUI,ANI,ORI

L←M[PC]

PC←PC+1 PC Pc+1

PC Pc+1

JZ if Z=0

PC←PC+1

A←A op TEMP

A←M(HL) M(HL)←A

Stage 4

Stage 5

STA LDA

H←M[PC]

PC←PC+1 PC←PC+1

A←A op TEMP

PC←HL+1 JMP

H←M[PC]

PC←PC+1

PC←HL+1

(19)

Data path

Execution Stages

PC SP

IR HL

0MX 1 2

MEMORY +1

±1

direction

data

A TEMP

ALU Registers

Bank M

X

Modification

(20)

Identification of the control signals

(1)

Control

Unit  Output control signals for the registers bank

Signal Description

REGISTERS BANK CONTROL REGISTERS BANK CONTROL

SELreg1 SELreg0

This two signals select the register which should be accessed: B, C, D or E.

Lreg If it is set (value 1), allows the data that is in the bus to be stored in the selected register.

Sreg If it is set (value 1), allows the data that is in the selected register to appears in the bus.

(21)

Identification of the control signals

(2)

Control Unit

 Output control signals for the memory and the ALU

Signal Description

MEMORY CONTROL

Lmem Memory load signal. If its value is 1, the data stored in the address pointed by the address bus is placed in the data bus.

Smem Memory store signal. If its value is 1, the data present in the data bus is stored in the address pointed by the address bus.

SAddr2 These signals contol the multiplexor that selects the data to be placed in the address bus for access the memory. Depending of its value, the memory SAddr1 address bus for access the memory. Depending of its value, the memory

address that will be accessed would be set by the PC, SP or HL register.

ARITHMETIC LOGIC UNIT CONTROL

ALU2 ALU1 ALU0

These three control signals set the operation that will perform the ALU:

addition, subtraction, and, or, xor, increment and decrement.

Salu If this signal is set, the ALU result will be placed in the data bus.

(22)

Identification of the control signals

(3)

Control Unit

 Output control signals for the status register

Signal Description

STATUS REGISTER CONTROL

LF If the signal is set, loads the data in the status register. The data can come from the ALU or from the accumulator register.

SF If the signal is set, stores in the data bus the data stored in the status SF If the signal is set, stores in the data bus the data stored in the status

register.

SelO It controls the multiplexor that selects the data to write in the status register as the Overflow flag: bit 2 from the accumulator register or the overflow flag coming from the ALU.

SelC It controls the multiplexor that selects the data to write in the status register as the Carry flag: bit 1 from the accumulator register or the carry flag coming from the ALU.

SelZ It controls the multiplexor that selects the data to write in the status register as the Zero flag: bit 0 from the accumulator register or the zero flag coming from the ALU.

(23)

Identification of the control signals

(4)

Control Unit

 Output control signals for the registers and input control signals.

Signal Description

REGISTERS CONTROL

Lir If set, the data present in the data bus is stored in the instruction register.

Lpc If set, the data present in the input of the program counter is loaded.

LspL If set, the data present in the data bus is loaded in the low order byte of the SP register.

LspH If set, the data present in the data bus is loaded in the high order byte of the SP register.

Isp If set, the content of the SP register is increased by 1.

Isp If set, the content of the SP register is increased by 1.

Dsp If set, the content of the SP register is decreased by 1.

LaddrL If set, the data present in the data bus is loaded in the low order byte of the HL register.

LaddrH If set, the data present in the data bus is loaded in the high order byte of the HL register.

Lac If set, the data present in the data bus is loaded in the accumulator register.

Sac If set, the data in the accumulator register is placed in the data bus.

Ltemp If set, the data present in the data bus is stored in the temporal register.

CONTROL INPUTS

Z The Z flag generated by the ALU.

(24)

Identification of the control signals

(5)

Control Unit

 Control signals for the multiplexors, the register bank and the ALU.

SELreg1 SELreg0 Register

0 0 B

0 1 C

1 0 D

1 1 E

SAddr2 SAddr1 Address

0 0 PC

0 1 SP

1 0 HL

1 1 Unused

ALU2 ALU1 ALU0 Operation

0 0 0 Addition

0 0 1 Subtraction

0 1 0 And

0 1 1 Or

1 0 0 Xor

1 0 1 Increment

1 1 0 Decrement

1 1 1 Unused

SelO Action SelC Action SelZ Action

0 O←ALUO 0 C←ALUC 0 Z←ALUZ

1 O←A2 1 C←A1 1 Z←A0

(25)

Data and control path

Control Unit

PC

SP 0MX

1 +1

±1 Isp Lpc

LspLDsp LAddrH SAddr2,1

LspH LAddrL

Lir

Lmem Smem ALU2,1,0 LTemp

Lac Sac Lreg

Sreg SELreg1, 0 LF SF

SelZ Salu

CONTROL UNIT

Address

A TEMP

SP IR HL

1MX

2 MEMORY

Registers

M

Address

data

(26)

Control signals activation

Control Unit

These instructions will not be considered: ADD A, SUB A, ANA A y ORA A

Stages Operation Signals activation

STAGE 1

RI ← M[PC]

PC ← PC + 1

SAddr2, SAddr1(=00), Lmem, Lir, Lpc

STAGE 2

Decoding and evaluation of Z STAGE 3

Tema 2. La Unidad Central de Proceso 26

ADD, SUB, ANA, ORA TEMP ← r1 SELreg1,SELreg0 (=r1), Sreg, Ltemp ADI, SUI, ANI, ORI TEMP ← M[PC]

PC ← PC + 1

Ltemp, Lmem, SAddr2, SAddr1(=00) Lpc

LDA, STA, JMP, JZ L ← M[PC]

PC ← PC + 1

LAddrL, Lmem, SAddr2, SAddr1(=00) Lpc

STAGE 4

Arithmetic-Logic A ← A op TEMP ALU2, ALU1, ALU0 (=operation), Salu, Lac Transfer and jump H ← M[PC]

PC ← PC + 1

LAddrH, Lmem, SAddr2, SAddr1(=00) Lpc

STAGE 5

LDA A ← M(HL) SAddr2,SAddr1 (=10), Lmem,Lac

STA M(HL) ← A SAddr2,SAddr1 (=10), Smem, Sac

JMP, JZ PC ← HL + 1 SAddr2,SAddr1 (=10), Lpc

(27)

Stage 1 of the execution of LDA

Control Unit

PC

SP 0MX

1 +1

±1 Isp Lpc Dsp

LspL LAddrH SAddr2,1

LspH LAddrL

Lir

Lmem Smem ALU2,1,0 LTemp

Lac Sac Lreg

Sreg SELreg1, 0

LF SF

SelZ Salu

CONTROL UNIT

address

A TEMP

IR HL 2 MEMORY

Register Bank

M X

data

(28)

Stage 2 of the execution of LDA

Control Unit

PC

SP 0MX

1 +1

±1

Lpc Dsp Isp

LspL LAddrH SAddr2,1

LspH LAddrL

Lir

Lmem Smem ALU2,1,0 LTemp

Lac Sac

Lreg Sreg SELreg1, 0

LF SF

SelZ Salu

CONTROL UNIT

address

A TEMP

SP IR HL

S. R.

1

2 MEMORY

ALU Register

Bank M

X

data

(29)

Stage 3 of the execution of LDA

Control Unit

PC

0MX +1

±1

Lpc Dsp Isp

LspL LAddrH SAddr2,1

LspH LAddrL

Lir

Lmem Smem ALU2,1,0 LTemp

Lac Sac

Lreg Sreg SELreg1, 0 LF SF

SelZ Salu

CONTROL UNIT

address

A TEMP

SP IR HL

1MX

2 MEMORY

Register

Bank M

address

data

(30)

Stage 4 of the execution of LDA

Control Unit

PC

SP 0MX

1 +1

±1 Isp Lpc Dsp

LspL LAddrH SAddr2,1

LspH LAddrL

Lir

Lmem Smem ALU2,1,0 LTemp

Lac Sac Lreg

Sreg SELreg1, 0

LF SF

SelZ Salu

CONTROL UNIT

address

A TEMP

IR HL

S. R.

2 MEMORY

ALU Register

Bank

M X

data

(31)

Stage 5 of the execution of LDA

Control Unit

PC

SP 0MX

1 +1

±1

Lpc Dsp Isp

LspL LAddrH SAddr2,1

LspH LAddrL

Lir

Lmem Smem ALU2,1,0 LTemp

Lac Sac Lreg

Sreg SELreg1, 0

LF SF

SelZ Salu

CONTROL UNIT

address

A TEMP

SP IR HL

1MX

2 MEMORY

Register

M

address

data

(32)

LDA addr

Control Unit

SAddr2-1 00 L

Lir LPc

00 00 02

ZZ

LPc LAddrL LAddrH

LAc

Instruction look up Stage

Decoding Execution

Stage

(33)

Control Unit Design



Wired Control.

 Implemented with Hardware, therefore very fast.

 It is not flexible: a posterior modification implies to change the whole circuit.



Microprogrammed Control.

 Programmed representation for the control.

Control Unit Design

 Programmed representation for the control.

 Slower, as the control memory must be accessed.

 Flexible, it allows posterior modifications with out change the whole circuit.



Two methods to design a wired control unit

(34)

State table method



Based on a finite state machine.



A finite state machine consists:

 An internal memory that holds the state and

 Two combinatories functions:

 The next state function

 The output function

Wired Control

Unit

 The output function

 Each state corresponds to a clock cycle and contains the operations to be done on that cycle.

 The next state function is a combinatory function that using its inputs and the current state determines the next state.

 The output function produced the set of control signals from its inputs and the current state.

(35)

States graph

State Table Method

0/S0

1/S1 C.Op.=XXXX

Z=X

35h, 36h, 68h, 69h,X

70h, 71h, 74h ,X 72h, 1 30h,18h, 20h, 24, X

C.Op.=72h Z=0

3/S3 8/S8

24h,X

XX,X

9/S9

70h,X

6/S6 7/S7

4/S4 5/S5 30h,X

18h,X 20h,X

69h,X

XX,X XX,X

XX,X XX,X

2/S2

35h,X 36h,X

68h,X

71h,X

72h,74h,X

(36)

Output function

State Table Method

Output function States

Control signals 0 1 2 3 4 5 6 7 8 9 10 11 12

Lir 1 0 0 0 0 0 0 0 0 0 0 0 0

SAddr2,1 00 XX XX 00 XX XX XX XX 00 00 10 10 10

Lmem 1 0 0 1 0 0 0 0 1 1 1 0 0

Smem 0 0 0 0 0 0 0 0 0 0 0 1 0

Lpc 1 0 0 1 0 0 0 0 1 1 0 0 1

LspL 0 0 0 0 0 0 0 0 0 0 0 0 0

LspH 0 0 0 0 0 0 0 0 0 0 0 0 0

As arithmetic-logic instructions, we only consider: Add B, SUB B, ANA B y ORA B

LspH 0 0 0 0 0 0 0 0 0 0 0 0 0

Isp 0 0 0 0 0 0 0 0 0 0 0 0 0

Dsp 0 0 0 0 0 0 0 0 0 0 0 0 0

LaddrL 0 0 0 0 0 0 0 0 1 0 0 0 0

LaddrH 0 0 0 0 0 0 0 0 0 1 0 0 0

SELreg1,0 XX XX 00 XX XX XX XX XX XX XX XX XX XX

Lreg 0 0 0 0 0 0 0 0 0 0 0 0 0

Sreg 0 0 1 0 0 0 0 0 0 0 0 0 0

Lac 0 0 0 0 1 1 1 1 0 0 1 0 0

Sac 0 0 0 0 0 0 0 0 0 0 0 1 0

Ltemp 0 0 1 1 0 0 0 0 0 0 0 0 0

ALU2,1,0 XXX XXX XXX XXX 000 001 010 011 XXX XXX XXX XXX XXX

Salu 0 0 0 0 1 1 1 1 0 0 0 0 0

Sel0 X X X X 0 0 0 0 X X X X X

SelC X X X X 0 0 0 0 X X X X X

SelZ X X X X 0 0 0 0 X X X X X

LF 0 0 0 0 1 1 1 1 0 0 0 0 0

SF 0 0 0 0 0 0 0 0 0 0 0 0 0

(37)

Next state function

State Table Method

INSTRUCTION E3 E2 E1 E0 PE3 PE2 PE1 PE0

0 0 0 0 0 0 0 1

72h,0 (JZ) 0 0 0 1 0 0 0 0

30h,18h,20h,24h,X (ADD,SUB,ANA,ORA) 0 0 0 1 0 0 1 0 35h,36h,68h,69h,X (ADI,SUI,ANI,ORI) 0 0 0 1 0 0 1 1 70h,71h,74h,X (LDA,STA,JMP);72h,1 (JZ) 0 0 0 1 1 0 0 0

30h,X ( ADD) 0 0 1 0 0 1 0 0

18h,X (SUB) 0 0 1 0 0 1 0 1

20h,X (ANA) 0 0 1 0 0 1 1 0

24h,X (ORA) 0 0 1 0 0 1 1 1

35h,X (ADI) 0 0 1 1 0 1 0 0

36h,X (SUI) 0 0 1 1 0 1 0 1

68h,X (ANI) 0 0 1 1 0 1 1 0

69h,X (ORI) 0 0 1 1 0 1 1 1

0 1 0 0 0 0 0 0

0 1 0 1 0 0 0 0

0 1 1 0 0 0 0 0

0 1 1 1 0 0 0 0

1 0 0 0 1 0 0 1

70h,X (LDA) 1 0 0 1 1 0 1 0

71h,X (STA) 1 0 0 1 1 0 1 1

72h,74h , X (JMP, JZ) 1 0 0 1 1 1 0 0

(38)

Control Unit Implementation

 Control unit built as a finite state machine.

 The combinatory circuit could be

State Table Method

Lógica de

Control Salidas

Isp, Dsp LdirH, LdirL SELreg1,SELreg0

Lreg,Sreg Lac, Sac Ltemp

ALU1,Alu1,ALu0 Salu

LspH, LspL Lri

SDir2, SDir1 Lmem Emem Lpc

implemented using a

ROM or a PLA. Entradas

Registro de estado Código de Operación

y Flag Z

Salu

SelO,SelC,SelZ LF,SF

PE3 PE2 PE1 PE0

E1 E0 E2 E3 Z

C3 C2 C1 C0 C7 C6 C5 C4

(39)

Control Unit Implementation

 A PLA (programmable logic array) is a general purpose programmable logic element to implement any

combinatory function.

 A PLA is form by:

A set of inputs and outputs

State Table Method

A set of inputs and outputs

A set of AND gates that form a set of product terms.

A set of OR gates, each of them form a logic sum of any product term.

A set of negators for the inputs.

Two arrays of modifiable connections (AND & OR)

(40)

Control Unit Implementation

State Table Method

En0

Ea0 En8

...

Ea3 Ea1 Ea2

S0 S1 S1 S1 S1 S1 S12

30h 18h 20h 24h 72h,1

...

...

...

...

...

...

Lir, Lmem,Lpc Saddr2,1=00

1 2 32

...

. ...

.

1

Output ...

Array OR ...

3 4 5 ...

...

...

13 ...

...

...

1 Ef0

1 Ef1

1 Ef2

1 Ef3

2 SELreg1,0=00

Sreg,Ltemp

(41)

Control Unit Implementation

 The size of a PLA is equal to the addition of the size of the AND gates array and the size of the OR gates array.

 For MaNoTaS = (13xnumber of different product terms) + (32xnumber of sum terms).

 A PLA is more efficient than a ROM because it doesn’t

State Table Method

A PLA is more efficient than a ROM because it doesn’t stores a full truth table, instead it does a minimal addition of products.

 Programming a PLA is harder than programming a ROM.

(42)

Sequence counter method

 It is based on a module K counter which outputs are connected to a

decoder generating a individual signal on each stage.

 The counter pass throught

Wired Control

Unit

reloj Contador Puesta a cero

Módulo K

DECODIFICADOR

Φ1 Φ2 Φk

 The counter pass throught each state on each cycle

 The decoder generates K pulsed signals {Φj} which are the stage signals.

 All the stages have the same duration (equal to a clock cycle)

Φ1

Φ2

ΦK Φ3

fases

(43)

Control Unit Implementation

 Each control signal is obtained as:

Stages Counter Method

ADD SUB

Contador de fases

Puesta a cero

Φ0 Φ1 Φ2 Φ3

Lri

Φ4

∑ ∑ Φ

=

j m

l j

i

S

c I

m

STA JMP JZ ANA ORA ADI SUI ANI

Lógica de control combinacional

Salidas Decodificado

r de instruccione

s

Isp, Dsp LdirH, LdirL SELreg1,SELreg0

Lreg,Sreg Lac, Sac Ltemp

ALU1,Alu1,ALu0 LspH, LspL Lri SDir2, SDir1 Lmem Emem Lpc

ORI LDA

(44)

Logic function examples

 Output logic functions for some control signals.

Stages Counter

Method

Signal Output logic function

Zero

( )

) Z

· JZ jmp ( 12 sta

11 lda

10

7 ) ani ana

( 6 ) sui sub ( 5 ) adi add ( 4 Z

JZ

14

+

Φ +

Φ +

Φ +

Φ + +

Φ + +

Φ + +

Φ +

Φ

Lpc Φ0+Φ2(adi+sui+ani+ori+lda+sta + jmp+ jzZ)

ALU1

+ + +

Φ3 ana ani ora ori

ALU0 Φ3(sub+ sui+ora +ori)

Smem Φ4sta

(45)

Machine abstraction

CONTROL

BUS de control

MaNoTas

MEMORIA

RUTA DE DATOS

BUS de direcciones

BUS de datos

ROCESADOR

(46)

Conclusions

 The data path structure has influence on the establishment of the stages.

 The structure of the instruction set has influence on the data path.

 The wired Control Unit is very efficient as the control signals

Conclusions

are activated directly by the hardware.

 It is suitable when the instructions set is not much complex.

 However it is not flexible on posterior modifications.

 The different design methods for the control unit are all equivalents, differing only by its facility to obtain the logic functions for the control signals.

Referencias

Documento similar

In the “big picture” perspective of the recent years that we have described in Brazil, Spain, Portugal and Puerto Rico there are some similarities and important differences,

When the override state is YES the user is overriding the non pointing data from the URL. The data that could be overridden are the laser impacted flag, the FOV diameter and the

The spatially-resolved information provided by these observations are allowing us to test and extend the previous body of results from small-sample studies, while at the same time

Thus, in this contribution, we present the statistical laws that describe electromagnetic field maxima distribution, and based on them, we develop a novel methodology which relates

The growth of global markets for finance and specialized services, the need for transnational servicing networks due to sharp increases in international investment, the reduced

In the proof of 1.16 Euclid (tacitly) assumes that the straight line is potentially infinite. In the first 28 propositions of book 1 of the Elements, only the 21 and the 26-28

MD simulations in this and previous work has allowed us to propose a relation between the nature of the interactions at the interface and the observed properties of nanofluids:

Government policy varies between nations and this guidance sets out the need for balanced decision-making about ways of working, and the ongoing safety considerations