8-bit computer RAM intro

Ben Eater
31 Jul 201613:45

Summary

TLDRThis video script delves into the construction of a 16-byte memory system using 8-bit registers, each with a write and enable signal. It explains the concept of static and dynamic RAM, highlighting the differences in complexity and speed. The script introduces the 74 LS189 chip, a 64-bit RAM chip, and outlines its use in building an 8-bit, 16-byte memory system. It also discusses the necessity of inverting the chip's output due to its inverse logic and the importance of address decoding for memory access.

Takeaways

  • 😀 The video discusses the construction of a bit register with a single input and output, which can store one bit of data.
  • 🔧 The interface for the bit register includes an input, an output, a write signal, an enable signal, and a clock signal.
  • ⏱️ The clock signal is crucial for making the register synchronous, ensuring data is only read on the rising edge of the clock.
  • 📈 The video then scales up to an 8-bit register, which operates on the same principles but can store eight bits of data at once.
  • 💾 To build computer memory, the concept is extended to create an 8-bit storage unit replicated multiple times to store multiple bytes.
  • 🔑 Each memory location has a separate write and enable signal, allowing individual control over each storage unit.
  • 🔄 The video introduces the concept of Dynamic RAM (DRAM) and Static RAM (SRAM), explaining their differences in refresh mechanisms and use cases.
  • 🛠️ The 74LS189 chip is introduced as a convenient way to build memory, being a 64-bit random access memory chip that can be used to create the desired 16-byte memory.
  • 🔢 The chip uses a 4-bit address to select which of the 16 memory locations is being accessed, simplifying the control mechanism.
  • ⚙️ The video concludes with a discussion of the pinout and functionality of the 74LS189 chip, including its use of inverse logic for outputs and the need for inverter chips.

Q & A

  • What is the primary function of a bit register?

    -A bit register is used to store one bit of data. It has a single input and a single output, with an LED indicating the stored bit. The interface includes an input, an output, a write signal, and an enable signal.

  • How does the write signal affect the bit register?

    -The write signal, when active, allows the bit register to store whatever is coming into the input.

  • What is the role of the enable signal in the bit register?

    -The enable signal, when active, sends the bit stored in the register to the output.

  • Why is the clock signal important for a synchronous register?

    -The clock signal is important because it synchronizes data storage with the rising edge of the clock, ensuring that data is only read or written at specific times.

  • How does an 8-bit register differ from a 1-bit register?

    -An 8-bit register stores eight bits of data instead of one, but it operates on the same principle with enable and write signals. The difference is that it has eight inputs and eight outputs, all managed through a bus.

  • What is the purpose of building a 16-byte memory?

    -A 16-byte memory is built by replicating the 8-bit storage units 16 times, allowing the storage of 16 bytes of data. Each byte has its own write and enable signals.

  • What is the difference between Dynamic RAM and Static RAM?

    -Dynamic RAM requires constant refreshing to maintain data because it uses a capacitor that discharges over time. Static RAM, on the other hand, does not need refreshing as it typically uses flip-flop circuits that retain data as long as power is supplied.

  • Why is Static RAM more expensive than Dynamic RAM?

    -Static RAM is more expensive because it uses more transistors and has more complexity in each memory cell compared to Dynamic RAM.

  • How does address decoding logic help in memory management?

    -Address decoding logic allows the selection of specific memory locations using an address. It uses AND gates and the address signals to enable the appropriate memory location for reading or writing.

  • What is the 74LS189 chip and how does it relate to the memory discussed in the script?

    -The 74LS189 is a 64-bit random access memory chip. It is used to build an 8-bit, 16-byte memory by using two of these chips, as each chip provides half the required memory width.

  • Why are inverters needed when using the 74LS189 chip?

    -The 74LS189 outputs the inverse of the stored value. Inverters are needed to re-invert these outputs to match the stored values.

Outlines

00:00

💾 Introduction to 1-bit and 8-bit Registers

The paragraph introduces a 1-bit register with a single input and output, represented by an LED, which stores one bit of data. It explains the interface of the register, including the input, output, write signal, and enable signal. The write signal stores data when active, and the enable signal sends the stored data to the output. The paragraph also mentions the clock signal's role in synchronizing data storage with the rising edge of the clock, making it a synchronous register. The discussion then moves to an 8-bit register, which operates on the same principles but stores eight bits of data. The input and output are through a bus, and there's a separate write and enable signal for each bit. The paragraph concludes with a transition to building memory for a computer by replicating the 8-bit storage units, with separate write signals for each memory location.

