From e5cc2ae8302bca6f7c4b25df344a4f18d953bb7f Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 1 Nov 2017 15:14:01 +0100 Subject: Starts essence of TecHWSW --- makefile | 3 + techwsw/build/essence_of_hwsw.pdf | Bin 0 -> 52668 bytes techwsw/essence_of_hwsw.tex | 18 + techwsw/makefile | 29 ++ techwsw/res/memorie/ram.pdf | Bin 0 -> 20425 bytes techwsw/res/memorie/ram.svg | 906 ++++++++++++++++++++++++++++++++++++++ techwsw/res/memorie/rom.pdf | Bin 0 -> 6280 bytes techwsw/res/memorie/rom.svg | 99 +++++ techwsw/tex/memorie.tex | 57 +++ 9 files changed, 1112 insertions(+) create mode 100644 makefile create mode 100644 techwsw/build/essence_of_hwsw.pdf create mode 100644 techwsw/essence_of_hwsw.tex create mode 100644 techwsw/makefile create mode 100644 techwsw/res/memorie/ram.pdf create mode 100644 techwsw/res/memorie/ram.svg create mode 100644 techwsw/res/memorie/rom.pdf create mode 100644 techwsw/res/memorie/rom.svg create mode 100644 techwsw/tex/memorie.tex diff --git a/makefile b/makefile new file mode 100644 index 0000000..66bc94c --- /dev/null +++ b/makefile @@ -0,0 +1,3 @@ +all: + # make -C electronics + make -C techwsw diff --git a/techwsw/build/essence_of_hwsw.pdf b/techwsw/build/essence_of_hwsw.pdf new file mode 100644 index 0000000..652dd61 Binary files /dev/null and b/techwsw/build/essence_of_hwsw.pdf differ diff --git a/techwsw/essence_of_hwsw.tex b/techwsw/essence_of_hwsw.tex new file mode 100644 index 0000000..d8b6bab --- /dev/null +++ b/techwsw/essence_of_hwsw.tex @@ -0,0 +1,18 @@ +\documentclass[a4paper]{article} + +% math +\usepackage{amsmath} + +% figures +\usepackage{float} +\usepackage{graphicx} + +\title{Hardware e Software} +\author{Naoki Pross} + +\begin{document} +\maketitle + +\include{tex/memorie} + +\end{document} \ No newline at end of file diff --git a/techwsw/makefile b/techwsw/makefile new file mode 100644 index 0000000..240e907 --- /dev/null +++ b/techwsw/makefile @@ -0,0 +1,29 @@ +# file settings +BUILD_DIR := build +DOCUMENT := essence_of_hwsw.tex + +# tex settings +TEX := xelatex \ + -interaction=nonstopmode \ + -halt-on-error \ + -output-directory=$(BUILD_DIR) + +# automated stuff +_DOCUMENT := $(BUILD_DIR)/$(DOCUMENT) + +_SVGS := $(shell find res/ -type f -name '*.svg') +_PDFS := $(patsubst %.svg, %.pdf,$(_SVGS)) + + +# recipes +.PHONY: build_dir +all: $(_DOCUMENT) + +$(_DOCUMENT): $(DOCUMENT) $(_PDFS) build_dir + $(TEX) $< + +$(_PDFS): res/%.pdf: res/%.svg $(_SVGS) + inkscape -z -D --file=$< --export-pdf=$@ + +build_dir: + mkdir -p $(BUILD_DIR)/tex diff --git a/techwsw/res/memorie/ram.pdf b/techwsw/res/memorie/ram.pdf new file mode 100644 index 0000000..0700a01 Binary files /dev/null and b/techwsw/res/memorie/ram.pdf differ diff --git a/techwsw/res/memorie/ram.svg b/techwsw/res/memorie/ram.svg new file mode 100644 index 0000000..c009a9a --- /dev/null +++ b/techwsw/res/memorie/ram.svg @@ -0,0 +1,906 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + ingresso + + DMUX + + + + + + + + + + + + + + + + + + + + + MUX + + + + + + + uscita + + + + + + W + R + + + + + + + + + + locazioni + info 1 + info 2 + info n + ... + E + + diff --git a/techwsw/res/memorie/rom.pdf b/techwsw/res/memorie/rom.pdf new file mode 100644 index 0000000..bb2939e Binary files /dev/null and b/techwsw/res/memorie/rom.pdf differ diff --git a/techwsw/res/memorie/rom.svg b/techwsw/res/memorie/rom.svg new file mode 100644 index 0000000..292dce7 --- /dev/null +++ b/techwsw/res/memorie/rom.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + 2nยทm + + + diff --git a/techwsw/tex/memorie.tex b/techwsw/tex/memorie.tex new file mode 100644 index 0000000..eb0fa5c --- /dev/null +++ b/techwsw/tex/memorie.tex @@ -0,0 +1,57 @@ +\section{Le memorie} + +%\subsection{Cos'\`e una memoria} + +\subsection{Classificazione delle memorie} + +\subsection{Tipi di accesso alle memorie} + +\subsection{Memorie a sola lettura} +\subsubsection{Read Only Memory ({\tt ROM})} + +La memoria ROM \`e un circuito combinatorio che fornisce in uscita una serie di +dati $Y_0\dotso Y_{m-1}$ in corrispondenza ad una serie di ingressi $A_0\dotso +A_{n-1}$. Con $n$ bit in ingresso si possono avere fino a $2^n$ celle di +dimensione $m$ in uscita. +In questo tipo di memoria come implica il nomele informazioni vengono conservate +permanentemente nella configurazione del circuito, siccome esso sono costituite +da un decodificatore ed un codificatore. + +%% TODO: schema intero rom + +\subsubsection{Programmable Read Only Memory ({\tt PROM})} + +\subsection{Memorie non volatili ({\tt NVRWM})} +\subsection{Memorie a scrittura e lettura} +\subsubsection{Random Access Memory ({\tt RAM})} + +In una memoeria ad acesso casuale, o memoria RAM (Random Access Memory), una +qualsiasi locazione (della) \`e individuata da un numero (indirizzo o address) e +il suo contenuto pu\`o essere letto o modificato in un intervallo di tempo +costante detto \emph{tempo di accesso} $t_a$. + +%% doc: 01c memorie principali.pdf +\begin{figure}[h!] + \includegraphics[width=\textwidth]{res/memorie/ram} +\end{figure} + +Quando viene richiesta un' operazione di lettura con il segnale {\tt R}, +l'indirizzo comanda il multiplexer per passare sull'uscita il dato +contenuto alla locazione richiesta. Nell'operazione di scrittura il segnale {\tt +W} abilita la scrittura del dato presente in ingresso nella cella indicata +tramite il demultiplexer. + + La RAM pu\`o essere di tipo \emph{statico} o +\emph{dinamico}. Le {\tt SRAM} (static RAM) sono dei flip-flops, mentre le {\tt +DRAM} (dynamic RAM) sono dei microcondensatori C-MOS nei quali 1 corrisponde al +condensatore carico e 0 corrisponde al condensatore scarico. + +% Nella pratica si utano sempre RAM dinamice per l'elevata capacitit\`a di +% integrazione e per i costi pi\`u bassi rispetto a quelle statiche. + +\paragraph{La RAM dinamica} avendo un comportamento elettrico tipico dei +condenstatori, essa \`e soggetta alla scarica, cio\`e tende a perdere l'informazione +contenuta, perci\`o necessitano di essere ricaricate regolarmente con della +circuiteria che esegue un \emph{refresh}. + +$$\cdot$$ -- cgit v1.2.1