Limit search to available items
Book Cover
E-book
Author Groote, J. F. (Jan Friso), 1965- author.

Title Logical gates, circuits, processors, compilers and computers / Jan Friso Groote, Rolf Morel, Julien Schmaltz, Adam Watkins
Published Cham : Springer, [2021]
©2021

Copies

Description 1 online resource : illustrations (some color)
Contents Intro -- Preface -- Contents -- Chapter 1 Basic components and combinatorial circuits -- 1.1 The three basic logic gates -- 1.2 Other logic gates -- 1.3 Physical realisation of gates -- 1.3.1 MOSFET transistors -- 1.3.2 CMOS gates -- 1.3.3 Switching delays -- 1.3.4 Moore's law -- 1.4 Algebraic manipulation and duality -- 1.5 Two-layer circuits -- 1.6 Karnaugh maps -- 1.7 Functional completeness of the nand gate -- 1.8 Multiplexers -- 1.9 Summary -- Chapter 2 Numbers, basic circuits, and the ALU -- 2.1 Representation of unsigned numbers -- 2.2 Two's complement representation of integers
2.3 Adding unsigned numbers -- 2.4 Adding two's complement numbers -- 2.5 Subtraction -- 2.6 Comparing unsigned and two's complement numbers -- 2.7 Arithmetic circuits: addition and subtraction -- 2.7.1 Addition: the half- and full adder -- 2.7.2 Subtraction -- 2.7.3 The carry look-ahead adder -- 2.8 The arithmetic logic unit (ALU) -- 2.9 Multiplication -- 2.10 Alternative representations for numbers -- 2.10.1 Sign and magnitude -- 2.10.2 One's complement -- 2.10.3 Floating-point numbers -- 2.10.4 Parity bits and Hamming codes. -- 2.10.5 Gray code -- 2.11 Representation of character sets
2.12 Summary -- Chapter 3 Sequential circuits -- 3.1 A one-time latch -- 3.2 The set-reset flip-flop/set-reset latch -- 3.3 The D-latch/D-flip-flop -- 3.4 Registers -- 3.5 Finite state machines -- 3.5.1 An example state machine with four states -- 3.5.2 Encoding the state machine -- 3.5.3 Realising the state machine using logic gates and flip-flops -- 3.6 Random access memory -- 3.7 Finite state machines to control registers -- 3.8 Hardware description languages -- 3.9 Summary -- Chapter 4 An elementary processor -- 4.1 The general structure of the processor -- 4.2 The instruction set
4.3 The instruction fetch and the register transfer language -- 4.4 The format of machine code instructions -- 4.5 Implementing instructions on the processor -- 4.6 Optimisation of the execution of instructions -- 4.7 More advanced instructions -- 4.8 Input and output -- 4.9 Interrupts -- 4.10 Summary -- Chapter 5 Assembly programming -- 5.1 Labels and comments, EQU and CONS -- 5.2 Arithmetic calculations -- 5.3 A timed loop -- 5.4 Basic data structures -- 5.4.1 Arrays -- 5.4.2 Stacks -- 5.4.3 Linked lists -- 5.5 Memory layout -- 5.5.1 Allocation dependence -- 5.5.2 Relocatable code and data
5.6 Subroutines -- 5.6.1 Saving the return address -- 5.6.2 Returning values -- 5.6.3 Passing arguments on the stack -- 5.6.4 Local variables -- 5.7 Interrupt routines -- 5.7.1 Interrupt handlers -- 5.7.2 Installing handlers -- 5.7.3 An example: displaying keyboard strokes -- 5.8 Multitasking and multithreading -- 5.8.1 Timer interrupts and context switching -- 5.8.2 Data structures for multitasking -- 5.9 Summary -- Chapter 6 Compiling higher-level languages -- 6.1 A simple higher-level programming language -- 6.2 Context free grammars and parsing -- 6.3 Type checking -- 6.4 Compilation scheme
Summary Computers are constructed with integrated circuits such as micro-processors. These processors can contain well over a billion transistors all connected with each other in an intricate pattern. In addition to this hardware, many layers of software are used, making computer systems very complex objects indeed. However, many of the essential ideas behind the construction of computers are actually quite straightforward. The purpose of this text book is to give a concise, but precise, description of the essence of a computer. It begins by describing the logic gates that are constructed from transistors, then explains how such gates can be used to implement logic functions through combinatorial circuits. Further coverage includes key aspects of processing, Assembly programming, compiling higher-level languages, and computer organisation. The book also includes a helpful chapter on Raspberry Pi as a suitable learning tool. Topics and features: * Presents a holistic view of relevant hardware and software technologies * Introduces students to basic electronic circuitry before examining more advanced elements * Provides many exercises, also including their answers at the end of the book * Explains critical relationships to Assembly programming, higher-level languages, and computer organisation * Makes helpful use of the Raspberry Pi and ARM microprocessors for explanations Extensively class-tested, this unique, concise textbook for undergraduates describes the essential components and workings of a computer. Useful in computer science and electronics engineering courses or for self-study, the work assumes basic understandings of elementary mathematics and electronics, as well as some experience with a common programming language like Java or C++. Prof. Jan Friso Groote, Dr. Julien Schmaltz, and Dr. Adam Watkins are all at Eindhoven University of Technology, Mathematics and Computer Science, Eindhoven, The Netherlands. Mr. Rolf Morel is at the University of Oxford, Dept. of Computer Science, Oxford, United Kingdom
Bibliography Includes bibliographical references and index
Notes Online resource; title from PDF title page (SpringerLink, viewed August 27, 2021)
Subject Computers.
Computer programming.
Computers
computers.
computer programming.
Computer programming
Computers
Form Electronic book
Author Morel, Rolf, author
Schmaltz, Julien, author
Watkins, Adam, author
ISBN 9783030685539
3030685535