05:00

🔌 Building a 16-Byte Memory with Address Decoding

This paragraph delves into constructing a 16-byte memory by replicating the 8-bit storage units. Each unit has its own write signal, and the memory is expanded to 16 locations, each with a unique write signal. The concept of 'words' in memory is introduced, explaining that each row represents a word, and in this case, each word is 8 bits long. The paragraph then discusses the practicality of building such memory with transistors and capacitors, noting the limitations of capacitors that require constant refreshing to maintain data. The difference between Dynamic RAM (DRAM), which requires refreshing, and Static RAM (SRAM), which does not, is explained. The decision to use SRAM for the computer being built is justified due to its simplicity and lack of need for a refresh circuit. The paragraph concludes with an introduction to address decoding logic, which uses a 4-bit address to select which of the 16 bytes to read or write, and explains the logic behind enabling specific memory locations based on the address.

10:01

🛠️ Implementing Memory with 74LS189 RAM Chip

The final paragraph discusses the practical implementation of the 16-byte memory using the 74LS189 RAM chip, which is a 64-bit random access memory. The chip's 4-bit width is noted, and it's mentioned that two chips are required to achieve the desired 8-bit width for the 16-byte memory. A block diagram from the data sheet is referenced to explain the chip's internal structure, including the 16-word by 4-bit memory cell array, chip select, and write enable signals. The pinout of the chip is described, highlighting the address lines, inputs, and outputs, with a special note on the inverse logic of the outputs, which requires the use of inverter chips to obtain the correct data. The paragraph ends with a plan to wire up the chip in the next video and begin building the computer's RAM.

Mindmap

Keywords

💡Bit Register

A bit register is a fundamental component in digital electronics that stores a single binary digit, either a 0 or a 1. In the context of the video, the bit register serves as a basic building block for more complex memory systems. The script mentions creating a 'single input, a single output' bit register with an LED, which is a simple way to visualize the storage of one bit of data.

💡Enable Signal

The enable signal is a control signal used in digital circuits to determine whether a particular operation should be performed. In the video, the enable signal is crucial for the operation of the bit register; it activates when data should be sent from the register to the output. The script describes how the enable signal works in conjunction with the right signal to control data flow in and out of the register.

💡Write Signal

The write signal is another control signal used to indicate when data should be written into a memory device. The video script explains that when the write signal is active, it triggers the storage of the input data into the bit register. This signal is essential for the operation of memory systems, as it dictates when new data is to be recorded.

💡Clock Signal

The clock signal is a regular, oscillating electronic signal that synchronizes the operation of digital circuits. Although not included in the simplified example in the video, the script mentions that the clock signal is typically used to make a register synchronous, meaning it controls the timing of when data is read or written based on the rising or falling edge of the clock. This is important for coordinated data processing in complex systems.

💡8-bit Register

An 8-bit register is a memory component that can store eight binary digits, or one byte of data. The video script builds upon the concept of a single bit register to explain an 8-bit register, which extends the storage capacity. This is achieved by having eight individual bit registers, each with its own enable and write signals, allowing for the storage of eight bits of data simultaneously.

💡Memory Cell

A memory cell is the basic unit of data storage in a memory system. The video script uses the analogy of a bit register to describe a memory cell, emphasizing that in a larger memory system, such as a computer's RAM, each memory cell would store one bit of data. The video discusses how these cells are replicated numerous times to create the memory capacity needed for a computer.

💡Static RAM (SRAM)

Static RAM is a type of memory that retains data as long as power is supplied, without the need for periodic refreshing. The video script contrasts SRAM with Dynamic RAM (DRAM), explaining that SRAM does not require the constant refreshing of data that DRAM does. SRAM is typically faster and more expensive than DRAM, and the video's project opts for SRAM due to its simplicity and the lack of need for a refresh mechanism.

💡Dynamic RAM (DRAM)

Dynamic RAM is a type of memory that stores data in capacitors, which must be periodically refreshed to prevent data loss. The video script explains that DRAM requires a separate circuit to read each bit of memory and then write it back, maintaining the data integrity. This refreshing process is necessary because capacitors discharge over time, making DRAM a more complex and less permanent solution compared to SRAM.

