This document discusses the history and development of computer architecture from early machines like Babbage's Analytical Engine to the modern von Neumann architecture. It then describes the specific architecture of the Hack computer being built, including its instruction memory, data memory divided into areas for general data, screen, and keyboard, and the CPU that fetches and executes instructions. The goal is to build this computer from basic logic gates and chips following the levels of abstraction presented.
interfacing matlab with embedded systemsRaghav Shetty
This Book is all about Interfacing Embedded System with Matlab. This book guides the beginners for creating GUI , Modeling with SimuLink & Interfacing Arduino , Raspberry Pi , BeagleBone with Embedded System. This Book is NOT FOR SALE , Only knowledge base for Open Source Community
interfacing matlab with embedded systemsRaghav Shetty
This Book is all about Interfacing Embedded System with Matlab. This book guides the beginners for creating GUI , Modeling with SimuLink & Interfacing Arduino , Raspberry Pi , BeagleBone with Embedded System. This Book is NOT FOR SALE , Only knowledge base for Open Source Community
INTRODUCTION TO COMPUTER SYSTEMS ARCHITECTURE1_17 December 2023.pptMozammelHaque53
This is a lecture PowerPoint slide for the students of universities worldwide who desire to learn and advance his or her knowledge and expertise on Computer systems architecture.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
1. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 1
www.nand2tetris.org
Building a Modern Computer From First Principles
Computer Architecture
2. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 2
Babbage’s Analytical Engine (1835)
“We may say most aptly that the Analytical Engine
weaves algebraic patterns just as the Jacquard-
loom weaves flowers and leaves”
(Ada Lovelace)
Charles Babbage (1791-1871)
3. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 3
Some early computers and computer scientists
Blaise Pascal
1623-1662
Gottfried Leibniz
1646-1716
4. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 4
Von Neumann machine (circa 1940)
Arithmetic Logic
Unit (ALU)
CPU
Registers
Control
Memory
(data
+
instructions)
Input
device
Output
device
Andy Grove (and others) ... made it small and fast.John Von Neumann (and others) ... made it possible
Stored
program
concept!
5. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 5
Arithmetic Logic
Unit (ALU)
CPU
Registers
Control
Memory
(data
+
instructions)
Input
device
Output
device
Processing logic: fetch-execute cycle
Executing the current instruction involves one or more of
the following micro-tasks:
Have the ALU compute some function out = f (register values)
Write the ALU output to selected registers
As a side-effect of this computation,
figure out which instruction to fetch and execute next.
6. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 6
The Hack chip-set and hardware platform
Elementary logic gates
Nand
Not
And
Or
Xor
Mux
Dmux
Not16
And16
Or16
Mux16
Or8Way
Mux4Way16
Mux8Way16
DMux4Way
DMux8Way
Combinational chips
HalfAdder
FullAdder
Add16
Inc16
ALU
Sequential chips
DFF
Bit
Register
RAM8
RAM64
RAM512
RAM4K
RAM16K
PC
Computer Architecture
Memory
CPU
Computer
done
done
done
this lecture
7. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 7
The Hack computer
Main parts of the Hack computer:
Instruction memory (ROM)
Memory (RAM):
• Data memory
• Screen (memory map)
• Keyboard (memory map)
CPU
Computer (the logic that holds everything together).
A 16-bit Von Neumann platform
The instruction memory and the data memory are physically separate
Screen: 512 rows by 256 columns, black and white
Keyboard: standard
Designed to execute programs written in the Hack machine language
Can be easily built from the chip-set that we built so far in the course
8. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 8
Lecture / construction plan
Instruction memory
Memory:
Data memory
Screen
Keyboard
CPU
Computer
9. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 9
Instruction memory
out
15 16
address
ROM32K
Function:
The ROM is pre-loaded with a program written in the Hack machine language
The ROM chip always emits a 16-bit number:
out = ROM32K[address]
This number is interpreted as the current instruction.
10. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 10
Data memory
Low-level (hardware) read/write logic:
To read RAM[k]: set address to k,
probe out
To write RAM[k]=x: set address to k,
set in to x,
set load to 1,
run the clock
High-level (OS) read/write logic:
To read RAM[k]: use the OS command out = peek(k)
To write RAM[k]=x: use the OS command poke(k,x)
peek and poke are OS commands whose implementation should effect the same
behavior as the low-level commands
More about peek and poke this later in the course, when we’ll write the OS.
load
11. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 11
Lecture / construction plan
Instruction memory
Memory:
Data memory
Screen
Keyboard
CPU
Computer
12. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 12
Screen
The Screen chip has a basic RAM chip functionality:
read logic: out = Screen[address]
write logic: if load then Screen[address] = in
Side effect:
Continuously refreshes a 256 by 512 black-and-white
screen device
load
out
in
16
15
16address
Screen
Physical
Screen
The bit contents of the
Screen chip is called the
“screen memory map”
The simulated
256 by 512
B&W screen
When loaded into the
hardware simulator, the
built-in Screen.hdl chip
opens up a screen window;
the simulator then
refreshes this window
from the screen memory
map several times each
second.
Simulated screen:
13. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 13
Screen memory map
How to set the (row,col) pixel of the screen to black or to white:
Low-level (machine language): Set the col%16 bit of the word found at
Screen[row*32+col/16] to 1 or to 0
(col/16 is integer division)
High-level: Use the OS command drawPixel(row,col)
(effects the same operation, discussed later in the course, when we’ll write the OS).
0
1
255
.
.
.
. . .0 1 2 3 4 5 6 7 511
0011000000000000
0000000000000000
0000000000000000
0
1
31
.
.
.
row 0
0001110000000000
0000000000000000
0000000000000000
32
33
63
.
.
.
row 1
0100100000000000
0000000000000000
0000000000000000
8129
8130
8160
.
.
.
row
255
. . .
. . .
. . .
.
.
.
refresh several times
each second
Screen
In the Hack platform,
the screen is
implemented as an 8K
16-bit RAM chip.
14. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 14
Keyboard
Keyboard chip: a single 16-bit register
Input: scan-code (16-bit value) of the currently
pressed key, or 0 if no key is pressed
Output: same
How to read the keyboard:
Low-level (hardware): probe the contents of the Keyboard chip
High-level: use the OS command keyPressed()
(effects the same operation, discussed later in the course, when we’ll write the OS).
Special keys:
The keyboard is implemented as
a built-in Keyboard.hdl chip.
When this java chip is loaded
into the simulator, it connects
to the regular keyboard and
pipes the scan-code of the
currently pressed key to the
keyboard memory map.
The simulated
keyboard
enabler button
Simulated keyboard:
15. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 15
Lecture / construction plan
Instruction memory
Memory:
Data memory
Screen
Keyboard
CPU
Computer
16. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 16
Memory: conceptual / programmer’s view
Using the memory:
To record or recall values (e.g. variables, objects, arrays), use the first 16K words of
the memory
To write to the screen (or read the screen), use the next 8K words of the memory
To read which key is currently pressed, use the next word of the memory.
Data
Screen
memory
map
Keyboard map
Memory
Keyboard
Screen
17. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 17
Memory: physical implementation
Access logic:
Access to any address from 0 to 16,383 results in accessing the RAM16K chip-part
Access to any address from 16,384 to 24,575 results in accessing the Screen chip-part
Access to address 24,576 results in accessing the keyboard chip-part
Access to any other address is invalid.
load
out
in
16
15
16
RAM16K
(16K mem. chip)
address
0
16383
Screen
(8K mem. chip)
16384
24575
24576
Keyboard
(one register)
Memory
Keyboard
Screen
The Memory chip is essentially a
package that integrates the three chip-
parts RAM16K, Screen, and Keyboard
into a single, contiguous address space.
This packaging effects the
programmer’s view of the memory, as
well as the necessary I/O side-effects.
18. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 18
Lecture / construction plan
Instruction memory
Memory:
Data memory
Screen
Keyboard
CPU
Computer
19. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 19
A pledge to patience ...
“At times … the fragments that I lay out for your inspection may
seem not to fit well together, as if they were stray pieces from
separate puzzles. In such cases, I would counsel patience. There
are moments when a large enough fragment can become a low
wall, a second fragment another wall to be raised at a right angle
to the first. A few struts and beams later, and we may made
ourselves a rough foundation … But it can consume the better
part of a chapter to build such a foundation; and as we do so the
fragment that we are examining may seem unconnected to the
larger whole. Only when we step back can we see that we have
been assembling something that can stand in the wind.”
From: Sailing the Wind Dark Sea (Thomas Cahill)
20. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 20
CPU
instruction
inM
16
1
15
15
16 outM
16
writeM
addressM
pc
reset
1
CPU
to data
memory
to instruction
memory
from
data memory
from
instruction
memory
CPU internal components (invisible in this chip diagram): ALU and 3 registers: A, D, PC
CPU execute logic:
The CPU executes the instruction according to the Hack language specification:
The D and A values, if they appear in the instruction, are read from (or written to) the
respective CPU-resident registers
The M value, if there is one in the instruction’s RHS, is read from inM
If the instruction’s LHS includes M, then the ALU output is placed in outM, the value of
the CPU-resident A register is placed in addressM, and writeM is asserted.
a Hack machine language
instruction like M=D+M,
stated as a 16-bit value
21. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 21
CPU
instruction
inM
16
1
15
15
16 outM
16
writeM
addressM
pc
reset
1
CPU
to data
memory
to instruction
memory
from
data memory
from
instruction
memory
CPU internal components (invisible in this chip diagram): ALU and 3 registers: A, D, PC
CPU fetch logic:
Recall that:
1. the instruction may include a jump directive (expressed as non-zero jump bits)
2. the ALU emits two control bits, indicating if the ALU output is zero or less than zero
If reset==0: the CPU uses this information (the jump bits and the ALU control bits) as follows:
If there should be a jump, the PC is set to the value of A; else, PC is set to PC+1
If reset==1: the PC is set to 0. (restarting the computer)
a Hack machine language
instruction like M=D+M,
stated as a 16-bit value
22. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 22
The C-instruction revisited
jumpdestcomp
1 1 1 a c1 c2 c3 c4 c5 c6 d1 d2 d3 j1 j2 j3binary:
dest = comp; jump
23. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 23
Execute logic:
Decode
Execute
Fetch logic:
If there should be a jump,
set PC to A
else set PC to PC+1
ALU
Mux
D
Mux
reset
inM
addressM
pc
outM
A/Minstruction
decode
C
C
C
C
C
D
A
PC
C
C
A
A
A
M
ALU output
writeMC
C
jumpdestcomp
1 1 1 a c1 c2 c3 c4 c5 c6 d1 d2 d3 j1 j2 j3binary:
dest = comp; jumpCPU implementation
Cycle:
Execute
Fetch
Resetting the computer:
Set reset to 1,
then set it to 0.
Chip diagram:
Includes most of the
CPU’s execution logic
The CPU’s control logic is
hinted: each circled “c”
represents one or more
control bits, taken from
the instruction
The “decode”
bar does not
represent a
chip, but
rather indicates
that the
instruction bits
are decoded
somehow.
24. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 24
Lecture / construction plan
Instruction memory
Memory:
Data memory
Screen
Keyboard
CPU
Computer
25. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 25
Computer-on-a-chip interface
Computer
reset
Keyboard
Screen
26. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 26
Computer-on-a-chip implementation
Data
Memory
(Memory)
instruction
CPU
Instruction
Memory
(ROM32K)
inM
outM
addressM
writeM
pc
reset
CHIP Computer {
IN reset;
PARTS:
// implementation missing
}
CHIP Computer {
IN reset;
PARTS:
// implementation missing
}
Implementation:
Simple, the chip-parts do all the hard work.
27. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 27
The spirit of things
We ascribe beauty to that which is
simple; which has no superfluous parts;
which exactly answers its end;
which stands related to all things;
which is the mean of many extremes.
(Ralph Waldo Emerson,
1803-1882)
28. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 28
Lecture plan
Instruction memory
Memory:
Data memory
Screen
Keyboard
CPU
Computer
“Ya, right,
but what about
the software?”
29. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 29
Perspective: from here to a “real” computer
Caching
More I/O units
Special-purpose processors (I/O, graphics, communications, …)
Multi-core / parallelism
Efficiency
Energy consumption considerations
And more ...
30. Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org , Chapter 5: Computer Architecture slide 30
Perspective: some issues we haven’t discussed (among many)
CISC / RISC (hardware / software trade-off)
Hardware diversity: desktop, laptop, hand-held, game machines, …
General-purpose vs. embedded computers
Silicon compilers
And more ...