💡Address Decode Logic

Address decode logic is a system used to select specific memory locations based on address signals. The video script describes how this logic is used to determine which of the 16 bytes in a memory system is being accessed. It involves using AND gates and inverting signals to activate the appropriate enable or write signal for the desired memory location, based on a 4-bit address input.

💡74LS189

The 74LS189 is a specific type of integrated circuit (IC) that functions as a 64-bit random access memory. The video script suggests using this IC to simplify the construction of the memory system. It has a 16-word by 4-bit memory cell array, which means two of these chips are needed to create an 8-bit by 16-byte memory as described in the video. The script also discusses the need to invert the outputs of this IC to match the stored values due to its inverse logic output.

Highlights

Introduction to a single-bit register with a single input and output, storing one bit of data.

Explanation of the interface for the bit register, including input, output, write, and enable signals.

Discussion on the role of the clock signal in synchronous registers.

Transition from a single-bit to an 8-bit register, maintaining similar functionality but with eight data bits.

Concept of a memory system built by replicating 8-bit storage units.

Description of a 16-byte memory system with separate write and enable signals for each memory location.

Introduction to the concept of bit lines and word lines in memory architecture.

Comparison between dynamic and static RAM, including their refreshing mechanisms and use cases.

Explanation of how static RAM is used for the computer being built due to its simplicity and lack of need for refresh circuits.

Overview of the process to encode memory addresses using a 4-bit address to select one of 16 bytes.

Introduction to address decode logic using AND gates to determine which memory byte is being accessed.

Discussion on the practicality of building memory by hand versus using integrated circuits like the 74 LS189.

Explanation of the 74 LS189 chip, a 64-bit random access memory, and its suitability for building an 8-bit, 16-byte memory.

Details on the pinout of the 74 LS189, including address lines, inputs, outputs, and control signals.

Mention of the need for inverter chips due to the inverse logic of the 74 LS189 outputs.

Plan for the next video to wire up the 74 LS189 and start building the computer's RAM.

Transcripts

play00:00

so in a previous video we made this one

play00:01

bit register and it's got a single input

play00:04

a single output here is the LED and it

play00:05

stores one bit of data and just as kind

play00:08

of a reminder uh basically the interface

play00:11

for this is we've got our input our

play00:12

output we've got a right signal which uh

play00:16

if this is active then it it stores

play00:18

whatever is coming in our input and we

play00:20

have an enable signal which when this is

play00:22

active it sends whatever bit is stored

play00:24

in here to our output and of course the

play00:26

registers we've been building also have

play00:27

a clock signal which uh for the for this

play00:30

video I'm going to kind of sidestep but

play00:31

just as a reminder you know the the

play00:33

clock uh makes this a synchronous

play00:36

register uh because it even if or when

play00:39

the the the right signal is active it

play00:42

still only reads data at the on the

play00:44

rising edge of the clock so it's

play00:45

synchronous in in the sense that it's

play00:47

synchronized with this clock for for for

play00:49

when it's storing data uh but but for

play00:51

now just to simplify things I'm not

play00:53

including the clock here we'll come back

play00:55

to that in a future video we talk more

play00:57

about the actual implementation of our

play00:59

memory and of course after we

play01:01

implemented a 1 bit register we then

play01:03

went on to implement an 8bit register

play01:05

which you know we've got a couple of

play01:07

them here we've got you know this is our

play01:08

a register this is our B register uh

play01:11

down here and it's the same idea uh it

play01:14

stores eight bits of data instead of one

play01:16

bit um but we still have our enable

play01:18

signal we still have our right signal

play01:20

and then of course we have our clock in

play01:22

here as well which is this white wire uh

play01:24

and in this case input and output are

play01:26

are through the bus so we have our eight

play01:28

bits of input and output

play01:30

so it's essentially the same idea as

play01:34

our single bit register input output

play01:37

right and enable but now we've got eight

play01:39

of them uh so we have our eight inputs

play01:41

our eight outputs uh we have a write and

play01:44

an enable that uh either writes a whole

play01:46

bite into into all of these or enable it

play01:49

outputs the whole bite from all of these

play01:52

now if we want to build a memory for our

play01:53

computer basically we can do the same

play01:55

thing and just replicate that 8bit

play01:58

storage as many times as we want to as

play02:01

we want bytes that we want to store so

play02:03

in our case we're going to build a 16

play02:04

byte memory so we could essentially

play02:07

replicate 16 essentially registers I

play02:10

guess 8 bit register 8 bit storage units

play02:13

um and we have a separate right signal

play02:16

for each of those registers so right

play02:18

zero will write into this first uh

play02:21

memory location right one will write

play02:23

into the second one if this uh right two

play02:26

is active it wres into the third one and

play02:28

so on all the way up to right 15 which

play02:30

writes into this last the 16th uh bite

play02:34

down here and you can see the eight bits

play02:37

that make up the bite are connected to

play02:39

each of these and you know we'd either

play02:41

we'd either have one of these enable

play02:43

signals active you know one of these 16

play02:45

enable signals active in which case we

play02:47

would be reading um whichever whichever

play02:51

bite is enabled so if we have enable one

play02:54

that's this bite here this row uh is

play02:57

enabled then it would be outputting

play03:00

each of its bits onto each of our eight

play03:03

uh bit lines so these these vertical

play03:05

lines we can call those bit lines and

play03:07

then these horizontal uh uh rows are

play03:10

essentially our words um you know each

play03:14

one is a bite but uh generally it's

play03:15

referred to as a word um because it

play03:18

could be a different length depending on

play03:19

the memory in our case our memory is is

play03:21

8 bit words but you could get memory

play03:23

that's 16bit words or 32-bit words or so

play03:26

on and so each of these uh memory cells

play03:29

each of these little boxes here is a

play03:31

memory cell and in our case we're going

play03:33

to build these or we're going to we're

play03:34

going to use something that's very

play03:35

similar to the registers that we used

play03:37

which you know at its core is

play03:39

essentially a uh latch which is able to

play03:42

store one bit of data um in uh you know

play03:46

practical memory that that you might

play03:48

that you might have in in your computer

play03:49

or for example the computer that I'm

play03:51

using to edit this video on I have 16 GB

play03:54

of memory in that computer so that would

play03:56

be 16 billion of these rows essentially

play04:00

uh which is which is a lot um I

play04:03

certainly wouldn't want to build it like

play04:04

this um but you can imagine you know the

play04:07

these these flip flops are fairly

play04:10

complex I mean you know you've seen the

play04:12

the one that we built here you know six

play04:15

well 16 billion bytes that's 128 billion

play04:18

memory cells so you wouldn't want to

play04:20

build 128 billion of these that

play04:22

certainly wouldn't work very well um of

play04:24

course you know it can be miniaturized

play04:26

and all the rest but but even that is a

play04:27

fairly complex circuit to store one bit

play04:30

so most memory you know the memory in in

play04:32

my computer uh that I'm editing this

play04:34

video on for example uh uses you know

play04:37

essentially the the simplest way of

play04:40

storing a bit which is essentially each

play04:43

of these cells is uh you know just a a

play04:45

single transistor and a capacitor and

play04:48

the the bit is stored as a charge on the

play04:51

capacitor now one drawback of that is

play04:54

that the capacitor will discharge over

play04:56

time you know after a few seconds it'll

play04:58

lose its charge and so you can only

play05:00

store a bit in here for you know a

play05:03

couple seconds at most um

play05:06

but one way to get around that is have a

play05:09

separate circuit that basically read

play05:11

each bite of memory and then writes that

play05:13

same bite back into that same memory

play05:14

location and so you have a separate

play05:16

circuit that's just doing that

play05:17

constantly it's just going through all

play05:18

of memory it's reading every bite and

play05:20

then it's writing the exact same data

play05:21

back to that bite and so it's refreshing

play05:24

what's in each of those bits so even

play05:25

though uh you know a capacitor could

play05:27

only store that data for you know at

play05:29

most a couple seconds because we're

play05:31

reading and writing that many times a

play05:34

second it's keeping that data refreshed

play05:37

but because we have to continually uh

play05:38

refresh it like that um this is referred

play05:41

to as Dynamic Ram um it's dynamic

play05:44

because if you don't refresh it you lose

play05:46

the data that's in it um whereas if we

play05:49

used a a flip-flop uh circuit or

play05:51

something like we've been building with

play05:53

our registers uh as you know once you

play05:56

store a bit of data in here it stays

play05:58

there uh essentially forever until we

play06:00

take the power away so as long as this

play06:02

is powered up we don't have to

play06:04

constantly refresh this or anything we

play06:05

store the bid in there it stays it stays

play06:07

there um and so this is if we're using

play06:09

this type of memory cell uh that's

play06:11

referred to a static RAM and that's what

play06:13

we're going to do for our computer and

play06:16

it's you know static Ram is generally

play06:17

more expensive than Dynamic Ram because

play06:20

you need a lot more transistors you know

play06:22

there's a lot more complexity to each

play06:24

memory cell in in static Ram uh it has

play06:27

some advantages right you don't have to

play06:28

do the refresh although that's you know

play06:31

fairly easy to do that you know

play06:32

certainly in a larger larger scale

play06:34

computer uh but it's also generally

play06:36

faster um so you see static RAM used in

play06:39

special applications where you need

play06:41

really fast memory access of course we

play06:43

don't really care about speed for the

play06:44

computer we're building uh so um you

play06:47

know we're we're basically using static

play06:49

Ram just because it's more convenient

play06:50

because we don't want to have to build

play06:52

that that refresh circuit so for our

play06:54

computer you know easy way to think of

play06:57

it is is each of these byes is

play06:58

essentially just like the registers that

play07:01

we've already built so you already know

play07:02

how these work um the thing that's a

play07:04

little bit weird now is that we have a

play07:06

separate right signal for each of our 16

play07:10

bytes of memory and we have a separate

play07:12

enable enable signal for each of our 16

play07:14

bytes of memory and so that could get a

play07:17

little bit unwieldy um so what we'd like

play07:20

to do is be able to encode which of

play07:22

these 16 bytes we're reading or writing

play07:25

from using an address because you can

play07:27

represent a number from 0 to 15 using

play07:30

just a 4-bit

play07:32

address so the way we can do that is

play07:34

using this address decode logic where we

play07:38

have four address signals and these four

play07:42

bits essentially represent which address

play07:44

you know which of the 16 bytes uh in

play07:46

memory we want to we want to talk to and

play07:50

our address decode logic starts out by

play07:52

you know basically giving us the address

play07:54

signals and then an inverted copy of the

play07:56

address signals so we have a z and

play07:59

inverse of a z A1 inverse of A1 A2

play08:02

inverse of A2 A3 inverse of A3 and then

play08:06

we just have a bunch of and Gates and so

play08:09

if uh if we and together the inverses of

play08:12

a0 A1 A2 and

play08:14

A3 this and gate will only turn on if

play08:18

all of these address addresses are zero

play08:20

so if it's 0 0 0 0 then this and gate

play08:23

turns on and our enable zero comes on

play08:25

and so that would be our enable zero

play08:27

that would enable this

play08:29

this this first row in our address in

play08:32

our

play08:33

memory if we had one 0 0 0 so a binary

play08:38

of one um

play08:40

then then this and gate wouldn't be on

play08:42

but this one would be because a z is one

play08:46

and then the inverse of a A1 A2 and A3

play08:49

is also one because A1 A2 and A3 are

play08:51

zeros so we have 1 0 0 0 then this is

play08:57

this all all of these signals is are on

play09:00

and so this andate turns on and so now

play09:02

we're enabling reading from byte one

play09:05

which is our second bite here in memory

play09:08

uh and so on so you know enable two is

play09:11

you know 0 1 0 0 is essentially what's

play09:13

coming in on our address lines over here

play09:15

for three it's 1 1 0 0 which is binary

play09:18

for three for four it's 0 0 1 0 and so

play09:21

on and so on until we get down to um our

play09:24

16th byte which is you know 15 uh

play09:27

because we're zero based uh and then in

play09:30

that case if our address lines are one

play09:31

one one one then this last one comes on

play09:34

we have enable 15 and that enables

play09:36

reading from our our 15th row here and

play09:40

of course this is for our enables and we

play09:43

because we're also anding it with our

play09:44

enable signal down here at the bottom uh

play09:47

and so we'd have something similar for

play09:49

the right lines as well so we'd have you

play09:51

know all of these same things Ed uh in

play09:53

the in kind of a similar way with with

play09:54

our uh with our right signal down here

play09:57

instead of the enable signal this is

play09:59

essentially how we would go about

play10:01

building a 16 by memory now we could do

play10:04

this you know by hand and build 128 of

play10:07

these uh of these individual memory

play10:10

cells uh but now that you kind of have

play10:12

an understanding of how it works I'm

play10:14

actually going to use a chip that does

play10:16

this for us and that's the 74 LS

play10:19

189 um which if you can't find that you

play10:21

can also use the 74 189 without the ls

play10:24

um for some reason that's that one's

play10:26

easier to find but uh if you can find

play10:28

the ls 189 that's that's fine too um but

play10:31

this is a 64-bit random access memory

play10:34

and of course with 8 bits per BTE and 16

play10:38

bytes that's 8 * 16 is 128 bits um and

play10:42

this is only 64 bit and that's because

play10:45

it uh essentially has a four bit um it's

play10:48

four bits wide instead of 8 Bits wide

play10:51

but if we use two of these chips uh then

play10:52

we'll be able to build our eight or 8bit

play10:55

16 by memory and so if we take a look at

play10:58

the data sheet here they have a block

play11:00

diagram on the back of what's going on

play11:02

here and you can see they have a 16w by

play11:04

4bit memory cell array and that's you

play11:08

know basically what we have here of

play11:09

course we have a 16 word by 8 bit so

play11:13

they're basically just giving us half of

play11:15

this U which is fine because we can use

play11:17

two

play11:18

chips and you can see they have the four

play11:20

bits coming in they've got the four bits

play11:22

coming out and there's a chip select and

play11:25

write enable uh signals that uh enable

play11:28

whether we're we're reading or writing

play11:30

from this and then you can see the four

play11:32

address lines and you know they just

play11:33

have this address decoder as a block but

play11:36

of course you know we just went through

play11:38

how that works this is essentially what

play11:39

that address decoder is doing or

play11:41

something very similar to

play11:44

this and so if we look at the the pin

play11:46

out here just to get a sense of what's

play11:48

going on you can see you know like most

play11:50

of these chips we've got our voltage and

play11:52

our ground to power the chip uh but then

play11:55

we've also got our address lines a0 A1

play11:57

A2 and A3 are our address lines

play11:59

to select which of the rows we're going

play12:02

to be reading or writing

play12:04

from um and then we have our inputs you

play12:08

know D1

play12:09

D2 uh D3 and D4 are inputs so that's

play12:13

kind of coming in the top

play12:15

here and then we have our outputs 01 O2

play12:20

03 and 04 and something that's uh a

play12:22

little bit interesting here that we're

play12:23

going to have to account for is you'll

play12:25

notice that our outputs have a little

play12:27

bar over over them and because this chip

play12:30

for whatever reason uh the outputs give

play12:33

you the inverse of whatever is stored in

play12:35

that memory location so you know we're

play12:38

going to have to end up uh putting these

play12:39

outputs through an inverter because you

play12:41

know we want to store we want to get the

play12:43

same value out that we stored we don't

play12:45

want to get the inverse of the value out

play12:47

uh so we're going to have to use some

play12:48

inverter chips to to sort of re un

play12:52

invert these I guess um so we have our

play12:55

our inputs our outputs our address lines

play12:57

and then the only other pins on here are

play13:00

this CS which is Chip select and that's

play13:02

essentially the enable so whenever it's

play13:04

an inverse signal so whenever it's low

play13:06

it's active um which means that when

play13:08

that's low then we're going to get um

play13:11

data out of our outputs uh so in our

play13:13

case we'll just we'll just tie that low

play13:15

all the time and then we'll use a a

play13:16

Tri-State buffer like we have for our

play13:18

other registers um and then write enable

play13:21

and this is also an inverse logic so

play13:23

when it's low then it's reading in um

play13:26

from our from our inputs and writing it

play13:28

to whatever location in memory is

play13:30

addressed from our address lines and so

play13:33

that's the basics of how the 74 LS 189

play13:36

works and so in the next video we'll uh

play13:39

uh wire this up and and play around with

play13:41

it and and start to build our our RAM

play13:43

for our computer

Rate This

5.0 / 5 (0 votes)

関連タグ
Memory Building8-bit RegistersAddress DecodingComputer MemoryElectronics TutorialDigital Logic74LS189RAM ImplementationStatic RAMDynamic RAM
英語で要約が必要ですか?